Project1

标题: 抛物线(初版) [打印本页]

作者: px.凤翔九天    时间: 2011-8-26 12:56
标题: 抛物线(初版)
恩,这几天无聊了,随手写了个这玩意,很简单的东西,而且貌似也没什么大用...........
就是给定速度,初始点和抛物线顶点让一个sprite做抛物线运动的代码而已...
暂时好像可以改改去做fruit ninja~
不算很完善的东西,欢迎吐槽。
  1. class Scene_Fly
  2.   def main
  3.     @obj=Sprite.new
  4.     @obj.bitmap=Bitmap.new("Graphics/Icons/041-Item10")
  5.     @obj.x,@obj.y=0,480
  6.     Graphics.transition
  7.     throw([100,480],[300,85],1)
  8.     throw([100,480],[200,150],4)
  9.      throw([300,480],[150,150],3)
  10.     loop do
  11.       Graphics.update
  12.       if $scene != self
  13.         break
  14.       end
  15.     end
  16.   end
  17.   def throw(start=[0,480],climax=[200,200],speedup=1)
  18.     @obj.x,@obj.y=start[0],start[1]
  19.     a_count=(start[1]-climax[1])/((start[0]-climax[0])*(start[0]-climax[0])).to_f
  20.     count=(climax[0]-start[0])*2 / speedup
  21.     count*=-1 if count <=0
  22.     count.times{|index|
  23.     @obj.x+=1*speedup if climax[0]>=start[0]
  24.     @obj.x-=1*speedup if climax[0]<=start[0]
  25.     @obj.y=a_count*(@obj.x-climax[0])*(@obj.x-climax[0])+climax[1]
  26.     Graphics.update
  27.     }
  28.   end
  29. end
  30. #抛物线那个scene
复制代码
范例:
抛物线测试.rar (187.91 KB, 下载次数: 473)
作者: summer92    时间: 2011-8-26 15:43
好东西啊,最不懂抛物线,三角型这些东西了,数学烂啊。。。
作者: R-零    时间: 2011-8-26 19:33
本帖最后由 R-零 于 2011-8-26 21:44 编辑

貌似重力加速度没有很好体现

其实如果不用二次函数而是从抛物线的产生(斜向上初速度和竖直向下的重力加速)去考虑,这样或许更自然吧
作者: 新手小白    时间: 2011-9-21 21:42
抛口袋妖怪球?
可能要更复杂么......?




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1