首页 > 软件下载 > > 正文

AS3"抽奖"之细节分析

日期:2016-10-07 16:20:13编辑作者:新葡京线上娱乐
同志们好,今天咱们来谈谈某FLASH抽奖程序中的细节问题。首先声明一下,本文不是一篇真正意义上的教程,我只是想讨论下咱们在制作应用程序时,应该要关注的细节问题,以带给用户更好的体验。
 
好的,进入正题。现在我们有一个需求,制作一个转盘抽奖的应用,这有点类似咱们小时候玩过的转糖——现在在瓷器口也有——来看看设计图:
 
 
怎么样,很像吧?还记得小时候转糖,总是难以转到龙啊凤啊之类的大奖,所以难免怀疑老板做了什么手脚,现在想想那也是合理的,不然大家总是转到大奖,那老板早亏本不干了。我们这个程序也一样,抽到大奖是有一定几率的,当然这个几率是由后台来控制,FLASH本身只是把结果体现出来。俗话说无图无真相,让我们来瞧瞧具体的流程是怎么回事:
 
 
可以看出,页面在flash和后台之间充当了一个中转站的作用,当然这不是本文要讨论的重点。现在让我们回到前端,回到FLASH上面来,看看由FLASH自己来决定抽奖结果和让后台决定抽奖结果之间有什么区别。
 
先来看看前者,由FLASH制造一个完全公平的随机结果(很可惜Party不会让我这么干的)。我们现在有几个奖项,分别是OO、XX、OOX以及XXO等等,当我们在点击开始抽奖按钮的时候,我们给指针指定一个初始速度,让指针开始旋转并做减速运动,当指针的速度减为0,指针停止旋转,看看它指向的是哪个奖项,然后把结果在FLASH中展示并发送给后台。由于初始速度是在每次点击后我们通过随机函数模拟出来的一个随机值,所以每次转动的初速度都是不同的,指针停下来的位置也就变成不确定的了,这样就实现了随机获奖的效果。现在注意一个细节,因为在这个设计中,用户对指针的控制只有一个点击按钮的操作,而无法控制旋转的力度(这倒是一个不错的想法,如果这是一个小游戏的话),所以我们可以让指针尽量旋转多一点,不要出现用户点击之后由于初速度太小而导致指针只发生少量偏移(或者初速度太大指针旋转很久才停下来)的情况。那么我们需要给随机函数指定一个范围,以限制初始速度使其不要太大也不要太小。这个函数总是在许多地方很管用(同样你可以用来设置指针做减速运动时的加速度),我们把它写出来:
 
//该函数返回一个介于minNum和maxNum之间的整数,比如randRange (1 ,10)就是取1-10(包括1和10)之间的所有整数。
function randRange(minNum:Number,maxNum:Number):Number
{
 return Math.round(Math.random( ) * (maxNum-minNum) + minNum);
}
 
我们来个小demo瞧瞧:
 
我为这个demo写了两个开始按钮,前面那个点击之后,指针开始旋转,此时还可以继续点击按钮,这样会导致一次抽奖还未结束的时候又开始第二次抽奖,带来混乱,于是后面那个按钮我做了点处理,让指针在旋转的时候按钮变得不可点击,这也算是一个小细节吧。 至此,如果我们无视掉一些诸如让指针旋转啊、提交结果给后台啊之类的代码的话,由FLASH自己来决定结果这样一种方式的抽奖动画就制作完成了(众人:……)。

相关文章

VS 2010提升SharePoint开发功能

Jason Zander,Visual Studio产品组的总经理,最近宣布了Visual Studio 2016的SharePoint开发工具。这个工具所关注之处是能自动化处理 ..

发布日期:2016-10-10 详细>>

http://www.it-adv.net/down/201632.html

CSS圆角框组件 V1.0

文章导航:第一章:基本的圆角框第二章:透明圆角化背景图片第三章:圆角化图片第四章:CSS圆角框组件 V1 0前序:本来前三篇文章已经将CSS ..

发布日期:2016-10-07 详细>>

http://www.it-adv.net/down/201634.html

CSS 3.0 参考手册 (中文版)

CSS 3 0 参考手册 (中文版)CSS 是 Cascading Style Sheet 的缩写。译作「层叠样式表」。是用于(增强)控制网页样式并允许将样式信息 ..

发布日期:2016-10-07 详细>>

http://www.it-adv.net/down/201633.html

扣代码工具——捕获者2.0

为了做到一个文件解决问题,所以程序没有任何图片,界面比较难看,敬请见谅。程序中用到了 XMLHTTP 和 Adobe Stream 控件,可能造成少 ..

发布日期:2016-10-07 详细>>

http://www.it-adv.net/down/201631.html

javascript对话框(弹出层)组件

javascript对话框(弹出层)组件artDialogartDialog是一个轻巧且高度兼容的javascript对话框组件,可让你的网页交互拥有桌面软件般的用户体验 ..

发布日期:2016-10-07 详细>>

网站统计: