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

Project1

 找回密码
 注册会员
搜索

脚本应该如何正确调用其他类的方法?

查看数: 2088 | 评论数: 4 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2022-8-5 19:41

正文摘要:

我现在初学脚本,想做一个当身上有特定状态的时候会禁止奔跑的脚本,目前已经写出来了,但是不知道为什么无法运行 如图 结果在运行的时候弹出错误说没有在Game_BattlerBase类里找到state?方法 明明之前自己都调 ...

回复

鹿羽1091 发表于 2022-8-5 21:57:35
alexncf125 发表于 2022-8-5 20:54
Game_BattlerBase是一个父类...

return false if $game_party.members.any? {|actor| actor.state?(26)}中 ...

基本明白了,谢谢大佬指点
alexncf125 发表于 2022-8-5 20:54:42
本帖最后由 alexncf125 于 2022-8-5 21:15 编辑

Game_BattlerBase是一个父类...

return false if $game_party.members.any? {|actor| actor.state?(26)}中,
actor是Game_Actor的实例, 而Game_Actor是Game_BattlerBase的子类(Game_Battler)的子类...
所以 实例actor 可以调用其父类的父类的state?方法

而且很明显, 用Game_BattlerBase.state?没有指明是在判定谁的状态
鹿羽1091 发表于 2022-8-5 20:36:56
本帖最后由 鹿羽1091 于 2022-8-5 20:50 编辑


谢谢,确实是我想要的效果
虽然我大概猜出原因了,但我还是想请教一下我的代码为什么会出现这样的结果
alexncf125 发表于 2022-8-5 20:15:48
  1. class Game_Player < Game_Character
  2.   alias :state_cannot_dash? :dash?
  3.   def dash?
  4.     return false if $game_party.members.any? {|actor| actor.state?(26)}
  5.     return state_cannot_dash?
  6.   end
  7. end
复制代码
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-12-5 03:31

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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