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);
}
}
}
任意の助けいただければ幸いです。
代わりに、単に['darkness.nextFrame()'](http://help.adobe.com/jp/FlashPlatform/reference/actionscript/3/flash/display/MovieClip.html#nextFrame())を使用してください。 – null
私はこれらの提案をまだ運がないまま試しました。これまでの助けに感謝します。 – Jackson
2番目のマップはまだ消えていますか?もしそうなら、あなたの暗闇に本当に多くのフレームがあるかどうかを確認してください。 map2.visible = false:trace( "darkness currentframe:" + darkness.currentFrame + "、totalframes:" + darkness.totalFrames);の前にトレースを入れてみてください。あなたがコンソールで何を得るかを見る – Philarmon