计算AS3中的点击次数和难度菜单

时间:2016-05-09 16:00:38

标签: actionscript-3 flash

我真的对闪光毫无希望,但我的课程决定引入它是个好主意,所以我在这里挣扎了好几天。任何人都可以告诉我,我做错了吗???

我试图制作一个计数游戏,其菜单有3个难点:简单中等和难度。为了方便起见,我必须生成5-10,中等10-15和硬15-20的随机硬币。

此外,我还要对硬币进行计数,如果生成了正确的数字,会弹出一条消息说“恭喜”

这就是我到目前为止......:

import fl.motion.MotionEvent;
import flash.events.MouseEvent;

var Count:Number = 0;

coinz.addEventListener(MouseEvent.CLICK, fl_MouseClickHandler_3);

function fl_MouseClickHandler_3(event:MouseEvent):void
{
    trace("Mouse clicked");
}

var clickCount:int= 0;

btnnumb.addEventListener(MouseEvent.CLICK,addClick);

function addClick(evt:MouseEvent):void{
    clickCount++;
}
textarea.text="SCORE:"+clickCount.toString();

var minLimit:uint = 5;
var maxLimit:uint = 10;
var range:uint = maxLimit - minLimit;
var myNum:Number = Math.ceil(Math.random()*range) + minLimit;
trace(myNum);


var low:Number = 1;
var high:Number = 5;
var result:Number = Math.floor(Math.random() * (1 + high - low)) + low

stop();

1 个答案:

答案 0 :(得分:1)

你有点无组织 如果你想遵循最佳实践,那么你应该忘记时间线(使用类)
但是,你在时间轴上......这也是一个很好的做法,将所有变量事件声明放在脚本的顶部,然后是你的函数; <登记/> 对于2个数字之间的随机数,您可以使用函数rand(min, max)更好。

所以你可以这样做:

import fl.motion.MotionEvent;
import flash.events.MouseEvent;

stop();

//variables name should start with lower case letter by convention
var count      : Number = 0;  
var clickCount : int    = 0;
var randNumber : int    = 0;  //define understandable variables name (not myNum)

//constant variables should be in upper case and words sparated by underline
var MIN_RAND_LIMIT  : uint   = 5;
var MAX_RAND_LIMIT  : uint   = 10;

coinz.addEventListener(MouseEvent.CLICK, onCoinzClick);
btnnumb.addEventListener(MouseEvent.CLICK, addClick); //again 'btnnumb' is bad name

function onCoinzClick(e:MouseEvent) : void {
    trace("Mouse clicked");
}

function addClick(e:MouseEvent) : void {
    clickCount++;
    //don't need toString in concatenation
    textarea.text="SCORE:" + clickCount; 
}

function rand(min:Number, max:Number) : Number {
    return (Math.floor(Math.random() * (max - min + 1)) + min);
}

//test
randNumber = rand(MIN_RAND_LIMIT, MAX_RAND_LIMIT);
trace(randNumber);

///
///the rest logic of your game...
///

尽可能多地组织起来,你会发现它更容易工作并且变得更好......



现在关于你的游戏,这里有一些提示:

  • 在第一帧中制作3个按钮(简单,中等,硬)
  • 单击按钮时修改最小值和最大值,取决于单击的按钮并转到下一帧
  • 在第二帧中你将拥有你的游戏逻辑......

希望它有所帮助。