gamemaker吧 关注:13,651贴子:95,199

回复:新人提问集中帖[2024]

只看楼主收藏回复


图中f5为保存,计时器为f6(读取)后的延时触发便于观察,正在尝试使用配对来存放数据,关于储存和调用已经成功了,但开荒遍历的时候有点头疼,图中画圈的部分是我新加的for结构,在之前直接使用i=1(没有这个for)进行调试能够正常保存和读取,加入这个for之后观察输出的dat文件显而易见地出现异常:长度变短了百倍,也就是说保存都出了问题,研究了半天,尝试在“按下f5(保存)”代码的画圈for结构花括号开头加入一个with(instance_id[i]),以为能够遍历到了,结果仍然是异常(dat文件及其短且和没加with之前一样),对于遍历调取实在不太熟悉,想再请教一下大佬们Orz


IP属地:吉林17楼2024-03-19 23:43
收起回复
    如图,当我把保存和读取的for注释掉,并直接给定i=1时,可以成功读取一个角色(chara-p),我以为这是因为chara p也默认初始化了map记录在同一个文件里面,而读取时saving-gm在同一个路径获取了同一个dat所以能读取,像这样考虑的话,chara-p(图二中左边s-tn walk的父对象)的savedata应该就是成功储存,而这个gm的savedata就应该等于默认值,但是图二中,chara-p完全没有savedata这个变量,反而是saving gm的save result(图一29行处理)成功获取到了,这说明在with结构外,saving gm的savedata不仅得到了值,还赋给了result,反而是with结构中的savedata(图二左边对象)甚至没有被初始化,这与我理解的with相背,难道是文件处理出了问题吗



    IP属地:吉林来自Android客户端18楼2024-03-22 10:33
    回复
      @Acilen- 18楼的这段代码解读一下是这样:
      第9行:创建了一个map结构,并把索引保存到save_data变量(当前实例)
      第12行:开始with结构,在chara_p执行动作
      第23-25行:像索引为save_data(chara_p的某实例)的map结构写入数据
      第28行:离开with结构
      第29行:把索引为save_data(当前实例)的map结构保存。
      这索引为save_data(当前实例)的map结构从创建之后就没改过啊,保存了啥。如果两边的save_data撞上只能说运气好,不能说是你程序做对了。


      IP属地:北京19楼2024-03-22 10:52
      收起回复
        我想知道为什么在官网看不到Game Maker Studio 2的下载,应用市场里却有


        IP属地:江西20楼2024-04-15 17:53
        收起回复
          @它是小血球2 关于文件夹找不到的问题,请不要挖2017年的坟。
          以下是几个需要注意的方面:
          0、你的照片(而不是截图)是“c:\user”文件夹,根据你的当前用户,需要进一步打开“lenovo”或“司秦淮”,那个楼里用“c:\用户”来指代“当前用户文件夹”通常认为是一种默认省略,毕竟大家机器上用的用户名并不相同(除了没安全意识用了Administrator、Admin的那批人;
          1、appdata是个隐藏文件夹,需要显示隐藏文件才能看到;
          2、GMS2工程的沙盒文件可以用更方便的方式定位,就是%localappdata%和%appdata%,具体是哪个可以在GMS2的工程文件里windows平台设置下选择,另外请注意名称里包含首尾的百分比符号;
          3、不要挖坟,不要挖坟,不熬挖坟。


          IP属地:北京21楼2024-06-17 09:37
          收起回复
            大佬我想问一下gms免费的和付费的有什么本质区别没,以前我记得免费的是无法导出exe的所以一直没用过,这几天发现可以导出了打算来用这个引擎了


            IP属地:河南来自Android客户端22楼2024-06-19 21:47
            收起回复
              @魔導紳士 回复一下3楼的问题,这个问题也是我之前一直想解决的,现在我知道咋做了。
              如果是想在原贴图的基础上“变白”,建议使用d3d_set_fog(gms2的话就是gpu_set_fog),用法如图一所示

              make_color_rgb直接改为你希望闪一下的颜色(c_white)即可
              如果是改变亮度的话gm8我目前不知道有没有这个功能(因为我换引擎了),不过gms2可以用blendmode达到类似的效果,如图二所示

              同样的c_blue改为你想闪一下的颜色,alpha为类似亮度改变的值(最大为1,最小为0)


              IP属地:河南23楼2024-07-08 14:36
              收起回复
                请问豆姐在gm8中有物体上限吗?现在做了四百多个object感觉有点慌,应该上千没问题吧


                IP属地:吉林来自Android客户端24楼2024-07-09 11:20
                收起回复
                  我想在gms2上达成gm8那样文件读写不受限制的效果,于是我把游戏选项里的“禁用文件沙盒”给打开了,结果用file_find函数只能检测到游戏文件中datafiles 所引导的路径中的文件,怎么办?


                  IP属地:广西来自iPhone客户端25楼2024-07-12 22:56
                  收起回复
                    应该怎么从a物体上获得到b物体的指定子图像呢,我通过代码控制b敌人重复0、1帧的走路,第三帧为被擒拿的动作,当我的a主角抓到b敌人时,需要删除敌人并主角手上绘制被抓住的敌人,于是把这个b敌人声明为temp变量,想通过temp.sprite_index获得temp的sprite,然后从这个sprite里面得到第三张子图,但是翻了翻,image_index似乎不是这个地方用的,卡在这一步想着很简单的地方了


                    IP属地:吉林26楼2024-07-13 17:38
                    收起回复
                      用draw_text _ext做不出换行效果,这是什么原因?


                      IP属地:广西来自iPhone客户端27楼2024-07-15 19:22
                      收起回复
                        声明了一个变量,用完想释放内存,除了用临时变量还能用啥?


                        IP属地:广西来自iPhone客户端29楼2024-07-23 14:13
                        收起回复
                          我想一下子生成一堆实例,代码没问题(放gm8里能跑)但gms2 硬是说我死循环,给我报错,想正常运行要怎么办?


                          IP属地:广西来自iPhone客户端30楼2024-07-23 21:11
                          收起回复
                            我让一个精灵在10*10的空间绘制120*120的纹理,他竟然真的画了出来并且纹理分辨率不变,这是为什么?


                            IP属地:广西来自iPhone客户端31楼2024-07-26 11:33
                            收起回复
                              draw_primitive_begin_texture(pr_trianglefan,sprite_get_texture(tex,0))draw_vertex_texture_color(x,y,0.5,0.5 ,c_white,1)draw_vertex_texture_color(x + 0, y + -0.5*global.size,0.5,0,c_white,1)draw_vertex_texture_color(x + 0.5*global.size,y + -0.25*global.size,1,0.25,c_white,1)draw_vertex_texture_color(x + 0.5*global.size,y + 0.25*global.size,1,0.75,c_white,1)draw_vertex_texture_color(x + 0,y + 0.5*global.size,0.5,1,c_white,1)draw_vertex_texture_color(x + -0.5*global.size,y + 0.25*global.size,0,0.75,c_white,1)draw_vertex_texture_color(x + -0.5*global.size,y + -0.25*global.size,0,0.25,c_white,1)draw_vertex_texture_color(x + 0,y + -0.5*global.size,0.5,0,c_white,1)draw_primitive_end()
                              绘制一个直径为global.size的正六边形并将其填充tex所表示精灵的纹理。
                              当tex所示精灵的面积大于六边形面积时,gm在六边形中正常绘制纹理且分辨率不变,这是为什么?


                              IP属地:广西来自iPhone客户端32楼2024-07-27 21:56
                              收起回复