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