slot水果机抽奖思路

创建一个数组,数组里把所有的奖项按顺序里面,这个数组可命名为
rewardArr,数组里面放每个奖项对应的显示对象。
根据mvc的思想,所见非所得,每次刚点下抽奖按钮的时候,就给他随机出一个奖品,然后在随机一个转的圈数

接下来是滚动的显示,滚动就用TweenMax去解决,他里面有各种加速减速曲线,具体在用的时候,
var rewardArr:Array = [a,b,c,d,e,f.....];

var redLightArr:Array = [n,n,n,n,n.....];
var duration:int = 8;//转动的时间
var rounds:int = 5; //转动的圈数
var rewardIndex:int = 10;//转完圈数后加10得到抽奖结果
var lastEndIndex:int = 0;//上次转动停止的点设置为0

//圈数*页面上奖项的数量+rewardIndex    
var endIndex:int =rounds *rewardArr.length +rewardIndex   ;//抽奖结果所在的index
var startIndex:int =lastEndIndex; //从这里开始转

var sprite:Sprite = new Sprite();//一个无关的但是必须用的变量,每次都new一个吧,
sprite.x = startIndex;//把这个变量的属性x设成startIndex,因为接下来我们要用tweenMax控制它变化

//tweenMax里面的参数意义
//sprite 为当前控制的对象   duration为tweenMax持续时间 {}里面为详细参数,x为要在duration时间内,把sprite 的x属性变为endIndex,onUpdate属性为他每次更改一下sprite x属性的时候执行的一个方法,onupdateparams是onupdate执行的时候,要传入的参数
TweenMax.to(sprite,duration,{x:endIndex, onUpdate:onUpdateHandle, onUpdateParams :[sprite.x], ease:"easeOut"} );

function  onUpdateHandle(args:Array):void
{
     int currentIndex = (int)args[0];
     currentIndex = currentIndex %rewardArr.length;
     target = rewardArr[currentIndex];

redLightArr[currentIndex];
}

onUpdateHandle这个方法

tweenMax在执行的时候,他会去更改我们new出来的那个sprite的x值,他会在duration时间内,把sprite的x改变成我们{}里面写的那个x

在改变的过程中,他会不断的调用onUpdateHandle()方法,并把当前的sprite的x值传入这个方法

也就是 target = rewardArr[currentIndex];  这样,就取到了当前移动到的那个位置

target就是当前选到的那个水果

在执行tweenMax.To方法的时候,他的这个target就会慢慢的从最开始的,变到最后选中的那个

而且有减速的效果

得到target后,再去得到target下面的红点?

详细解释:我们在创建rewardArr的时候,可以创建一个与他一一对应的数组,叫redLightArr,里面存的每一个元素都是红点

那么在onUpdate方法里,有了currentIndex,那么我们就可以通过redLightArr[currentIndex]取到红点了

function void onUpdateHandle(args:Array)

{
     int currentIndex = redBall.x;
     currentIndex = currentIndex %rewardArr.length;
    Displayobject target = rewardArr[currentIndex];
}

这段代码,我们可以得到当前要跳到那个节点的index了

这个就是那个tweenMax,把一个数字变化到另一个数字,变化过程中,每一帧执行的一个update函数

这个函数会告诉我们,这会儿这个数字变成什么了

可以用一个全局变量去保存那个红点的sprite

然后在update的时候,去改变sprite的位置

时间: 2024-08-26 01:48:36

slot水果机抽奖思路的相关文章

水果机抽奖

不过w关于拉霸,水果机  他们的抽奖活动 我做了两次,网上也借鉴了很多案例,但是发现都不是特别全面 因为我们做一个抽奖的活动,肯定是有弹窗的,有中奖和未中奖的判断,以及中奖几率,中哪种奖项的判断 这些都是困扰这我的,因为我找的案例都没有这么全面的例子, 我们先来看第一个案例 是个盛世公主号做的一个抽奖页面: 这个页面 我是借用了这个案例 链接   http://www.17sucai.com/pins/demoshow/26298 引入了这两个js 这个案例是一张背景图上多个奖品, 那关于中奖机

一体广告机实现思路,非常实用(二)

