2014-11-01 5 views
0

볼 클립으로 충돌했을 때 프레임 2로 이동하는 벽돌 클립이 있습니다. 이 코드는 왜이 "이"로 불리는 이유되는, 벽돌 클래스 내에 :충돌 이벤트 두 번 as3

if (this.hitTestObject(_root.mcBall)){ 
    _root.ballYSpeed *= -1; 
    this.gotoAndStop(2); 
} 

내 질문은 두 번째 충돌 할 때 어떻게 3 프레임에 갈 수있다? 어떤 코드를 추가해야합니까?

답변

0

당신은 벽돌의 현재 프레임을 확인할 수 있습니다 다음은이 같은 프레임 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) 
    } 
} 

더 명확 해지기를 바랍니다.

+0

감사합니다 현재 프레임이없는 경우 클립이 다음 프레임으로 이동합니다! 나는 아직도 부리를 모른다. 예를 들어 주시겠습니까? – Johnnien

+0

시도 : if (this.hitTestObject (_root.mcBall)) && \t \t if (this.currentFrame == 2); { this.gotoAndStop (3); 그리고 그것은 효과가 없을 것입니다. 제가 사용할 수있는 것이 있다면 알아요? – Johnnien

+0

코드는 다음과 같아야합니다.'if (this.hitTestObject (_root.mcBall) && this.currentFrame == 2) {this.gotoAndStop (3); }'. 그것이 단지 당신의 코드를 수정 한 것임을 주목하십시오. – akmozo

1

은 다음과 같이, "깨끗한"접근 방식을 시도해보십시오

if (this.hitTestObject(_root.mcBall)){ 
    _root.ballYSpeed *= -1; 
    if (this.currentFrame !== 3) { 
     this.nextFrame(); 
    } 
} 

이 3.

+0

고마워! 하지만 프레임 2에있을 때 프레임 3에 다시 가야합니다. 자동으로 프레임 2에 도달하면 안됩니다. – Johnnien

+0

@Johnnien 이것은 처음으로 프레임 2로 이동하고 처음으로 프레임 3으로 이동하고 두 번째 프레임 3으로 이동합니다 ... 이해하지 못하면 적어도 시도해 볼 수있는 코드 ...이 코드로 시스템을 손상시킬 수는 없습니까? ;) 어쨌든, 기본적으로 "프레임이 3이 아니라면 다음 프레임으로 이동"이라는 메시지가 나타납니다. – Cilan

+0

죄송합니다. 나는 평균을 내고 싶지 않았다. ..... 나는 당신을 썼기 전에 그것을 시도해 보았고, 프레임 3으로 바로 갔다. 어쨌든. 고맙습니다! – Johnnien