简单的点击和点击Flash游戏
Posted
技术标签:
【中文标题】简单的点击和点击Flash游戏【英文标题】:Simple click and hit flash game 【发布时间】:2018-09-08 01:57:10 【问题描述】:我正在尝试创建一个简单的游戏,比如打一个痣,我想要的不是痣,而是让矩形在屏幕上快速出现和消失,玩家必须点击更多矩形,他点击更多他的分数增加。
我认为这是一个相当简单的游戏,但我的问题是:
当计时器减少时,我如何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;
【问题讨论】:
这是我的代码,到目前为止,我什至遇到问题,因为我试图随着时间的增加而提高计时器速度,并且在每次滴答时都会改变矩形的 x 和 y 位置,因此会以相同的方式工作,并且随着时间的增加滴答声速度增加,因此随着时间的推移矩形出现得更快 【参考方案1】:在我看来,您需要一个 math.random() 方法。 explained here
我个人会让每个成功的“击中”将“blinkSpeed”变量降低一定的秒数或百分比,并将该变量用作我的随机输入“最大”数。这样一来,它会减少他们玩游戏时自动可用的时间。
【讨论】:
【参考方案2】:你好 嗯,这不会太难!这是一个线索。
Step1:创建一个新的movieclip。
Step2:右键单击库中的影片剪辑。点击属性。选中“为 ActionScript 导出”复选框。将类命名为 MyEnemy(例如)。
第 3 步:转到框架并拉出 Actions 窗口。 现在把这段代码放进去:
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");
结论:期待您的反馈!
【讨论】:
以上是关于简单的点击和点击Flash游戏的主要内容,如果未能解决你的问题,请参考以下文章