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

Project1

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

[已经解决] VX和VA有多大区别?有什么办法互通脚本么?求大神改脚本!

[复制链接]

Lv4.逐梦者

梦石
0
星屑
7436
在线时间
1098 小时
注册时间
2006-7-18
帖子
569
跳转到指定楼层
1
发表于 2015-1-8 01:30:36 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
虽然看起来VX和VA脚本似乎差不多的,可却不能互相使用,想使用VX上一些很不错的脚本,要怎么办啊?
一直在找传送系统的脚本,找到柳柳写的一个VX的,在VX上试了一下很不错啊!可现在我在用VA啊,发现脚本不通用,有没有大神帮个忙改成VA能用的?
因为不了双方的版本差异,不知道改起来有多大难度,如果能改的话就谢谢了!代码出自柳柳,量挺少的,可惜联系不上本人了。
  1. #==============================================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. #==============================================================================

  4. # 自定义内容解释:
  5. # TOWNS[编号]=["地名,可以随便写",开关编号,[传送去的地图id,传送去的地图x,
  6. #              传送去的地图y],角色朝向]
  7. #
  8. # 编号请按照0、1、2、3……顺序往下排布
  9. # 当编号的开关打开的时候,才可以选择这个传送地点
  10. # 角色朝向,2为下,4为左,6为右,8为上,具体可以参考自己数字小键盘的方向和数字关系
  11. # 如果是其他方向请自己改。
  12. #
  13. #
  14. # 使用方法:在需要传送的传送门、传送石、传送羽毛、传送旅店一类的地方使用公共事件:
  15. #           呼叫脚本:$scene = Scene_Teleport.new
  16. #
  17. # 制作者:柳柳
  18. #==============================================================================
  19. TOWNS=[]
  20. TOWNS[0]=["魔幻森林",91,[1,8,5],2]
  21. TOWNS[1]=["齐拉海",92,[59,48,8],4]
  22. TOWNS[2]=["贾拉山脉",93,[34,9,10],8]
  23. TOWNS[3]=["苏泊尔湖",94,[52,15,38],8]
  24. TOWNS[4]=["宝石平原",95,[40,6,23],8]
  25. TOWNS[5]=["梦幻之地",96,[46,9,16],8]
  26. TOWNS[6]=["乌卡雪山",97,[46,9,16],8]
  27. TOWNS[7]=["拉苏河",98,[46,9,16],8]
  28. TOWNS[8]=["奇遇之海",99,[46,9,16],8]
  29. TOWNS[9]=["纳奥湖",100,[46,9,16],8]
  30. TOWNS[10]=["克莫伐木场",101,[46,9,16],8]
  31. TOWNS[11]=["阿罗工房",102,[46,9,16],8]
  32. TOWNS[12]=["黎明皇家港",103,[46,9,16],8]
  33. #==============================================================================
  34. # ■ Window_Teleport
  35. #------------------------------------------------------------------------------
  36. #  处理传送的窗口
  37. #==============================================================================
  38. class Window_Teleport < Window_Selectable
  39.   #--------------------------------------------------------------------------
  40.   # ● 初始化对像
  41.   #--------------------------------------------------------------------------
  42.   def initialize
  43.     super(640,640,64,64)
  44.     self.contents = Bitmap.new(width, height)
  45.     self.opacity = 180
  46.     get_towns
  47.     draw_towns
  48.     @column_max = 1
  49.   end
  50.   #--------------------------------------------------------------------------
  51.   # ● 获取可到达的城镇和窗口大小
  52.   #--------------------------------------------------------------------------
  53.   def get_towns
  54.     @carol3_towns = []
  55.     @width_temp = 0
  56.     @cont_use = false
  57.     for town in TOWNS
  58.       if $game_switches[town[1]]==true
  59.         @carol3_towns.push(town)
  60.         if contents.text_size(town[0]).width >= @width_temp
  61.           @width_temp = contents.text_size(town[0]).width
  62.         end
  63.       end
  64.     end
  65.     @item_max = @carol3_towns.size
  66.     if @item_max == 0
  67.       @carol3_towns[0] = ["现在没有已知的地区可探索!",1,[1,1,1]]
  68.       $game_player.move_up
  69.       @width_temp = contents.text_size(@carol3_towns[0][0]).width
  70.       @item_max = 1
  71.       @cont_use = true
  72.     end
  73.     self.width = [@width_temp+32,416].min
  74.     self.height = [(@item_max+1)*32,360].min
  75.     self.x = (544-self.width)/2
  76.     self.y = (416-self.height)/2
  77.     self.contents = Bitmap.new(width-32,row_max*WLH)
  78.   end
  79.   #--------------------------------------------------------------------------
  80.   # ● 描绘城镇名称
  81.   #--------------------------------------------------------------------------
  82.   def draw_towns
  83.     for i in 0...@carol3_towns.size
  84.       self.contents.draw_text(0,i*WLH,@width_temp,WLH,@carol3_towns[i][0],1)
  85.     end
  86.   end
  87.   #--------------------------------------------------------------------------
  88.   # ● 返回的内容
  89.   #========================================================================
  90.   # ● 地图编号
  91.   #--------------------------------------------------------------------------
  92.   def map_id
  93.     return @carol3_towns[self.index][2][0]
  94.   end
  95.   #--------------------------------------------------------------------------
  96.   # ● 地图x坐标
  97.   #--------------------------------------------------------------------------
  98.   def map_x
  99.     return @carol3_towns[self.index][2][1]
  100.   end      
  101.   #--------------------------------------------------------------------------
  102.   # ● 地图y坐标
  103.   #--------------------------------------------------------------------------
  104.   def map_y
  105.     return @carol3_towns[self.index][2][2]
  106.   end
  107.   #--------------------------------------------------------------------------
  108.   # ● 角色朝向
  109.   #--------------------------------------------------------------------------
  110.   def map_direction
  111.     return @carol3_towns[self.index][3]
  112.   end
  113.   #--------------------------------------------------------------------------
  114.   # ● 判断是否一个城市都没有
  115.   #--------------------------------------------------------------------------
  116.   def cant_use?
  117.     return @cont_use
  118.   end
  119. end
  120. #==============================================================================
  121. # ■ Scene_Teleport
  122. #------------------------------------------------------------------------------
  123. #  处理传送执行的类
  124. #==============================================================================
  125. class Scene_Teleport < Scene_Base
  126.   #--------------------------------------------------------------------------
  127.   # ● 主处理
  128.   #--------------------------------------------------------------------------
  129.   def start
  130.     Sound.play_decision
  131.     @carol3_trans_white = false
  132.     @carol3_map_sprite = Spriteset_Map.new
  133.     @carol3_teleport_window = Window_Teleport.new
  134.     if @carol3_teleport_window.cant_use?
  135.       @carol3_teleport_window.index = -1
  136.     else
  137.       @carol3_teleport_window.index = 0
  138.     end
  139.   end
  140.   
  141.   def terminate
  142.     super
  143.     @carol3_teleport_window.dispose
  144.   end
  145.   
  146.   def update
  147.     super

  148.     carol3_update
  149.   end
  150.   
  151.   def update_scene
  152.     @carol3_teleport_window.active = true
  153.     $game_player.reserve_transfer(@carol3_teleport_window.map_id, @carol3_teleport_window.map_x, @carol3_teleport_window.map_y, @carol3_teleport_window.map_direction)
  154.     $game_map.autoplay      
  155.     $scene = Scene_Map.new
  156.   end
  157.   #--------------------------------------------------------------------------
  158.   # ● 刷新画面
  159.   #--------------------------------------------------------------------------
  160.   def carol3_update
  161.     @carol3_teleport_window.update
  162.     if Input.trigger?(Input::B)
  163.       Sound.play_cancel
  164.       $scene = Scene_Map.new
  165.       $game_player.move_up
  166.       return
  167.     end
  168.     if Input.trigger?(Input::C)
  169.       if @carol3_teleport_window.index == -1
  170.         Sound.play_cancel
  171.         $scene = Scene_Map.new
  172.         return
  173.       else        
  174.         Audio.se_play("Audio/SE/" + "Teleport",100,100)
  175.         update_scene        
  176.         return
  177.       end
  178.     end   
  179.   end
  180. end

  181. #==============================================================================
  182. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  183. #==============================================================================
