Javascript ActionScript 3 If/Else If语句

Javascript ActionScript 3 If/Else If语句,javascript,arrays,actionscript-3,flash,Javascript,Arrays,Actionscript 3,Flash,我正是按照这个教程上 Youtube: 这一概念是制作一个避免er游戏,其中3个物体垂直下落,其中一个将增加分数,另外两个将结束游戏 我在一个数组中创建了4个对象,如下所示: var:objects数组=[new BlueBird()、new RedBird()、new Goomba()、new Ham()] //objects[0]=是一只跳到场景3(“死亡场景”)的蓝色小鸟 //objects[1]=是一只跳到场景3(“死亡场景”)的红色小鸟 //objects[2]=是一个跳转到场景3(

我正是按照这个教程上

Youtube:

这一概念是制作一个避免er游戏,其中3个物体垂直下落,其中一个将增加分数,另外两个将结束游戏

我在一个数组中创建了4个对象,如下所示:

var:objects数组=[new BlueBird()、new RedBird()、new Goomba()、new Ham()]

//objects[0]=是一只跳到场景3(“死亡场景”)的蓝色小鸟

//objects[1]=是一只跳到场景3(“死亡场景”)的红色小鸟

//objects[2]=是一个跳转到场景3(“死亡场景”)的Goomba

//objects[3]=是一块添加点的火腿

这是我有困难的陈述。我无法获取对象[3],即一块火腿,来测试else if语句。我在&&objectsIndex==3中编码,但它不起作用:

if((Pig.hit).hitTestObject(objects[objectsIndex]))
   {
        // Reset objects to y positions
      objects[objectsIndex].x = randomRange(0,3) * 50
      objects[objectsIndex].y = -50;
      
      stage.removeEventListener(KeyboardEvent.KEY_DOWN,pressedButton);
      stage.removeEventListener(Event.ENTER_FRAME,CollisionSensor);
      stage.frameRate = 24;
      
      gotoAndStop(1,"GG WP");
      //trace ("you died!");
   }
else if((Pig.hit).hitTestObject(objects[objectsIndex]) && objectsIndex == 3)
    {
        
    score = score + 1;  //increase score by 1 point
        text1.text = String(score); // Score is now a string value
                                    // Since text1 is a text box, it must be denotated as a  string
        // Reset the objects to y positions
        objects[objectsIndex].x = randomRange(0,3) * 50;
        objects[objectsIndex].y = -50
    }
以下是整个项目代码供参考:

    stop();

import flash.events.Event;

stage.focus = this;

stage.addEventListener(KeyboardEvent.KEY_DOWN, pressedButton);
stage.addEventListener(Event.ENTER_FRAME, CollisionSensor);

var score:Number = 0;   //Player Score
var enemy_velocity:Number = 5;
var objects:Array = [new RedBird(),new Goomba,new BlueBird(),new Ham()];

// objects[0] is a RedBird
// objects[1] is a Goomba
// objects[2] is a BlueBird
// objects[3] is an piece of Ham

var objectsIndex:Number = randomRange(0,3);     //Randomizer
                                                //Picks a random array value
for (var i:int=0; i<objects.length; i++)
{
    objects[i].x = randomRange(0,3) * 50;
    objects[i].y = -50;
    
    //Brings objects to stage
    stage.addChild(objects[i]);
}


//Generate a ranodom number from minNum to maxNum including the endpoints
function randomRange(minNum:Number, maxNum:Number):Number
{
    return (Math.floor(Math.random() * (maxNum - minNum + 1)) + minNum);
}


