afan 发表于 2010-4-20 13:42:58

回复 15# 水木子


    咋都玩心动去啦,我要心跳的Feel~ :face (33):

水木子 发表于 2010-4-20 13:44:36

哎!又弄错了,看来是我没读懂前辈的意思。

afan 发表于 2010-4-20 13:46:38

回复 17# 水木子


    附件有个exe文件,就是那种效果~ 想更自然些(类似气球)

水木子 发表于 2010-4-20 13:49:48

回复 18# afan

是啊!刚刚看了前辈的附件,才明白前辈的意思。
效果很不错哦!

C.L 发表于 2010-4-20 14:20:15

回复 18# afan

哦,原来你是要这种效果,现在没空了,等下回来想想看什么算法好一点。

lanfengc 发表于 2010-4-20 17:22:14

看看你的附件的那颗心是什么颜色的

xdcysten 发表于 2010-4-20 17:40:54

来学习一下,看看怎么实现的。

myloveqmx 发表于 2010-4-20 18:05:45

应该是按高度的一定比例跳动

lxz 发表于 2010-4-20 18:22:56

高手都出来了.......

tianya1631 发表于 2010-4-20 20:08:07

如果加键盘上上下左右移动就更好了。。。

seniors 发表于 2010-4-20 21:35:29

我来看看A版的算法的

C.L 发表于 2010-4-20 22:37:27

本帖最后由 C.L 于 2010-4-20 22:45 编辑

很久没有做这种物理题了,算了老半天..............用了重力加速度。
效果好象还可以,呵呵~
代码:
Dim $P = RegRead('HKLM\SOFTWARE\AutoIt v3\AutoIt', 'InstallDir')
Dim $Ico = $P & '\Aut2Exe\Icons\strawberry.ico'
GUICreate('test', 350, 130)
$cIco = GUICtrlCreateIcon($Ico, -1, 100, 100)
GUISetState()

While 1
      $nMsg = GUIGetMsg()
      Switch $nMsg
                        Case -3
                                        Exit
                        Case $cIco
                                IcoMove ()       
      EndSwitch
WEnd

Func IcoMove()
                For $y=100 To 1 Step -5
                        Circle ($y)
                Next
EndFunc   ;==>IcoMove

Func Circle ($times)
        Local $v=0,$t,$s,$h=0,$g=9.8,$a=$times
        For $t=1 To $times
                $v=Round (0.15*$a/$t,2)
                $s=$v*$t
                $a=$a-$g
                $h+=$s
                If $h <= 0 Then ExitLoop
                ControlMove('test', '', $cIco, Default, 100-$h)
                Sleep (30)
        Next
        $v=0
        $a=0
        $h=100
        For $t=1 To $times
                $v=Round (0.15*$a/$t,2)               
                $s=$v*$t
                $a=$a+$g
                $h+=$s
                If $h >= 100 Then ExitLoop
                ControlMove('test', '', $cIco, Default, $h)
                Sleep (30)
        Next       
EndFunc
                       

afan 发表于 2010-4-20 22:40:47

很久没有做这种物理题了,算了老半天..............用了重力加速度。
效果好象还可以,呵呵~
代码:
C.L 发表于 2010-4-20 22:37 http://www.autoitx.com/images/common/back.gif


    效果很不错啊,重力加速度… 好久没用到过了,呵呵~

C.L 发表于 2010-4-20 22:47:33

回复 28# afan

我也是啊,都差点忘记了,哈哈~

C.L 发表于 2010-4-20 23:05:14

本帖最后由 C.L 于 2010-4-20 23:09 编辑

刚才又试了一下,改一下循环那里 -5 改成-8 ,将加速度的值改小一点 ,效果好象更好,更自然。
Func IcoMove()
                For $y=100 To 1 Step -8
                        Circle ($y)
                Next
EndFunc   ;==>IcoMove

页: 1 [2] 3 4 5 6 7 8 9
查看完整版本: 心跳的感觉[控件移动]