볼 클립으로 충돌했을 때 프레임 2로 이동하는 벽돌 클립이 있습니다. 이 코드는 왜이 "이"로 불리는 이유되는, 벽돌 클래스 내에 :충돌 이벤트 두 번 as3
if (this.hitTestObject(_root.mcBall)){
_root.ballYSpeed *= -1;
this.gotoAndStop(2);
}
내 질문은 두 번째 충돌 할 때 어떻게 3 프레임에 갈 수있다? 어떤 코드를 추가해야합니까?
볼 클립으로 충돌했을 때 프레임 2로 이동하는 벽돌 클립이 있습니다. 이 코드는 왜이 "이"로 불리는 이유되는, 벽돌 클래스 내에 :충돌 이벤트 두 번 as3
if (this.hitTestObject(_root.mcBall)){
_root.ballYSpeed *= -1;
this.gotoAndStop(2);
}
내 질문은 두 번째 충돌 할 때 어떻게 3 프레임에 갈 수있다? 어떤 코드를 추가해야합니까?
당신은 벽돌의 현재 프레임을 확인할 수 있습니다 다음은이 같은 프레임 3로 이동 프레임 2의 경우 : 당신은 또한 당신의 벽돌이있는 경우 나타 내기 위해 boolean
을 사용할 수 있습니다
if (this.currentFrame === 2){
this.gotoAndStop(3)
}
맞았다. true
경우, 프레임으로 이동 3.
편집
코드 AS:
- 부울 사용 :
...
var hit:Boolean = false
...
if (this.hitTestObject(_root.mcBall)){
_root.ballYSpeed *= -1
if(!hit){ // this is the 1st time so set hit to true and go to frame 2
hit = true
this.gotoAndStop(2)
} else { // this is the 2nd time so go to frame 3
this.gotoAndStop(3)
}
}
- 사용 currentFrame :
if (this.hitTestObject(_root.mcBall)){
_root.ballYSpeed *= -1
if (this.currentFrame == 1){ // we are in the 1st frame so go to frame 2
this.gotoAndStop(2)
} else { // we are certainly not in the 1st frame so go to frame 3
this.gotoAndStop(3)
}
}
더 명확 해지기를 바랍니다.
은 다음과 같이, "깨끗한"접근 방식을 시도해보십시오
if (this.hitTestObject(_root.mcBall)){
_root.ballYSpeed *= -1;
if (this.currentFrame !== 3) {
this.nextFrame();
}
}
이 3.
고마워! 하지만 프레임 2에있을 때 프레임 3에 다시 가야합니다. 자동으로 프레임 2에 도달하면 안됩니다. – Johnnien
@Johnnien 이것은 처음으로 프레임 2로 이동하고 처음으로 프레임 3으로 이동하고 두 번째 프레임 3으로 이동합니다 ... 이해하지 못하면 적어도 시도해 볼 수있는 코드 ...이 코드로 시스템을 손상시킬 수는 없습니까? ;) 어쨌든, 기본적으로 "프레임이 3이 아니라면 다음 프레임으로 이동"이라는 메시지가 나타납니다. – Cilan
죄송합니다. 나는 평균을 내고 싶지 않았다. ..... 나는 당신을 썼기 전에 그것을 시도해 보았고, 프레임 3으로 바로 갔다. 어쨌든. 고맙습니다! – Johnnien
감사합니다 현재 프레임이없는 경우 클립이 다음 프레임으로 이동합니다! 나는 아직도 부리를 모른다. 예를 들어 주시겠습니까? – Johnnien
시도 : if (this.hitTestObject (_root.mcBall)) && \t \t if (this.currentFrame == 2); { this.gotoAndStop (3); 그리고 그것은 효과가 없을 것입니다. 제가 사용할 수있는 것이 있다면 알아요? – Johnnien
코드는 다음과 같아야합니다.'if (this.hitTestObject (_root.mcBall) && this.currentFrame == 2) {this.gotoAndStop (3); }'. 그것이 단지 당신의 코드를 수정 한 것임을 주목하십시오. – akmozo