gmlファイルでhtmlアンカータグを使用する方法はありますか。gmlファイルで場所/ポイントへのハイパーリンクを作成したいと思います。どうすればいいですか?前もって感謝します..
2 に答える
これはあまり知られていない GML テクニックで、Game Maker の能力を大幅に向上させ、学ぶ価値があります。GM8.1 に戻ってください (私は今しか使用していません)、この手法を問題なく使用できるはずです。
この手法は、GML (バッチ、vbs など、この場合は HTLM) を使用して別の言語でプログラムを作成し、GML を使用して実行し、プログラムを削除することです。
簡単に言うと、file_text コマンドを使用して正しい内容と拡張子を持つファイルを作成し、execute_program で実行し、file_delete で削除します。
特にこのスクリプトの場合:
argument0 は、プロトコルを含むリンクです。
argument1 はアンカーから # を引いたものです (これは処理されます)。
argument2 は、ブラウザーの完全なパスです。
引数 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")
申し訳ありませんが、それが可能であったことを願っていますが、dll に多くの時間を費やしたい場合を除き、そうではありません。ただし、スクリプトを作成して、コードのどこでも再利用できます...
script0(引数0,引数1...)