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

Project1

 找回密码
 注册会员
搜索
查看: 1180|回复: 7

[有事请教] 怎么实现溜冰效果?

[复制链接]

Lv2.观梦者

梦石
0
星屑
765
在线时间
924 小时
注册时间
2006-6-26
帖子
1529
发表于 2019-7-16 12:45:49 | 显示全部楼层 |阅读模式

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

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

x
就是撞到一个石头后,就会停下。重新按方向键就会一直往前滑,直到撞到下一个石头。。用来做那种解密的。
我是不是可以签名了?

Lv2.观梦者

梦石
0
星屑
585
在线时间
96 小时
注册时间
2016-7-15
帖子
143
发表于 2019-7-16 16:44:20 | 显示全部楼层
每个地图块做个玩家接触的事件?设置移动路线,向前一格?或者在石头旁边几个地图块做事件,接触打开开关之类的

点评

确认位置还不简单,变量1=玩家地图X,变量2=玩家地图Y  发表于 2019-7-18 20:40
我试过,你说这个方法不行。不信你自己试试。并行处理只需要一个事件就行了。但无法判定玩家的位置  发表于 2019-7-16 19:07
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3113
在线时间
402 小时
注册时间
2019-6-6
帖子
66
发表于 2019-7-16 20:21:37 | 显示全部楼层
如果要用的地方不多,可以根本不考虑冰面的特性,只在玩家可能走到的“停止点”旁边设置事件
什么?奥拉夫?那是谁?
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1653
在线时间
934 小时
注册时间
2011-6-18
帖子
360

开拓者

