首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >统计AS3中的点击量和难度菜单

统计AS3中的点击量和难度菜单
EN

Stack Overflow用户
提问于 2016-05-10 00:00:38
回答 1查看 124关注 0票数 0

我真的对flash没有希望,但我的课程决定引入它是一个很好的想法,所以我在这里挣扎了几天。谁能告诉我我哪里做错了?

我正在试着做一个菜单有3个困难的计数游戏:简单,中等和困难。为了简单起见,我必须生成5-10,中10-15和硬15-20的随机硬币。

另外,我正在尝试计算硬币的数量,所以如果生成的数字正确,就会弹出一条消息说“恭喜”。

这就是我到目前为止所得到的:

代码语言:javascript
复制
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();
EN

回答 1

Stack Overflow用户

发布于 2016-05-10 18:43:32

你有点杂乱无章。

如果你想遵循最佳实践,那么你应该忘记时间线(使用类)

但是,你在时间线上...这也是一个很好的做法,将所有的变量和事件声明放在脚本的顶部,将函数放在后面;

对于两个数字之间的随机数,你可以使用函数rand(min, max)更好。

所以你可以这样做:

代码语言:javascript
复制
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个按钮(简单、中、硬)
  • 当按钮被点击时修改最小值和最大值,取决于点击的按钮并在第二帧中转到下一帧
  • 你将有你的游戏逻辑...

希望能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37120343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档