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

Project1

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

[已经解决] 敵人取消 莫名出現的技能視窗

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
292 小时
注册时间
2009-10-30
帖子
24
跳转到指定楼层
1
发表于 2017-3-14 00:36:19 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 graygod 于 2017-3-14 00:40 编辑

自己寫了一個仿 ffv 裡投擲技能的腳本
指令的 順序是這樣的   角色技能視窗指令確定時  隱藏技能視窗  起用投擲道具選擇視窗   
投擲道具 確定時 選擇敵人


問題在這   在選擇敵人取消時   我讓投擲道具視窗重新起用


  #--------------------------------------------------------------------------
  # ● 選擇敵人“取消”
  #--------------------------------------------------------------------------
    alias throw_on_enemy_cancel  on_enemy_cancel
    def on_enemy_cancel
    @enemy_window.hide

    if @throwing
     @throw_window.show.activate
     @throw_window.refresh
      @throw_window.select_last
       @skill_window.hide
    else
      throw_on_enemy_cancel
    end
  end


我並沒有起用技能視窗   為什麼會跑到投擲道具視窗的底下去....

我還特別再加了一行       @skill_window.hide
怕沒刷新也加了 @throw_window.refresh   
仍然沒有消失


圖片1.png (765.43 KB, 下载次数: 24)

圖片1.png

Lv2.观梦者

梦石
0
星屑
878
在线时间
576 小时
注册时间
2010-6-26
帖子
793
2
发表于 2017-3-14 07:43:09 手机端发表。 | 只看该作者
我觉得有可能是跟横版的脚本冲突,放到横版下面试试。你半夜2点还在做游戏,差评
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
292 小时
注册时间
2009-10-30
帖子
24
3
 楼主| 发表于 2017-3-14 18:52:38 | 只看该作者
本帖最后由 graygod 于 2017-3-14 18:58 编辑

浧清一下  倒不是半夜還在作
而是這問題卡了三天    所以才會睡前看有沒有能幫忙


另外  這個腳本原來就置於橫版底下   

而且

#--------------------------------------------------------------------------
  # ● 選擇敵人“取消”
  #--------------------------------------------------------------------------
    alias throw_on_enemy_cancel  on_enemy_cancel
    def on_enemy_cancel
    @enemy_window.hide

    if @throwing
     @throw_window.show.activate
     @throw_window.refresh
      @throw_window.select_last
       @skill_window.hide
    else
      throw_on_enemy_cancel
    end
  end

我是用  @throwing  當旗標
當非投擲指令時會去 執行       throw_on_enemy_cancel   這個ailas 過的原"敵人取消"

而是投擲指令時只會執行
@throw_window.show.activate
     @throw_window.refresh
      @throw_window.select_last
這三句

想不太出  那裡觸發的@skill_window 視窗
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
644
在线时间
830 小时
注册时间
2016-7-24
帖子
649

开拓者

4
发表于 2017-3-14 19:06:17 | 只看该作者
本帖最后由 QQ蚊子湯 于 2017-3-14 19:42 编辑

alias
如果你執行了別名會ˊ運行原方法

用原名方法才會出現新定義的效果

重複進行別名↓
RUBY 代码复制
  1. def abc
  2. 1
  3. end
  4. alias abcd:abc
  5. def abc
  6. 2
  7. end
  8. alias abcde:abc
  9. def abc
  10. 3
  11. end
  12. p abc #3
  13. p abcd #1
  14. p abcde #2


補充一下
請問默認戰鬥下正常嗎?
如果是腳本衝突只給一方法幾乎沒辦法

评分

参与人数 1星屑 +150 收起 理由
RaidenInfinity + 150 版主认可的答案

查看全部评分

2016/07/17 加入RPG製作,勿忘初衷!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
292 小时
注册时间
2009-10-30
帖子
24
5
 楼主| 发表于 2017-3-15 01:19:11 | 只看该作者
思唯進入誤區了

解決不了   
只好   用全域搜查的方式  把有 @skill_window的腳本一個一個找出看
只要有 @skill_window.visible  或@skill_window.show的全部  加上p
試著找看看是出問題   

結果  原來是還有更下面的腳本  把這個方法給 alias後又加入了一些code

誤區的原因是   我以為我寫的腳本是最後一個用  on_enemy_cancel  方法的

沒想到底下還有腳本也用了     

總之  感謝各位協助  

点评

這種基本的檢查還是要作確實  发表于 2017-3-15 17:19
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 05:37

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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