gamemaker吧 关注:13,690贴子:95,793
  • 3回复贴,共1

(GM8)关于视野和表面提问

只看楼主收藏回复

GM8的问题
①深度为100obj0是一个蓝色的矩形,
②深度为50的obj1是一个橙色的矩形,
③在深度为70的obj2里新建并绘制一个透明的表面,
④当我改变视野的时候蓝色矩形相对屏幕的位置会移动,而橙色的不会...
概括一下:在视野坐标改变时,为什么深度比表面小的图像不会移动(停留在原位置)?该如何解决这种问题?


IP属地:浙江1楼2020-01-25 22:14回复
    推测view是基于类似surface的方式来实现的,而surface_reset_target会连view的输出坐标一起重置掉。
    建议“向表面绘制内容”的代码放到其他事件里去(反正别放在draw事件里),“把表面的东西绘制到屏幕”那部分留在draw。至于“创建表面”那种东西应该只运行一次的放到create事件以及每次使用表面前“检测到表面丢失”的判断里。当然了,有能力使用表面的话,直接用表面来取代view也可以。毕竟大量静态物体用表面可以选择只draw一次,多视角的游戏里draw事件执行多次,这些都会带来显著的性能差异。


    IP属地:北京2楼2020-01-26 15:21
    收起回复
      2025-11-30 01:04:51
      广告
      不感兴趣
      开通SVIP免广告
      话说这个问题距离理想中的完整提问就差把③每个动作对应的事件标记清楚了。


      IP属地:北京3楼2020-01-26 15:22
      回复