Project1

标题: 怎么实现图片的匀变速运动呢 [打印本页]

作者: 叶舞枫    时间: 2011-8-21 09:28
标题: 怎么实现图片的匀变速运动呢
试过用多个移动图片,然后相同位移不同时间来做,不过效果不太满意
所以请问有没有实现真正匀变速移动图片的方法呢?
谢谢。dsu_plus_rewardpost_czw
作者: 亿万星辰    时间: 2011-8-21 10:17
本帖最后由 亿万星辰 于 2011-8-21 10:35 编辑


作者: shoed    时间: 2011-8-21 10:21
看你的描述,好像是像做成模糊的移动效果吧
作者: fux2    时间: 2011-8-21 10:36
本帖最后由 fux2 于 2011-8-21 10:39 编辑

匀变速最好用脚本吧.或者从显示图片的过程入手更变设置效果,比如说当透明度为1的时候(此时透明度无意义),匀速运动变成匀变速?公式就可以靠其他参数来算了.

一定要事件的话,移动图片的坐标指定有变量指定,你可以用事件增减这个变量以实现v=v0+at
作者: R-零    时间: 2011-8-21 11:52
本帖最后由 R-零 于 2011-8-21 11:56 编辑

#做好人做到底,干脆就这么吧,相信LZ能看懂的
  1. def 坐标计算(s,a)
  2.   l = 360 / 3.1415926
  3.   ag = 90 - a
  4.   x = Math.cos( ag / l ) * s
  5.   y = Math.sin( ag / l ) * s
  6.   return x,y
  7. end
  8. class Game_Picture
  9.   attr_accessor :变速直线运动专用变量咔咔咔咔咔咔咔咔咔咔
  10.   alias inininin initialize
  11.   def initialize(number)
  12.     inininin(number)
  13.     #                                              初始速度 运动方向(角度,从竖直向上开始计) 加速度 加速度的加速度 时间上限 时间
  14.     @变速直线运动专用变量咔咔咔咔咔咔咔咔咔咔 = [ 0 ,       0                              ,  0 ,     0,              0      , 0]
  15.   end
  16.   def 变速直线运动(初速度,运动方向,加速度,时间上限,加速度的加速度 = 0)
  17.     @变速直线运动专用变量咔咔咔咔咔咔咔咔咔咔 = [ 初速度,运动方向,加速度,加速度的加速度,时间上限,0]
  18.   end
  19.   alias ududuududud update
  20.   def update
  21.     if @变速直线运动专用变量咔咔咔咔咔咔咔咔咔咔[5] < @变速直线运动专用变量咔咔咔咔咔咔咔咔咔咔[4]
  22.       @变速直线运动专用变量咔咔咔咔咔咔咔咔咔咔[5] += 1
  23.       xx = @变速直线运动专用变量咔咔咔咔咔咔咔咔咔咔[0] + @变速直线运动专用变量咔咔咔咔咔咔咔咔咔咔[2] * @变速直线运动专用变量咔咔咔咔咔咔咔咔咔咔[5] + @变速直线运动专用变量咔咔咔咔咔咔咔咔咔咔[3] * @变速直线运动专用变量咔咔咔咔咔咔咔咔咔咔[5] * @变速直线运动专用变量咔咔咔咔咔咔咔咔咔咔[5]
  24.       xy = 坐标计算(xx,@变速直线运动专用变量咔咔咔咔咔咔咔咔咔咔[1])
  25.       @x += xy[0]
  26.       @y += xy[1]
  27.     end
  28.     ududuududud
  29.   end
  30. end
  31. def 变速移动图片(图片编号,初速度,运动方向,加速度,时间上限,加速度的加速度 = 0)
  32.   $game_screen.pictures[图片编号].变速直线运动(初速度,运动方向,加速度,时间上限,加速度的加速度 = 0)
  33. end
复制代码





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