我真的对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();发布于 2016-05-10 18:43:32
你有点杂乱无章。
如果你想遵循最佳实践,那么你应该忘记时间线(使用类)
但是,你在时间线上...这也是一个很好的做法,将所有的变量和事件声明放在脚本的顶部,将函数放在后面;
对于两个数字之间的随机数,你可以使用函数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...
///尽量有条理,你会发现更容易工作,变得更好……
关于你的游戏,这里有一些提示:
希望能有所帮助。
https://stackoverflow.com/questions/37120343
复制相似问题