请问如何用代码更改视口的长宽
gamemaker吧
全部回复
仅看楼主
level 6
kh16wlll 楼主
请问该怎么用代码来更改在房间页面中可设置的:视口与相机→视口(数字)→视口属性→长/宽
我在初始房间内的一个物体的“房间创建事件”里这样写:
ww = 500
hh = 500
view_wport[lbk]0[rbk] = ww
view_hport[lbk]0[rbk] = hh
window_set_size(ww,hh)
游戏默认效果为以下图1的效果,增加上述代码来运行后,游戏刚开始时,效果为以下图2的效果,也就是我想要的效果,但当游戏经过第9帧后,输出栏里会提示“resizing swap chain”,然后第10帧后,效果就会变成以下图3的效果(把图1显示的画面整体缩小塞进了图2的窗口里,并且空余的地方为黑色),请问这是怎么回事,该怎么解决。
2025年02月25日 19点02分 1
吧务
level 13
从最开始的房间(room)摆放及默认绘制,到最终画面展现给玩家,中途会经历的坐标变换,咱知道的有
room尺寸;
启用view以后的观察范围camera;
启用view以后的输出范围port;
一个不知道算不算隐藏内容的,被咱理解为“最终输出表面”(application_surface)的东西的大小;
窗口(window)大小。
其中有一部分(如room大小)不能在使用时调整。
咱始终是不推荐游戏开启后变更相关设定的,其中一个原因就是楼主现在遇到的(咱没完全看懂但基本符合的)情况。建议先调整一下application_surface的大小试试看。
2025年02月26日 00点02分 2
感谢,修改了application_surface后整体效果已经达到了我想要的效果,但游戏的前9帧依然会出现异常(画面宽度被拉长了塞进了游戏窗口里,左右两边空余区域是黑的),在第9帧依然会提示“resizing swap chain”,然后第10帧画面就会变成该帖子图2的效果,也就是我想要的效果。
2025年02月26日 07点02分
@kh16wlll 那就不清楚了,提问部分看不出第9帧发生了什么。不确定是设置了alarm事件还是提到的这个create实例实际到第9帧才创建。resizing swap chain也不清楚是不是使用第三方的代码(或插件)导致。
2025年02月27日 03点02分
@q糖豆p 并没有设置相关的alarm,以及并没有使用第三方的代码和插件
2025年03月06日 07点03分
1