// mod_netInclude-min.hsp の中身(8行追加するだけで#netincludeが使える) #ifdef _debug #include "hspinet.as" #include "mod_regexp.as" #define netinclude(%1,%2=_@_@) addition %1* exist"hsptmp":if strsize>0{a@_@="":b@_@="":w@_@=dir_exe+"\\common\\":y@_@="#net\include":notesel a@_@:noteload"hsptmp":noteunsel:matches a@_@,a@_@,y@_@+"\\s*\"((?:net/)?)(.+?)\"\\s*/\\s*,?\\s*(\\w*)":repeat stat:x@_@=w@_@:if"current"=a@_@.cnt.3{x@_@=""}exist x@_@+a@_@.cnt.1+a@_@.cnt.2:a@_@.cnt="0":if strsize<0{a@_@.cnt="":if""=x@_@{a@_@.cnt.3="2":m@_@++}else{a@_@.cnt.3="1":n@_@++}}loop:if n@_@+m@_@>0{s@_@="","","":z@_@="ダウンロード":repeat 2,1:i@_@=cnt:foreach a@_@:if"0"=a@_@.cnt{continue}if""+i@_@!a@_@.cnt.3{continue}if""!a@_@.cnt.1{if""=b@_@{netinit:neturl"https://main-timetag.ssl-lolipop.jp/HSP3NetModules/netmod.php?req=data":netrequest_get"":repeat:netexec n@_@:if n@_@{break}await 50:loop:netgetv b@_@:matches b@_@,b@_@,"^(.*?)\t(.*?)$":j@_@=stat}k@_@=cnt:a@_@.cnt="0":repeat j@_@:if getpath(b@_@.cnt.1,16)=getpath(a@_@.k@_@.2,16){a@_@.k@_@=b@_@.cnt.2:a@_@.k@_@.2=b@_@.cnt.1:break}loop:if"0"=a@_@.cnt{continue}s@_@.i@_@+=">net/(->"+a@_@.cnt+")"+a@_@.cnt.2+"\n"}else{s@_@.i@_@+=">"+a@_@.cnt.2+"\n"}loop:loop:if""=s@_@.1+s@_@.2{dialog"モジュールデータが見つかりませんでした",1,y@_@:end}if""!s@_@.1{s@_@.0+=w@_@+"\n\nに\n\n"+s@_@.1:if""!s@_@.2{s@_@.0+="\nを"+z@_@+"、\n------\n\n"}}if""!s@_@.2{s@_@.0+=dir_cur+"\n\nに\n\n"+s@_@.2}dialog s@_@.0+"\nを"+z@_@+"します。",2,y@_@:if stat=6{s@_@="":x@_@=dir_cur:if""=b@_@{netinit}foreach a@_@:if"0"=a@_@.cnt{continue}if"1"=a@_@.cnt.3{chdir w@_@}a@_@.cnt.1+=a@_@.cnt.2:split a@_@.cnt.1,"/",b@_@:repeat stat-1:dirlist _@_@,b@_@.cnt,5:if stat=0{mkdir b@_@.cnt}chdir b@_@.cnt:loop:a@_@.cnt=a@_@.cnt+a@_@.cnt.2:neturl"https://raw.githubusercontent.com/"+a@_@.cnt:netrequest_get"":repeat:netexec n@_@:if n@_@{break}await 50:loop:netgetv b@_@:if"40"=strmid(b@_@,0,2){s@_@+=">"+a@_@.cnt+"\n"}else{notesel b@_@:notesave getpath(a@_@.cnt,8)}chdir x@_@:loop:if""!s@_@{dialog z@_@+"に失敗しました。\n\n"+s@_@,,y@_@:end}dialog z@_@+"しました。\nHSPを再実行して下さい。",,y@_@:end}}sdim a@_@} #else #define netinclude(%1,%2=_@_@) include %1 #endif #netinclude "net/a2d+AlphaLayer.hsp"/ ; ←末尾『/』は必須。 // // 制限 : メインスクリプト内で 複数行コメントアウト が使えなくなります。 // // 背景 picload dir_exe+"\\hsptv\\sozai5.jpg" ; 画像から仮想イメージを作成(イメージID 0) // キャラ素材ロード alCreateImageByFile 0, dir_exe+"\\hsptv\\tamadot.png" // キャラ alCreateImage 1, 64,64 ; 仮想イメージ(イメージID 1)を作って alalSetParent 1,,, 100,350 ; イメージID 1を貼り付け。 mes "背景のレイヤーとキャラのレイヤーを分けているので、" mes "キャラクターだけ動かしても背景を再描画する必要がありません。" // キャラクターアニメーション:alCopyImageToImage と alalRedraw を繰り返す repeat alErase alCopyImageToImage 0,1, 0,0,64,64, 64*(4+cnt\4),64*3 ; イメージID 0 から 1 へ 歩きモーション(1〜4)をコピー alalRedraw 1 ; イメージID 1 のアルファレイヤーを更新。 alalWidth 1, ,, 100+cnt*10 ; アルファレイヤー(イメージID 1)の位置を移動 await 500 loop