主页
论坛
新帖
最新消息
新帖
最新动态
制作互助群
登录
注册
Toggle sidebar
Toggle sidebar
菜单
安装应用
安装
回复主题
【进站必读】宝可饭堂社区全局规定v1.10
关于坚决维护同人创作社群秩序与共识的公告
论坛
独立开发
开发问题
如何添加旋转瓷砖脚本?
禁用JavaScript。为了获得更好的体验,请在运行之前启用浏览器中的JavaScript。
您正在使用一款已经过时的浏览器!部分功能不能正常使用。
请尝试升级或使用
其他浏览器
。
信息
<blockquote data-quote="komeiji514" data-source="post: 2709" data-attributes="member: 65"><p>放个port在这。</p><p>[CODE=ruby]module GameData</p><p> class TerrainTag</p><p> attr_reader :spin_tile</p><p></p><p> alias spin_initialize initialize</p><p> def initialize(hash)</p><p> spin_initialize(hash)</p><p> @spin_tile = hash[:spin_tile] || false</p><p> end</p><p> end</p><p>end</p><p></p><p># 可根据自身需求重新编辑地形标签的ID。</p><p>GameData::TerrainTag.register({</p><p> :id => :SpinTileUp,</p><p> :id_number => 41,</p><p> :spin_tile => true</p><p>})</p><p></p><p>GameData::TerrainTag.register({</p><p> :id => :SpinTileDown,</p><p> :id_number => 42,</p><p> :spin_tile => true</p><p>})</p><p></p><p>GameData::TerrainTag.register({</p><p> :id => :SpinTileLeft,</p><p> :id_number => 43,</p><p> :spin_tile => true</p><p>})</p><p></p><p>GameData::TerrainTag.register({</p><p> :id => :SpinTileRight,</p><p> :id_number => 44,</p><p> :spin_tile => true</p><p>})</p><p></p><p>GameData::TerrainTag.register({</p><p> :id => :SpinTileStop,</p><p> :id_number => 45</p><p>})</p><p></p><p>class PokemonGlobalMetadata</p><p> attr_accessor :spinning</p><p> alias spin_initialize initialize</p><p> def initialize</p><p> spin_initialize</p><p> @spinning = false</p><p> end</p><p>end</p><p></p><p>EventHandlers.add(:on_step_taken, :spin_tile,</p><p> proc { |event|</p><p> next if !$scene.is_a?(Scene_Map)</p><p> next if event != $game_player</p><p> currentTag = $game_player.pbTerrainTag</p><p> if currentTag.spin_tile</p><p> pbSpinTile</p><p> end</p><p> }</p><p>)</p><p></p><p>def pbSpinTile </p><p> tag = $game_player.pbTerrainTag</p><p> return if !tag.spin_tile</p><p> oldwalkanime = $game_player.walk_anime</p><p> $game_player.move_speed == 1</p><p> if !$PokemonGlobal.spinning</p><p> $game_player.straighten</p><p> end</p><p> $game_player.walk_anime = false</p><p> case tag.id</p><p> when :SpinTileUp</p><p> $game_player.turn_up </p><p> $game_player.pattern = 2 if !$PokemonGlobal.spinning</p><p> when :SpinTileDown</p><p> $game_player.turn_down</p><p> $game_player.pattern = 0 if !$PokemonGlobal.spinning</p><p> when :SpinTileRight</p><p> $game_player.turn_right</p><p> $game_player.pattern = 1 if !$PokemonGlobal.spinning</p><p> when :SpinTileLeft</p><p> $game_player.turn_left</p><p> $game_player.pattern = 3 if !$PokemonGlobal.spinning</p><p> end</p><p> $game_player.walk_anime = true</p><p> $PokemonGlobal.spinning = true</p><p> loop do</p><p> break if !$game_player.passable?($game_player.x, $game_player.y, $game_player.direction)</p><p> break if tag.id == :SpinTileStop</p><p> case tag.id</p><p> when :SpinTileUp</p><p> $game_player.turn_up</p><p> when :SpinTileDown</p><p> $game_player.turn_down</p><p> when :SpinTileRight</p><p> $game_player.turn_right</p><p> when :SpinTileLeft</p><p> $game_player.turn_left</p><p> end</p><p> $game_player.move_forward</p><p> while $game_player.moving?</p><p> Graphics.update</p><p> Input.update</p><p> pbUpdateSceneMap</p><p> end</p><p> end </p><p> $game_player.center($game_player.x, $game_player.y)</p><p> $game_player.walk_anime = oldwalkanime </p><p> $PokemonGlobal.spinning = false</p><p>end</p><p> </p><p>[/CODE]</p></blockquote><p></p>
[QUOTE="komeiji514, post: 2709, member: 65"] 放个port在这。 [CODE=ruby]module GameData class TerrainTag attr_reader :spin_tile alias spin_initialize initialize def initialize(hash) spin_initialize(hash) @spin_tile = hash[:spin_tile] || false end end end # 可根据自身需求重新编辑地形标签的ID。 GameData::TerrainTag.register({ :id => :SpinTileUp, :id_number => 41, :spin_tile => true }) GameData::TerrainTag.register({ :id => :SpinTileDown, :id_number => 42, :spin_tile => true }) GameData::TerrainTag.register({ :id => :SpinTileLeft, :id_number => 43, :spin_tile => true }) GameData::TerrainTag.register({ :id => :SpinTileRight, :id_number => 44, :spin_tile => true }) GameData::TerrainTag.register({ :id => :SpinTileStop, :id_number => 45 }) class PokemonGlobalMetadata attr_accessor :spinning alias spin_initialize initialize def initialize spin_initialize @spinning = false end end EventHandlers.add(:on_step_taken, :spin_tile, proc { |event| next if !$scene.is_a?(Scene_Map) next if event != $game_player currentTag = $game_player.pbTerrainTag if currentTag.spin_tile pbSpinTile end } ) def pbSpinTile tag = $game_player.pbTerrainTag return if !tag.spin_tile oldwalkanime = $game_player.walk_anime $game_player.move_speed == 1 if !$PokemonGlobal.spinning $game_player.straighten end $game_player.walk_anime = false case tag.id when :SpinTileUp $game_player.turn_up $game_player.pattern = 2 if !$PokemonGlobal.spinning when :SpinTileDown $game_player.turn_down $game_player.pattern = 0 if !$PokemonGlobal.spinning when :SpinTileRight $game_player.turn_right $game_player.pattern = 1 if !$PokemonGlobal.spinning when :SpinTileLeft $game_player.turn_left $game_player.pattern = 3 if !$PokemonGlobal.spinning end $game_player.walk_anime = true $PokemonGlobal.spinning = true loop do break if !$game_player.passable?($game_player.x, $game_player.y, $game_player.direction) break if tag.id == :SpinTileStop case tag.id when :SpinTileUp $game_player.turn_up when :SpinTileDown $game_player.turn_down when :SpinTileRight $game_player.turn_right when :SpinTileLeft $game_player.turn_left end $game_player.move_forward while $game_player.moving? Graphics.update Input.update pbUpdateSceneMap end end $game_player.center($game_player.x, $game_player.y) $game_player.walk_anime = oldwalkanime $PokemonGlobal.spinning = false end [/CODE] [/QUOTE]
验证
宝可梦系列正统游戏的制作公司是?
回复帖子
最新帖子
全
怎么把地图画好看?
最新更新:全民制作人
星期三,17:43
开发问题
W
进化道具没用怎么办
最新更新:We115
星期二,15:41
开发问题
我发现了宝藏网站
最新更新:幽冥魔帝
星期一,20:35
心情茶坊
全
我想切换视角讲述故事
最新更新:全民制作人
2026/07/22
开发问题
Z
将GBA打包成APK
最新更新:zheyeyeye
2026/07/22
GBA教程
论坛统计
主题
562
消息
2,425
成员
3,889
最新成员
yunyu
联系我们
QQ
2201858342
邮箱
pokefans@qq.com
论坛
独立开发
开发问题
如何添加旋转瓷砖脚本?
顶部