有没有办法在gml文件中使用html锚标记..我想创建一个指向gml文件中位置/点的超链接。 我该怎么办? 提前谢谢..
答案 0 :(得分:1)
这是一种鲜为人知的GML技术,它极大地增加了Game Maker的功能,非常值得学习,但作为一个注释,它在Studio中不起作用,因为对命令有无数新的限制。回到GM8.1(我现在只使用它),你应该没有问题使用这种技术。
该技术是通过GML(批处理,vbs等,或在本例中为HTLM)编写另一种语言的程序,通过GML执行,然后删除程序。
很简单,使用file_text命令创建具有正确内容和扩展名的文件,使用execute_program执行它,然后使用file_delete将其删除。
特别针对此脚本:
argument0是链接,包括协议。
argument1是锚,减去#(为你处理的那些)。
argument2是完整的浏览器路径。
argument3很重要。这是程序在删除临时链接文件之前等待的时间(以毫秒为单位)。
(execute_program命令,即使被告知要等待程序完成,一旦加载临时文件就会继续。如果是外部的,重定向需要一些时间,具体取决于你的连接,所以删除临时文件的中途将导致它失败.10毫秒对我来说工作正常。这个程序将在这个设置中挂起,但是如果你想设置一个基于警报的系统来阻止它挂起,那就不会太难了。)
在不使用互联网的这种技术的其他用途中(我经常使用小批量和vbs文件),"挂起时间" (通常没有意图)通常没有必要。
此外,需要为每台不同的计算机更改浏览器位置
file=file_text_open_write(temp_directory+"\tempLink.html")
file_text_write_string(file,'<!DOCTYPE html>')
file_text_writeln(file)
file_text_write_string(file,'<html>')
file_text_writeln(file)
file_text_write_string(file,'<body onload="')
file_text_write_string(file,"location.href='")
file_text_write_string(file,argument0+"#"+argument1+"';")
file_text_write_string(file,'">')
file_text_writeln(file)
file_text_write_string(file,'</body>')
file_text_writeln(file)
file_text_write_string(file,'</html>')
file_text_close(file)
execute_program(argument2,temp_directory+"\tempLink.html",true)
sleep(argument3)
file_delete(temp_directory+"\tempLink.html")
答案 1 :(得分:0)
抱歉我希望这是可能的,但除非您想花费大量时间使用dll,否则不会。但是你可以创建一个脚本并在代码中的任何地方重复使用它......
script0(argument0,参数1 ...)