我想用VB制作一个抽奖型的转盘

我想用VB制作一个抽奖型的转盘,第1张

这是一个转盘 转到的位置是随机的 具体奖品需要你自己定 我就不帮你了..... 这一句 If c >95 Then Timer1.Interval = 0 这个95 改的越小 停的越快,转到的位置重复的几率也就越大 . 代码细看看, 数值都是活的 可以根据自己需要改.

'添加控件 timer1 command1 line1

Dim x1%, y1%

Dim a As String

Private Sub Command1_Click()

a = 0

Timer1.Interval = 50

End Sub

Private Sub form_load()

Me.AutoRedraw = True

x1 = Me.Width \ 2

y1 = (Me.Height - 405) \ 2

Line1.x1 = x1: Line1.y1 = y1

Me.DrawWidth = 5

Me.Circle (x1, y1), 3000

Line1.BorderWidth = 5

Line1.BorderColor = QBColor(14)

End Sub

Private Sub Timer1_Timer()

Randomize

c = Int((100) * Rnd + 1)

a = a + 1

If a >24 Then Timer1.Interval = 100

If a >40 Then Timer1.Interval = 200

If a >48 Then

Timer1.Interval = 300

If c >95 Then Timer1.Interval = 0

End If

b = (3.14 / 8) * a

Line1.X2 = Line1.x1 + (3000 * Sin(b))

Line1.Y2 = Line1.y1 - (3000 * Cos(b))

End Sub

第一帧:

stop ()//画面停止在第一帧

btnmessage._visible = false// 名为btnmessage的元素不隐藏

isbool = 0//设置变量isbool为0

q = 1.565217E+001//设置变量Q

t = random(100) + 100//设置变量t为随机在100-200之间

v = 0//设置变量为0

vMax = 10//设置变量10

a = 8.000000E-001//设置变量

b = 0//设置变量0

retcode = 0//设置变量0

randomkey = 0//设置变量0

var my_lv = new LoadVars()//声明变量my_lv为LoadVars类型并初始化

my_lv.onLoad = function (success)//当my_lv加载信息的时候执行内容

{

retcode = int(my_lv.retCode)//设置变量为my_lv的retCode变量,并将值转化为整型数字

randomkey = int(my_lv.randomkey)//同上道理一样

b = int(my_lv.randomvalue)//同上道理一样

if (retcode == 1) //如果retcode值是1执行内容

{

isbool = 1//变量赋值为1

} // end if

if (retcode == 2) //如果retcode值是2执行内容

{ //变量的等于下面的这几个字符串

outPut = "您抽奖的次数已用完,谢谢您的参与!"

btnmessage._visible = true//btnmessage元素显示

} // end if

if (retcode == 3) //如果retcode值是3执行内容

{ //变量的等于下面的这几个字符串

outPut = "请您先登录然后玩转盘游戏!"

btnmessage._visible = true//btnmessage元素显示

} // end if

}

第二帧:

p.onEnterFrame = function () //p元素按照帧频率每秒不段的执行内容

{

if (isbool == 1) //如果isbool的值为1执行内容

{

btnmessage._visible = false//btnmessage元素隐藏

if (b != 0) //如果变量b的值不为0执行内容

{

rotation = this._rotation = this._rotation + v//rotation和p的旋转角度等于p的原本旋转角度+上v的值

if (t >0) //如果t的值大于0执行内容

{

--tt的值现在马上递减1

if (v <vMax) //如果v的值大于vMax的值执行内容

{

v = v + a//v的值递增a的值。或者说是v的值在原本的基础上加上a的值

} // end if

}

else if (v >1)//如果v不大于vMax的话,判断v是否大于1,如果是执行内容

{

v = v - a//V的值在原本的基础上减掉a的值

}

else if (parseInt(rotation) != parseInt(b)) //如果v不大于vMax,v也不大于1的话,将rotation和b转换为数字整型,并判断rotation是不是不和b相等,如果不等的话执行内容

{

}

else //如果以上的判断都不成立的话执行内容

{

v = 0//变量等于0

var my_lv2 = new LoadVars()//声明一个新的LoadVars类型为my_lv2

my_lv2.onLoad = function (success) //当my_lv2加载数据的时候执行内容

{

outPut = my_lv2.itemname//变量的值等于my_lv2的itemname的值

}

my_lv2.load("InsertItem.aspx?dickey=" + randomkey)//my_lv2加载的文件的路径是InsertItem.aspx?dickey="加上randomkey所得到的字符串

this._rotation = int(rotation / q) * q//p元素的旋转角度等于rotation除q并去掉小数后在乘q

btn._visible = true//brn元素显示

btnmessage._visible = true//btnmessage元素显示

delete this.onEnterFrame//q元素不再以帧频的速度执行onEnterFrame内的脚本

outPut = "Load......."//变量设置等于这个字符串

} // end else if

} // end else if

}

else if (isbool == 2) //如果上一个判断不成立,判断isbool是否等于2,是的话执行内容

{

delete this.onEnterFrame//q元素不再以帧频的速度执行onEnterFrame内的脚本

btnmessage._visible = true//btnmessage元素显示

} // end else if

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7731056.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存