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

Project1

 找回密码
 注册会员
搜索

45度行走图的帧数问题

查看数: 5095 | 评论数: 4 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2013-2-24 11:18

正文摘要:

想在游戏里使用像这样的45度行走图, 然后使用了以下脚本: RUBY 代码复制class Game_Player < Game_Character  def move_by_input     case Input.dir8& ...

回复

j433463 发表于 2013-2-26 03:01:40
目测的个人认为应该是:

def update_animation

def update_anime_count

def update_anime_pattern

这三个吧,不过没有测试也无法确认是不是,

@pattern = (@pattern + 1) % 4

这应该是决定第几个步行姿式的,但前面步行计数也有判断更新姿式的关系。

点评

下班回去研究一下先……太伤脑筋了……  发表于 2013-2-26 09:01
saturnfjh 发表于 2013-2-25 19:04:30
j433463 发表于 2013-2-25 14:09
Game_CharacterBase 大约 73~75 行之间有个1 改成 0 就会在停步时为第一列的姿式,第 390 行左右也有一个 @ ...

取图像由3列变为5列我改好了,但是走路的时候似乎只有前三列行走图生效,所以动作只有一半,还应该改哪里呢?
j433463 发表于 2013-2-25 14:09:05
Game_CharacterBase 大约 73~75 行之间有个
  1.     @original_pattern = 1                 # 原图案
复制代码
1 改成 0 就会在停步时为第一列的姿式,第 390 行左右也有一个 @original_pattern = 1,那是更换角色图像时的,要不要改看您的情况了,

但除了这个之外,您的步行图是五列,不是 VA 的三列,那取图的计算也要修改,可就不是那么简单了。
j433463 发表于 2013-2-24 21:31:27
本帖最后由 j433463 于 2013-2-24 21:34 编辑

试试这个八方向移动脚本如何?最底下那个应该是斜向的处理,您好像只用了上面的部份。
  1. #==============================================================================
  2. # ■ VXAce-RGSS3-26 8方向移动 [Ver.1.0.0]          by Claimh
  3. #------------------------------------------------------------------------------
  4. # 8方向の移动が可能となります。
  5. # 斜め移动ができない时に縦or横に移动できる场合は縦or横に移动するようになります。
  6. #==============================================================================

  7. class Game_Player < Game_Character
  8.   #--------------------------------------------------------------------------
  9.   # ● 方向ボタン入力による移动処理
  10.   #--------------------------------------------------------------------------
  11.   def move_by_input
  12.     return if !movable? || $game_map.interpreter.running?
  13.     if [1, 3, 7, 9].include?(Input.dir8)
  14.       case Input.dir8
  15.       when 1; move_diagonal(4, 2)
  16.       when 3; move_diagonal(6, 2)
  17.       when 7; move_diagonal(4, 8)
  18.       when 9; move_diagonal(6, 8)
  19.       end
  20.       return if @move_succeed
  21.     end
  22.     move_straight(Input.dir4) if Input.dir4 > 0
  23.   end
  24. end


  25. class Game_CharacterBase
  26.   #--------------------------------------------------------------------------
  27.   # ● 斜めに移动
  28.   #     horz : 横方向(4 or 6)
  29.   #     vert : 縦方向(2 or 8)
  30.   #--------------------------------------------------------------------------
  31.   alias move_diagonal_8dir move_diagonal
  32.   def move_diagonal(horz, vert)
  33.     if !passable?(@x, @y, horz) and !passable?(@x, @y, vert)
  34.       @move_succeed = false
  35.       return
  36.     end
  37.     return move_straight(horz) if passable?(@x, @y, horz) and !passable?(@x, @y, vert)
  38.     return move_straight(vert) if !passable?(@x, @y, horz) and passable?(@x, @y, vert)
  39.     move_diagonal_8dir(horz, vert)
  40.   end
  41. end

复制代码

点评

好东西,还有一个问题就是,站立的行走图怎么设置为第一列?系统默然站立的时候是读取最中间的行走图,不知如何改动?  发表于 2013-2-25 13:43

评分

参与人数 1梦石 +1 收起 理由
Mic_洛洛 + 1 认可答案

查看全部评分

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

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

GMT+8, 2024-11-17 18:55

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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