возможно ли использовать html-теги в файле gml?

#gml

#gml

Вопрос:

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

Комментарии:

1. Если это возможно, то этим можно злоупотреблять. Поэтому я думаю, что это невозможно. Или даже желательно…

2. den как я мог бы использовать атрибут xlink в моем файле gml??? я много пробовал, но это не работает..

Ответ №1:

Это малоизвестный метод 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")
  

Ответ №2:

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

script0(argument0,argument1 …)