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

Project1

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

[已经解决] 请教一下主角朝向只能左右

 关闭 [复制链接]

Lv1.梦旅人

小黑

梦石
0
星屑
50
在线时间
140 小时
注册时间
2011-8-23
帖子
536
跳转到指定楼层
1
发表于 2011-11-19 17:13:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 咚小黑 于 2011-11-19 17:14 编辑

主角的只会朝向左右两个方向。
1. 步行图修改(失败)
2. 事件设置(失败)

求方法。不影响主角移动而朝向只能为左右

Lv1.梦旅人

梦石
0
星屑
50
在线时间
220 小时
注册时间
2011-10-3
帖子
83
2
发表于 2011-11-19 17:57:09 | 只看该作者
设置通行方向?
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
190 小时
注册时间
2011-2-19
帖子
147
3
发表于 2011-11-19 18:06:58 | 只看该作者
不太理解:不影响主角移动而朝向只能为左右 这个。也就是说不能上下移动吗?还是说不轮按上下键都会向左右走吗?第一个可能需要修改脚本;第二个事件或许能解决(不知道LZ的要求是啥)
回复

使用道具 举报

Lv1.梦旅人

龙神

梦石
0
星屑
47
在线时间
512 小时
注册时间
2011-1-19
帖子
984
4
发表于 2011-11-19 20:46:35 | 只看该作者
1.把行走图的上下改为左右
2.设置键位,不能按上下或将上下移位
3.主角行走图空白,然后设置一个事件为主角,然后纯事件操控

如有不明白回复或点评说明


神的穿越 THRU OF GOD  完成度1%
脚本2%  行走图10%  剧情1%
复仇の怪物    完成度7%
脚本10%  行走图10%  剧情5%
回复

使用道具 举报

Lv1.梦旅人

星君

梦石
0
星屑
83
在线时间
2980 小时
注册时间
2011-10-9
帖子
2317

贵宾短篇七萝莉正太组冠军

5
发表于 2011-11-19 21:02:51 | 只看该作者
于是LS几位的回复真那啥= =
不是说了不行么= =
试试用这个脚本(原创):
  1. module Move
  2.   Move_Variabile = 36
  3. end
  4. class Game_Player < Game_Character
  5.   DR_UP = Input::UP
  6.   DR_DOWN = Input::DOWN
  7.   DR_LEFT = Input::LEFT
  8.   DR_RIGHT = Input::RIGHT
  9.   def move_by_input
  10.     return unless movable?
  11.     return if $game_map.interpreter.running?
  12.     if $game_variables[Move::Move_Variabile] == 1
  13.     elsif $game_variables[Move::Move_Variabile] == 2
  14.       if Input.press?(DR_LEFT)
  15.         move_left
  16.       elsif Input.press?(DR_RIGHT)
  17.         move_right
  18.       end
  19.     elsif $game_variables[Move::Move_Variabile] == 0
  20.       @move_speed = 4
  21.       @opacity = 255
  22.       @blend_type = 0
  23.       @direction_fix = false
  24.       @walk_anime = true
  25.       @step_anime = false
  26.       if Input.press?(DR_LEFT)
  27.         move_left
  28.       elsif Input.press?(DR_RIGHT)
  29.         move_right
  30.       elsif Input.press?(DR_DOWN)
  31.         move_down
  32.       elsif Input.press?(DR_UP)
  33.         move_up
  34.       end
  35.     else
  36.       @move_speed = 4
  37.       @opacity = 255
  38.       @blend_type = 0
  39.       @direction_fix = false
  40.       @walk_anime = true
  41.       @step_anime = false
  42.       if Input.press?(DR_LEFT)
  43.         move_left
  44.       elsif Input.press?(DR_RIGHT)
  45.         move_right
  46.       elsif Input.press?(DR_DOWN)
  47.         move_down
  48.       elsif Input.press?(DR_UP)
  49.         move_up
  50.       end
  51.     end
  52.   end
  53. end
复制代码
Module变量自行修改
变量=1的时候不能移动
变量=2的时候只能左右
变量=0或012这三个数字以外就是默认移动

点评

星爷,这样改法跟直接删掉主角的上下移动一样嘛= =  发表于 2011-11-20 18:16

回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
5 小时
注册时间
2011-11-19
帖子
14
6
发表于 2011-11-19 21:17:20 | 只看该作者
请问一下,是不是冒险岛那样的?
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
466 小时
注册时间
2006-2-25
帖子
1863
7
发表于 2011-11-20 00:53:04 | 只看该作者
本帖最后由 诡异の猫 于 2011-11-20 00:54 编辑

6楼的亲那脚本 当变量36等于2时直接没办法上下移动了呃...
LZ应该是想像FC热血物语那种吧...

最简单的方法就是把Game_Character类里面
第557行的turn_down和563行turn_down if turn_ok删掉
还有第608行的turn_up和第614行的turn_up if turn_ok删掉

如果只是想主角上下移动不转向 而 事件上下移动转向的话
就把这脚本插到main之前就行了
  1. class Game_Player < Game_Character
  2.   #--------------------------------------------------------------------------
  3.   # ● 向下移动
  4.   #     turn_ok : 允许当场转向
  5.   #--------------------------------------------------------------------------
  6.   def move_down(turn_ok = true)
  7.     if passable?(@x, @y+1)                  # 可通行的场合
  8.       @y = $game_map.round_y(@y+1)
  9.       @real_y = (@y-1)*256
  10.       increase_steps
  11.       @move_failed = false
  12.     else                                    # 不可通行的场合
  13.       check_event_trigger_touch(@x, @y+1)   # 是否触发接触事件
  14.       @move_failed = true
  15.     end
  16.   end
  17.   #--------------------------------------------------------------------------
  18.   # ● 向上移动
  19.   #     turn_ok : 允许当场转向
  20.   #--------------------------------------------------------------------------
  21.   def move_up(turn_ok = true)
  22.     if passable?(@x, @y-1)                  # 可通行的场合
  23.       @y = $game_map.round_y(@y-1)
  24.       @real_y = (@y+1)*256
  25.       increase_steps
  26.       @move_failed = false
  27.     else                                    # 不可通行的场合
  28.       check_event_trigger_touch(@x, @y-1)   # 是否触发接触事件
  29.       @move_failed = true
  30.     end
  31.   end
  32. end
复制代码
未经全面测试 不知是否存在BUG LZ试一下吧

点评

好了,忘了以前把player改过  发表于 2011-11-20 18:32
主角不能上下移动了,我也想过直接删掉朝向,不知道是什么问题,不能上下移动了  发表于 2011-11-20 18:24
嗯,是这样的,NPC和主角都是这样。  发表于 2011-11-20 18:17
回复

使用道具 举报

Lv1.梦旅人

小黑

梦石
0
星屑
50
在线时间
140 小时
注册时间
2011-8-23
帖子
536
8
 楼主| 发表于 2011-11-20 18:13:16 | 只看该作者
简单说:跟地下城一样
起码对得起自己。
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-2 05:18

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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