简单的点击和点击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游戏的主要内容,如果未能解决你的问题,请参考以下文章

我电脑上没有flash可不可以玩啊?

如何为在线 Flash 游戏构建机器人?

需要帮助创建最后带有可点击按钮的 Flash 动画

flash简单总结

dw 做网页时怎么做个带点击特效的按钮

简单的 android 应用程序(在 flash 中)在帧之间传送