我想在FLASH中创建(轮盘)旋转轮模拟。
我想得到一个数字,那个(轮盘)旋转轮将停在指示器前面。
以下是展示我想要的内容的链接。 http://zytwebdev.zoomyourtraffic.in/amol_zytwebdev/roullete/R1_wheel2.swf
section = new Array();
section[0] = "1";
section[1] = "2";
section[2] = "3";
section[3] = "4";
section[4] = "5";
section[5] = "6";
section[6] = "7";
section[7] = "8";
section[8] = "9";
section[9] = "10";
section[10]= "11";
section[11]= "12";
section[12]= "13";
section[13]= "14";
section[14]= "15";
rotate = 0;
//button press
button.onPress = function()
{
spinWheel();
}
//create a function to speed the wheel, slow it down, stop then display result
function spinWheel()
{
speed = 10; //the speed the wheel rotates
count = 0;
button.enabled = false; //while the wheel is spinning disable the button
limit = random(40)+10; //random time for the wheel to spin before slowing down
onEnterFrame = function()
{
rotate += speed;
degrees = rotate; // DEBUG print the rotation
//trace(degrees+" Deg");
if (rotate>359)
{
rotate = rotate - 360;
}
//slow the wheel down
if (count>limit)
{
if (speed>0)
{
speed -= 1.3
}
else
{
//stop the wheel
speed = 0;
onEnterFrame = false;
button.enabled = true; //enable the button
prize = section[Math.floor(rotate/24)] ; //display the result
printsection = Math.floor(rotate/24); // DEBUG print the section number
trace(prize);
}
}
//move wheel if speed is greater than 0
if (speed>0){
wheelHolder.wheel._rotation = rotate;
count++;
}
}
}
以下是相同的工作代码。
任何帮助对我来说都很重要。 提前谢谢。
答案 0 :(得分:1)
package {
import flash.display.MovieClip;
import flash.events.MouseEvent;
public class main extends MovieClip {
public function main() {
addEventListener(MouseEvent.CLICK,clcks);
}
public function clcks(e:MouseEvent):void {
if (e.target.name == "doit") {
var rr = Math.round(Math.random()*360);
spn.rotation=-rr;
spn.play();
trace(Math.round(rr/22.5));
}
}
}
}
答案 1 :(得分:0)
在一系列可能性中划分360度。尽量保持圆值但不是必需的。
使用TweenLite或TweenMax进行旋转。我相信你想要的是一个片段。否则,请使用缓动设置。
当轮子停止并触发onComplete事件时,请查看数组中旋转的位置。
就像你在36个选项中划分360一样,你会在每个元素之间得到10度。所以54旋转意味着它在第5个元素(向下舍入)。 249轮换意味着第24个元素。
你刚才
Math.floor( myWheel.rotation / ( 360 / myArrayOfOptions.length ) )
获取myArrayOfOptions的索引。
你可以从那里拿走它。
干杯!