2016-09-21 6 views
1

アイテムを「ピックアップ」するときに、ifステートメントでフレームを切り替えようとしています。AS3を使用したIfステートメントのMCでフレームを切り替える

基本的には3つのマップがあり、それぞれのマップをピックアップすると、フレームは次のフレームに進みます。 1つのマップを取得した後、次のフレームに進みます。問題は、フレームを前進させない2番目のマップを取得するときです。

stage.addEventListener(Event.ENTER_FRAME, growVisible); 

function growVisible(grow: Event) { 
if (map1.hitTestPoint(character.x,character.y, true)) { 
    darkness.gotoAndStop(currentFrame + 1); 
    map1.visible = false; 
} 
if (map2.hitTestPoint(character.x, character.y, true)) { 
    darkness.gotoAndStop(currentFrame + 1); 
    map2.visible = false; 
} 
if (map3.hitTestPoint(character.x, character.y, true)) { 
    darkness.gotoAndStop(currentFrame + 1); 
    map3.visible = false; 
} 
} 

は「闇」は、フレームを進めるしようとしているアイテムのイムです:

は、ここに私のコードです。 map1、map2、map3は、そうするためにピックアップする項目です。

アイブ氏はまた、運と、このようなコードを試してみました:

function growVisible(grow: Event) { 
if (map1.hitTestPoint(character.x,character.y, true)) { 
    darkness.gotoAndStop(2); 
    map1.visible = false; 
    if (darkness.currentFrame == 2) { 
     darkness.gotoAndStop(3); 
    } else if (darkness.currentFrame == 3) { 
     darkness.gotoAndStop(4); 
    } 
} if (map2.hitTestPoint(character.x, character.y, true)) { 
    darkness.gotoAndStop(2); 
    map2.visible = false; 
    if (darkness.currentFrame == 2) { 
     darkness.gotoAndStop(3); 
    } else if (darkness.currentFrame == 3) { 
     darkness.gotoAndStop(4); 
    } 
} if (map3.hitTestPoint(character.x, character.y, true)) { 
    darkness.gotoAndStop(2); 
    map3.visible = false; 
    if (darkness.currentFrame == 2) { 
     darkness.gotoAndStop(3); 
    } else if (darkness.currentFrame == 3) { 
     darkness.gotoAndStop(4); 
    } 
} 
} 

任意の助けいただければ幸いです。

答えて

1

は、私はそれは常に、あなたは右、進めるdarkness「タイムラインを希望

darkness.gotoAndStop(darkness.currentFrame + 1); 

を言うべきと考えていますか?ちょうど "currentFrame"は、現在の MovieClipsフレームを指し、常に1のままですか?

+1

代わりに、単に['darkness.nextFrame()'](http://help.adobe.com/jp/FlashPlatform/reference/actionscript/3/flash/display/MovieClip.html#nextFrame())を使用してください。 – null

+0

私はこれらの提案をまだ運がないまま試しました。これまでの助けに感謝します。 – Jackson

+0

2番目のマップはまだ消えていますか?もしそうなら、あなたの暗闇に本当に多くのフレームがあるかどうかを確認してください。 map2.visible = false:trace( "darkness currentframe:" + darkness.currentFrame + "、totalframes:" + darkness.totalFrames);の前にトレースを入れてみてください。あなたがコンソールで何を得るかを見る – Philarmon

関連する問題