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

Project1

 找回密码
 注册会员
搜索
查看: 1675|回复: 1
打印 上一主题 下一主题

[已经解决] 关于同伴画面

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
125 小时
注册时间
2011-7-19
帖子
51
跳转到指定楼层
1
发表于 2011-7-26 14:16:37 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 lizy 于 2011-7-26 14:17 编辑

我觉得这样看上去有些呆板,所以我想让同伴显示移动时的样子,请问怎么搞呢?

Lv1.梦旅人

虱子

梦石
0
星屑
121
在线时间
1782 小时
注册时间
2010-6-19
帖子
3597
2
发表于 2011-7-26 14:55:45 | 只看该作者
  1. #==============================================================================
  2. # 本脚本来自www.66rpg.com,转载与使用请保留此内容。
  3. #==============================================================================
  4. # 作者: 柳柳
  5. #
  6. # 说明:这是功能我再比较早期的时候发布在幻森,不过那时候比较笨,方法很糟糕
  7. #       这次是拿上就可以用的。
  8. #
  9. # 感谢:Claimh的脚本使我想起这个功能重做了一遍,本想直接用他的,不过他的算法过分
  10. #       冗余了,没好意思用。
  11. #==============================================================================
  12. # 使用方法:默认情况下把静态图变为了走步图。如果想自行修改,提供功能如下:
  13. #
  14. # 角色走步图:draw_walk_actor_graphic
  15. # 角色转向图:draw_turn_actor_graphic
  16. #
  17. # 回复原有静态角色图:删除100行以后的内容。修改下面这个变量可以更改行走速度
  18. #==============================================================================
  19. WALK_REFRESH_FRAME_SPEED = 15  # 刷新的速度,越大越慢,你可以改为3左右试试看
  20. #==============================================================================
  21. # Window_Base
  22. #==============================================================================
  23. class Window_Base < Window
  24.   #--------------------------------------------------------------------------
  25.   # 初始化方法
  26.   #--------------------------------------------------------------------------
  27.   alias initialize_walk initialize
  28.   def initialize(x, y, width, height)
  29.     initialize_walk(x, y, width, height)
  30.     @start_walk = false
  31.     @turn_index = 0
  32.     @turn_phase = 0
  33.   end
  34.   #--------------------------------------------------------------------------
  35.   # ★  角色行走图
  36.   #     actor : 角色
  37.   #     x     : 描绘的 X 坐标
  38.   #     y     : 描绘的 Y 坐标
  39.   #--------------------------------------------------------------------------
  40.   def draw_walk_actor_graphic(actor, x, y)
  41.     bitmap = RPG::Cache.character(actor.character_name, actor.character_hue)
  42.     cw = bitmap.width / 4
  43.     ch = bitmap.height / 4
  44.     @start_turn = true
  45.     case @turn_phase
  46.     when 0
  47.       x_x = 0
  48.     when 1
  49.       x_x = cw
  50.     when 2
  51.       x_x = cw * 2
  52.     when 3
  53.       x_x = cw * 3
  54.     end
  55.     src_rect = Rect.new(x_x, 0, cw, ch)
  56.     self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
  57.   end
  58.   #--------------------------------------------------------------------------
  59.   # ★  角色转向图
  60.   #     actor : 角色
  61.   #     x     : 描绘的 X 坐标
  62.   #     y     : 描绘的 Y 坐标
  63.   #--------------------------------------------------------------------------
  64.   def draw_turn_actor_graphic(actor, x, y)
  65.     bitmap = RPG::Cache.character(actor.character_name, actor.character_hue)
  66.     cw = bitmap.width / 4
  67.     ch = bitmap.height / 4
  68.     @start_turn = true
  69.     case @turn_phase
  70.     when 0
  71.       x_x = 0
  72.     when 1
  73.       x_x = ch
  74.     when 2
  75.       x_x = ch * 3
  76.     when 3
  77.       x_x = ch * 2
  78.     end
  79.     src_rect = Rect.new(0, x_x, cw, ch)
  80.     self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
  81.   end
  82.   #--------------------------------------------------------------------------
  83.   #  更新(可别使用刷新,玩命耗费内存= =)
  84.   #--------------------------------------------------------------------------
  85.   alias walk_update update
  86.   def update
  87.     walk_update
  88.     if @start_turn == true
  89.       @turn_index += 1
  90.       if @turn_index == WALK_REFRESH_FRAME_SPEED
  91.         refresh
  92.         @turn_index = 0
  93.         @turn_phase = (@turn_phase+1)%4
  94.       end
  95.     end
  96.   end   
  97. end
  98. #==============================================================================
  99. # Window_Base
  100. #==============================================================================
  101. class Window_Base < Window
  102.   #--------------------------------------------------------------------------
  103.   # 把原有静态图改为动态走步图
  104.   #--------------------------------------------------------------------------
  105.   def draw_actor_graphic(actor, x, y)
  106.     draw_walk_actor_graphic(actor, x, y)
  107.   end
  108. end
复制代码

点评

没有就算了吧,分给你,谢谢咯  发表于 2011-7-26 18:06
如果行的话,能不能再给多个状态的?  发表于 2011-7-26 16:59
哦,那这个对让状态画面有效吗?  发表于 2011-7-26 16:58

http://rpg.blue/thread-175056-1-2.html
PVZ型塔防物一个
http://rpg.blue/thread-155199-1-2.html
RMXP技术讨论区手动认可帖,得到答案请认可
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-26 14:42

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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