找回密码
 加入
搜索
楼主: afan

[效率算法] 心跳的感觉[控件移动]

 火... [复制链接]
 楼主| 发表于 2010-4-20 13:42:58 | 显示全部楼层
回复 15# 水木子


    咋都玩心动去啦,我要心跳的Feel~
发表于 2010-4-20 13:44:36 | 显示全部楼层
哎!又弄错了,看来是我没读懂前辈的意思。
 楼主| 发表于 2010-4-20 13:46:38 | 显示全部楼层
回复 17# 水木子


    附件有个exe文件,就是那种效果~ 想更自然些(类似气球)
发表于 2010-4-20 13:49:48 | 显示全部楼层
回复 18# afan

是啊!刚刚看了前辈的附件,才明白前辈的意思。
效果很不错哦!
发表于 2010-4-20 14:20:15 | 显示全部楼层
回复 18# afan

哦,原来你是要这种效果,现在没空了,等下回来想想看什么算法好一点。
发表于 2010-4-20 17:22:14 | 显示全部楼层
看看你的附件的那颗心是什么颜色的
发表于 2010-4-20 17:40:54 | 显示全部楼层
来学习一下,看看怎么实现的。
发表于 2010-4-20 18:05:45 | 显示全部楼层
应该是按高度的一定比例跳动
发表于 2010-4-20 18:22:56 | 显示全部楼层
高手都出来了.......
发表于 2010-4-20 20:08:07 | 显示全部楼层
如果加键盘上上下左右移动就更好了。。。
发表于 2010-4-20 21:35:29 | 显示全部楼层
我来看看A版的算法的
发表于 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
                        

评分

参与人数 1威望 +5 金钱 +60 收起 理由
afan + 5 + 60 学习了

查看全部评分

 楼主| 发表于 2010-4-20 22:40:47 | 显示全部楼层
很久没有做这种物理题了,算了老半天..............用了重力加速度。
效果好象还可以,呵呵~
代码:
C.L 发表于 2010-4-20 22:37



    效果很不错啊,重力加速度… 好久没用到过了,呵呵~
发表于 2010-4-20 22:47:33 | 显示全部楼层
回复 28# afan

我也是啊,都差点忘记了,哈哈~
发表于 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
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-22 12:09 , Processed in 0.081205 second(s), 18 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表