复制代码

Lv3.寻梦者

闇吼者の災悪眷族
不気味存在締造者

梦石
0
星屑
1366
在线时间
2881 小时
注册时间
2014-7-29
帖子
6491
2
发表于 2015-1-8 02:04:42 | 只看该作者
VX和VA虽然长得像,但是脚本上VX和XP相似但是VA差别甚远。

脚本之间翻译不是不可能,但是麻烦。如果你想专心做一个良好的作品出来,要么自己尝试的去学脚本将需要的东西跨版本翻译。
要么一直等人帮你,如果你觉得拉的下这个脸面并且不考虑效率。
要么花钱悬赏请人帮忙,这样更加坦荡。

点评

我主要就是回答楼主有关“翻译”的部分的内容呢,还不是针对主楼的那个脚本进行的回答。  发表于 2015-1-8 15:02
说实话,这种脚本连 F1 文档里都有  发表于 2015-1-8 12:35
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
22948
在线时间
8638 小时
注册时间
2011-12-31
帖子
3367
3
发表于 2015-1-8 08:58:16 | 只看该作者
http://blog.livedoor.jp/kurement ... hives/31642250.html
  1. #==============================================================================
  2. #  ■移動用画面 for RGSS3 Ver1.06-β-fix
  3. # □作成者 kure
  4. #
  5. # 呼び出し方法  SceneManager.call(Scene_ShortMove)
  6. #
  7. #==============================================================================

  8. module KURE
  9.   module ShortMove
  10.     #初期設定(変更しないこと)  
  11.     MOVE_LIST = []
  12.     EXPLAN = []
  13.     PLAYER_ICON = []
  14.     CALL_COMMON = []
  15.     ICONLIST = []
  16.   
  17.    
  18.     #移動先設定(以下の設定は項目が対応している為注意)---------------------------
  19.     #MOVE_LIST[0]、EXPLAN[0]、PLAYER_ICON[0]、CALL_COMMON[0]は対応しています。
  20.    
  21.       #表示名、移動先設定
  22.       #MOVE_LIST[0~] = [[表示名,表示するスイッチ,選択可スイッチ,消去スイッチ] ,[マップID, x座標, y座標, 向き(2468)]]
  23.       MOVE_LIST[0] = [["ベースキャンプ",0,0,0],[3,9,0,2]]
  24.       MOVE_LIST[1] = [["シビリア平原",23,0,24],[67,7,39,8]]
  25.       MOVE_LIST[2] = [["シビリア平原",24,0,0],[6,6,39,8]]
  26.       MOVE_LIST[3] = [["アメリア雪原",10,0,0],[11,10,39,8]]
  27.       MOVE_LIST[4] = [["ミュール渓谷",10,0,0],[22,4,38,8]]
  28.       MOVE_LIST[5] = [["ポリモア洞窟",10,0,0],[30,19,39,8]]
  29.       MOVE_LIST[6] = [["ラビトラ森林",10,0,0],[39,19,39,8]]
  30.       MOVE_LIST[7] = [["エミウル廃抗",10,0,0],[48,34,39,8]]
  31.       MOVE_LIST[8] = [["グロース寺院",0,10,0],[56,19,39,8]]

  32.       #説明文の設定
  33.       #EXPLAN[0~] = [説明1行目,説明2行目]
  34.       EXPLAN[0] = ["入り江に作られたエルプマス島探索の本拠地"]
  35.       EXPLAN[1] = ["穏やかな気候の平原地帯","小さな野生動物が生息している"]
  36.       EXPLAN[2] = ["穏やかな気候の平原地帯","小さな野生動物が生息している"]
  37.       EXPLAN[3] = ["エルプマス島北部の雪原地帯","森林と高台によって地形が作られている"]
  38.       EXPLAN[4] = ["島の東西を結ぶ山岳地帯","浸食により複雑な地形が形成されている"]
  39.       EXPLAN[5] = ["島の中央にある巨大洞窟","昔は調査も行われたが深部は良く分かっていない"]
  40.       EXPLAN[6] = ["島の西部を覆う森林地帯","多様な生物が生息している"]
  41.       EXPLAN[7] = ["数年前まで炭鉱として使用されていた坑道","開発途中のまま放置されている"]
  42.       EXPLAN[8] = ["光の柱現象の発生地点と言われている場所","現在は放棄され廃墟となっている"]
  43.       
  44.       #プレーヤーのアイコン(選択肢対応アイコン)
  45.       #PLAYER_ICON[0~] = [アイコンタイプ,アイコンX,アイコンY]
  46.       #アイコンタイプ
  47.       # 0 → 隊列先頭のキャラクター
  48.       # PLAYER_ICON[0] = [0, x, y]
  49.       #
  50.       # 1 → 四角形
  51.       # PLAYER_ICON[0] = [1, x, y, [size,red,green,blue]]
  52.       #
  53.       # 2 → 画像ファイル(Pictureフォルダに入れること)
  54.       # PLAYER_ICON[0] = [2, x, y, filename]
  55.       #
  56.       
  57.       PLAYER_ICON[0] = [0,100,200]
  58.       PLAYER_ICON[1] = [0,115,180]
  59.       PLAYER_ICON[2] = [0,115,180]
  60.       PLAYER_ICON[3] = [0,75,60]
  61.       PLAYER_ICON[4] = [0,206,116]
  62.       PLAYER_ICON[5] = [0,243,107]
  63.       PLAYER_ICON[6] = [0,275,165]
  64.       PLAYER_ICON[7] = [0,302,131]
  65.       PLAYER_ICON[8] = [0,290,187]
  66.       
  67.       #移動と同時に呼び出すコモンイベントのID
  68.       #CALL_COMMON[0~] = [ID配列]
  69.       CALL_COMMON[0] = [3]
  70.       CALL_COMMON[1] = [2]
  71.       CALL_COMMON[2] = [2]
  72.       CALL_COMMON[3] = [1,2]
  73.       CALL_COMMON[4] = [2]
  74.       CALL_COMMON[5] = [2]
  75.       CALL_COMMON[6] = [2]
  76.       CALL_COMMON[7] = [2]
  77.       CALL_COMMON[8] = [2]
  78.       
  79.     #マップ上に表示するアイコンの設定-------------------------------------------
  80.       #ICONLIST[0~] = [アイコンタイプ,アイコンX,アイコンY,表示スイッチ,消去スイッチ,各種設定]
  81.       #必要な数に応じて項目を追加してください
  82.       #アイコンタイプによる設定の違い
  83.       # 0 → アクターを描画します
  84.       # ICONLIST[0] = [0, x, y, switch_id, switch_id, actor_id]
  85.       # 
  86.       # 1 → 四角形
  87.       # ICONLIST[1] = [1, x, y, switch_id, switch_id, [size,red,green,blue]]
  88.       #
  89.       # 2 → 画像ファイル(Pictureフォルダに入れること)
  90.       # ICONLIST[1] = [2, x, y, switch_id, switch_id, filename]
  91.       #
  92.       
  93.       ICONLIST[0] = [1,100,200,0,0,[9,255,0,0]]
  94.       ICONLIST[1] = [1,115,180,0,0,[9,255,0,0]]
  95.       ICONLIST[2] = [1,75,60,1,0,[9,255,0,0]]
  96.       ICONLIST[3] = [1,206,116,1,0,[9,255,0,0]]
  97.       ICONLIST[4] = [1,243,107,1,0,[9,255,0,0]]
  98.       ICONLIST[5] = [1,275,165,1,0,[9,255,0,0]]
  99.       ICONLIST[6] = [1,302,131,1,0,[9,255,0,0]]
  100.       ICONLIST[7] = [1,290,187,0,0,[9,255,0,0]]
  101.    
  102.     #MAPDATA
  103.     #png形式の画像データを「Picture」フォルダに入れること(380×296)
  104.     MAPDATA = "tizu"

  105.   end
  106. end

  107. #==============================================================================
  108. # ■ Scene_ShortMove
  109. #------------------------------------------------------------------------------
  110. #  キャラクターメイキングの処理を行うクラスです。
  111. #==============================================================================
  112. class Scene_ShortMove < Scene_MenuBase
  113.   #--------------------------------------------------------------------------
  114.   # ● 開始処理
  115.   #--------------------------------------------------------------------------
  116.   def start
  117.     super
  118.     create_command_window
  119.     create_map_window
  120.     create_icon_window
  121.     create_info_window
  122.     create_popup_window
  123.    
  124.     set_window_task
  125.   end
  126.   #--------------------------------------------------------------------------
  127.   # ● コマンドウィンドウの作成
  128.   #--------------------------------------------------------------------------
  129.   def create_command_window
  130.     #キャラクター選択ウィンドウを作成
  131.     @command_window = Window_k_ShortMove_Command.new(0, 0)
  132.     @command_window.height = Graphics.height
  133.     @command_window.activate
  134.     #呼び出しのハンドラをセット
  135.     @command_window.set_handler(:ok,method(:select_command))
  136.     @command_window.set_handler(:cancel,method(:on_cancel))
  137.   end
  138.   #--------------------------------------------------------------------------
  139.   # ● アイコンウィンドウの作成
  140.   #--------------------------------------------------------------------------
  141.   def create_icon_window   
  142.     x = @command_window.width
  143.     y = 0
  144.     ww = Graphics.width - x
  145.     wh = Graphics.height - 24 * 4
  146.     @icon_window = Window_k_ShortMove_Icon.new(x,y,ww,wh)
  147.     @icon_window.z += 10
  148.     @icon_window.opacity = 0
  149.     @icon_window.refresh
  150.   end
  151.   #--------------------------------------------------------------------------
  152.   # ● マップウィンドウの作成
  153.   #--------------------------------------------------------------------------
  154.   def create_map_window   
  155.     x = @command_window.width
  156.     y = 0
  157.     ww = Graphics.width - x
  158.     wh = Graphics.height - 24 * 4
  159.     @map_window = Window_k_ShortMove_Map.new(x,y,ww,wh)
  160.     @map_window.refresh
  161.   end
  162.   #--------------------------------------------------------------------------
  163.   # ● インフォメーションウィンドウの作成
  164.   #--------------------------------------------------------------------------
  165.   def create_info_window
  166.     x = @command_window.width
  167.     y = @map_window.height
  168.     ww = Graphics.width - x
  169.     wh = Graphics.height - y
  170.     @info_window = Window_k_ShortMove_Info.new(x,y,ww,wh)
  171.   end
  172.   #--------------------------------------------------------------------------
  173.   # ● ポップアップウィンドウの作成
  174.   #--------------------------------------------------------------------------
  175.   def create_popup_window
  176.     wx = (Graphics.width - 180)/2
  177.     wy = (Graphics.height - 180)/2
  178.     @popup_window = Window_k_ShortMove_Pop.new(wx, wy)
  179.     @popup_window.unselect
  180.     @popup_window.deactivate
  181.     @popup_window.z  += 10
  182.     @popup_window.hide
  183.     #ハンドラのセット
  184.     @popup_window.set_handler(:cancel,   method(:pop_cancel))
  185.     @popup_window.set_handler(:ok,   method(:pop_ok))
  186.   end
  187.   #--------------------------------------------------------------------------
  188.   # ● ウィンドウのセッティング処理
  189.   #--------------------------------------------------------------------------
  190.   def set_window_task
  191.     @command_window.info_window = @info_window
  192.     @command_window.map_window = @map_window
  193.     @command_window.icon_window = @icon_window
  194.     @command_window.select(0)
  195.    
  196.     @info_window.refresh
  197.   end
  198.   #--------------------------------------------------------------------------
  199.   # ● コマンドウィンドウ[決定]
  200.   #--------------------------------------------------------------------------
  201.   def select_command
  202.     pop_open
  203.   end
  204.   #--------------------------------------------------------------------------
  205.   # ● コマンドウィンドウ[キャンセル]
  206.   #--------------------------------------------------------------------------
  207.   def on_cancel
  208.     Cache.clear
  209.     SceneManager.return
  210.   end
  211.   #--------------------------------------------------------------------------
  212.   # ● ポップアップウィンドウ[決定]
  213.   #--------------------------------------------------------------------------
  214.   def pop_ok
  215.     case @popup_window.current_ext
  216.     when 1
  217.       #画像キャッシュをクリアしておく
  218.       Cache.clear
  219.       
  220.       move_point = @command_window.current_ext
  221.       map_id = move_point[0][1][0]
  222.       x = move_point[0][1][1]
  223.       y = move_point[0][1][2]
  224.       dir = move_point[0][1][3]
  225.       
  226.       fadeout_all(300)
  227.       $game_player.reserve_transfer(map_id, x, y, dir)
  228.       $game_player.perform_transfer
  229.       SceneManager.call(Scene_Map)
  230.       $game_temp.recall_map_name = 1
  231.       $game_map.autoplay
  232.       
  233.       call_common(move_point[1])
  234.     when 2
  235.       pop_close
  236.     end
  237.   end
  238.   #--------------------------------------------------------------------------
  239.   # ● ポップアップウィンドウ[キャンセル]
  240.   #--------------------------------------------------------------------------
  241.   def pop_cancel
  242.     pop_close
  243.   end
  244.   #--------------------------------------------------------------------------
  245.   # ● コモンイベント呼び出し[キャンセル]
  246.   #--------------------------------------------------------------------------
  247.   def call_common(list)
  248.     event = KURE::ShortMove::CALL_COMMON[list]
  249.     event.each do |id|
  250.       $game_temp.reserve_common_event(id)
  251.     end
  252.   end
  253.   #--------------------------------------------------------------------------
  254.   # ● ポップアップウィンドウ[開く]
  255.   #--------------------------------------------------------------------------
  256.   def pop_open
  257.     @popup_window.show
  258.     @popup_window.select(1)
  259.     @popup_window.activate
  260.     @command_window.deactivate
  261.   end
  262.   #--------------------------------------------------------------------------
  263.   # ● ポップアップウィンドウ[閉じる]
  264.   #--------------------------------------------------------------------------
  265.   def pop_close
  266.     @popup_window.hide
  267.     @popup_window.unselect
  268.     @popup_window.deactivate
  269.     @command_window.activate
  270.   end
  271. end


  272. #==============================================================================
  273. # ■ Window_k_ShortMove_Command
  274. #==============================================================================
  275. class Window_k_ShortMove_Command < Window_Command
  276.   attr_accessor :info_window
  277.   attr_accessor :map_window
  278.   attr_accessor :icon_window
  279.   #--------------------------------------------------------------------------
  280.   # ● ウィンドウ幅の取得
  281.   #--------------------------------------------------------------------------
  282.   def window_width
  283.     return 140
  284.   end
  285.   #--------------------------------------------------------------------------
  286.   # ● カーソル位置の設定
  287.   #--------------------------------------------------------------------------
  288.   def index=(index)
  289.     @index = index
  290.     update_cursor
  291.     call_update_help
  292.    
  293.     @info_window.select = current_ext if @info_window
  294.     @map_window.select = current_ext if @map_window
  295.     @icon_window.select = current_ext if @icon_window
  296.   end
  297.   #--------------------------------------------------------------------------
  298.   # ● コマンドリストの作成
  299.   #--------------------------------------------------------------------------
  300.   def make_command_list
  301.     master = KURE::ShortMove::MOVE_LIST
  302.     for i in 0..master.size - 1
  303.       if visible?(master[i])
  304.         add_command(master[i][0][0], :ok, selectable?(master[i]), [master[i],i])
  305.       end
  306.     end
  307.   end
  308.   #--------------------------------------------------------------------------
  309.   # ● 表示の可否
  310.   #--------------------------------------------------------------------------
  311.   def visible?(list)
  312.     return false if list[0][3] != 0 && $game_switches[list[0][3]]
  313.     if list[0][3] == 0
  314.       return true if list[0][1] == 0
  315.       return true if $game_switches[list[0][1]]
  316.       return false
  317.     end
  318.     return true
  319.   end
  320.   #--------------------------------------------------------------------------
  321.   # ● 選択の可否
  322.   #--------------------------------------------------------------------------
  323.   def selectable?(list)
  324.     return true if list[0][2] == 0
  325.     return true if $game_switches[list[0][2]]
  326.     return false
  327.   end
  328. end

  329. #==============================================================================
  330. # ■ Window_k_ShortMove_Map
  331. #==============================================================================
  332. class Window_k_ShortMove_Map < Window_Base
  333.   #--------------------------------------------------------------------------
  334.   # ● オブジェクト初期化
  335.   #-------------------------------------------------------------------------
  336.   def initialize(x, y, width, height)
  337.     super
  338.     @select = nil
  339.   end
  340.   #--------------------------------------------------------------------------
  341.   # ● 選択中のMAPデータを更新
  342.   #--------------------------------------------------------------------------
  343.   def select=(select)
  344.     return if @select == select
  345.     @select = select
  346.   end
  347.   #--------------------------------------------------------------------------
  348.   # ● リフレッシュ
  349.   #--------------------------------------------------------------------------
  350.   def refresh
  351.     contents.clear
  352.    
  353.     bitmap = Cache.picture(KURE::ShortMove::MAPDATA)
  354.     #描画
  355.     self.contents.blt(0, 0, bitmap, bitmap.rect)
  356.   end
  357. end

  358. #==============================================================================
  359. # ■ Window_k_ShortMove_Icon
  360. #==============================================================================
  361. class Window_k_ShortMove_Icon < Window_Base
  362.   #--------------------------------------------------------------------------
  363.   # ● オブジェクト初期化
  364.   #-------------------------------------------------------------------------
  365.   def initialize(x, y, width, height)
  366.     super
  367.     @select = nil
  368.   end
  369.   #--------------------------------------------------------------------------
  370.   # ● 選択中のMAPデータを更新
  371.   #--------------------------------------------------------------------------
  372.   def select=(select)
  373.     return if @select == select[1]
  374.     @select = select[1]
  375.     refresh
  376.   end
  377.   #--------------------------------------------------------------------------
  378.   # ● リフレッシュ
  379.   #--------------------------------------------------------------------------
  380.   def refresh
  381.     contents.clear
  382.     return unless @select
  383.    
  384.     draw_list = KURE::ShortMove::ICONLIST
  385.    
  386.     draw_list.each do |list|
  387.       next if list == []
  388.       #描画判定
  389.       if list[3] != 0
  390.         next unless $game_switches[list[3]]
  391.       end
  392.       
  393.       if list[4] != 0
  394.         next if $game_switches[list[4]]
  395.       end
  396.       
  397.       #アイコンタイプ
  398.       case list[0]
  399.       #アクター描画
  400.       when 0
  401.         actor = $game_actors[list[5]]
  402.         next unless actor
  403.    
  404.         x = list[1]
  405.         y = list[2]
  406.         draw_character(actor.character_name, actor.character_index , x, y)
  407.       #四角形描画  
  408.       when 1
  409.         size = 7 ; size2 = 3
  410.         red = 0 ; green = 0 ; blue = 0
  411.         if list[5]
  412.           if list[5][0]
  413.             size = list[5][0]
  414.             size2 = (list[5][0] / 2).truncate
  415.           end
  416.           if list[5][1] && list[5][2] && list[5][3]
  417.             red = list[5][1]
  418.             green = list[5][2]
  419.             blue = list[5][3]
  420.           end
  421.         end
  422.         
  423.         rect = Rect.new(list[1] - size2,list[2] - size2,size,size)
  424.         color = Color.new(red, green, blue)
  425.         contents.fill_rect(rect, color)
  426.       #画像描画
  427.       when 2
  428.         next unless list[5]
  429.         bitmap = Cache.picture(list[5])
  430.         self.contents.blt(list[1], list[2], bitmap, bitmap.rect)
  431.       end
  432.       
  433.     end
  434.    
  435.     player = KURE::ShortMove::PLAYER_ICON[@select]
  436.     case player[0]
  437.     #アクター描画
  438.     when 0
  439.       actor = $game_party.battle_members[0]
  440.       return unless actor
  441.    
  442.       x = player[1]
  443.       y = player[2]
  444.       draw_character(actor.character_name, actor.character_index , x, y)
  445.     #四角形
  446.     when 1
  447.         size = 7 ; size2 = 3
  448.         red = 0 ; green = 0 ; blue = 0
  449.         if player[3]
  450.           if player[3][0]
  451.             size = player[3][0]
  452.             size2 = (player[3][0] / 2).truncate
  453.           end
  454.           if player[3][1] && player[3][2] && player[3][3]
  455.             red = player[3][1]
  456.             green = player[3][2]
  457.             blue = player[3][3]
  458.           end
  459.         end
  460.         
  461.         rect = Rect.new(player[1] - size2,player[2] - size2,size,size)
  462.         color = Color.new(red, green, blue)
  463.         contents.fill_rect(rect, color)
  464.     #画像描画
  465.     when 2
  466.       return unless player[3]
  467.       bitmap = Cache.picture(player[3])
  468.       self.contents.blt(player[1], player[2], bitmap, bitmap.rect)
  469.       
  470.     end
  471.    
  472.   end
  473. end

  474. #==============================================================================
  475. # ■ Window_k_ShortMove_Info
  476. #==============================================================================
  477. class Window_k_ShortMove_Info < Window_Base
  478.   #--------------------------------------------------------------------------
  479.   # ● オブジェクト初期化
  480.   #-------------------------------------------------------------------------
  481.   def initialize(x, y, width, height)
  482.     super
  483.     @select = nil
  484.   end
  485.   #--------------------------------------------------------------------------
  486.   # ● 選択中のMAPデータを更新
  487.   #--------------------------------------------------------------------------
  488.   def select=(select)
  489.     return if @select == select[1]
  490.     @select = select[1]
  491.     refresh
  492.   end
  493.   #--------------------------------------------------------------------------
  494.   # ● リフレッシュ
  495.   #--------------------------------------------------------------------------
  496.   def refresh
  497.     return unless @select
  498.     contents.clear
  499.    
  500.     title = KURE::ShortMove::MOVE_LIST[@select][0][0]
  501.     explan = KURE::ShortMove::EXPLAN[@select]
  502.    
  503.     draw_text(0, 0, contents_width, line_height, title)
  504.    
  505.     return unless explan
  506.       draw_text(0, line_height * 1, contents_width, line_height, explan[0]) if explan[0]
  507.       draw_text(0, line_height * 2, contents_width, line_height, explan[1]) if explan[1]
  508.     end
  509. end


  510. #==============================================================================
  511. # ■ Window_k_ShortMove_Pop
  512. #==============================================================================
  513. class Window_k_ShortMove_Pop < Window_Command
  514.   #--------------------------------------------------------------------------
  515.   # ● オブジェクト初期化
  516.   #--------------------------------------------------------------------------
  517.   def initialize(x, y)
  518.     super(x, y)
  519.   end
  520.   #--------------------------------------------------------------------------
  521.   # ● ウィンドウ幅の取得
  522.   #--------------------------------------------------------------------------
  523.   def window_width
  524.     return 180
  525.   end
  526.   #--------------------------------------------------------------------------
  527.   # ● ウィンドウ高さの取得
  528.   #--------------------------------------------------------------------------
  529.   def window_height
  530.     fitting_height(visible_line_number)
  531.   end
  532.   #--------------------------------------------------------------------------
  533.   # ● コマンドリストの作成
  534.   #--------------------------------------------------------------------------
  535.   def make_command_list
  536.     add_command("移動する", :ok, true, 1)
  537.     add_command("キャンセル", :ok, true, 2)
  538.   end
  539.   #--------------------------------------------------------------------------
  540.   # ● リフレッシュ
  541.   #--------------------------------------------------------------------------
  542.   def refresh
  543.     clear_command_list
  544.     make_command_list
  545.     create_contents
  546.     self.height = window_height
  547.     select(0)
  548.     super
  549.   end
  550. end

  551. #==============================================================================
  552. # ■ Game_Temp
  553. #==============================================================================
  554. class Game_Temp
  555.   attr_accessor :recall_map_name             # 場所移動時のフェードタイプ
  556.   #--------------------------------------------------------------------------
  557.   # ● オブジェクト初期化(エイリアス再定義)
  558.   #--------------------------------------------------------------------------
  559.   alias k_before_shotmove_initialize initialize
  560.   def initialize
  561.     k_before_shotmove_initialize
  562.     @recall_map_name = 0
  563.   end
  564. end

  565. #==============================================================================
  566. # ■ Scene_Map
  567. #==============================================================================
  568. class Scene_Map < Scene_Base
  569.   #--------------------------------------------------------------------------
  570.   # ● 開始処理(エイリアス再定義)
  571.   #--------------------------------------------------------------------------
  572.   alias k_before_shotmove_start start
  573.   def start
  574.     k_before_shotmove_start
  575.     recall_map_name_window
  576.   end
  577.   #--------------------------------------------------------------------------
  578.   # ● マップ名表示処理(追加定義)
  579.   #--------------------------------------------------------------------------
  580.   def recall_map_name_window
  581.     if $game_temp.recall_map_name == 1
  582.       @map_name_window.open
  583.       $game_temp.recall_map_name = 0
  584.     end
  585.   end
  586. end
