Project1

标题: 如何使一张图片移动? [打印本页]

作者: 945127391    时间: 2011-4-21 09:11
标题: 如何使一张图片移动?
本帖最后由 945127391 于 2011-4-23 13:41 编辑

我用精灵显示了一张图片,要怎样才能使它移动?
作者: daipeng76    时间: 2011-4-21 09:35
本帖最后由 daipeng76 于 2011-4-21 09:39 编辑

回复 945127391 的帖子

显示图片:
$game_map.screen.pictures[number].show(name, origin, x, y, zoom_x, zoom_y, opacity, blend_type)

移动图片:
$game_map.screen.pictures[number].move(duration, origin, x, y, zoom_x, zoom_y, opacity, blend_type)

其中:
# number图片序列号
# name就是要显示的图片的名字。
# origin原点就是显示图片的原点位置,0代表左上,1代表中心。
# x,y画面的x坐标和y坐标就是图片原点的画面的x坐标和y坐标。
# zoom_x, zoom_y,x轴放大率和y轴放大率就是以原点为中心的x方向和y方向放大率,100为正常大小。
# opacity不透明度就是图片的不透明度,为0到255。
# blend_type显示方式其实就是图片的合成方式,0是正常,1是加法,2是减法。
# duration移动图片原理和显示图片一样,由于图片已经显示,所以原本的图片名字也变成了移动时间

旋转图片:
$game_map.screen.pictures[number].rotate(速度)

删除图片:
$game_map.screen.pictures[number].erase
作者: secondsen    时间: 2011-4-21 09:46
精灵 有 x,y,z的属性。。
作者: trentswd    时间: 2011-4-23 07:33
s=Sprite.new
s.bitmap=bitmap
s.x=3
x.y=3
如果是瞬移的话
s.x=100
s.y=100
Graphics.update
如果是在某段时间之内平均地移过去的话
while s.x<100 or s.y<100 do
  s.x+=3 unless s.x>=100
  s.y+=3 unless s.y>=100
  Graphics.update
end
具体在游戏里面已经有了一个scene的循环,所以循环本身不需要了,只要把这内容想办法加到scene的update里面就可以。





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