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

Project1

 找回密码
 注册会员
搜索
查看: 1655|回复: 4
打印 上一主题 下一主题

[已经解决] 請問腳色跟隨腳本的開關控制方法

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
461 小时
注册时间
2008-11-19
帖子
607
跳转到指定楼层
1
发表于 2012-4-19 14:45:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 eve592370698 于 2012-4-27 13:01 编辑

將腳本模組化後要如何帶入需要的資料對象?問題後
我想針對腳色跟隨腳本作修改 不過還是遇到了問題
以下提到的腳本1和2請參考將腳本模組化後要如何帶入需要的資料對象?6樓

試著依照角色跟隨腳本的載入方式(在該腳本最後幾行attr_reader :move_speed end之後?)將腳本1改成這樣了
...不知道對不對 麻煩指教了
還有不知為何我在1樓都發不出代碼框...只好麻煩班竹幫忙了(下面有三個部分要加框) 感謝!
  1. class Game_Party
  2. def initialize
  3. #
  4. end
  5. def update
  6. if $doublespeed == true
  7. include Train_Actor_Game_Party_Module
  8. end
  9. end
  10. end

  11. class Game_Player
  12. def initialize
  13. #
  14. end
  15. def update
  16. if $doublespeed == true
  17. include Train_Actor_Game_Player_Module
  18. end
  19. end
  20. end

  21. class Spriteset_Map
  22. def initialize
  23. #
  24. end
  25. def update
  26. if $doublespeed == true
  27. include Train_Actor_Spriteset_Map_Module
  28. end
  29. end
  30. end

  31. class Scene_Map
  32. def initialize
  33. #
  34. end
  35. def update
  36. if $doublespeed == true
  37. include Train_Actor_Scene_Map_Module
  38. end
  39. end
  40. end
复制代码
這是腳本2
  1. class Game_Party
  2. def initialize
  3. #
  4. end
  5. def update
  6. if $doublespeed == true
  7. include Train_Actor_Game_Party_Module
  8. end
  9. end
  10. end

  11. class Game_Player
  12. def initialize
  13. #
  14. end
  15. def update
  16. if $doublespeed == true
  17. include Train_Actor_Game_Player_Module
  18. end
  19. end
  20. end

  21. class Spriteset_Map
  22. def initialize
  23. #
  24. end
  25. def update
  26. if $doublespeed == true
  27. include Train_Actor_Spriteset_Map_Module
  28. end
  29. end
  30. end

  31. class Scene_Map
  32. def initialize
  33. #
  34. end
  35. def update
  36. if $doublespeed == true
  37. include Train_Actor_Scene_Map_Module
  38. end
  39. end
  40. end
复制代码
最後這是調用
$doublespeed=true
$sss1=Game_Party.new
$sss1.update
$sss2=Game_Player.new
$sss2.update
$sss3=Spriteset_Map.new
$sss3.update
$sss4=Scene_Map.new
$sss4.update

不過在
def initialize
#
end
的地方不知道要填什麼?
因為我這樣寫雖然沒報錯
但調用後螢幕整個是黑的
想是因為initialize這裡沒東西的緣故吧?

這裡的$doublespeed 只是沿用明久君的教學 沒有特別的意義

点评

这里不需要刻意写代码去调用的啦…因为这些东西默认脚本里面都有调用的啦…  发表于 2012-4-20 05:34

评分

参与人数 1星屑 -2 收起 理由
eve592370698 -2 及时认可答案,谢谢合作

查看全部评分

Lv1.梦旅人

梦石
0
星屑
50
在线时间
2188 小时
注册时间
2011-6-23
帖子
1044
2
发表于 2012-4-19 16:39:58 | 只看该作者

楼主参考这个看看
方向一:尋找類似腳本參考
这个脚本的角色跟随是有设置开关的.可以参考他的写法
http://rpg.blue/forum.php?mod=viewthread&tid=111958

方向二:XP脚本自学视频教程
RMXP脚本教程[下周一更新下一讲.持续更新中...]
http://rpg.blue/thread-202038-1-1.html

方向三;參考文字自学
[通用发布] 致各位想要学习研究 Ruby(RGSS) 的人
http://rpg.blue/forum.php?mod=viewthread&tid=217670

我想等待别人来解决问题.自己想办法解决问题应该速度会来的更快....

点评

