Project1

标题: 请问怎么把游戏窗口做成800*600 [打印本页]

作者: lovepea    时间: 2008-6-12 23:35
标题: 请问怎么把游戏窗口做成800*600
请问怎么把游戏窗口做成800*600,我使用了脚本
#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================
# ————————————————————————————————————
# 本脚本来自www.66rpg.com,转载请保留此信息
# ————————————————————————————————————

#ウィンドウサイズの変更(v1.00)

class Win32API
  GAME_INI_FILE = ".\\Game.ini"
  
  def Win32API.GetPrivateProfileString(section, key)
    val = "\0"*256
    gps = Win32API.new('kernel32', 'GetPrivateProfileString',%w(p p p p l p), 'l')
    gps.call(section, key, "", val, 256, GAME_INI_FILE)
    val.delete!("\0")
    return val
  end

  def Win32API.FindWindow(class_name, title)
    fw = Win32API.new('user32', 'FindWindow', %(p, p), 'i')
    hWnd = fw.call(class_name, title)
    return hWnd
  end

  HWND_TOP     = 0
  HWND_TOPMOST = -1
  SWP_NOMOVE   = 2
  
  def Win32API.SetWindowPos(hWnd, w, h)
    swp = Win32API.new('user32', 'SetWindowPos', %(l, l, i, i, i, i, i), 'i')
    ok = swp.call(hWnd, HWND_TOP, 0, 0, w, h, SWP_NOMOVE)
    # 下の行を有効にすると、常に前面に表示されるウィンドウになる。
    #ok = swp.call(hWnd, HWND_TOPMOST, 0, 0, w, h, SWP_NOMOVE)
    return ok
  end
end

title =  Win32API.GetPrivateProfileString("Game", "Title")
hWnd = Win32API.FindWindow("RGSS Player", title)

# 幅320、高さ480に変更
ok = Win32API.SetWindowPos(hWnd, 800, 600)
if(ok == 0)
  p "サイズ変更失敗"
end
#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================


但地图没跟着变大,就算在做地图时也做得很大也没用..........

请问该怎么改脚本,并且希望能在游戏中实现窗口的变换
如: 800*600 与 全屏 之间的 变换 [LINE]1,#dddddd[/LINE]此贴于 2008-6-24 20:53:43 被版主darkten提醒,请楼主看到后对本贴做出回应。 [LINE]1,#dddddd[/LINE]此贴于 2008-6-29 0:40:21 被版主光郎提醒,请楼主看到后对本贴做出回应。 [LINE]1,#dddddd[/LINE]版务信息:版主帮忙结贴~
作者: 柳之一    时间: 2008-6-12 23:38
不能的原因是你没有相应的改其他的东西。只改了窗口而已。
目前没有办法完美解决,要么请用66的1024分辨率脚本。
要么用美兽的更改窗口脚本。

若想很完美的话,请悬赏吧
作者: lovepea    时间: 2008-6-12 23:46
.........请达人 提供脚本地址......
作者: lovepea    时间: 2008-6-16 00:49
难道没人愿意告诉我吗?
作者: hitlerson    时间: 2008-6-16 01:38
请购买正版的RMXP然后联系厂商

相信我,这的确能解决问题
作者: 灼眼的夏娜    时间: 2008-6-19 01:14
1024x768补丁
http://rpg.blue/upload_program/f ... ��(RM)_93984903.rar

关于补丁程序的执行:
首先判断当然用户分辨率,如果高于1024,则窗口启动;
如果当前分辨率等于1024,则全屏启动;
小于1024,比如800*600的则更改分辨率到1024,并全屏启动(此时alt+enter无效)
分辨率大于1024*768的情况下alt+enter有效
xp、vx一样有效


ps:该补丁为1024*768,可以解决窗口与全屏的切换问题 [LINE]1,#dddddd[/LINE]系统信息:本贴由本区版主认可为正确答案,66RPG感谢您的热情解答~
作者: lovepea    时间: 2008-6-20 05:09
楼上提供的 脚本 还是 没能解决问题.......
在地图周围出现 黑框 虽然是全屏了........但 地图没变大呀.....
begin
  patch = Win32API.new("1024patch.dll", "start", "p", "i")
rescue RuntimeError
  raise "由于内存不足或者其他原因导致游戏运行失败。"
end
if (ret = patch.call("Game")) < 0
  raise sprintf("应用1024×768补丁失败。#error code: %d", ret)
end


究竟管 地图 的是哪部分脚本呀?
作者: link006007    时间: 2008-6-20 06:06
以下引用灼眼的夏娜于2008-6-18 17:14:07的发言:

我是来膜拜的。。。

我记得以前的全屏脚本是可以缩放图像的
作者: lovepea    时间: 2008-6-20 06:10
..........那个是 修改 分辨率拉.....但我要的是 800*600 的 地图呀.....总是显示 那么 一小部分...其他的 是 黑色的....地图画多大张都一样.......不知道 改哪里的 脚本好......
作者: link006007    时间: 2008-6-20 06:15
是啊
我记得由一个更改分辨率的就是可以使得整个画面充满屏幕
作者: lovepea    时间: 2008-6-20 06:33
..........自己解决问题了......

脚本:Spriteset_Map
class Spriteset_Map
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #--------------------------------------------------------------------------
  def initialize
    # 生成显示端口
    @viewport1 = Viewport.new(0, 0, 1000, 600)
    @viewport2 = Viewport.new(0, 0, 1000, 600)
    @viewport3 = Viewport.new(0, 0, 1000, 600)

修改了这里的数值.......貌似可以显示 800*600 的图片了.....
..但地图还待解决

作者: lovepea    时间: 2008-6-20 06:35
还待 高手帮忙解决 刷新问题.....这样改后 走地图 会闪........
作者: lovepea    时间: 2008-6-20 06:38
貌似得改 这个 游戏的 所以关于地图的 脚本的 数据.......高手 或者 达人 告诉我.......哪些 是管 地图的 脚本。 ........
作者: lovepea    时间: 2008-6-20 21:18
沉下去了?谁帮我呢?
作者: lovepea    时间: 2008-6-26 02:49
谁会呢? 上次有人用 WIN32 做了个 1024*768的成功了.....但是 是加密游戏.....请谁帮帮忙
作者: dna_7086    时间: 2008-6-26 03:03
提示: 作者被禁止或删除 内容自动屏蔽
作者: 3370123    时间: 2008-6-26 03:29
我记得柳柳的教学游戏<大富翁·勇者斗恶龙>里用的脚本就是全屏的
作者: lovepea    时间: 2008-6-26 05:01
不是要 全屏呀.........全屏那个是 调分辨率呀......我要的是 地图显示为 800*600

原来的地图 只 显示640*480....刷新是个问题......但 大小还没解决
作者: 柳之一    时间: 2008-6-26 05:14
地图块部分目前无法完美解决。因为内部的这个脚本没有放出。

柳柳的那个制作起来很麻烦。估计没有人给你做。
所有的地方都需要修改。

如果不用土块做还可以。
工作量大。所以不做。而且至今,r界没有见过一个游戏是楼主所说的。
作者: lovepea    时间: 2008-6-26 05:17
没有才要尝试嘛........
作者: 灯笼菜刀王    时间: 2008-6-26 05:28
鼓励尝试。

但我不参与,人生苦短....
作者: 柳之一    时间: 2008-6-26 05:35
以下引用lovepea于2008-6-25 21:17:01的发言:

没有才要尝试嘛........

那就自行尝试吧,参考66的脚本,原理一样
作者: dna_7086    时间: 2008-6-26 06:34
提示: 作者被禁止或删除 内容自动屏蔽




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