新人提问集中帖[2022]
gamemaker吧
全部回复
仅看楼主
吧务
level 13
q糖豆p 楼主
提问须知:
---基础---
0:确认你的问题在置顶帖、贴吧第一页、本集中帖的最后一页都无法找到答案;
1:确认你的问题不在引擎自带的新人教程范围;
2:请勿使用含贬义的词汇来形容你的问题,除非你确实想说“无法回答这个问题的都(贬义词)”;
3:通常来说,你的问题要包含这4个部分,即“你想做什么”(目的)、“你做了什么”(过程/已有内容)、“现在的效果”(运行结果)、“决定性的差异”(要改进/改变的地方),除非你有充足的理由省略其中一项或多项;
4:如果附带代码截图,请把object名、事件名、代码行号一起截上,并保证截图里的“空白”尽可能少;
5:提问请注明当前使用的软件版本(特别是S2的2.3重大更新后有些格式上的变动)。
---进阶---
6:不要拿别人的代码出来提问;
7:请充分理解,绝大多数问题的解决方案都不唯一,不同人回答的可能是不同路线,且可能在方向上正好相反(如两件事冲突选择放弃/弱化哪一个)。一题多问会大幅度增加这种情况的发生概率;
8:请尽量避免提问类似“有没有人知道……”之类的问题,除非你想要的确实是“有”或“没有”这样的结果(做游戏/程序,严谨是必要的);
9:请尽量使用正式一些(括号齐全,按程序逻辑设置缩进)的代码格式,也许格式改好以后自己就能找到错误在哪;
10:加一个变量能解决的问题都不是问题,加两个变量/一个数据结构能解决的问题也都不是问题;
11:能自己做个demo测试一次就知道答案的问题都不是问题,无论怎样都设计不出demo来做出区分的选择对你来说选哪个都一样,不必纠结。
---传承---
12:如果问题的复杂度较高,且有计划逐步攻克问题并记录完整解决方案的话,建议单独开帖,本吧精华帖类别“经典问答”正是为此准备;
13:问题完美解决以后,希望能留下解决问题的记录(用了什么方法,或参照哪个回答的方案),这里有不少“哟,我这坏了不能用”这样不明所以的提问又在几天之后追加个“哟,现在能用了”这种不明所以的解决方法,对后续搜到帖子的读者没有任何帮助;
---碎碎念---
话说这吧从什么时候开始大家都不再分享自己的demo了。
2021年12月30日 14点12分 1
level 13
求分析,在安卓设备上写了一串检测手柄的代码,最近遇到了非常奇怪的问题(手柄为非蓝牙手柄),
疑点1:
global.connect=1的情况下居然有的手机能控制而有的手机不能控制,然后我又调出来了global.pad的数据,发现无论用什么手柄global.pad都等于0,而在电脑端等于4,所以我就怀疑可能手机某种设置原因或者权限原因把设备端口0跳过去了才导致控制无效,如果不是这个原因我真的搞不明白什么原因能导致这种情况(我确定手柄已经接上手机,并且能有效控制其他手机游戏)
疑点2:
在手柄控制gms2游戏有效的情况下,如果中途拔出手柄再按上就会手柄失灵,然而电脑端不会这样,这个现象又是怎么造成的呢?
下面第一张图是关于手柄连接的代码,我把手柄连接的代码放在了最开始的房间内,第二张图是检测连接端口的代码,player和检测手柄的代码不在一个房间内。
2021年12月30日 17点12分 2
level 13
又经过几天的研究发现安卓端手柄端口0是默认被蓝牙占用的(只要之前这个手机用过蓝牙设备,就算是不开蓝牙,gms也默认把连接过的那个蓝牙设备给端口0,然后导致接线手柄不管用),求这个问题的解决办法,安卓好冷门啊,出的问题都是别人没碰见过的[怒]
2022年01月03日 16点01分 4
安卓不冷门,手柄不冷门,异步事件不冷门。任意两个组合就开始Rare,三个揉一起就是SR,三个揉一起还有线/蓝牙混用当然就SSR。再加上这这不明所以还被水印盖住的代码,让人无从下口。还有就是单开帖子的话,以为你还要补充说明很多内容。
2022年01月04日 03点01分
@q糖豆p 昂,单开的那个帖子如果我问题解决了我会把解决方法发到2楼的(我估计后人碰不到我这种情况[喷])不过现在问题已经简单化了,那么如何能让连线手柄插入后就直接被安排到端口0呢?而不是端口1呢,或者是插入手柄后直接识别这个手柄而不是之前的蓝牙记录。
2022年01月04日 03点01分
@q糖豆p 我看了一下gms的文档讲解,那上面就说只要手机有蓝牙记录(哪怕是目前没开着),gms就会优先直接识别成手柄分配给端口0[喷]
2022年01月04日 03点01分
@Venus🔥 这方向就不对啊,应该是新接入的设备分配了哪个接口就去读取那个接口的输入内容,甚至是读取所有接口的输入再根据接口分配情况决定控制“哪个实例”。
2022年01月04日 05点01分
level 5
我的2.3.7gms2想要输入中文,但是输入法选文字的框不显示,但是我打了一个w,按1键还是可以打出中文,就是输入法显示不出来,求解决
2022年01月06日 16点01分 5
一个“包含两个‘但是’的陈述句”要“解决”,方案有可能不是你想要的,比如“关闭输入法”。另外提问没有提到输入法类型(和设置),不排除输入法自身缺陷无法识别GMS2输入接口的可能。
2022年01月08日 00点01分
输入法用的是搜狗输入法
2022年01月09日 19点01分
我记得以前2.3.3.574的时候输入法还可以显示,但是现在更新到2.3.7以后输入法的文字框就显示不出来了。。。
2022年01月09日 19点01分
代码编辑本来就是“没必要大量输入中文”的地方,实在有需求而系统又确实冲突的话,在别处输入好了复制过来也能用。系统冲突这种事(特别是我这样既不用2.3新版也不在工程里敲中文的)有点力不从心啊。
2022年01月10日 07点01分
level 9
好期待吧主大人可以发一个act横版过关的主角范例就是gamemaker8.0支持可以直接打开的工程,工程里包括//的解说,可以实现平地左走、平地右走、跳跃、落地、坠落、攻击、左行上斜坡、右行上斜坡、左行下斜坡、右行下斜坡——这些功能。
2022年01月09日 06点01分 6
已经可以确定这是白日梦了。咱写过一个,不包含斜坡,但包含移动地形/可破坏地形/缓降技能/闪现技能。后来遇到“可以贴在带有半身高度缺口的墙边不滑落”的BUG发现需要重写底层修复,之后还没动过那个坑。后续就算重开的话肯定不会在GM8(因为代码编辑器的卡顿问题),而且主体构造选择仍然会有差异
2022年01月09日 14点01分
说起来,在几年前看过有个范例,有斜坡走的实现功能
2022年01月09日 14点01分
@q糖豆p 之前下载了您的一个act游戏范例,不过是EXE版本,一个方块act游戏,可惜gamemaker8.0无法查看里面的对象代码。
2022年01月09日 16点01分
@MikuScarlet 目前还是难在了人物的移动与地形互动上的——横版过关(类似《恶魔城》)的制作包括多个人物动作,难道还是有的。
2022年01月09日 16点01分
level 9
吧主大人可不可以把之前您在吧里发过的那个方块act横版游戏的原工程文件发一下下载地址呢——方便研究学习里面的实现代码(最好正常gamemaker8.0版)。
2022年01月12日 13点01分 8
level 9
楼主大人,GMS2 GMS有没有32位XPwin系统版呢,之前下载的好像无法安装在XP系统里。
2022年01月13日 14点01分 9
据我所知GMS2的系统要求是64位,而64位XP这东西似乎是存在的。S1不太清楚。
2022年01月14日 02点01分
@q糖豆p 小编的系统是XP32位,看来是运行不了了。[汗]
2022年01月14日 04点01分
level 1
求助 gamemaker如何实现obj的逐渐伸长或放大
2022年01月15日 15点01分 10
@0 图片只能向右边伸长可以解决吗
2022年01月16日 04点01分
i wanna坑向的刺
2022年01月16日 05点01分
@0 I wanna里面的刺
2022年01月16日 05点01分
@0 说iwanna的刺,还要变形的话,多半是类似BV1is411p7gq的4分04秒那种。
2022年01月16日 15点01分
吧务
level 13
q糖豆p 楼主
@12123434流量 在10楼提问的解答:
object其实没有尺寸这个参数,instance也没有,但instance调用的sprite有,同时调用的collision mask也有。按后续补充说明里写的,可能这部分是题注需要的。
首先问题被分解成2个子问题:如何拉伸/放大,如何“逐渐”实现。
拉伸/放大的做法,如果是iwanna的变形刺,建议使用image_xscale和image_yscale两个变量来进行控制。这是GM实例的两个自带变量,初始值是1,表示默认绘制下图片的横向/纵向拉伸系数。使用这两个内置变量(而不是使用draw_sprite_ext)的好处是他们在改变“看到的大小”的同时,还会更改“碰撞判定”的大小。毕竟iwanna的特色之一是碰到了刺“变大的部分”也算是碰到。要注意的地方,一个是这个参数影响的是默认绘制过程。如果这个刺使用了自定义绘制函数,请检查绘制过程是否考虑了这两个参数带来的影响。另外放大/缩小是以原始素材方向计算的,旋转了90°的刺在增大yscale时是水平拉长。还有就是缩放的中心是sprite设置的原点(的左上角)。
关于“逐渐”,换个说法就是“在生效的时间内,每帧都要比上一帧有所变化”。可以在step事件(或者step循环的其他事件里)更改这个变量的值,注意不是一次更改到位。比如当前值是1,想逐渐变到2,可以选择a=min(a+0.01,2)或者其他你能想到方法。至于是否要加个变量来进行限制(比如陷阱触发后才开始变形)请题主自行搭建。
2022年01月16日 15点01分 11
level 9
为什么gamemaker的人物在大的背景图1000*648或以上的房间里移动时每次视野移动背景图都有明显的干扰变形呢——是不是因为背景图占用资源太大,有没有在使用大的背景图时让图像更稳定的方法。
2022年01月17日 23点01分 12
已经决绝了——是房间的帖数不足,应该每秒60才可以。
2022年01月18日 04点01分
level 8
楼主,你好,有个问题请教
玩家不移动,一切正常,为什么玩家移动到地图外,怪物也会跟随玩家移动到地图外,怎么让怪物只在指定地图的X,Y坐标内移动不移出地图外
链接:https://pa删n.bai删du.com/s/108删VeTvsUOXVqSQ_l02TgRQ
提取码:1111
2022年01月20日 00点01分 15
@0 解决了,使用视野就没有上面出现的问题了
2022年01月21日 04点01分
既然老弟提到关于移动的问题,那么小编想问问房间在使用视野跟随玩家对象时,哪怕把[垂直同步]勾选并且房间帖率不超过60的情况下个屏幕局部画面撕裂应该怎么避免呢?
2022年01月27日 04点01分
@音乐歌手星团♬ 不懂你说的撕裂是啥意思
2022年01月27日 06点01分
就是例如一条垂直的直线,在移动时会自动变成两段,停下移动时又变成一条直线。
2022年01月28日 00点01分
level 8
问下怎么在gamemaker里面怎么把一张图裁切成4份
2022年01月21日 08点01分 17
4份是否等大、要在编辑阶段还是运行阶段完成、读取来源和保存目标是什么。根据这些选择,做法是完全不同的。
2022年01月21日 08点01分
@q糖豆p 4份等大,就在GM自带的图片编辑器里做,读取和保存格式为PNG,怎么操作
2022年01月21日 12点01分
在编辑sprite的界面里,有一项操作是Create from Strip(GM8叫法)或Import Strip Image(S2叫法),可以把素材图切开来载入。
2022年01月22日 04点01分
@q糖豆p 成功了,非常感谢!
2022年01月22日 04点01分
level 2
楼主你好,如何在人物行走时播放一个精灵,在立定后播放相应朝向的精灵(比如往左走播放往左走的精灵,朝左立定时播放向左立定的精灵)
2022年01月23日 04点01分 18
这个问题好像问了好多次,是不是都是你提的
2022年01月23日 04点01分
@vjdnvk 不是啊,我是新来的[阴险],翻了翻以前的没找到合适的回答[小乖]
2022年01月23日 05点01分
你这么问,默认你知道怎么从行走变回立定。那么……加一个变量就能解决的问题都不是问题。比如用一个变量来表示最后一次的朝向,每次转向时(或者尝试移动时)都把朝向记录改为最后的朝向,那么变回立定时自然就知道该是哪个方向的立定了。
2022年01月23日 07点01分
假设你只是想要镜像效果,可以使用image_xscale = -1 (假设你没有修改xscale的大小)
2022年01月23日 14点01分
level 8
GM能不能编写自定义库函数啊!注意是库函数,不是函数
2022年01月27日 00点01分 19
为了回答还要查了一下库函数的意思[狂汗]就我知道的范围里GM系没有对应的功能(特别是封装到“用户不可读但可用”这个层面)。相似功能是2.3用function取代script,新script是function的“容器”这个改动,可以方便把多个函数打包转移到另一个工程里。
2022年01月27日 00点01分
@q糖豆p 谢谢,辛苦了
2022年01月27日 01点01分
不知道gamemaker支不支持汇编语言,如果用户可以开发新功能,说不定用户可以进入一些功能,但如果与软件有冲突,估计也会产生运行错误吧。
2022年01月27日 04点01分
1 2 3 4 5 6 尾页