function CollisionSensor(e:Event)
{
    
    objects[objectsIndex].y = objects[objectsIndex].y + enemy_velocity;
    
    // check if enemy objects have gone past the bottom of the game screen
    if (objects[objectsIndex].y > stage.stageHeight)
    {
        objects[objectsIndex].y = -50; //Resets objects in array and parameters
                            // To enter frame in a repeated loop
                            
        //Randomizes a random x position for Objects
        var num:Number = randomRange(0,3);
        //This creates 4 random x positions - 0,50,100,150 To randomly place
        //The array objects in
        objects[objectsIndex].x = num * 50;
        
        // now pick a random object
        objectsIndex = randomRange(0,3);
        // objects[0] is a RedBird
        // objects[1] is a Goomba
        // objects[2] is a BlueBird
        // objects[3] is an piece of Ham
                                


                        
if(stage.frameRate <= 60)
{
    stage.frameRate = stage.frameRate + 5;
}
else
{
    stage.frameRate = 60;
    
    if (enemy_velocity <= 25)
    {
        enemy_velocity += 1; 
    }
    else
    {
        enemy_velocity = 25;
    }
  }
}

//check contanct with enemy objects



if((Pig.hit).hitTestObject(objects[objectsIndex]))
       {
            // Reset objects to y positions
          objects[objectsIndex].x = randomRange(0,3) * 50
          objects[objectsIndex].y = -50;
          
          stage.removeEventListener(KeyboardEvent.KEY_DOWN,pressedButton);
          stage.removeEventListener(Event.ENTER_FRAME,CollisionSensor);
          stage.frameRate = 24;
          
          gotoAndStop(1,"GG WP");
          //trace ("you died!");
       }


else if((Pig.hit).hitTestObject(objects[objectsIndex]) && objectsIndex == 3)
        {
            
        score = score + 1;

//increase score by 1 point
        `text1.text = String(score);` // Score is now a string value
                                    // Since text1 is a text box, it must be denotated as a string
        // Reset the objects to y positions
        

objects[objectsIndex].x = randomRange(0,3) * 50;
            objects[objectsIndex].y = -50
        }
}


function pressedButton(event:KeyboardEvent):void
{
    if (event.keyCode == Keyboard.LEFT && Pig.x >= 0)
    {
        Pig.x = Pig.x - 50;
    }
    else if (event.keyCode == Keyboard.RIGHT && Pig.x <= 150)
    {
        Pig.x = Pig.x + 50;
    }
}
stop();
导入flash.events.Event;
stage.focus=这个;
stage.addEventListener(KeyboardEvent.KEY_向下,按下按钮);
stage.addEventListener(Event.ENTER_帧,碰撞传感器);
var得分:数字=0//球员得分
速度:数值=5;
var对象:数组=[new RedBird(),new Goomba,new BlueBird(),new Ham()];
//对象[0]是一只红鸟
//objects[1]是一个Goomba
//对象[2]是一只蓝知更鸟
//物体[3]是一块火腿
var objectsIndex:Number=randomRange(0,3)//随机发生器
//选择一个随机数组值
对于(变量i:int=0;i阶段高度)
{
对象[objectsIndex].y=-50;//重置数组中的对象和参数
//在重复循环中输入帧
//将对象的随机x位置随机化
var num:Number=randomRange(0,3);
//这将创建4个随机x位置-0,50100150以随机放置
//中的数组对象
对象[objectsIndex].x=num*50;
//现在选择一个随机对象
objectsIndex=随机范围(0,3);
//对象[0]是一只红鸟
//objects[1]是一个Goomba
//对象[2]是一只蓝知更鸟
//物体[3]是一块火腿

如果(stage.frameRate您的代码可能有其他问题,但这看起来是正确的

if((Pig.hit).hitTestObject(objects[objectsIndex]))
应该是

if((Pig).hitTestObject(objects[0]))
其中,
objects[0]
将是数组中用于测试的索引。但这甚至可能有问题,因此获取您在后台添加的内容的具体名称,在向后台添加对象的
for循环中尝试此操作

//Brings objects to stage
stage.addChild(objects[i]);
trace ("added object name : " + objects[i] );

无论你有什么名字,都是你测试的对象。
if((Pig).hitTestObject(namehere))

如果你不解释问题是什么,我们将很难解决问题trace(“Ham”:+objects[3])if((Pig).hitTestObject(Ham))~类似这样的问题?