Project1

标题: 自寫CG回顧腳本無法報錯請求解決方法? [打印本页]

作者: nuitjean    时间: 2010-8-16 17:33
标题: 自寫CG回顧腳本無法報錯請求解決方法?
本帖最后由 nuitjean 于 2010-8-17 19:17 编辑
  1. #=====================================================================
  2. # ■CG回顧系統■
  3. #=====================================================================
  4. #■Window_CGchoice~游標窗口~
  5. #=============================
  6. class Window_CGchoice < Window_Base
  7. #定義實例變量
  8. attr_accessor :cgchoice_x #@cgchoice_x
  9. attr_accessor :cgchoice_y #@cgchoice_y
  10. #---------------------------#
  11. # 初始化窗口 #
  12. #---------------------------#
  13. def initialize
  14. super(0,0,640,480)
  15. self.contents = Bitmap.new(width - 32, height - 32)
  16. #優先級 X
  17. #窗口透明
  18. self.opacity = 0
  19. #初始化圖片游標座標
  20. @cgchoice_x = 0
  21. @cgchoice_y = 0
  22. end
  23. #CG Box/Item/CGactorCHOICE.png
  24. #CG Box/Item/CGbackCHOICE.png
  25. def cg_actor
  26. p "窗口游標"
  27. self.contents.clear
  28. self.contents.blt(@cgchoice_x-10, @cgchoice_y-15, RPG::Cache.picture('CG Box/Item/CGactorCHOICE.png'), Rect.new(0, 0, 640, 180), 255)
  29. end
  30. def cg_picture

  31. end
  32. end
复制代码
  1. #=====================================================================
  2. # ■CG回顧系統■
  3. #=====================================================================
  4. #■Scene_CGxActor~角色選擇~
  5. #=============================
  6. class Scene_CGxActor
  7. #定義實例變量
  8. attr_accessor :cgchoice_id #@cgchoice_id
  9. attr_accessor :cgchoice_x #@cgchoice_x
  10. attr_accessor :cgchoice_y #@cgchoice_y
  11. #---------------------------#
  12. # 更新畫面 #
  13. #---------------------------#
  14. def main
  15. #初始化選項
  16. @cgchoice_id = 0
  17. p @cgchoice_id#
  18. #游標窗口
  19. @choice_window = Window_CGchoice.new
  20. #呼叫游標
  21. @choice_window.cg_actor
  22. Graphics.transition #執行漸變
  23. loop do
  24. Graphics.update#更新畫面
  25. Input.update #更新輸入訊息
  26. update #角色選擇判定
  27. if $scene != self
  28. break
  29. end
  30. end
  31. Graphics.freeze #準備漸變(過渡)
  32. @choice_window.dispose
  33. end
  34. #---------------------------#
  35. # 角色選擇判定 #
  36. #---------------------------#
  37. def update
  38. if Input.trigger?(Input::UP)
  39. Audio.se_play("Audio/SE/" + "001-System01", 100, 100)
  40. if @cgchoice_id == 0
  41. @cgchoice_id = 4
  42. @choice_window.cgchoice_y +=30
  43. else
  44. @cgchoice_id -= 0
  45. @choice_window.cgchoice_y -= 5
  46. end
  47. @choice_window.cg_actor
  48. end
  49. end
  50. end
复制代码
呼叫腳本Scene_CGxActor後毫無反應,把Scene_CGxActor腳本的main改成initialize則按鈕失效.....
作者: IamI    时间: 2010-8-16 18:19
以以下代码呼唤:
  1. $scene = Scene_CGxActor.new
复制代码
正常显示p窗。请检查呼叫脚本的语句是否被执行。
作者: 逸豫    时间: 2010-8-16 18:40
把汝的Main脚本扔上来- -
作者: nuitjean    时间: 2010-8-17 18:57
回复 逸豫 的帖子
空工程也是以下main腳本↓
#==============================================================================
# ■ Main
#------------------------------------------------------------------------------
# 各定義結束後、從這裡開始實際處理。
#==============================================================================

begin
  # 準備轉變
  Graphics.freeze
  # Set default font name
  Font.default_name = (["細明體"])
  # 製作場景目標 (標題畫面)
  $scene = Scene_Title.new
  # 只要 $scene 是有效的情況下取用主要部分的方法
  while $scene != nil
    $scene.main
  end
  # 淡入淡出
  Graphics.transition(20)
rescue Errno::ENOENT
  # 補充 Errno::ENOENT 例外
  # 如果無法打開文件、顯示訊息後結束
  filename = $!.message.sub("No such file or directory - ", "")
  print("找不到文件 #{filename}。 ")
end


   




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1