nxbigdaddy 发表于 2009-6-17 13:25:51

想做个抽奖滚动的效果,怎么解决?

本帖最后由 nxbigdaddy 于 2010-1-14 08:31 编辑

想做个抽奖滚动的效果,怎么解决?

lynfr8 发表于 2009-6-17 14:22:46

au3只不过是个脚本语言而已
这样的效果还不如用flash做

pusofalse 发表于 2009-6-17 14:57:43

很劣质..#include <File.au3>
#include <Array.au3>
#include <StaticConstants.au3>

Opt("GUIOnEventMode", 1)

Dim $aArray, $iNumber, $iMaxNumber, $iStart, $iMaxCount = 3, $iCount, $sResult

_FileReadToArray(@ScriptName, $aArray)
$iMaxNumber = $aArray

$hGUI = GUICreate("Test", 200, 100)
GUISetOnEvent(-3, "_Quit")

$iLabel = GUICtrlCreateLabel("", 20, 20, 160, 20, bitOr($SS_SUNKEN, $SS_CENTER))

$ibtnStart = GUICtrlCreateButton("Start", 30, 50, 140, 20)
GUICtrlSetOnEvent(-1, "_Start")
GUISetState()

While True
        Sleep(15)
        If $iStart Then
                $iNumber += 1
                If $iNumber > $iMaxNumber Then $iNumber = 1
                GUICtrlSetData($iLabel, $aArray[$iNumber])
        EndIf
WEnd

Func _Quit()
        Msgbox(64, "Finished", $sResult)
        Exit
EndFunc

Func _Start()
        If GUICtrlRead(@Gui_CtrlId) = "Start" Then
                $iStart = 1
                GUICtrlSetData(@Gui_CtrlId, "Stop")
        Else
                $iStart = 0
                GUICtrlSetData(@Gui_CtrlId, "Start")
                $iMaxNumber -= 1
                $iCount += 1
                Msgbox(0, $iNumber, $aArray[$iNumber])
                $sResult &= $aArray[$iNumber] & @CRLF
                If $iCount = $iMaxCount Then _Quit()
                _ArrayDelete($aArray, $iNumber)
        EndIf
EndFunc        ;==>_Start()

nxbigdaddy 发表于 2009-8-4 13:22:27

谢谢楼上的兄弟啊!

bxqs2008 发表于 2009-8-5 18:25:51

谢谢。。。。。。。。

bilinyee 发表于 2012-11-15 10:17:50

..................

wwwmhk 发表于 2015-11-24 15:31:17

这么简单吗?
页: [1]
查看完整版本: 想做个抽奖滚动的效果,怎么解决?