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

Project1

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

[已经解决] 45度行走图的帧数问题

[复制链接]

Lv2.观梦者

梦石
0
星屑
719
在线时间
684 小时
注册时间
2009-5-29
帖子
461
跳转到指定楼层
1
 楼主| 发表于 2013-2-24 11:18:07 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
想在游戏里使用像这样的45度行走图,

然后使用了以下脚本:
RUBY 代码复制
  1. class Game_Player < Game_Character
  2.   def move_by_input
  3.      case Input.dir8
  4.       when 2;move_diagonal(6,2)  
  5.       when 4;move_diagonal(4,2)
  6.       when 6;move_diagonal(6,8)   
  7.       when 8;move_diagonal(4,8)
  8.      end  
  9.   end
  10. end


问题来了:
1.行走的时候屏幕会突然卷动,角色可能跑到屏幕边缘
2.走路的动作看起来极不协调,怎么让走路时读取行走图的顺序为2-3-4-5-4-3-2-3-4...这样看起来会自然一点
3.站立的行走图怎么只能为第一列?系统默然站立的时候是读取中间的行走图,不知如何改动?

求指教,感激不尽。

Lv1.梦旅人

梦石
0
星屑
50
在线时间
687 小时
注册时间
2012-10-29
帖子
1543
2
发表于 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 认可答案

查看全部评分

修改劇本中,仔細審查原來的劇情大綱,覺得有點不太滿意,嘗試編寫不同主角不同主線的劇情,希望能寫得出來。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
687 小时
注册时间
2012-10-29
帖子
1543
3
发表于 2013-2-25 14:09:05 | 只看该作者
Game_CharacterBase 大约 73~75 行之间有个
  1.     @original_pattern = 1                 # 原图案
复制代码
1 改成 0 就会在停步时为第一列的姿式,第 390 行左右也有一个 @original_pattern = 1,那是更换角色图像时的,要不要改看您的情况了,

但除了这个之外,您的步行图是五列,不是 VA 的三列,那取图的计算也要修改,可就不是那么简单了。
修改劇本中,仔細審查原來的劇情大綱,覺得有點不太滿意,嘗試編寫不同主角不同主線的劇情,希望能寫得出來。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
719
在线时间
684 小时
注册时间
2009-5-29
帖子
461
4
 楼主| 发表于 2013-2-25 19:04:30 | 只看该作者
j433463 发表于 2013-2-25 14:09
Game_CharacterBase 大约 73~75 行之间有个1 改成 0 就会在停步时为第一列的姿式,第 390 行左右也有一个 @ ...

取图像由3列变为5列我改好了,但是走路的时候似乎只有前三列行走图生效,所以动作只有一半,还应该改哪里呢?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
687 小时
注册时间
2012-10-29
帖子
1543
5
发表于 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
修改劇本中,仔細審查原來的劇情大綱,覺得有點不太滿意,嘗試編寫不同主角不同主線的劇情,希望能寫得出來。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 16:35

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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