查看: 3291|回复: 3

[已经解决] 萌新一开始学脚本就碰到问题了。alias问题!

[复制链接]
梦石
0
星屑
105
在线时间
297 小时
注册时间
2009-1-7
回帖
155
发表于 2020-8-29 11:47:45 | 显示全部楼层 |阅读模式

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

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

×
我新建了一个脚本,打算追加内容。用到的是alias关键字。
  1. module DataManager
  2.   alias :new_create_game_objects :create_game_objects
  3.   #--------------------------------------------------------------------------
  4.   # ● 生成各种游戏对象
  5.   #--------------------------------------------------------------------------
  6.   def self.create_game_objects
  7.     new_create_game_objects
  8.     $game_test          = Game_Test.new#这是我追加的内容
  9.   end
  10. end
复制代码

测试后提示create_game_objects方法未定义,而且是在alias那一行就提示了。

我并没有修改任何脚本,只是追加。怎么会有这种错误呢?内置的脚本不是定义了吗?我只是起个别名而已啊!萌新百思不得其解啊!

熟练运用alias是第一步,因为我主要对脚本感兴趣,为了不动用内置脚本,只好进行追加了。没想到第一步就碰到了难题。
游戏群组:https://rpg.blue/forum.php?mod=group&fid=565在这里你可以看到我在制作游戏过程中分享的内容。

老鹰

梦石
40
星屑
37812
在线时间
7091 小时
注册时间
2012-5-26
回帖
3297

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

发表于 2020-8-29 12:02:11 | 显示全部楼层
module里面不能用alias
可以打开module的单例类,在里面使用alias
  1. class << DataManager
  2.   alias :new_create_game_objects :create_game_objects
  3.   #--------------------------------------------------------------------------
  4.   # ● 生成各种游戏对象
  5.   #--------------------------------------------------------------------------
  6.   def create_game_objects
  7.     new_create_game_objects
  8.     $game_test          = Game_Test.new#这是我追加的内容
  9.   end
  10. end
复制代码

评分

参与人数 1星屑 +100 收起 理由
VIPArcher + 100 认可答案

查看全部评分

回复 1 0

使用道具 举报

梦石
0
星屑
105
在线时间
297 小时
注册时间
2009-1-7
回帖
155
 楼主| 发表于 2020-8-29 12:10:23 | 显示全部楼层
百里_飞柳 发表于 2020-8-29 12:02
module里面不能用alias
可以打开module的单例类,在里面使用alias

谢谢大佬!
游戏群组:https://rpg.blue/forum.php?mod=group&fid=565在这里你可以看到我在制作游戏过程中分享的内容。
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部