方法1是旧VX的,没有实际意义。方法2和3对include也是一笔带过,该不懂还是不懂。  发表于 2012-4-19 17:11
我的目的是想要某開關開啟時 可以在跟隨腳本裡面載入"沒有人物" 或是整個停止腳本運作 開關關閉再恢復原本的運作  发表于 2012-4-19 16:50
不過我要的不是http://bbs.66rpg.com/forum.php?mod=viewthread&tid=111958的方法 這個方法我只到的 但腳本沒有真的停止運作 只是效果看不到而已  发表于 2012-4-19 16:47
同意 過我確實也做了許多嘗試 但是吳帶限於能力 只能邊做邊學了  发表于 2012-4-19 16:45

评分

参与人数 1星屑 -2 收起 理由
eve592370698 -2 抱歉,您的回答对楼主没有丝毫帮助,.

查看全部评分

回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
432
在线时间
4175 小时
注册时间
2010-6-26
帖子
6474
3
发表于 2012-4-19 17:09:07 | 只看该作者
lsu666666 发表于 2012-4-19 16:39
楼主参考这个看看
方向一:尋找類似腳本參考
这个脚本的角色跟随是有设置开关的.可以参考他的写法

罪过,罪过。楼主之所以问这个问题我有责任。长时间一来,我一直在研究这个XP的同伴跟随脚本但是没有研究透,关键就是include到底怎么一回事我也搞不清楚,从字面意思上是包含模块,但是具体呢?好像不是添加进去那么简单吧?
我看了VX ACE自带的的同伴跟随脚本,就两个类Game_Follower和Game_Followers,而且都是在楼主提到的这四个类中调用follower = Game_Follower.new(差不多这意思吧),我也是在这个问题卡壳了。
楼主的问题关键在于角色跟随这个脚本,目前正如注解所说,不是说禁止之后就不加载,而是隐藏起来,所以遇到有冲突的地方即使隐藏了跟随的角色还是不行(我以前就提过一个问题,是怎么像VA那样集合队伍同伴,后来那个问题我自己解决完之后给删了)。
您所指出的帖子,都没有对include进行详细解说。

点评

沒錯我的問題正是這樣  发表于 2012-4-19 22:23
竟然给删了><嗚嗚  发表于 2012-4-19 22:19
潜水,专心忙活三次元工作了……
回复

使用道具 举报

Lv3.寻梦者

双子人

梦石
0
星屑
3185
在线时间
3618 小时
注册时间
2009-4-4
帖子
4154

开拓者

4
发表于 2012-4-19 18:07:49 | 只看该作者
本帖最后由 hys111111 于 2012-4-19 18:25 编辑
eve592370698 发表于 2012-4-19 17:09
罪过,罪过。楼主之所以问这个问题我有责任。长时间一来,我一直在研究这个XP的同伴跟随脚本但是没有研究 ...


刚刚好,引用魔塔样板7311里面的这句:(注:这句话是条件分歧里面的)
  1. $game_variables[41].include?(@map_id)
复制代码
这句话是用来判断41变量是否添加了@map_id
也就是说,41号变量是个数组,
里面包含了@map_id,表示就是
$game_variables[41][@map_id]
如果这个没有或值为nil
这个判断就返回假,否则返回真

相反,insert是添加数组。
  1. $game_variables[117][@map_id].\
  2.     insert a,[kkk.character_name\
  3. ,kkk.direction,kkk.event.name,0,@iid]
复制代码
即:
  1. $game_variables[117][@map_id]=[]
  2. $game_variables[117][@map_id][a]=[]
  3. $game_variables[117][@map_id][a]=[kkk.character_name,kkk.direction,kkk.event.name,0,@iid]
复制代码
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
112 小时
注册时间
2011-10-6
帖子
182
5
发表于 2012-4-19 18:47:36 | 只看该作者
本帖最后由 吉井明久 于 2012-4-19 18:49 编辑

不不不,打住。

include 的功能实际上是将后面的模块内的方法等物导入当前 class。

因此假设有这样的代码:

  1. module A
  2.   def ssss
  3.     p "hissss"
  4.   end
  5. end

  6. class B
  7.   include A
  8. end
复制代码
是和

  1. class B
  2.   def ssss
  3.     p "hissss"
  4.   end
  5. end
复制代码
一样的。
两段代码…都可以用 B.new.ssss 来输出 hissss

@lsu666666@hys111111@eve592370698

点评

我以為要在事件中調用呢  发表于 2012-4-20 08:59
我也是這樣理解的  发表于 2012-4-19 23:47
额……  发表于 2012-4-19 19:01
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-27 04:15

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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