发表于 2019-7-16 23:21:56 | 显示全部楼层
https://rpg.blue/thread-380796-1-1.html
不是早就有教程吗
当我还年轻时,我拥有自由,不过我没有看到,我拥有时间,不过我没注意到,我拥有爱,但我没感觉到,很多年已经过去了,在我真正懂得这三者的含义之前,但现在,在我生命中的黄昏,这些认知逐渐转变成了幸福。爱,自由,时间,曾经随意丢弃的这些,原来正是驱使我前行的动力。————————《刺客信条余烬》
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
1
星屑
11631
在线时间
2041 小时
注册时间
2017-9-28
帖子
653
发表于 2019-7-17 00:33:56 | 显示全部楼层
  1. #==============================================================================
  2. #
  3. # ▼ Yanfly Engine Ace - 滑冰图块 v1.00
  4. # -- 最后更新: 2011.12.03
  5. # -- 使用难度: 普通
  6. # -- 需要脚本: 无
  7. #
  8. #==============================================================================

  9. $imported = {} if $imported.nil?
  10. $imported["YEA-SlipperyTiles"] = true

  11. #==============================================================================
  12. # ▼ Updates
  13. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  14. # 2011.12.03 - Started Script and Finished.
  15. #
  16. #==============================================================================
  17. # ▼ 介绍
  18. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  19. # 想使用滑冰效果而不想使用密密麻麻的事件?现在你可以做到了!
  20. # 本脚本可以使某图块具有滑冰效果,角色会保持进入该图块的朝向一直移动,直到撞上
  21. # 障碍物.
  22. #
  23. #==============================================================================
  24. # ▼ 安装方式
  25. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  26. # 打开脚本编辑器,将本脚本拷贝/复制到一个在▼ 插件脚本之下▼ Main之上的新
  27. # 脚本页/槽中.记得保存你的工程以使脚本生效.
  28. #
  29. # -----------------------------------------------------------------------------
  30. # 图块备注 - 在数据库-图块中可以使用的备注.
  31. # -----------------------------------------------------------------------------
  32. # <滑冰: x>
  33. # <滑冰: x, x>
  34. #
  35. # 将地形标志为x的图块设定为其具有滑冰效果.
  36. #
  37. #==============================================================================
  38. # ▼ 兼容性
  39. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  40. # 本脚本仅为RPG Maker VX Ace编写.极不可能在无任何修改的情况下运行于RPG Maker VX.
  41. #
  42. #==============================================================================

  43. module YEA
  44.   module SLIPPERY_TILES
  45.    
  46.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  47.     # - 滑冰踏步动画 -
  48.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  49.     # 设定玩家在滑冰时踏步动画的帧数,帧数越大,脚动的越快.标准行走帧数为1.
  50.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  51.     SLIDE_FRAME = 2
  52.    
  53.   end # SLIPPERY_TILES
  54. end # YEA

  55. #==============================================================================
  56. # ▼ 编辑以下内容可能会出现电脑损坏、死机,电脑主人脑袋爆炸、昏迷、死亡或口臭
  57. # 所以编辑了后果自负。
  58. #==============================================================================

  59. module YEA
  60.   module REGEXP
  61.   module TILESET
  62.    
  63.     SLIPPERY = /<(?:SLIPPERY|滑冰):[ ]*(\d+(?:\s*,\s*\d+)*)>/i
  64.    
  65.   end # TILESET
  66.   end # REGEXP
  67. end # YEA

  68. #==============================================================================
  69. # ■ DataManager
  70. #==============================================================================

  71. module DataManager
  72.   
  73.   #--------------------------------------------------------------------------
  74.   # alias method: load_database
  75.   #--------------------------------------------------------------------------
  76.   class <<self; alias load_database_st load_database; end
  77.   def self.load_database
  78.     load_database_st
  79.     load_notetags_st
  80.   end
  81.   
  82.   #--------------------------------------------------------------------------
  83.   # new method: load_notetags_st
  84.   #--------------------------------------------------------------------------
  85.   def self.load_notetags_st
  86.     groups = [$data_tilesets]
  87.     for group in groups
  88.       for obj in group
  89.         next if obj.nil?
  90.         obj.load_notetags_st
  91.       end
  92.     end
  93.   end
  94.   
  95. end # DataManager

  96. #==============================================================================
  97. # ■ RPG::Tileset
  98. #==============================================================================

  99. class RPG::Tileset
  100.   
  101.   #--------------------------------------------------------------------------
  102.   # public instance variables
  103.   #--------------------------------------------------------------------------
  104.   attr_accessor :slippery
  105.   
  106.   #--------------------------------------------------------------------------
  107.   # common cache: load_notetags_st
  108.   #--------------------------------------------------------------------------
  109.   def load_notetags_st
  110.     @slippery = []
  111.     #---
  112.     self.note.split(/[\r\n]+/).each { |line|
  113.       case line
  114.       #---
  115.       when YEA::REGEXP::TILESET::SLIPPERY
  116.         $1.scan(/\d+/).each { |num|
  117.         @slippery.push(num.to_i) if num.to_i > 0 }
  118.       #---
  119.       end
  120.     } # self.note.split
  121.     #---
  122.   end
  123.   
  124. end # RPG::Tileset

  125. #==============================================================================
  126. # ■ Game_Map
  127. #==============================================================================

  128. class Game_Map
  129.   
  130.   #--------------------------------------------------------------------------
  131.   # new method: slippery_floor?
  132.   #--------------------------------------------------------------------------
  133.   def slippery_floor?(dx, dy)
  134.     return (valid?(dx, dy) && slippery_tag?(dx, dy))
  135.   end
  136.   
  137.   #--------------------------------------------------------------------------
  138.   # new method: slippery_tag?
  139.   #--------------------------------------------------------------------------
  140.   def slippery_tag?(dx, dy)
  141.     return tileset.slippery.include?(terrain_tag(dx, dy))
  142.   end
  143.   
  144. end # Game_Map

  145. #==============================================================================
  146. # ■ Game_CharacterBase
  147. #==============================================================================

  148. class Game_CharacterBase
  149.   
  150.   #--------------------------------------------------------------------------
  151.   # new method: on_slippery_floor?
  152.   #--------------------------------------------------------------------------
  153.   def on_slippery_floor?; $game_map.slippery_floor?(@x, @y); end
  154.   
  155.   #--------------------------------------------------------------------------
  156.   # new method: slippery_pose?
  157.   #--------------------------------------------------------------------------
  158.   def slippery_pose?
  159.     return false unless on_slippery_floor?
  160.     return false if @step_anime
  161.     return true
  162.   end
  163.   
  164. end # Game_CharacterBase

  165. #==============================================================================
  166. # ■ Game_Player
  167. #==============================================================================

  168. class Game_Player < Game_Character
  169.   
  170.   #--------------------------------------------------------------------------
  171.   # alias method: dash?
  172.   #--------------------------------------------------------------------------
  173.   alias game_player_dash_st dash?
  174.   def dash?
  175.     return false if on_slippery_floor?
  176.     return game_player_dash_st
  177.   end
  178.   
  179.   #--------------------------------------------------------------------------
  180.   # alias method: update
  181.   #--------------------------------------------------------------------------
  182.   alias game_player_update_st update
  183.   def update
  184.     game_player_update_st
  185.     update_slippery
  186.   end
  187.   
  188.   #--------------------------------------------------------------------------
  189.   # new method: update_slippery
  190.   #--------------------------------------------------------------------------
  191.   def update_slippery
  192.     return if $game_map.interpreter.running?
  193.     return unless on_slippery_floor?
  194.     return if moving?
  195.     move_straight(@direction)
  196.   end
  197.   
  198.   #--------------------------------------------------------------------------
  199.   # new method: pattern
  200.   #--------------------------------------------------------------------------
  201.   def pattern
  202.     return YEA::SLIPPERY_TILES::SLIDE_FRAME if slippery_pose?
  203.     return @pattern
  204.   end
  205.   
  206. end # Game_Player

  207. #==============================================================================
  208. # ■ Game_Follower
  209. #==============================================================================

  210. class Game_Follower < Game_Character
  211.   
  212.   #--------------------------------------------------------------------------
  213.   # new method: pattern
  214.   #--------------------------------------------------------------------------
  215.   def pattern
  216.     return YEA::SLIPPERY_TILES::SLIDE_FRAME if slippery_pose?
  217.     return @pattern
  218.   end
  219.   
  220. end # Game_Follower

  221. #==============================================================================
  222. #
  223. # ▼ End of File
  224. #
  225. #==============================================================================
复制代码

评分

参与人数 2+2 收起 理由
1243852 + 1 我很赞同
BCJT + 1 空猫e百宝箱( ͡° ͜ʖ ͡°)✧

查看全部评分

VA外站脚本汉化群:226308173
个人主页:https://nilcat.lofter.com/
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
765
在线时间
924 小时
注册时间
2006-6-26
帖子
1529
 楼主| 发表于 2019-7-21 11:23:59 | 显示全部楼层

QQ图片20190721112234.png QQ图片20190721112302.png

请问这是怎么回事?我只用过角色行走图固定的脚本。
我是不是可以签名了?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2022-1-17 11:54

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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