aframe-state component to attach/detach components
up vote
0
down vote
favorite
I am trying to attach/detach components to entity based on certain conditions.
For example, I want to be able to track two conditions -
- A player has clicked on play button and
- The time count down is not yet zero
before I attach a component to an entity.
I looked at the following component from Kevin - https://github.com/ngokevin/kframe/tree/master/components/state/
where there is an example on attaching/detaching components based on boolean value. Here is an extract from his documentation
There's a bind-toggle component which will attach and detach a
component entirely based on a boolean value.
<a-entity bind-toggle__raycastable="isRaycastable"></a-entity>
But, it's not clear where that boolean value is being set before the raycastable component gets attached to the entity.
I am looking for a solution where I can write the entity as follows
<a-entity bind-toggle__move="condition1 && condition2"></a-entity>
where the component "move" gets attached to the entity when condition 1 (play button is clicked) and condition 2( time count down is not zero) are satisfied. I need to know where to set the values for condition1 and condition2.
If you could please provide a working example for this then that would be great.
I can attach a codepen if that would make it easier to understand.
three.js aframe
add a comment |
up vote
0
down vote
favorite
I am trying to attach/detach components to entity based on certain conditions.
For example, I want to be able to track two conditions -
- A player has clicked on play button and
- The time count down is not yet zero
before I attach a component to an entity.
I looked at the following component from Kevin - https://github.com/ngokevin/kframe/tree/master/components/state/
where there is an example on attaching/detaching components based on boolean value. Here is an extract from his documentation
There's a bind-toggle component which will attach and detach a
component entirely based on a boolean value.
<a-entity bind-toggle__raycastable="isRaycastable"></a-entity>
But, it's not clear where that boolean value is being set before the raycastable component gets attached to the entity.
I am looking for a solution where I can write the entity as follows
<a-entity bind-toggle__move="condition1 && condition2"></a-entity>
where the component "move" gets attached to the entity when condition 1 (play button is clicked) and condition 2( time count down is not zero) are satisfied. I need to know where to set the values for condition1 and condition2.
If you could please provide a working example for this then that would be great.
I can attach a codepen if that would make it easier to understand.
three.js aframe
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I am trying to attach/detach components to entity based on certain conditions.
For example, I want to be able to track two conditions -
- A player has clicked on play button and
- The time count down is not yet zero
before I attach a component to an entity.
I looked at the following component from Kevin - https://github.com/ngokevin/kframe/tree/master/components/state/
where there is an example on attaching/detaching components based on boolean value. Here is an extract from his documentation
There's a bind-toggle component which will attach and detach a
component entirely based on a boolean value.
<a-entity bind-toggle__raycastable="isRaycastable"></a-entity>
But, it's not clear where that boolean value is being set before the raycastable component gets attached to the entity.
I am looking for a solution where I can write the entity as follows
<a-entity bind-toggle__move="condition1 && condition2"></a-entity>
where the component "move" gets attached to the entity when condition 1 (play button is clicked) and condition 2( time count down is not zero) are satisfied. I need to know where to set the values for condition1 and condition2.
If you could please provide a working example for this then that would be great.
I can attach a codepen if that would make it easier to understand.
three.js aframe
I am trying to attach/detach components to entity based on certain conditions.
For example, I want to be able to track two conditions -
- A player has clicked on play button and
- The time count down is not yet zero
before I attach a component to an entity.
I looked at the following component from Kevin - https://github.com/ngokevin/kframe/tree/master/components/state/
where there is an example on attaching/detaching components based on boolean value. Here is an extract from his documentation
There's a bind-toggle component which will attach and detach a
component entirely based on a boolean value.
<a-entity bind-toggle__raycastable="isRaycastable"></a-entity>
But, it's not clear where that boolean value is being set before the raycastable component gets attached to the entity.
I am looking for a solution where I can write the entity as follows
<a-entity bind-toggle__move="condition1 && condition2"></a-entity>
where the component "move" gets attached to the entity when condition 1 (play button is clicked) and condition 2( time count down is not zero) are satisfied. I need to know where to set the values for condition1 and condition2.
If you could please provide a working example for this then that would be great.
I can attach a codepen if that would make it easier to understand.
three.js aframe
three.js aframe
edited Nov 19 at 16:50
asked Nov 19 at 14:55
Niraj
7918
7918
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
1
down vote
accepted
Have two events: buttonclicked
, and countdownzero
emitted to the scene in the respective components.
Then in the state:
buttonclicked: function (state) {
state.buttonClicked = true;
},
countdownzero: function (state) {
state.countdownFinished = true;
}
Then can do bind-toggle__move="buttonClicked && countdownFinished
. Let me know if you want clarification!
Awesome Kevin. Thanks. It worked
– Niraj
Nov 20 at 12:44
One question though Kevin, how do I declare a value for state.buttonClicked as false in the state and only switch it to true when buttonClicked event gets fired? Do I need to write another event handler such as buttonNotClicked which will have state.buttonClicked = false;?
– Niraj
Nov 20 at 13:12
initialState: {buttonClicked: false}
. If you want to unset it then yeah, another listener.
– ngokevin
Nov 20 at 13:28
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
accepted
Have two events: buttonclicked
, and countdownzero
emitted to the scene in the respective components.
Then in the state:
buttonclicked: function (state) {
state.buttonClicked = true;
},
countdownzero: function (state) {
state.countdownFinished = true;
}
Then can do bind-toggle__move="buttonClicked && countdownFinished
. Let me know if you want clarification!
Awesome Kevin. Thanks. It worked
– Niraj
Nov 20 at 12:44
One question though Kevin, how do I declare a value for state.buttonClicked as false in the state and only switch it to true when buttonClicked event gets fired? Do I need to write another event handler such as buttonNotClicked which will have state.buttonClicked = false;?
– Niraj
Nov 20 at 13:12
initialState: {buttonClicked: false}
. If you want to unset it then yeah, another listener.
– ngokevin
Nov 20 at 13:28
add a comment |
up vote
1
down vote
accepted
Have two events: buttonclicked
, and countdownzero
emitted to the scene in the respective components.
Then in the state:
buttonclicked: function (state) {
state.buttonClicked = true;
},
countdownzero: function (state) {
state.countdownFinished = true;
}
Then can do bind-toggle__move="buttonClicked && countdownFinished
. Let me know if you want clarification!
Awesome Kevin. Thanks. It worked
– Niraj
Nov 20 at 12:44
One question though Kevin, how do I declare a value for state.buttonClicked as false in the state and only switch it to true when buttonClicked event gets fired? Do I need to write another event handler such as buttonNotClicked which will have state.buttonClicked = false;?
– Niraj
Nov 20 at 13:12
initialState: {buttonClicked: false}
. If you want to unset it then yeah, another listener.
– ngokevin
Nov 20 at 13:28
add a comment |
up vote
1
down vote
accepted
up vote
1
down vote
accepted
Have two events: buttonclicked
, and countdownzero
emitted to the scene in the respective components.
Then in the state:
buttonclicked: function (state) {
state.buttonClicked = true;
},
countdownzero: function (state) {
state.countdownFinished = true;
}
Then can do bind-toggle__move="buttonClicked && countdownFinished
. Let me know if you want clarification!
Have two events: buttonclicked
, and countdownzero
emitted to the scene in the respective components.
Then in the state:
buttonclicked: function (state) {
state.buttonClicked = true;
},
countdownzero: function (state) {
state.countdownFinished = true;
}
Then can do bind-toggle__move="buttonClicked && countdownFinished
. Let me know if you want clarification!
answered Nov 20 at 6:28
ngokevin
8,69611456
8,69611456
Awesome Kevin. Thanks. It worked
– Niraj
Nov 20 at 12:44
One question though Kevin, how do I declare a value for state.buttonClicked as false in the state and only switch it to true when buttonClicked event gets fired? Do I need to write another event handler such as buttonNotClicked which will have state.buttonClicked = false;?
– Niraj
Nov 20 at 13:12
initialState: {buttonClicked: false}
. If you want to unset it then yeah, another listener.
– ngokevin
Nov 20 at 13:28
add a comment |
Awesome Kevin. Thanks. It worked
– Niraj
Nov 20 at 12:44
One question though Kevin, how do I declare a value for state.buttonClicked as false in the state and only switch it to true when buttonClicked event gets fired? Do I need to write another event handler such as buttonNotClicked which will have state.buttonClicked = false;?
– Niraj
Nov 20 at 13:12
initialState: {buttonClicked: false}
. If you want to unset it then yeah, another listener.
– ngokevin
Nov 20 at 13:28
Awesome Kevin. Thanks. It worked
– Niraj
Nov 20 at 12:44
Awesome Kevin. Thanks. It worked
– Niraj
Nov 20 at 12:44
One question though Kevin, how do I declare a value for state.buttonClicked as false in the state and only switch it to true when buttonClicked event gets fired? Do I need to write another event handler such as buttonNotClicked which will have state.buttonClicked = false;?
– Niraj
Nov 20 at 13:12
One question though Kevin, how do I declare a value for state.buttonClicked as false in the state and only switch it to true when buttonClicked event gets fired? Do I need to write another event handler such as buttonNotClicked which will have state.buttonClicked = false;?
– Niraj
Nov 20 at 13:12
initialState: {buttonClicked: false}
. If you want to unset it then yeah, another listener.– ngokevin
Nov 20 at 13:28
initialState: {buttonClicked: false}
. If you want to unset it then yeah, another listener.– ngokevin
Nov 20 at 13:28
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53377222%2faframe-state-component-to-attach-detach-components%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown