查看: 354|回复: 5

[有事请教] 怎么仿仙剑一踩荷叶?

[复制链接]
梦石
0
星屑
674
在线时间
166 小时
注册时间
2012-8-27
回帖
52
发表于 2026-8-16 15:40:49 | 显示全部楼层 |阅读模式

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

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

×
RT,我想仿照仙剑一弄一个漂浮的八卦石,人物站在八卦石上面可以传送到对面的山顶,该如何做呢?

素材区好人

梦石
5
星屑
12559
在线时间
4345 小时
注册时间
2011-7-21
回帖
2264

超评测参与极短28参与极短27参与极短26参与极短25参与极短24参与极短23参与极短22参与极短21参与

发表于 2026-8-16 17:30:52 | 显示全部楼层
本帖最后由 无忧谷主幻 于 2026-8-16 17:34 编辑

纯事件就能做
1.png

Project2.zip (206.86 KB, 下载次数: 2)
当然,切换地图后会导致事件复位,如果你不想让踩的东西复位,可以再加一个能够记忆事件位置的脚本
[pre lang="ruby"]#==============================================================================
# ■ Game_Event
#------------------------------------------------------------------------------
#  处理事件的类。拥有条件判断、事件页的切换、并行处理、执行事件等功能。
#   在 Game_Map 类的内部使用。
#==============================================================================

class Game_Event < Game_Character
  # 改为true将会变成保存被标记为不保存的事件
  INVERSE_MARK = false
  #--------------------------------------------------------------------------
  # ● 是否储存位置
  #--------------------------------------------------------------------------
  def save_pos?
    return true unless @list
    return true if @list[0].code != 108
    return (@list[0].parameters[0].include?("不保存事件位置") == INVERSE_MARK)
  end
end
#==============================================================================
# ■ Game_Map
#------------------------------------------------------------------------------
#  管理地图的类。拥有卷动地图以及判断通行度的功能。
#   本类的实例请参考 $game_map 。
#==============================================================================

class Game_Map
  #--------------------------------------------------------------------------
  # ● 初始化对象
  #--------------------------------------------------------------------------
  alias save_event_pos_initialize initialize
  def initialize
    save_event_pos_initialize
    @event_pos = {}
  end
  #--------------------------------------------------------------------------
  # ● 设置
  #--------------------------------------------------------------------------
  alias save_event_pos_setup setup
  def setup(map_id)
    save_event_pos
    save_event_pos_setup(map_id)
    load_event_pos
  end
  #--------------------------------------------------------------------------
  # ● 保存事件位置
  #--------------------------------------------------------------------------
  def save_event_pos
    return if @map_id == 0
    @event_pos[@map_id] ||= []
    @events.each{|i,e|
    if e.save_pos?
      @event_pos[@map_id] = [e.x,e.y,e.direction]
    else
      @event_pos[@map_id] = nil
    end
    }
  end
  #--------------------------------------------------------------------------
  # ● 读取事件位置
  #--------------------------------------------------------------------------
  def load_event_pos
    return if @map_id == 0
    @event_pos[@map_id] ||= []
    @events.each{|i,e|
      next unless @event_pos[@map_id]
      e.moveto(@event_pos[@map_id][0],@event_pos[@map_id][1])
      e.direction = @event_pos[@map_id][2]
    }
  end
end[/pre]

评分

参与人数 1赞 +1 收起 理由
流水匆匆 + 1 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
674
在线时间
166 小时
注册时间
2012-8-27
回帖
52
 楼主| 发表于 2026-8-16 21:17:28 | 显示全部楼层

十分感谢~看懂了,很好理解~
回复

使用道具 举报

梦石
0
星屑
6877
在线时间
280 小时
注册时间
2010-7-17
回帖
216
发表于 2026-8-17 09:23:08 | 显示全部楼层
事件上可以再做一个脚踩八卦的行走图,走到特定位置时,切换人物行走图,去除穿透,无视地形移动限制,到目标地后再切回原人物行走图。做法也简单,只要用PS两层图层,上方放原有行走图,下面方加厚的太极石板。微调人物的衣袖等细节,有种风吹的飘动三桢。
回复

使用道具 举报

梦石
0
星屑
674
在线时间
166 小时
注册时间
2012-8-27
回帖
52
 楼主| 发表于 2026-8-17 22:45:14 | 显示全部楼层
屏幕截图 2026-08-17 224236.png 屏幕截图 2026-08-17 224258.png
正面跟八卦石不太贴合,侧面还挺好的
回复

使用道具 举报

梦石
0
星屑
674
在线时间
166 小时
注册时间
2012-8-27
回帖
52
 楼主| 发表于 2026-8-17 22:47:23 | 显示全部楼层
xiaolu0415 发表于 2026-8-17 09:23
事件上可以再做一个脚踩八卦的行走图,走到特定位置时,切换人物行走图,去除穿透,无视地形移动限制,到目 ...

捕捉像素大神~~~更换行走图不失为一个办法~
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部