新人提问集中帖[2020]
gamemaker吧
全部回复
仅看楼主
吧务
level 13
q糖豆p 楼主
看到退休的玉米的新人提问帖总是被顶上来,略有感慨。于是决定重开一帖。缓解一下原来的楼层过高的问题。另外新开的帖子逐年更换,以免“新帖”走上旧帖的老路。
提问须知:
0:确认你的问题在置顶帖、贴吧第一页、集中帖的最后一页都无法找到答案;
1:确认你的问题不在引擎自带的新人教程范围;
2:请勿使用含贬义的词汇来形容你的问题,除非你确实想说“无法回答这个问题的都(贬义词)”;
3:通常来说,你的问题要包含这4个部分,即“你想做什么”(目的)、“你做了什么”(过程/已有内容)、“现在的效果”(运行结果)、“决定性的差异”(要改进/改变的地方),除非你有充足的理由省略其中一项或多项;
4:如果附带代码截图,请把object名、事件名、代码行号一起截上,并保证截图里的“空白”尽可能少;
5:不要拿别人的代码出来提问。
补充:
0:不鼓励“怎样做一个RPG游戏”/“怎样做一个类似Y的游戏”这样空泛的提问,除非你只是想(运气好)听个大概思路或者是(运气差点)建议你直接做/换引擎做;
1:不鼓励“这样写能否实现Y功能”之类“结果是布尔类型”的问题,为什么不自己测试一下呢;
2:此帖年底封印,之后的新提问转移至新帖,但追问/回答可以继续使用,注意更换问题内容的问题不是追问,补充原问题里本以为自己说清了但其实没说清楚的细节才是追问。
2020年08月20日 03点08分 1
level 1
大佬们好,我这里有一点问题
我现在想要做一个鲸鱼吞食小鱼的效果,就是按下字母a同时小鱼(图中彩色方块)在鲸鱼前方一定距离的话就会朝着鲸鱼移动,碰到鲸鱼后消失
代码写在了小鱼的obj上面,如下
其中鲸鱼的image_xscale已经设置了随鲸鱼左右的朝向改为1或-1,平时运动没有问题,鲸鱼的step事件如下(我觉得问题应该不在这里)
现在的问题是,按照上面小鱼的代码来写,运行后会变成,无论鲸鱼朝向哪个方向,距离有多远,全游戏空间的小鱼都会朝鲸鱼移动
希望大佬们看看问题出在哪里
2020年08月21日 03点08分 2
level 1
第三个图发错了,是这个
2020年08月21日 03点08分 3
吧务
level 13
q糖豆p 楼主
@Cinderquill 在2楼的提问:
0、不建议新人阶段省略各种括号,比如if后边的圆括号
1、o_fish1back的step事件代码第4行a<b<c,会先计算a<b判断其成立(true→1)或不成立(false→0),当c大于1时这部分的结果恒定为true;//a<b and b<c不要用人类方式进行简写
2、同事件第8行是<=、=、<=连写,我就不检查逻辑关系了,与1的处理方法相同
事实上,小鱼的被吃逻辑,我更推荐这样写:
if(按下A){
if(鲸鱼朝右){
if(在右吞噬范围){被吃;}
}else{
if(在左吞噬范围){被吃;}
}
}
个人感觉逻辑上更清晰一些。
2020年08月21日 06点08分 5
level 2
我用了这个插件,为啥打字机还是不能打印中文
2020年08月24日 02点08分 6
几个问题:0、你的截图里已经有中文;1、关键的“你做了什么”没说全,其中最关键的是“用什么方式来获取的整句话的一部分”;2、中文字符通常占2字节(ANSI编码),做打字机效果时需要考虑到这一点。
2020年08月24日 06点08分
截图又不要钱,截那么小怕别人偷你代码偷你创意吗?你怎么绘制的,在哪个事件绘制的,初始化字体的代码在哪里,以及这些代码到底有没有被执行,具体发生了什么问题,什么事,全部都交代上来。问题的情况那么多,不可能帮你解决问题还得猜你遇到了什么问题吧?
2020年08月24日 07点08分
level 7
(新人求助)请教各位大佬 我在按f5运行之后,右上角就一直显示building,以前做的所有东西运行都会这样。。
2020年08月25日 14点08分 7
截图里可以看到这是在使用2.2的IDE和2.3的runtime。有消息是2.3进行了大量更新,这样的跨版本可能有地方会编译失败。建议先统一版本。
2020年08月26日 01点08分
感谢两位回复的大佬 更新为2.3之后已解决
2020年08月26日 04点08分
level 5
绘制为什么用不了啊,屏幕上啥都没出现,帮助文档里没有相关内容
2020年08月30日 05点08分 9
我想要是屏幕上出现一个方形,然后我这么弄了,屏幕上啥都没出现,那么这个绘制功能该怎么使用呢
2020年08月30日 05点08分
请在绘制事件里绘制
2020年08月30日 05点08分
@MikuScarlet 谢谢
2020年08月30日 06点08分
level 3
新人求教,我已经在这卡了快14个小时了,一直在这转圈就是不走了[泪][泪]
2020年08月30日 06点08分 11
移居英格兰即可解决
2020年08月30日 08点08分
level 5
怎么在使用视野时在鼠标位置上创造物体?我创造物体里X坐标写的是window_view_mouse_get_x(id)+view_xview[0..7]+x,Y坐标同理,没选相对,结果创造的物体偏移到鼠标下面了,这个该怎么做?
2020年08月31日 05点08分 12
建议测试一下这个window函数get到的坐标是否包含窗口边框和标题栏。如果包含的话数值可能因windows版本而有区别,建议在游戏的初始化过程里未开启view时对比这个函数与mouse_x的差值做参考。
2020年08月31日 09点08分
mouse_x mouse_y就是当前鼠标在房间内的位置
2020年09月01日 02点09分
level 13
gms2游戏运行的流畅度对电脑什么硬件要求高,cpu总体性能?还是cpu单核性能?还是显卡性能?
2020年08月31日 12点08分 13
理论上来说,跟引擎关系不大。如果你的游戏有密集的碰撞等gml运算,则消耗cpu性能,如果有密集的shader运算,则消耗显卡性能。另因gms2原生不支持多线程,故应该比较吃单核性能。
2020年09月01日 04点09分
@sunyubokkkkk 如果支持多线程就好了,要不然好多时候是一核有难八核围观[笑眼]
2020年09月01日 06点09分
@sunyubokkkkk 还有obj太多也是费cpu吗?比如一个obj一帧生成3个同样的obj,无限循环,一会游戏就开始卡了,这是cpu运算跟不上了吗?
2020年09月01日 06点09分
@Venus🔥 那肯定吧…每秒理论60帧,你可以算一下这一秒生成了多少个实例
2020年09月01日 06点09分
level 13
gms2里绘制spr后为什么后面的精灵都盖住了?调深度也不管用,我把draw_sprite写到绘制gul了,有大佬知道哪里出问题了吗?
2020年09月09日 16点09分 15
请先在F1帮助里查阅Draw GUI事件的相关说明以及什么是GUI,这个问题就解决了。
2020年09月09日 23点09分
@sunyubokkkkk 这样啊,然后新问题又出现了,如果我把gul里面的代码复制到draw里后新绘制的spr就不随着屏幕移动了,这个问题如何解决啊?
2020年09月10日 07点09分
@Venus🔥 你需要使用视野。
2020年09月10日 09点09分
@宋异人 好,我试试
2020年09月10日 09点09分
level 13
请教个fps与fps_real的问题,游戏设定是60帧,为啥fps_real有时低于60,但fps显示一直是60,有时fps显示不满60但fps_real显示好几百,到底哪个是游戏目前真正的帧数?
2020年09月11日 18点09分 17
fps是当前每秒的运行帧数(步数),由于某些情况存在(比如卡了)所以一般是在比设定值略低的范围内波动;fps_real是如果步循环完成后如果引擎不强制插入“空白时间”时游戏能运行到的帧数,用来判定游戏优化的状态,理论上这个值高于fps。2.3大家普遍感觉优化有问题,2.2时real通常破千(甚至过万)
2020年09月12日 00点09分
@q糖豆p 对,2.3非常有问题,莫名其妙的卡,2.2还没有这种问题,那么版本还能退回去吗?
2020年09月12日 07点09分
吧务
level 13
q糖豆p 楼主
18楼的代码解释:
with(A){  //启用with结构,这个花括号里的代码会由所有的A(而不是B)来执行。
  if(x==other.y){  //由于是with的花括号内部,这里增加一级缩进。另外with内部可以用other来指代调用自己的实例。
    instance_destroy();  //判断成立的A(也就是相对应的A)进行销毁,由于又在if花括号里,所以有第二级缩进。
  }  //花括号收束,减少缩进
}  //花括号收束,减少缩进
其实GMS2的代码编辑环境下,正常输入的话,缩进就会直接变成这个样子,不用手工敲/删TAB。
2020年09月19日 02点09分 19
@0 判等,就是判断左右两边是否相等(必须是同数据类型,比如string和string,real和real)虽然在if里面你也可以用一个等号判等,但是不是很建议。
2020年09月19日 13点09分
@0 比较全的表达式说明在f1的Gamemaker语言(GML)—GML 语言概述 — 表达式里。
2020年09月19日 13点09分
1 2 3 尾页