Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 如何使对象在特定位置移动flash as3_Actionscript 3_Flash Cs6 - Fatal编程技术网

Actionscript 3 如何使对象在特定位置移动flash as3

Actionscript 3 如何使对象在特定位置移动flash as3,actionscript-3,flash-cs6,Actionscript 3,Flash Cs6,我做一个mc对象。此对象可以使用键盘左右移动。详细信息是当我按rightkey时,它在特定坐标中移动到右侧位置,当我按leftkey时,它在特定坐标中移动到左侧位置。我希望物体在3个位置移动 对于这种情况,我尝试使用数组 var P:Array = [new Point(100, 300), new Point(275, 300), new Point(425, 300)]; var M:Array = [Kotak]; 但当我将它们输入到代码中时,它不起作用,也不会出现错误。谁能告诉我哪里是

我做一个mc对象。此对象可以使用键盘左右移动。详细信息是当我按rightkey时,它在特定坐标中移动到右侧位置,当我按leftkey时,它在特定坐标中移动到左侧位置。我希望物体在3个位置移动

对于这种情况,我尝试使用数组

var P:Array = [new Point(100, 300), new Point(275, 300), new Point(425, 300)];
var M:Array = [Kotak];
但当我将它们输入到代码中时,它不起作用,也不会出现错误。谁能告诉我哪里是我的错

这是我的完整代码:

import flash.geom.Point;

//gerak pemain
var pemainKanan:Boolean = false;
var pemainTengah:Boolean = false;
var pemainKiri:Boolean = false;

//kecepatan
var kecepatanPemain:int = 20;

        //Array object acak
    var P:Array = [new Point(100, 300), new Point(275, 300), new Point(425, 300)];
    var M:Array = [Kotak];
    //var P:Point = new Point(100, 300);


Kotak.addEventListener(KeyboardEvent.KEY_UP, k);
function k(e:KeyboardEvent):void{
    if(e.keyCode == Keyboard.RIGHT){
            pemainKanan = false;
        }
        if(e.keyCode == Keyboard.LEFT){
            pemainKiri = false;
        }
}

Kotak.addEventListener(KeyboardEvent.KEY_DOWN, kk);
function kk(e:KeyboardEvent):void{
    if(e.keyCode == Keyboard.RIGHT){
            pemainKanan = true;
        }
        if(e.keyCode == Keyboard.LEFT){
            pemainKiri = true;
        }
}

Kotak.addEventListener(Event.ENTER_FRAME, eframe);
    function eframe(e:Event):void{
        if(pemainKanan == true){
            //pemain.gotoAndStop("right");
            Kotak.x = P[0];
        }
        else if(pemainKiri == true){
            //pemain.gotoAndStop("left");
            Kotak = P[1];
        }
    }


你能详细解释一下吗?从我所读到的,我理解你想要一个电影剪辑移动到三个位置。例如,如果它在位置0上,按下“右”按钮,它应该移动到位置1,但如果它在位置1上,它应该移动到位置2,并用左按钮反过来移动。这就是你想做的吗?如果是,则不需要输入帧事件,因为它可以通过索引来完成

Kotak.addEventListener(KeyboardEvent.KEY_DOWN, kk);
var index:int=0;
function kk(e:KeyboardEvent):void{
    if(e.keyCode == Keyboard.RIGHT){
        if(index==0){
            Kotak.x = P[1];
        }
        else{
            if(index==1){
                Kotak.x = P[2];
            }
        }
        index++;
    }
    if(e.keyCode == Keyboard.LEFT){
        if(index==2){
            Kotak.x = P[1];
        }
        else{
            if(index==1){
                Kotak.x = P[0];
            }
        }
        index--;
    }
}