〔基本操作〕 〔コマンド〕 〔ソフトウエアーのトップに戻る〕
========================== フラグ配列使用メモ(gotoFLAG) ========================とあるので、この部分にメモって置きましょう。
* [0]:0=テーブル/1=壁の写真/2=メガネ/3=携帯ストラップ/4=日記/5=タンス/(DEC:63) *
* [1]: *
* *
*******************************************************************************/
setItem("100","SCENE:./kouen1.jpg") ;背景画(kouen1.jpg)を"SCENE:150番"に用いると上のシーン画面が消されてしまいますが、
setItem("103","TXTBKC:black:0.5:") ; // ここから文字背景半透明色の開始
setItem("105","TXTOUT:bold 20px Dialog:#FF01C0::13:「おっはぁよー」") ;
setItem("115","WAIT:1000") ;
setItem("120","MOVIMG:50:5:550:95:./tomo.gif:500:95:./tomo.gif:450:95:./tomo.gif:400:95:./tomo.gif:350:95:./tomo.gif") ;
setItem("135","TXTOUT:18px serif:white:2:1:あ、とっ、ともおぢやん、おつう・はっよう...") ;
setItem("136","TXTOUT:18px serif:white:2:2:(ふぅ、あせったなぁ)") ;
setItem("137","TXTOUT:18px Dialog:white:2:4:「あれ?、ちょっとぉ、きんちょうしてるのかなー?」") ;
setItem("138","WAIT:6000") ;
setItem("140","TXTONE:bold 24px SimSun:white:2:5:ぞ、ぞんなごどわないよぉ:300") ;
setItem("143","INFO:何かキーを押してください") ;
setItem("145","CUT") ;
setItem("150","SCENE:./Invisible.gif") ;
setItem("153","ADDIMG:350:95:./tomo_egao.gif") ;
setItem("155","TXTOUT:18px Dialog:white:2:9:「はい、し〜んこきゅう」") ;
setItem("160","TXTOUT:18px serif:white:2:11:(わぁ、ともちゃんの笑顔かわいいなぁ〜)") ;
setItem("165","TXTOUT:18px serif:white:2:12:(って、あれ、なぜにぃ、パジャマ姿??)") ;
setItem("170","TXTOUT:18px serif:white:2:13:(な〜んだかぁ、へんだなぁ?)") ;
setItem("175","TXTOUT:18px Dialog:white:2:15:「さあ、お花見に行こっか」") ;
setItem("195","CUT") ;
// 背景画像で消した"MOVIMG"作品上記側は"MOVIMG"時に"mononoke2.gif"のみアクションをしていましたが、
setItem("1150","SCENE:./hachimanana3.jpg") ;
setItem("1151","ADDIMG:390:50:./mononoke2.gif") ;
setItem("1153","ADDIMG:0:120:./miko.gif") ;
setItem("1154","TXTOUT:18px serif:white:2:1:巫女 :「オン」") ;
setItem("1155","TXTOUT:18px serif::2:2:巫女 :「アビラウンケンソワカ」") ;
setItem("1156","TXTOUT:18px serif::2:3:巫女 :「マナ、開放」") ;
setItem("1157","TXTOUT:18px serif::2:5:巫女 :「この呪符を、受けてみなさい」") ;
setItem("1158","TXTOUT:18px serif::2:6:巫女 :「あくりょう〜たいさん、とりゃー」") ;
setItem("1159","CUT") ;
setItem("1165","SCENE:./hachimanana3.jpg") ;
setItem("1166","MOVIMG:100:6:390:50:./mononoke2.gif:390:50:./mononoke4.gif:330:50:./mononoke4.gif:390:50:./mononoke4.gif:330:50:./mononoke4.gif:390:50:./mononoke4.gif") ;
setItem("1167","TXTONE:18px serif::2:1:{ごっぐうわーーー、やられたぁ、ボス〜ぅ}:200") ;
setItem("1168","INFO:何かキーを押してください") ;
setItem("1169","CUT") ;
// "SAVEIMG"を使って消した"MOVIMG"作品
setItem("3150","SCENE:./hachimanana3.jpg") ;
setItem("3151","ADDIMG:0:120:./miko.gif") ;
setItem("3152","SAVEIMG:S") ; // ここでキャンバスを一時保存
setItem("3153","ADDIMG:390:50:./mononoke2.gif") ;
setItem("3154","TXTOUT:18px serif:white:2:1:巫女 :「オン」") ;
setItem("3155","TXTOUT:18px serif::2:2:巫女 :「アビラウンケンソワカ」") ;
setItem("3156","TXTOUT:18px serif::2:3:巫女 :「マナ、開放」") ;
setItem("3157","TXTOUT:18px serif::2:5:巫女 :「この呪符を、受けてみなさい」") ;
setItem("3158","TXTOUT:18px serif::2:6:巫女 :「あくりょう〜たいさん、とりゃー」") ;
setItem("3159","CUT") ;
setItem("3165","SCENE:./hachimanana3.jpg") ;
setItem("3166","MOVIMG:100:6:390:50:./mononoke2.gif:390:50:./mononoke4.gif:330:50:./mononoke4.gif:390:50:./mononoke4.gif:330:50:./mononoke4.gif:390:50:./mononoke4.gif") ;
setItem("3167","TXTONE:18px serif::2:1:{ごっぐうわーーー、やられたぁ、ボス〜ぅ}:200") ;
setItem("3168","SAVEIMG:C") ; // 一時保存をクリアする
setItem("3169","INFO:何かキーを押してください") ;
setItem("3170","CUT") ;
setItem("0","START:./Start.jpg") ; // シナリオの開始 setItem("3","FKEYSET:8:10000") ; // F8キーの登録 :Save setItem("4","FKEYSET:9:10100") ; // F9キーの登録 :Load setItem("5","FKEYSET:10:10300:1") ; // F10キーの登録:Download setItem("6","FKEYSET:2:10200") ; // F2キーの登録 :Text ON/OFF setItem("10","SCENE:./white.jpg") ; // シーン1スタート(タイトルの表示) : setItem("30","CUT") ; // シーン1ストップ : : setItem("9999","END") ; // シナリオの終了 // クッキーへゲームデータの保存 setItem("10000","SAVEDAT:TestSK:E") ; setItem("10010","RETURN") ; // クッキーからゲームデータを読み出す setItem("10100","LOADDAT:TestSK:E") ; setItem("10110","RETURN") ; // テキスト表示のON/OFF setItem("10200","TXTOFF:E") ; setItem("10210","RETURN") ; // キャンバス画像のダウンロードを行う setItem("10300","SAVEIMG:DL:temp.jpg") ; setItem("10305","INFO:ダウンロードします。<br>完了後、何かキーを押してください。") ; setItem("10310","RETURN") ;"FKEYSET"は、シーンの始まる前に記述します。
setItem("0","START:./Start.jpg") ; // シナリオの開始 setItem("3","FKEYSET:1:10000:1") ; // F1キーの登録:PANEL setItem("4","FKEYSET:2:10100:1") ; // F2キーの登録:MUTED setItem("5","FKEYSET:3:10200:1") ; // F3キーの登録:VOLUME+ setItem("6","FKEYSET:4:10300:1") ; // F4キーの登録:VOLUME- setItem("10","SCENE:./white.jpg") ; // シーン1スタート(タイトルの表示) : setItem("30","CUT") ; // シーン1ストップ : : setItem("9999","END") ; // シナリオの終了 // サウンドコントロールのパネルをON/OFFする setItem("10000","SNDCTL:PANEL:All") ; setItem("10010","RETURN") ; // ミュート setItem("10100","SNDCTL:MUTED") ; setItem("10110","RETURN") ; // ボリューム+ setItem("10200","SNDCTL:VOLUME:+") ; setItem("10210","RETURN") ; // ボリューム− setItem("10300","SNDCTL:VOLUME:-") ; setItem("10310","RETURN") ;
var savedat = "<button type=\"button\" class=\"SAVEDAT\" onclick=\"SAVEDATSubMS()\"> <font size=\"2\">データ保存</font></button>" ; function SAVEDATSubMS() { gosubRET = 0 ; scenario[0] = "SAVEDAT" ; scenario[1] = "TestSK" ; // cookieのキー値を指定する CookieSub() ; storageINDEX = sceneNO ; } ボタンの名前を変えたければ"データ保存"を変えましょう。 cookie保存キー値の名前を変えたければ"TestSK"を変えましょう。
var loaddat = "<button type=\"button\" class=\"LOADDAT\" onclick=\"LOADDATSubMS()\"> <font size=\"2\">データ読込</font></button>" ; function LOADDATSubMS() { gosubRET = 0 ; scenario[0] = "LOADDAT" ; scenario[1] = "TestSK" ; // cookieのキー値を指定する CookieSub() ; if (gosubRET != 0) storageINDEX = gosubRET ; } ボタンの名前を変えたければ"データ読込"を変えましょう。 cookie保存キー値の名前は、"savedat"と合わせましょう。
var txtoff = "<button type=\"button\" class=\"TXTOFF\" onclick=\"TXTOFFSubMS()\"> <font size=\"2\">テキストON/OFF</font></button>" ; function TXTOFFSubMS() { TXTOFFSub() ; storageINDEX = sceneNO ; } ボタンの名前を変えたければ"テキストON/OFF"を変えましょう。
var saveimg = "<button type=\"button\" class=\"SAVEIMG\" onclick=\"SAVEIMGSubMS()\"> <font size=\"2\">ダウンロード</font></button>" ; function SAVEIMGSubMS() { let aTag = document.createElement('a') ; aTag.href = canvas.toDataURL('image/jpeg', 1.0) ; aTag.download = "temp.jpg" ; // ファイル名を指定する aTag.click() ; dspOP.innerHTML = "ダウンロードします。<br>完了後、何かキーを押してください。" ; } ボタンの名前を変えたければ"ダウンロード"を変えましょう。 保存ファイル名を変えたければ"temp.jpg(現在jpgのみ)"を変えましょう。
var sndPanel = "<button type=\"button\" class=\"SNDPANEL\" onclick=\"SNDPANELSubMS()\"> <font size=\"2\">音のパネルON/OFF</font></button>" ; function SNDPANELSubMS() { scenario[1] = "PANEL" ; SNDCTLsub() ; } ボタンの名前を変えたければ"音のパネルON/OFF"を変えましょう。
var sndVOLup = "<button type=\"button\" class=\"SNDVOLUP\" onclick=\"SNDVOLUPSubMS()\"> <font size=\"2\">音をUP</font></button>" ; function SNDVOLUPSubMS() { scenario[1] = "VOLUME" ; scenario[2] = "+" ; SNDCTLsub() ; } ボタンの名前を変えたければ"音をUP"を変えましょう。
var sndVOLdown = "<button type=\"button\" class=\"SNDVOLDOWN\" onclick=\"SNDVOLDOWNSubMS()\"> <font size=\"2\">音をDOWN</font></button>" ; function SNDVOLDOWNSubMS() { scenario[1] = "VOLUME" ; scenario[2] = "-" ; SNDCTLsub() ; } ボタンの名前を変えたければ"音をDOWN"を変えましょう。
var sndMuted = "<button type=\"button\" class=\"SNDMUTED\" onclick=\"SNDMUTEDSubMS()\"> <font size=\"2\">音のミュート</font></button>" ; function SNDMUTEDSubMS() { scenario[1] = "MUTED" ; SNDCTLsub() ; } ボタンの名前を変えたければ"音のミュート"を変えましょう。
var sndPause = "<button type=\"button\" class=\"SNDPAUSE\" onclick=\"SNDPAUSESubMS()\"> <font size=\"2\">音の一時停止/再開</font></button>" ; function SNDPAUSESubMS() { scenario[1] = "PAUSE" ; SNDCTLsub() ; } ボタンの名前を変えたければ"音の一時停止/再開"を変えましょう。
var sndStop = "<button type=\"button\" class=\"SNDSTOP\" onclick=\"SNDSTOPSubMS()\"> <font size=\"2\">音の停止</font></button>" ; function SNDSTOPSubMS() { scenario[1] = "STOP" ; SNDCTLsub() ; } ボタンの名前を変えたければ"音の停止"を変えましょう。
var menudsp = "<button type=\"button\" class=\"MENUDSP\" onclick=\"MENUDSPSubMS()\"> <font size=\"2\">設定</font></button>" ; function MENUDSPSubMS() { storageINDEX = 2000 ; // シナリオ番号2000にジャンプ(設定メニュの有る場所) MainProc() ; } ボタンの名前を変えたければ"設定"を変えましょう。 storageINDEXの変数に、設定メニュのシナリオがあるシナリオ番号を設定します。 例) // 設定メニュー画面 setItem("2000","MENU:./menu.gif") ; setItem("2002","BTNSET:10000::95:103:30:肩たたき1.png:肩たたき2.png:肩たたき3.png") ; setItem("2004","TXTOUT:18px serif:blue::8:サイト「童謡・唱歌の世界」から") ; setItem("2006","TXTOUT:18px serif:blue::9:https://s-pst.info/douyou-syouka/") ; setItem("2008","BTNSET:10100::180:129:30:stop1.png:stop2.png:stop3.png") ; setItem("2010","BTNSET:10200::215:189:30:load1.png:load2.png:load3.png") ; setItem("2012","MENUEND") ;
var vdoVOLup = "<button type=\"button\" class=\"VDOVOLUP\" onclick=\"VDOVOLUPSubMS()\"> <font size=\"2\">音をUP</font></button>" ; function VDOVOLUPSubMS() { scenario[1] = "VOLUME" ; scenario[2] = "+" ; VDOCTLsub() ; } ボタンの名前を変えたければ"音をUP"を変えましょう。
var vdoVOLdown = "<button type=\"button\" class=\"VDOVOLDOWN\" onclick=\"VDOVOLDOWNSubMS()\"> <font size=\"2\">音をDOWN</font></button>" ; function VDOVOLDOWNSubMS() { scenario[1] = "VOLUME" ; scenario[2] = "-" ; VDOCTLsub() ; } ボタンの名前を変えたければ"音をDOWN"を変えましょう。
var vdoMuted = "<button type=\"button\" class=\"VDOMUTED\" onclick=\"VDOMUTEDSubMS()\"> <font size=\"2\">音のミュート</font></button>" ; function VDOMUTEDSubMS() { scenario[1] = "MUTED" ; VDOCTLsub() ; } ボタンの名前を変えたければ"音のミュート"を変えましょう。
var vdoPause = "<button type=\"button\" class=\"VDOPAUSE\" onclick=\"VDOPAUSESubMS()\"> <font size=\"2\">一時停止/再開</font></button>" ; function VDOPAUSESubMS() { scenario[1] = "PAUSE" ; VDOCTLsub() ; } ボタンの名前を変えたければ"一時停止/再開"を変えましょう。
var vdoStop = "<button type=\"button\" class=\"VDOSTOP\" onclick=\"VDOSTOPSubMS()\"> <font size=\"2\">音の停止</font></button>" ; function VDOSTOPSubMS() { scenario[1] = "STOP" ; VDOCTLsub() ; } ボタンの名前を変えたければ"音の停止"を変えましょう。
// シーン1 setItem("110","SCENE:./utanoishi.jpg") ; setItem("120","ADDIMG:450:90:./nonoka2.gif") ; setItem("130","DELAY:1000") ; // "ADDIMG"が表示終わるまで待つ setItem("140","GOSUB:1000") ; setItem("150","TXTOUT:bold 18px serif:red:52:21:ののか") ; setItem("160","TXTOUT:18px serif:black:52:23:全くよめん!。") ; setItem("170","CUT") ; // シーン2 setItem("210","SCENE:./utanoishi.jpg") ; setItem("220","ADDIMG:450:90:./nonoka2.gif") ; setItem("230","ADDIMG:10:10:./komachi.gif") ; setItem("240","DELAY:1000") ; // "ADDIMG"が表示終わるまで待つ setItem("260","GOSUB:1000") ; setItem("270","TXTOUT:bold 18px serif:red:52:21:コマチ姫") ; setItem("280","TXTOUT:18px serif:black:52:23:【花の色は 移りにけりないたずらに") ; setItem("282","TXTOUT:18px serif:black:52:24: わが身世にふるながめせしまに】") ; setItem("290","CUT") ; // シーン3 : // シーン4 : setItem("999","END") ; // シナリオの終了 // 全シーンに共通するサブルーチン setItem("1000","SUBSCENE") ; setItem("1020","F_RECT:50:390:540:85:white:0.7") ; setItem("1030","L_RECT:50:390:540:85:blue:2") ; *4) setItem("1040","F_RECT:50:360:100:30:white:0.7") ; setItem("1050","L_RECT:50:360:100:30:blue:2") ; *4) setItem("1060","RETURN") ;"ADDIMG"が表示終わるまで待つ"とあるが、実際は"DELAY"が終了するまで待つが正しく、
例) setItem("100","TEST:パラメータ1:パラメータ2") ;
// コマンドを追加したり等の実験用関数
function TESTfunc() {
let no = (storageINDEX-1) ;
let p = (no - sceneNO) ;
sceneEXEC[p] = 1 ; // 実行中フラグON
let id = setInterval(function(){
// 自分の行より前は全て終了しているか?
let exec = 0 ;
for (j=0 ; j<p ; j++) {
if (sceneEXEC[j] == 1) exec = 1 ;
}
// 今の実行行より前の行まで全て実行終了なら処理する
if (exec == 0) {
// シナリオを読み込む
ScenarioGet2(no) ;
// 追加した行にエラーがあった場合、
// この関数が止まらなくなるのでここで関数を止めて置きます。(1回のみ実行)
sceneEXEC[p] = 0 ; // 実行中フラグOFF
clearInterval(id) ; // setIntervalを止める
/**** この場所に追記しましょう。 ***/
}
}, sceneWAIT) ;
}
setItem("0","START:./Start.jpg") ; // シナリオの開始のシーン番号"1"のコメントを外して飛び先を入れれば直接ジャンプするので便利かもね。
//setItem("1","GOTO:900") ; // テスト用直接ジャンプ
四角形の枠太さはパラメータで指定に変更(*4) 2020/10/07
GOSUB関連の改良とDELAYコマンドの追加(*3) 2020/09/15
拡張機能追加(*2) 2020/08/03
マウス操作に対応(*1) 2020/07/07
【きむ茶工房ガレージハウス】
Copyright (C) 2006-2020 Shigehiro Kimura All Rights Reserved.