复制代码
設定方法
MOVE_LIST[0] = [[表示名,表示するスイッチ,選択可スイッチ,消去スイッチ] ,[マップID, x座標, y座標]
表示名、リストの追加可否の設定
  移動先を設定します。必要な個数に従い、リストの数を増やしてください。

  ○表示に関する設定
   表示名 … メニューに表示する行き先を設定します。
   表示するスイッチ … 指定したIDのスイッチがONであればリストに表示します。常時表示は0です。
   選択可スイッチ … 指定したIDのスイッチがONであれば選択できます。常時選択可は0です。
   消去スイッチ … 指定したIDのスイッチがONであればリストから消去します。設定しない場合は0です。

  ○移動先に関する設定
   マップID、x座標、y座標 … 移動先のマップID、座標を設定します。

  EXPLAN[0] = [説明1行目,説明2行目]
  インフォメーションウィンドウに表示する説明を設定します。2行まで表示が可能です。

  PLAYER_ICON[0] = [アイコンタイプ,アイコンX,アイコンY]
  項目を選択している時に表示するアイコンのタイプとX座標、Y座標の位置を設定します。

  CALL_COMMON[0] = [ID配列]
  移動後に実行するコモンイベント(天候の変更等)があればIDで記述します。

  ICONLIST[0] = [アイコンタイプ,アイコンX,アイコンY,表示スイッチ,消去スイッチ,各種設定]
  マップ上に表示するアイコンを設定します。
  ID0~表示対応スイッチのチェックを行い、スイッチがONの条件を満たすアイコンを
  全て表示します。常に表示するアイコンは対応スイッチを0にしてください。

  MAPDATA = "tizu"
  マップとして使う画像ファイルのファイル名を指定します。
  画像は「Picture」フォルダに入れてください。380×296の画像が最大サイズです。


点评

我也謝謝 (*^__^*)  发表于 2015-1-8 12:18

评分

参与人数 1梦石 +1 收起 理由
taroxd + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7436
在线时间
1098 小时
注册时间
2006-7-18
帖子
569
4
 楼主| 发表于 2015-1-8 11:46:04 | 只看该作者
哇!谢谢楼上!十分感谢!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-15 11:55

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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