我游戏的默认表面在实现以下代码之前是这样的:https://preview.redd.it/cme8e3jxptbh1.png?width=646&format=png&auto=webp&s=24bb03078565b7510652d2c1e6521777a431955f
我一直在试图遵循萨拉·斯帕丁的像素艺术相机教程,这个教程涉及到禁用默认表面并在相机对象的后绘制脚本中重新绘制它。上面的截图显示了当我不禁用表面时我的游戏是什么样的。 当我禁用它时,它就变成了一张黑屏。 我是新手,所以我也不理解为什么使用draw_surface_ext()不会实际绘制我的表面? 有关这个问题的任何帮助都会被感激。
我的相机对象的创建事件:
cam = view_camera[0];
follow = oPlayer;
view_w_half = camera_get_view_width(cam)*0.5;
view_h_half = camera_get_view_height(cam)*0.5;
xTo = xstart;
yTo = ystart;
surface_resize(application_surface, GAME_WIDTH+1, GAME_HEIGHT+1);
application_surface_draw_enable(false);
我的相机对象的后绘制事件:
gpu_set_blendenable(false);
var _scale = window_get_width()/GAME_WIDTH;
//手动绘制表面以账户子像素
draw_surface_ext
(
application_surface,
0 - frac(x)*_scale,
0 - frac(y)*_scale,
_scale,
_scale,
0,
c_white,
1.0
);
gpu_set_blendenable(true);
评论 (0)