gamemaker吧 关注:13,640贴子:95,082
  • 15回复贴,共1

我按照实例去写代码,但是总是发生下图的状况,但是看起来似乎没问题呀。

各路大神帮帮忙,看看哪里出问题了?(3图应为个人隐私问题,需遮挡部分名字)


IP属地:广东1楼2015-01-14 13:29回复
    经过试验,问题是出在第二行


    IP属地:广东2楼2015-01-14 13:30
    回复
      我的素材都是这里来的。当然,我是做任系游戏的同人的。这是塞尔达传说的素材,需要其他素材输入游戏的英文名搜索就行了。
      http://www.spriters-resource.com/search/?q=ZELDA


      4楼2015-01-14 23:47
      回复
        GM对打开方式是有区别的,打开有读写之分。
        你用读的方式打开,却要向里面写东西当然是不行的。
        所以要用写的方式打开,再往里写东西。
        当然也要用读的方式打开,来读取里面的内容。
        悟空,我还没说完,你怎么把棍子扔了?


        IP属地:河南6楼2015-01-15 17:13
        回复
          GML解释:
          file_text_open_append(fname) (文件名称)开启指定文件名称的文件在文件末端加入数据,如果文件不存在就会建立一个文件,这个函数返回在其他函数一定要用的文件id。
          注意,它的返回值是我们需要的文件ID,显然LZ并未获取这个ID。
          file_text_write_string (文件id,字串)写入字串到指定文件id的文件。
          注意这里要写的是文件ID,而不是文件名
          那么,LZ明白了没。


          IP属地:北京本楼含有高级字体7楼2015-01-15 19:46
          收起回复
            为什么要打马赛克呢这个不就是minecraft的mod安装么


            IP属地:浙江来自iPad8楼2015-01-15 21:05
            收起回复
              var flieid;
              //声明临时变量,用于记录文件id
              fileid=file_text_open_addend(fname)
              //创建文件并且记录文件id
              file_text_write_string(fileid,"string")
              //在id为fileid的文件末端写入字符串string
              ps:声明临时变量时,不要忘记加分号


              IP属地:浙江来自Android客户端9楼2015-01-16 13:23
              收起回复
                直接用
                var f;
                f=file_text_open_append('mod setting.txt');
                file_text_write_string(f,"show_message('试验成功')");
                file_text_close(f);
                show_message('您的mod已经安装完毕,您可以打开游戏玩耍了,谢谢使用')
                game_end();
                就可以在当前目录写入show_message('试验成功')到文件mod setting.txt
                图片证明:


                IP属地:四川10楼2015-01-18 09:03
                回复
                  但是有谁能解决我的问题(类似楼主的):
                  我用二进制写入了数字可以写进去:
                  var f,_read;
                  f=file_bin_open('project0.sav',1);
                  file_bin_write_byte(f,get_integer("请输入数值","0"));
                  file_bin_close(f);
                  f=file_bin_open('project0.sav',0);
                  _read=file_bin_read_byte(f);
                  show_message(_read);
                  数字可以写进去,也可以读出来 但是读出来的数于原数不同...
                  我用二进制写入了字符串但不能写进去:
                  var f,_read;
                  f=file_bin_open('project0.sav',1);
                  file_bin_write_byte(f,get_string("请输入字符串","任意字符串..."));
                  file_bin_close(f);
                  f=file_bin_open('project0.sav',0);
                  _read=file_bin_read_byte(f);
                  show_message(_read);
                  就出问题了,写入的竟然都是空格字符串,而且读出来的是0 难道不能写入/读取字符串吗?
                  图片:

                  可读出来的是0

                  写入的文件:


                  IP属地:四川11楼2015-01-18 09:25
                  收起回复