正文  软件开发 > 编程综合 >

flash 制作摇奖盘 js开发教程

思路:1.设一个变量,如:friction用于设置摩擦力;    2.mc的移动速度每次乘以摩擦力,当摩擦力=1时,不会改变速度;    当摩擦力小于1时,如:0.8,速度每次都...

思路:1.设一个变量,如:friction
用于设置摩擦力;
   
2.mc的移动速度每次乘以摩擦力,当摩擦力=1时,不会改变速度;
    当摩擦力小于1时,如:0.8,速度每次都要打8折,折上折直至零。
步骤1:

   
绘制摇奖盘,保存为影片剪辑,实例名为"mc";

   
绘制出二个按钮,保存为按钮,实例名分别为:"play_btn","stop_btn".
步骤2:
加入AS代码层:
var friction =
1;
//表示摩擦力,当friction=1,没有擦力;friction<1,开始拥有摩擦力


var speed = 70;
//圆盘转动的速度

var go = false;
//go=true,圆盘转动,go=false,圆盘停止;


_root.onEnterFrame
= function () {

if (go)
{

  speed =
speed*friction;
//也可写成speed*=friction


  mc._rotation +=
speed;

}

};

play_btn.onRelease = function() {

go = true;

speed = 70;

friction =
1;

};
//开始按钮


stop_btn.onRelease = function() {

  friction = 0.8;

};
//停止按钮

Flash充电1: onEnterFrame

理解:可以简单地理解成为"实时刷新",FPS(帧频)值影响其刷新速度;
定义:以 SWF
文件的帧频重复调用;
例如:

for(i=1;i<=10;i++){trace(i);}
//运行后立即显示 1~10;

设i初值为1
while(i<=10){trace(i);i++;}
//运行后立即显示 1~10;

设i初值为1
onEnterFrame = function(){
if(i<=10)
{ trace(i) }
  
i++;
};
//运行后间断显示
  1
  2
  3
  4
  5
  6
  7
  8
  9
  10

Flash充电2:摩擦力实现原理
例如:speed=10;

     
friction=0.8;
onEnterFrame=function(){

   
speed=speed*friction

   
trace(speed)
}
显示结果:
10

8

6.4

5.12

4.096

3.2768

2.62144

2.097152

1.6777216

1.34217728

1.073741824

0.8589934592
speed
每一次都在原有的数字上面乘以0.8,也就是原有数字的80%。
speed
减小,且无限趋近于0,实现摩擦力效果