0

我只是在做一个小游戏。我只是动作脚本的初学者。我希望我的角色在屏幕顶部从左到右或从右到左随机飞行。它是随机出现的。. 我不知道。谁能解释一下。

4

4 回答 4

0

使用此功能: http ://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/Math.html#random%28%29

得到一个随机数。在此之后,使用这个数字来确定它是左还是右(例如,检查低于 max / 2 的值(0.5,因为它是介于 0 和 1 之间的随机生成器)并决定它是左还是右,另一部分将是另一边)。然后通过设置其坐标相应地移动您的角色。但是,如果你让它移动得太少,太快,就会导致奇怪的动作。根据您的游戏,您可能需要根据随机元素制作更复杂的内容。

希望这对您有所帮助。

于 2013-07-03T13:52:20.437 回答
0

你可以让一个movieclip像这样从左到右移动:

//the center point to move around
var center:Number = 512;

//the offset to move to the left and right (512 + 300 and 512 - 300)
var offset:Number = 300;

//the speed the object moves (higher = slower, lower = faster)
var speed:Number = 2000;

//create a object to move around, or just get something from the stage
var dragon:MovieClip = new MovieClip();
dragon.graphics.beginFill(0);
dragon.graphics.drawRect(0, 0, 50, 50);
dragon.graphics.endFill();
addChild(dragon);

addEventListener(Event.ENTER_FRAME, onEnter_frame);
function onEnter_frame(e:Event):void {
  var time:Number = new Date().valueOf() / speed;
  dragon.x = center + (Math.cos(time) * offset)
}
于 2013-07-04T12:30:16.363 回答
0

谢谢大家的回答。把工作做得很好。

//the center point to move around
var center:Number = 512;

//the offset to move to the left and right (512 + 300 and 512 - 300)
var offset:Number = 300;

//the speed the object moves (higher = slower, lower = faster)
 var speed:Number = 2000;

//create a object to move around, or just get something from the stage
var dragon:MovieClip = new MovieClip();
dragon.graphics.beginFill(0);
dragon.graphics.drawRect(0, 0, 50, 50);
dragon.graphics.endFill();
addChild(dragon);

addEventListener(Event.ENTER_FRAME, onEnter_frame);
function onEnter_frame(e:Event):void {
var time:Number = new Date().valueOf() / speed;
dragon.x = center + (Math.cos(time) * offset)
}
于 2013-07-25T08:39:28.190 回答
0

我现在已经做了类似 tis 的事情。. 但我知道那不是正确的方法。如果我这样做的话,事情只是从右到左弹出三条龙。我需要更多的龙从屏幕的右到左随机出现。

//DRAGON Properties
var Dragon:dragon=new dragon();
Dragon.x+=1100;
Dragon.y=100;
addChild(Dragon);
stage.addEventListener(Event.ENTER_FRAME,dragonmove);

function dragonmove(e:Event):void{
Dragon.x-=2;
Dragon.y=100;
}

var Dragon1:dragon1=new dragon1();
Dragon1.x+=1900;
Dragon1.y=100;
addChild(Dragon1);
stage.addEventListener(Event.ENTER_FRAME,dragon1move);

function dragon1move(e:Event):void{
Dragon1.x-=2;
Dragon1.y=150;
}

var Dragon2:dragon2=new dragon2();
Dragon2.x+=2800;
Dragon2.y=100;
addChild(Dragon2);
stage.addEventListener(Event.ENTER_FRAME,dragon2move);

function dragon2move(e:Event):void{
Dragon2.x-=2;
Dragon2.y=50;
}
于 2013-07-05T04:34:00.063 回答