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

Project1

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

[已经解决] 求懂脚本的大大帮改下这个窗口化脚本吧!应该很简单的!

[复制链接]

Lv4.逐梦者

梦石
0
星屑
7431
在线时间
1096 小时
注册时间
2006-7-18
帖子
569
跳转到指定楼层
1
发表于 2014-10-11 00:43:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本来觉得游戏窗口很小,找了一下在这里找到个拉伸窗口的简单脚本,可以在游戏启动是自动拉大窗口到设定好的大小。
希望大大能在此脚本里加工一下放几个窗口大小的分支,能做到以下效果!

游戏启动可以靠选择框来改变窗口大小!最好能在事件中自由调用脚本!
效果1:和NPC对话出现选择框,选A是800x600窗口,选B1024x768窗口,选择C取消改变。
效果2:菜单中多一个“设置”指令,进入后打开窗口设置选项,选A是800x600窗口,选B1024x768窗口,选择C取消改变。

或者:也可以把脚本写成,游戏启动后按F4就可以调整几种类型窗口大小。
PS:不知道能不能做到还可以选择自适应当前显示器合适的大小呢?
代码放上,相当简单的:
  1.    #给下面高度宽度赋值,就是分辨率的大小。
  2.     宽度=1024 #1018(全屏窗口大概的大小)
  3.     高度=768 #746 (全屏窗口大概的大小)
  4.     游戏ini名=".\\Game.ini"
  5.     #============================================================================

  6.     val = "\0"*256
  7.     gps = Win32API.new('kernel32', 'GetPrivateProfileString',%w(p p p p l p), 'l')
  8.     gps.call("Game", "Title", "", val, 256, 游戏ini名)
  9.     title = val
  10.     fw = Win32API.new('user32', 'FindWindow', %(p, p), 'i')
  11.     hWnd = fw.call("RGSS Player", title)
  12.     swp = Win32API.new('user32', 'SetWindowPos', %(l, l, i, i, i, i, i), 'i')
  13.     ok = swp.call(hWnd, 0, 0, 0, 宽度, 高度, 4)
复制代码

Lv5.捕梦者

梦石
0
星屑
22943
在线时间
8638 小时
注册时间
2011-12-31
帖子
3367
2
发表于 2014-10-11 08:22:18 | 只看该作者
本帖最后由 tseyik 于 2014-10-11 08:25 编辑

有現成的腳本可做到
http://cacaosoft.web.fc2.com/tkool/script/rgss3/wndsz.html

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7431
在线时间
1096 小时
注册时间
2006-7-18
帖子
569
3
 楼主| 发表于 2014-10-12 04:22:05 | 只看该作者
tseyik 发表于 2014-10-11 08:22
有現成的腳本可做到
http://cacaosoft.web.fc2.com/tkool/script/rgss3/wndsz.html

地址打不开啊!!可以的话把代码贴出来吧

点评

代码貼過好多次  发表于 2014-10-12 11:17
请挂代理  发表于 2014-10-12 10:25
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
98
在线时间
1617 小时
注册时间
2013-8-15
帖子
4459
4
发表于 2014-10-12 21:48:36 | 只看该作者
  1. #===========================================================================#
  2. #  #*****************#              Game Resolution 1.1                     #
  3. #  #*** By Falcao ***#              Add the resolution option to the menu   #
  4. #  #*****************#              RMVXACE Date Aungust 6 2012             #
  5. #===========================================================================#
  6. #---------------------------------------------------------------------------
  7. # This script add a resolution option to the game menu, you can choose from
  8. # Normal screen 544 x 416 and Full screen, also it remember your last option
  9. # when you start the game.
  10. #
  11. # Installation: copy and paste above main
  12. #--------------------------------------------------------------------------
  13. module FalRes
  14.   def self.write_decision
  15.     File.delete("System/Resolution.txt") rescue nil
  16.     File.open("System/Resolution.txt","a+") {|fh|fh.puts($game_resolution)}
  17.   end

  18.   def self.read_decision
  19.     decision = File.read("System/Resolution.txt").split("\n") rescue [0]
  20.     return decision.last.to_i
  21.   end

  22.   def self.resolution
  23.     res = Win32API.new 'user32', 'keybd_event', %w(l l l l), ''
  24.     res.call(18,0,0,0)
  25.     res.call(13,0,0,0)
  26.     res.call(13,0,2,0)
  27.     res.call(18,0,2,0)
  28.   end
  29.   $game_resolution = self.read_decision
  30.   self.resolution if $game_resolution == 1
  31. end
  32. class Window_MenuCommand < Window_Command
  33.   alias falcao_addnew_command add_original_commands
  34.   def add_original_commands
  35.     add_command('Resolution',   :reso, main_commands_enabled)
  36.     falcao_addnew_command
  37.   end
  38. end
  39. class Scene_Menu < Scene_MenuBase
  40.   alias falcao_reso_command create_command_window
  41.   def create_command_window
  42.     falcao_reso_command
  43.     @command_window.set_handler(:reso,     method(:resolution_window))
  44.   end

  45.   def resolution_window
  46.     @commands_reso = Window_ResoCommand.new
  47.     @commands_reso.set_handler(:normal,    method(:reso_selection))
  48.     @commands_reso.set_handler(:full,      method(:reso_selection))
  49.     @commands_reso.set_handler(:cancel,    method(:cancelar))
  50.   end

  51.   def reso_selection
  52.     case @commands_reso.current_symbol
  53.     when :normal
  54.       if $game_resolution == 1
  55.         $game_resolution = 0
  56.         make_resolution
  57.       else
  58.         cancelar ; return
  59.       end
  60.     @commands_reso.activate
  61.     when :full
  62.       if $game_resolution == 0
  63.         $game_resolution = 1
  64.         make_resolution
  65.       else
  66.         cancelar ; return
  67.       end
  68.       @commands_reso.activate
  69.     end
  70.   end

  71.   def make_resolution
  72.     FalRes.resolution
  73.     FalRes.write_decision
  74.   end

  75.   def cancelar
  76.     @commands_reso.dispose
  77.     @commands_reso = nil
  78.     @command_window.activate
  79.   end
  80. end
  81. class Window_ResoCommand < Window_Command
  82.   def initialize
  83.     super(164, 130)
  84.     self.openness = 0
  85.     open
  86.   end
  87.   def window_width
  88.     return 180
  89.   end
  90.   def make_command_list
  91.     add_command('Normal 544x416',     :normal)
  92.     add_command('Full Screen ',       :full)
  93.   end
  94. end
复制代码

点评

谢谢啦!  发表于 2014-10-14 15:27

评分

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

查看全部评分

神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-14 23:30

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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