【QA】2018第6周

好啦,问题不多,但也值得记一笔~
不用因为问题过于简单而不好意思问,那样只会阻止你继续进步:)

声音的控制

来自QQ群的"Alucard"问了这样一个问题

有什么办法可以让除了背景音乐以外的声音全部停下呢?

最简单也最有效的办法当然是手动挨个去处理,不过如果声音素材很多也许容易搞混搞乱,所以也可以用下面这种方法

audio_pause_all();
audio_resume_sound(snd_bgm);

就是首先暂停所有在播放的声音,然后单独把背景音乐的那个恢复播放,之后如果需要恢复其他的声音的话也可以直接使用"audio_resume_all()"
但这种方法只适用于暂停播放,我们也可以开一下脑洞,比如把所有的声音资源都放进一个数组进行统一管理,在遇到这种问题时就可以用循环等方式去停止(stop)所有音源的播放,或者干脆抽象写个脚本来处理(只用一次就算了太奢侈了)

调节代码编辑器文字大小

这是来自QQ群中"XChuang"的问题,其实以前也有朋友问过,但之前我都是说可以去设置里直接改😂
然后群里今天有朋友("Doggy")给出了更方便的快捷键操作——键盘上的功能键F7F8
分别对应缩小和放大字体
再也不用怕眼睛看瞎了😂

tilemap 和 object

这算是某个讨论的延伸吧,起先是在讨论tile/tileset/tilemap这几个名词到底该如何翻译比较准确,似乎目前很多人是翻译成瓦片地图之类,总觉得怪怪的,但是似乎一下子也没有太好的方案orz
之后发现原来在国外的论坛上也有人在讨论用tilemap和对象(object)来绘制关卡或场景有何异同。
目前来看,一般情况下使用tilemap肯定会比用object效率更高,性能消耗更低,而且GMS2中已经支持动态的tiles显示,所以游戏场景中那些没有任何交互的背景完全可以用tiles来实现。
因为一个object对应拥有精灵(sprite)、碰撞蒙版和许多默认的内置逻辑,那用的越多自然就越消耗性能,但是也可以用一些方式来控制这个消耗,比如检测object是否在当前的视野中(view),在进入视野的时候才激活,一旦离开视野就deactivate掉来降低资源消耗,使用tilemap就无法做到这一点。
另外也有人提出可以画一整张图片放到场景(room)中来绘制游戏场景,其实这样做虽然可以,但同样对资源的消耗比较大,如果场景可以抽象成一个个小的tiles,然后进行拼贴无疑是更好的选择。
大概就是这样,如果你有更多心得也可以分享出来哦:)

2018-11-12 11:34
Comments
Write a Comment
  • Zhangchi860804 reply

    完全可以用tiles来实习->完全可以用tiles来实现

    • 顺子 reply

      @Zhangchi860804 可以说非常仔细了,谢谢指出

    • 顺子 reply

      @Zhangchi860804 已修正

      • Zhangchi860804 reply

        @顺子 没啥技术上的建议,也就校对了:-D