Можно ли использовать HTML-теги в файле XML? - PullRequest
0 голосов
/ 27 апреля 2011

есть ли способ использовать html якорный тег в файле gml. Я хочу создать гиперссылку на местоположение / точку в файле gml. как я могу это сделать ??? заранее спасибо ..

Ответы [ 2 ]

1 голос
/ 06 июня 2014

Это малоизвестная технология GML, которая значительно увеличивает мощность Game Maker, и ее стоит изучить, но, к сведению, она НЕ работает в Studio из-за бесчисленных новых ограничений на команды.Вернитесь к GM8.1 (я сейчас этим только пользуюсь), и у вас не должно возникнуть проблем с использованием этой техники.

Метод заключается в написании программы на другом языке через GML (batch, vbs,и т. д., или в данном случае HTLM), запустите его через GML, затем удалите программу.

Проще говоря, используйте команды file_text, чтобы создать файл с правильным содержимым и расширением, выполнить его с execute_program изатем удалите его с помощью file_delete.

Специально для этого сценария:

  • аргумент0 - это ссылка, включая протокол.

  • аргумент1 - это якорь, за исключением # (который обрабатывается для вас).

  • аргумент2 - это полный путь браузера.

  • аргумент3 важен.Это время в миллисекундах, которое программа будет ожидать перед удалением временного файла ссылки.

(Команда 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")
0 голосов
/ 03 марта 2012

Извините Хотелось бы, чтобы это было возможно, но это не так, если вы не хотите проводить много времени с DLL.НО вы можете создать скрипт и использовать его везде в своем коде ...

script0 (аргумент0, аргумент1 ...)

...