我正在尝试创建一个像鼹鼠一样的简单游戏,我想要的不是鼹鼠制作矩形出现并在屏幕上快速消失,玩家必须点击它更多的矩形他点击更多他的分数增加。
我认为这是一个相当简单的游戏,但我的问题是:
我如何make the rectangles appear and disappear on screen at random position also at increasing speeds
计时器正在减少?即随着时间的推移,出现和消失的矩形速度会增加,玩家可以在30秒内进行倒计时。
import flash.utils.Timer;
import flash.events.TimerEvent;
import flash.events.Event;
var inc:Number = 1;
var gogo:Timer = new Timer(inc*1000);
var val:Number = 30;
var counter = val;
var time2:Timer = new Timer(1000+speed);
var speed:Number = 50;
timee.text = counter;
box.addEventListener(MouseEvent.CLICK, st);
function st(event:MouseEvent):void
{
gogo.start();
time2.start();
}
gogo.addEventListener(TimerEvent.TIMER, res);
function res(ev:TimerEvent):void
{
if(counter == 0){
gogo.stop();
}else{
val = val - inc;
counter = val;
timee.text = counter;
}
}
stage.addEventListener(Event.ENTER_FRAME, yea);
function yea(e:Event):void{
speed += 50;
}
答案 0 :(得分:0)
在我看来,你需要一个math.random()方法。 explained here
我个人将每次成功'命中'降低一个“blinkSpeed”变量,或者设置为一小时或一个百分比,并将该变量用作我的随机输入“max”数。这样就可以减少播放时自动播放的时间。
答案 1 :(得分:0)
<强>你好强> 好吧,那不会太难!这是一个线索。
Step1 :创建一个新的 movieclip 。
Step2 :右键单击库中的影片剪辑。点击属性。选中“导出为ActionScript”复选框。将类命名为 MyEnemy (例如)。
Step3 :转到相框并拉出操作窗口。
现在把这段代码放进去吧:
var mc:MyEnemy= new MyEnemy() // creates a instance of the movieclip.
addChild(mc); // adds the movie clip to the stage.
第4步:现在我们已经为舞台添加了一个新的动画片段。要在舞台中的随机x位置添加它,您需要使用mc的x和y字段以及 Math.random()函数。
Math.random():
的示例var randomThing:Number = Math.random() * 100 // returns a number between n, where 0 <= n < 100
现在,例如,我们需要相对于舞台的x和y值,您必须将 Math.random()与舞台的宽度相乘。如下:
var randomX:Number = Math.random() * stage.stageWidth // returns a number between n, where 0 <= n < stage.stageWidth
var randomY:Number = Math.random() * stage.stageWidth // returns a number between n, where 0 <= n < stage.stageWidth
和!神奇的最终代码是:
mc.x = randomX;
mc.y = randomY;
编辑1 :要向舞台添加多个“mc”动画片段,我们会使用循环,请执行以下操作:
stage.addEventListener(Event.ENTER_FRAME, doSimple);
function doSimple (ev:Event) {
var mc:MyEnemy = new MyEnemy();
var randomX:Number = Math.random() * stage.stageWidth // returns a number between n, where 0 <= n < stage.stageWidth
var randomY:Number = Math.random() * stage.stageWidth // returns a number between n, where 0 <= n < stage.stageWidth
for (var i:Number=1; i<=10;i++){ //i is a number, you can discard the 'i<=10' if you want an infinite loop.
addChild(mc);
}
mc.x = randomX;
mc.y = randomY;
trace("yes");
}
结论:我期待您的反馈!