新人求问,萌新想做一个房间传送功能,并且可以在传送按钮切换不
gamemaker吧
全部回复
仅看楼主
level 5
新人求问,萌新想做一个房间传送功能,并且可以在传送按钮切换不同房间的时候,预览当前选中房间的缩略图,也就是还没传送的时候,看一下这个房间里面都有啥,相当于一个静态房间图片,这个功能要咋做?
2025年11月19日 14点11分 1
吧务
level 13
其他游戏的常见做法:
0、每个传送目标都有对应的id;
1、每个id都有对应的静态图片(预制)、目标坐标、所在世界(或者叫副本、room);
2、对应到题注的问题,传送器可能需要一些数据来记录现在“允许传送哪些目标”、“当前目标是哪里”;
3、对于地图的常规动态(比如一次性物品是否拾取、昼夜变化)预制的静态图不做处理,只有在重大变化(经过关键剧情整个世界发生改变)之后替换为另一组预制的静态图。
如果题主想更进一步,让这个预览图不是预制而是实时更新的话,可能要使用很多需要初期投入的东西,比如:
0、地形数据不能用房间摆放,而要使用数据存储,以便玩家“在传送前就能读取目标位置的地图数据”;
1、为了实现上述目的需要自己定义地图格式,还有自制个简易地图(或者说地形)编辑器;
2、在需要显示传送目标时,根据目标位置时间(如果做了昼夜和时差)、目标附近状态(一次性交互物、可更改地形、时限怪物等)进行重新绘制,如果想的话甚至可以做成动态的;
2025年11月20日 00点11分 2
感谢大佬指点,我今天已经做成动态预览了
2025年11月20日 15点11分
level 14
我有一个想法啊,能不能把所有“房间”的内容都放一个大房间里,平时把其他房间除了地形之外的所有实例都给冻结了,预览的时候直接加一个view。传送到时候再激活对应房间的实例[阴险]
2025年11月27日 09点11分 3
想到最近常听的一个句式:“想法是好的,但你先别想”。冻结这个功能其实是一种优化方案,如果地形全都不做冻结处理那么他们其实仍然是要执行绘制事件的,且开启多view时还会draw多次,是非常浪费性能的。咱之前用5个view显示列表(列表内容被draw了5次)放爪机运行结果又烫又费电,印象很深刻。
2025年11月28日 03点11分
level 14
回复 #(reply, tb.1.d70a5ed5.23vs3Uk4LGtm6shThxyKPQ?t=1764404970, q糖豆p) :那看来不可行,还是用静态的吧
2025年11月29日 08点11分 4
1