设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
12
返回列表 发新帖
楼主: 失去的记忆
打印 上一主题 下一主题

[已经解决] 火枪攻击怎么显示子弹飞行轨迹:超难度问题...

[复制链接]

Lv3.寻梦者

宛若

梦石
0
星屑
1568
在线时间
526 小时
注册时间
2007-8-19
帖子
1493

极短24参与开拓者

11
发表于 2010-7-5 17:15:59 | 只看该作者
对一个空的Sprite(精灵)播放动画,然后移动这个空的精灵
[url=http://rpg.blue/thread-219730-1-1.html]http://unhero.sinaapp.com/wi.php[/url]
[color=Red]如你所见这是个死坑,没错这就是打我的脸用的[/color]
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
129 小时
注册时间
2009-3-29
帖子
432
12
 楼主| 发表于 2010-7-6 07:13:41 | 只看该作者
...... 哎.. 所以说我还是想用XP实现这个啊
做一个游戏也用这么长时间........
PS:说我自己呢
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
129 小时
注册时间
2009-3-29
帖子
432
13
 楼主| 发表于 2010-7-6 09:11:25 | 只看该作者
对一个空的Sprite(精灵)播放动画,然后移动这个空的精灵
逸豫 发表于 2010-7-5 17:15

这个方法貌似可行,有空能坐下这个效果的范例吗?我搞不定啊!


回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
155
在线时间
230 小时
注册时间
2009-7-2
帖子
204
14
发表于 2010-7-6 11:23:21 | 只看该作者
最佳办法。不要用数据库做动画
其实你的动画也就一针。只是一张图片在移动而已。最后击中的动画分开写就可以了。
用脚本写。人物AB之间坐标判断动画轨迹
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
129 小时
注册时间
2009-3-29
帖子
432
15
 楼主| 发表于 2010-7-6 12:15:08 | 只看该作者
这个方法貌似可行,有空能坐下这个效果的范例吗?我搞不定啊!
失去的记忆 发表于 2010-7-6 09:11

我知道这个原理啊,而且也试了试,不行啊,这个轨迹很难确定,不信自己试试看!
PS:不要再和我说可以了,我自己试了N次了,不行,还请哪位大大做个范例给我,
就是移动图片也可以!只要是有角色到敌人的攻击轨迹就可以!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
129 小时
注册时间
2009-3-29
帖子
432
16
 楼主| 发表于 2010-7-7 15:50:47 | 只看该作者
这么好的帖子别沉了 我顶!!!!!!!!!!!!!:victory:
做一个游戏也用这么长时间........
PS:说我自己呢
回复 支持 反对

使用道具 举报

Lv3.寻梦者

宛若

梦石
0
星屑
1568
在线时间
526 小时
注册时间
2007-8-19
帖子
1493

极短24参与开拓者

17
发表于 2010-7-7 18:49:44 | 只看该作者
本帖最后由 逸豫 于 2010-7-7 19:05 编辑
  1. class Scene_Demo
  2.   def main
  3.     @tip = Sprite.new(Viewport.new(0,0,640,480))
  4.     @tip.bitmap = Bitmap.new(12*32,32)
  5.     @tip.bitmap.draw_text(0,0,12*32,32,"这只是精灵移动的演示",1)
  6.     @sprite = Sprite.new(Viewport.new(0,0,640,480))
  7.     @sprite.bitmap = Bitmap.new("Graphics/Battlers/001-Fighter01")
  8.     @start_x = 0
  9.     @start_y = 0
  10.     @sprite.x = @start_x
  11.     @sprite.y = @start_y
  12.     @final_x = 100
  13.     @final_y = 100
  14.     # 执行过渡
  15.     Graphics.transition
  16.     # 主循环
  17.     loop do
  18.       # 刷新游戏画面
  19.       Graphics.update
  20.       # 刷新输入信息
  21.       Input.update
  22.       # 刷新画面
  23.       update
  24.       # 如果切换画面就中断循环
  25.       if $scene != self
  26.         break
  27.       end
  28.     end
  29.     # 准备过渡
  30.     Graphics.freeze
  31.     @tip.dispose
  32.     @sprite.dispose
  33.   end
  34.   def update
  35.     if Input.trigger?(Input::B)
  36.       # 演奏取消 SE
  37.       $game_system.se_play($data_system.cancel_se)
  38.       # 切换的地图画面
  39.       $scene = Scene_Map.new
  40.       return
  41.     end
  42.     if @sprite.x != @final_x  #如果精灵的坐标与最终坐标不相等
  43.       @sprite.x -= 1 if @sprite.x > @final_x
  44.       @sprite.x += 1 if @sprite.x < @final_x
  45.     end
  46.     if @sprite.y != @final_y  #如果精灵的坐标与最终坐标不相等
  47.       @sprite.y -= 1 if @sprite.y > @final_y
  48.       @sprite.y += 1 if @sprite.y < @final_y
  49.     end
  50.   end
  51. end
复制代码
于是,你要的移动图片也可以来了……
  1. class Scene_Demo
  2.   def main
  3.     @tip = Sprite.new(Viewport.new(0,0,640,480))
  4.     @tip.bitmap = Bitmap.new(12*32,32)
  5.     @tip.bitmap.draw_text(0,0,12*32,32,"这只是精灵移动的演示",1)
  6.     @sprite = RPG::Sprite.new(Viewport.new(0,0,640,480))
  7.     #@sprite.bitmap = Bitmap.new("Graphics/Battlers/001-Fighter01")
  8.     @sprite.loop_animation($data_animations[5])
  9.     @start_x = 0
  10.     @start_y = 0
  11.     @sprite.x = @start_x
  12.     @sprite.y = @start_y
  13.     @final_x = 100
  14.     @final_y = 100
  15.     # 执行过渡
  16.     Graphics.transition
  17.     # 主循环
  18.     loop do
  19.       # 刷新游戏画面
  20.       Graphics.update
  21.       # 刷新输入信息
  22.       Input.update
  23.       # 刷新画面
  24.       update
  25.       # 如果切换画面就中断循环
  26.       if $scene != self
  27.         break
  28.       end
  29.     end
  30.     # 准备过渡
  31.     Graphics.freeze
  32.     @tip.dispose
  33.     @sprite.dispose
  34.   end
  35.   def update
  36.     @sprite.update
  37.     if Input.trigger?(Input::B)
  38.       # 演奏取消 SE
  39.       $game_system.se_play($data_system.cancel_se)
  40.       # 切换的地图画面
  41.       $scene = Scene_Map.new
  42.       return
  43.     end
  44.     if @sprite.x != @final_x  #如果精灵的坐标与最终坐标不相等
  45.       @sprite.x -= 1 if @sprite.x > @final_x
  46.       @sprite.x += 1 if @sprite.x < @final_x
  47.     end
  48.     if @sprite.y != @final_y  #如果精灵的坐标与最终坐标不相等
  49.       @sprite.y -= 1 if @sprite.y > @final_y
  50.       @sprite.y += 1 if @sprite.y < @final_y
  51.     end
  52.     if @sprite.x == @final_x && @sprite.y == @final_y
  53.       @sprite.loop_animation(nil)
  54.     end
  55.   end
  56. end
  57.       
复制代码
这是特别有爱的动画版……

点评

PM版主  发表于 2010-7-9 10:09
感谢 感谢 已经明白原理了! PS:怎么认可呢???  发表于 2010-7-9 09:23

评分

参与人数 2星屑 +402 收起 理由
「旅」 + 400 认可答案
失去的记忆 + 2

查看全部评分

[url=http://rpg.blue/thread-219730-1-1.html]http://unhero.sinaapp.com/wi.php[/url]
[color=Red]如你所见这是个死坑,没错这就是打我的脸用的[/color]
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-12-26 14:46

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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