继续昨天未完成的工作,昨天主要介绍了一体机开发的主要功能(一体广告机实现思路,非常实用(一)),今天主要介绍实现逻辑(代码层面).也许有些人会认为实现起来很简答,也许不会的人可能比登天还难,O(∩_∩)O哈哈~,我就来简单介绍下.也许我说的方法不是最好的,希望你能提供更好的方法,大家一起学习交流了,共同进步. 我所使用的广告滚动使用的是flash来实现,调用了VS的Interop.ShockwaveFlashObjects.dll文件,这个VS自带的.首先是屏蔽flash右键的实现代码(主要作用

《微赢微信公众平台系统5月14最新破解高级运营版+水果机+邀请函+微汽车+微食品+用户CRM》

<微赢微信公众平台系统5月14最新破解高级运营版+水果机+邀请函+微汽车+微食品+用户CRM> 此版本目前是淘宝卖600RMB的,其它VIP源码论坛也都还没有发布,咱们这里完全免费分享出来,但这里先说明下,别拿回去叫着安装不了,这套微赢微信公众平台系统5月14最新破解高级运营版需要在php 5.4版本下面才能安装,目前一般的虚拟主机都无法正常安装. 非常感谢分享此套源码的童鞋,希望更多的童鞋能分享好的资源. 下面是我们亲测截图 微赢高级版正式上线,支持后台一键更新升级.高级版新功能:新版商城,

一体广告机实现思路,非常实用(一)

序言 当今社会广告随处可见,广告展现在大家面前也各尽不同,如电视.报纸.网络.车站.公车等等应有尽有,广告是无处不在,如不想见到广告那就不要出门.不要打开电脑手机.这样或许能暂时看不到广告.从这可见广告在人们生活中起到的作用,很多人都会根据广告去购买相关商品,所以现在才导致越来越多的企业不惜重金去打广告.然而广告又是人们非常讨厌的东西,比如在看电视时突然给你来一段广告,哎...广告泛滥的年代,你我都是广告受害者. 我今天给大家介绍一个广告一体机的实现思路,供大家一起交流学习,共同进步.也许我说的

H5水果机,一个网络版的lao hu ji

该游戏为h5小游戏,纯属娱乐,技术探讨,相关技术在文章结尾,欢迎探讨交流 花了几天时间开发了这款水果lao hu ji,更新了几个版本,还有不足的地方,由于时间有限暂时没有继续更新新版本 未完成的功能如下: 1.按钮的交互UI特效和声音 2.跑马灯效果 3.转盘转动的声音及中奖声音 4.加载页面完善(动画) 5.一些小bug 先看一下效果图: 下方二维码,扫一扫可体验游戏 版本更新记录: 注明:该游戏纯属娱乐 关于后期升级的畅想: 1.开发一个游戏大厅,可创建房间,可在不同级别的房间进行游戏 2

没有水果机的也来体验下Visual Studio for Mac

在去年微软已经宣布.NET将实现真正的跨平台,并且发布了Mac和Linux版的Visual Studio Code编辑器,但强大的Visual Studio确只有Windows版. 还坚守.NET开发者的春天就要到来了,前几天微软终于发布了针对Mac系统的集成开发环境Visual Studio,拥有智能感知,代码重构使用Roslyn Compiler平台,并使用和Xamarin and .NET Core apps相同的调试器引擎,虽然Mac版Visual Studio不支持所有Visual S

JAVA 水果机游戏及编码

[转自 http://tech.it168.com/j/2007-11-07/200711070910328_1.shtml] 3.      游戏的开发与编码 在我们开发这个游戏之前,我们先讲一个这个游戏的实现所采用的方法,那就是经典的MVC模式,因为在开发游戏的时候,结构很重要,必须要理清楚每一块负责什么,每一个类负责什么,而MVC模式正好就是解决这种问题的很好的方案,我们可以把游戏的运行流程交由一个类去统一调度,游戏的呈现也就是绘图用专门一个类去负责,而绘图所需的数据可以从一个模型类里面去

oracle异机恢复测试

(一)问题背景 最近在生产环境中,开发人员误操作,使用truncate将oracle数据库某个表的数据全部删除了,在删除之后,开发人员发现自己闯祸了,于是联系值班的DBA进行紧急数据恢复. 经过分析,表被truncate后,使用一般的闪回表.闪回查询.闪回事物等方法,是不可能将数据找回来的,可以使用闪回数据库.闪回数据归档的方法来进行恢复,但是通常在生产环境中,都不会开启这2个特性,所以剩下的只有使用RMAN进行数据恢复了. 对于使用RMAN进行数据恢复,可以在生产环境上直接进行,也可以恢复到其

6.oop-类和对象

一.如何抽象对象1.创建一个类2.给该描述属性 属性就是java中所有的数据类型3.给该类定义行为方法 方法的签名是:public void 方法名(){方法体} 公共的 无返回类型 二.如何使用类和对象1.创建类的对象实例 Student stu = new Student();2.访问对象的属性和方法:通过对象名.属性名或者方法名 例如:stu.name = "张三"; stu.study(); 三.构造方法1.定义:构建一个类的对象的方法2.特点:和类名一致,没有返回类型3.调用