gamemaker吧 关注:13,692贴子:95,916
  • 9回复贴,共1

新手提问:

只看楼主收藏回复

1.GMS2如何读取hjson文件并转为结构体
2.GMS2如何调用文件打开系统(最好多平台支持)
新手懂得太少了,什么都不会


IP属地:上海1楼2025-05-12 22:00回复
    新手为什么会需要这些?


    IP属地:四川来自Android客户端2楼2025-05-13 07:13
    回复
      2026-03-16 10:07:21
      广告
      不感兴趣
      开通SVIP免广告
      好吧,没有回应。
      首先json文件在gamemaker中并不算是新手该碰的,因为在碰之前你必须得学习"文件系统、数组、结构体"
      而"字符串"这个你有很大概率会用到(有些时候可能需要通过删减字符串来创建一个可用的新的结构体什么的)所以也得学习相关函数。
      而你需要将json文件内的所有数据都保存在一个变量当中,也就是将其删除回车,从多行变成一行,我们一般是直接用string+string的格式。
      然后大多数人都用的是For循环,但是如果是文件读取的话,每个文件内的行数量是不同的,所以你还得学习一些关于其他的循环函数,比如do循环。
      当然,你可能需要知道break或者其他关于循环的终止、停止函数用法,虽然大多数读取json时用不到。


      IP属地:四川来自Android客户端3楼2025-05-13 08:39
      收起回复
        然后调用文件打开系统...抱歉,有些不明白是什么意思?


        IP属地:四川来自Android客户端4楼2025-05-13 08:39
        回复
          说起来,json和文件使用对于“新手”来说都有些超纲
          ==============================
          json结构很,嗯,自由。咱更倾向于把数据转换成更规整的格式来使用,“把数据从自由格式转换到规整/紧凑格式”在咱的规划里是属于游戏制作过程的,不是游戏运行过程的。
          如果题主和咱一样也会拿GM去做一些简易工具,而且现在正在尝试打开/解读json的话。咱之前用过的方法是把json当成文本来读取,然后根据回车、冒号、花括号等结构来拆解内容。至于已有函数/插件,咱没有尝试过,不保证实际效果。
          ==============================
          “文件打开系统”有点不明所以,可能涉及这两个方面:
          GM自带了2个函数调用windows/MAC的文件选择界面来进行选定(并返回给GM),两个函数分别用来打开/保存,但这只是负责选定文件(或者指定新文件名),并不负责实际的打开/保存动作,设计成两个函数也只是保存的时候好像会问“是否覆盖”之类的。这个只适用于win/MAC,如果是其他平台的话要单做。如果遇到了安卓这种不同代访问不同文件夹需要索要不同权限的就会很麻烦。
          知道文件名以后通常就可以打开(注意安卓权限、桌面平台沙盒之类的问题),至于文件打开并使用内容,咱知道的打开方式有以下几种:
          0、标准的可载入为素材的文件,比如用sprite add来载入图片jpg png文件
          1、用ini文件来保存一些简单设置
          2、常规形式的文本文件读写
          3、二进制文件读写
          4、将文件(或一部分)载入到buffer


          IP属地:北京5楼2025-05-13 09:12
          回复