CoRサンプル集: 4コマ にぃみゃん

さくっと読める4コマまんが

日本語ノベルえでぃた 使用作品

このゲームに使用している
ベース素材を公開しております

背景_本01 / 背景_本02
4コマにぃみゃん メインスクリプト

--- 遊び方 ---
マウスで操作してください

--- 更新履歴 ---
Ver.1.00
プレー:60 (人数:48) クリア:19 評価: 30 (3回)
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ # CoR 日本語ノベルえでぃた Ver.2.03 # # (c)2021 こらとらる AoiHikawa # # こちらのコードは # 本体部分です # # 基本的な機能は「data.rb」の内容を # 変更して下さい # #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ #_/_/_/_/_/_/ グローバル変数の定義 _/_/_/_/_/_/ $object_layer = nil $object_c_layer = nil $exobject_layer = nil $system_layer = nil $data = [] G_data = nil G_dataList = [] G_dataListLen = 0 G_dataListAll = [] G_data_no = 0 G_set_camera = false G_bgm = nil G_se = nil G_vol = nil NNE_app_sp_no = [] NNE_app_sp_id = [] NNE_app_sp_type = [] NNE_app_sp_spr = [] NNE_app_tsp_id = nil NNE_app_tsp_spr = nil NNE_app_sp_copy_win = nil NNE_app_sp_main_win = nil NNE_app_sp_sub_win = nil NNE_app_sp_fla = nil NNE_app_sp_addwin_no = [] NNE_app_sp_addwin_id = [] NNE_app_sp_addwin_spr = [] NNE_app_sp_emo_00 = nil NNE_app_sp_emo_01 = nil NNE_app_exsp_no = [] NNE_app_exsp_id = [] NNE_app_exsp_spr = [] NNE_app_exsp_z = [] NNE_txbxName = nil NNE_txbxMi = nil #NNE_txbxMsg = nil NNE_txbxMsg = [] NNE_txbxFullMsg = [] NNE_txbxCursor = [] NNE_txbxSelect = [] NNE_txbxSave = nil NNE_txbxDbg = nil NNE_cin_id = [] NNE_cin_pos = [] NNE_chr_l = nil NNE_chr_c = nil NNE_chr_r = nil NNE_chr_new = nil NNE_chr_old = nil NNE_chr_ani_l = nil NNE_chr_ani_c = nil NNE_chr_ani_r = nil NNE_chr_anic_l = nil NNE_chr_anic_c = nil NNE_chr_anic_r = nil NNE_bg_bk = nil NNE_bg_bk_id = nil NNE_bg_fr = nil NNE_bg_fr_id = nil NNE_scrkbd_flg = nil NNE_dat_load_flg = nil NNE_dat_load_data = [] NNE_user_key = nil NNE_app_bgm_no = [] NNE_app_bgm_id = [] NNE_app_bgm_obj = [] NNE_app_se_no = [] NNE_app_se_id = [] NNE_app_se_obj = [] NNE_app_tbgm_id = nil NNE_flg_list = [] NNE_flg_name = [] NNE_var_list = [] NNE_var_name = [] NNE_arr_list = [] NNE_arr_name = [] #ソースファイルの読込 require_code 'data.rb' require_code 'scr_kbd.rb' #_/_/_/_/_/_/ クラスのオーバーライド _/_/_/_/_/_/ #_/_/_/_/_/_/ ユーザ関数の定義 _/_/_/_/_/_/ #----- 数値操作関連 ----- #うるう年の判定 def getUruuflg(y) return (y % 4) == 0 && (y % 100) != 0 || (y % 400) == 0 end #経過時間の計算 def deffTime(t) mi = 0 d_li = [] d_li = splitString("0,31,59,90,120,151,181,212,243,273,304,334,365",",") i = 0 while i < getArrayLength(d_li) d_li[i] = toNumber(d_li[i]) i = i + 1 end j = t[0] - 1 while j > 1999 if getUruuflg(j) mi = mi + 527040 else mi = mi + 525600 end j = j - 1 end if getUruuflg(t[0]) && (t[1] > 2) mi = mi + 1440 end mi = mi + ((d_li[(t[1] - 1)] + (t[2] - 1)) * 1440) mi = mi + (t[3] - 1) * 60 + t[4] mi = mi * 60 + t[5] mi = mi * 1000 + t[6] return mi end #----- 基本処理 ----- def isNumber(no) chk = no.to_f; chk = chk.to_s return chk == no end def isArray(arr) return getArrayLength(splitString(toString(arr),",")) != 1 end def fullWaitTime(n) t2 = getLocalCurrentTimeMillisecond() t1 = t2 + (n * 1000) while t1 > t2 t2 = getLocalCurrentTimeMillisecond() end end def indexOfArray(ar, n, m = 0) l = getArrayLength(ar) i = 0; r = -1 if m i = m end while i < l if ar[i] == n r = i; i = l end i = i + 1 end return r end #----- 文字列操作関連 ----- def getDataList(str) #begin if str != "" #str = (str.to_s).gsub("\n", "") str = (str + " ").gsub("\n", "") #str = str.gsub(" ", "") slen = str.length str = str[0, (slen - 3)] else str = "" end #rescue => e # str = "" #end #return str end def getDataNumber(str) r = 0 str = getDataList(str) str = varsubString(str) if isNumber(str) r = str.to_f end return r end def varsubString(str) ret_str = ""; wrk_str = "" if str != "" str_list = splitString(str.to_s, "") i = 0; ilen = getArrayLength(str_list) while (i < ilen) do pos = str.index("["); wrk_pos = 0 if pos != nil if pos > 0 ret_str = ret_str + str[i, (pos - i)] end wrk_pos = str.index("]") wrk_str = str[(pos + 1), (wrk_pos - pos - 1)] #debug_log wrk_str set_str = "" no = indexOfArray(NNE_var_name, wrk_str) if no > (-1) set_str = NNE_var_list[no] elsif wrk_str == "年取得" tm = getLocalCurrentDate(); set_str = tm[0].to_s elsif wrk_str == "月取得" tm = getLocalCurrentDate(); set_str = tm[1].to_s elsif wrk_str == "日取得" tm = getLocalCurrentDate(); set_str = tm[2].to_s elsif wrk_str == "時取得" tm = getLocalCurrentDate(); set_str = tm[3].to_s elsif wrk_str == "分取得" tm = getLocalCurrentDate(); set_str = tm[4].to_s elsif wrk_str == "秒取得" tm = getLocalCurrentDate(); set_str = tm[5].to_s elsif wrk_str == "X" || wrk_str == "X" set_str = pointer.x.to_s elsif wrk_str == "Y" || wrk_str == "Y" set_str = pointer.y.to_s end ret_str = ret_str + set_str #debug_log ret_str if wrk_pos < ilen str = str[wrk_pos + 1, (ilen - wrk_pos - 1)] str_list = splitString(str.to_s, "") i = 0; ilen = getArrayLength(str_list) else i = ilen end else ret_str = ret_str + str i = ilen end end end return ret_str end def getStrColorPtn(str) r = [] if str == "青" || str == "あお" r[0] = 130; r[1] = 200; r[2] = 250 elsif str == "黄" || str == "黄色" || str == "きいろ" r[0] = 240; r[1] = 230; r[2] = 160 elsif str == "緑" || str == "みどり" r[0] = 120; r[1] = 240; r[2] = 120 elsif str == "紫" || str == "むらさき" r[0] = 230; r[1] = 140; r[2] = 220 elsif str == "水" || str == "水色" || str == "みずいろ" r[0] = 200; r[1] = 200; r[2] = 250 elsif str == "赤" || str == "あか" r[0] = 255; r[1] = 160; r[2] = 170 elsif str == "オレンジ" || str == "橙" || str == "だいだい" r[0] = 240; r[1] = 200; r[2] = 160 elsif str == "ピンク" || str == "桃" r[0] = 250; r[1] = 220; r[2] = 230 elsif str == "黒" || str == "くろ" || str == "灰" || str == "灰色" || str == "はいいろ" r[0] = 50; r[1] = 50; r[2] = 50 else r[0] = 250; r[1] = 250; r[2] = 250 end return r end def getWinColorPtn(str) r = 0 if str == "青" || str == "あお" r = 1 elsif str == "黄" || str == "黄色" || str == "きいろ" r = 2 elsif str == "緑" || str == "みどり" r = 3 elsif str == "紫" || str == "むらさき" r = 4 elsif str == "水" || str == "水色" || str == "みずいろ" r = 5 elsif str == "赤" || str == "あか" r = 6 elsif str == "オレンジ" || str == "橙" || str == "だいだい" r = 7 elsif str == "白" || str == "しろ" r = 8 elsif str == "黒" || str == "くろ" || str == "灰" || str == "灰色" || str == "はいいろ" r = 9 end return r end def getSkbColorPtn(str) r = "青" if str #str = removeNewLine(str) if str == "白" || str == "しろ" r = "白" elsif str == "黒" || str == "くろ" r = "黒" elsif str == "赤" || str == "あか" r = "赤" elsif str == "ピンク" || str == "桃" r = "桃" elsif str == "紫" || str == "むらさき" r = "紫" elsif str == "黄" || str == "きいろ" || str == "黄色" r = "黄" elsif str == "緑" || str == "みどり" r = "緑" end end return r end def splitStringN(str) str_arr = splitString(str.to_s,"") new_str = [] new_str[0] = "" counter = 0 i = 0; ilen = str_arr.length while (i < ilen) do new_str[counter] = new_str[counter] + str_arr[i] if str_arr[i] == "\n" counter += 1 new_str[counter] = "" end i += 1 end #debug_log new_str return new_str end def strSplit(t) t_arr = splitString(t,"") new_t = [] counter = 0 t_arr.each_with_index do |item, i| if counter > 0 counter = counter - 1 else if !(("a".."z") === item || ("A".."Z") === item || ("0".."9") === item || ("!".."~") === item) new_t << t_arr[i] + t_arr[(i + 1)] + t_arr[(i + 2)] counter = 2 else new_t << item end end end return new_t end #----- 画像操作関連 ----- def setSpritePZR(spr,px,py,z,rx1,ry1,rw1,rh1,rx2,ry2,rw2,rh2) #camera_fixedが入ったままだと #positionが動作しないので一旦解除する obj = spr.instance_variable_get('@js_sprite') f = obj.fixedToCamera spr.camera_fixed! false spr.layer_index(z) #setSpriteZOrder(id,z) spr.src_rect(rx1, ry1, rw1, rh1) #setSpriteRect(id,rx1,ry1,rw1,rh1,rx2,ry2,rw2,rh2) spr.scale((rw2 / rw1), (rh2 / rh1)) spr.position((px + rx2), (py + ry2)) #setSpritePosition(id,px,py) if f then spr.camera_fixed!; end end def createSpriteN(id,lay,cam = false) spr = put_sprite id do position 800, 600 camera_fixed! cam end case lay when 0 then $object_layer.add spr when 1 then $object_c_layer.add spr when 2 then $exobject_layer.add spr when 3 then $system_layer.add spr else end return spr end def deleteSprite(spr) setSpritePZR(spr,800,600,0,0,0,0,0,0,0,0,0) end def deleteAppendSprite(no) z = indexOfArray(NNE_app_exsp_no,no) if z > (-1) deleteSprite(NNE_app_exsp_spr[z]) end end def deleteAppendSpriteZ(no) z = indexOfArray(NNE_app_exsp_z,no) if z > (-1) deleteSprite(NNE_app_exsp_spr[z]) end end def setMiWin(s_l,s_c,s_r,co,str) if str != "" i = 1; chkData = splitString(str,"") if isArray(chkData) i = getArrayLength(chkData)# - 1 end ls = 18; adx = 0; ady = 0 if co > 0 adx = 192 * (co % 2) ady = 28 * floor(co / 2) end ls = 18 - floor(i / 5) if ls < 16 then ls = 16; end setSpritePZR(s_l,0,0,51,adx,1 + ady,7,28,0,0,7,28) setSpritePZR(s_c,7,0,51,7 + adx,1 + ady,178,28,0,0,ls,28) #setSpriteScale(s_c,i,1) s_c.scale i, 1 setSpritePZR(s_r,(7 + (i * ls)),0,51,185 + adx,1 + ady,7,28,0,0,7,28) else setSpritePZR(s_l,800,600,51,0,0,0,0,0,0,0,0) setSpritePZR(s_c,800,600,51,0,0,0,0,0,0,0,0) setSpritePZR(s_r,800,600,51,0,0,0,0,0,0,0,0) end end def setAlpha(spr, a) obj = spr.instance_variable_get('@js_sprite') obj.alpha = a end #----- BGM、サウンド管理 ----- def playBGM(id) if G_bgm != nil id.play end end def stopBGM(id) if G_bgm != nil id.stop end end def volBGM(id, vol) if G_bgm != nil #debug_log id.instance_variables if vol < 0 then vol = 0; end if vol > 100 then vol = 0; end obj = id.instance_variable_get("@js_audio") obj.volume = (vol / 100) #100を基準値とする end end def playSE(id) #if G_se != nil id.play #end end #----- 全データの初期化 ----- def deleteAllData() #画像 i = 0; ilen = getArrayLength(NNE_app_sp_spr) while i < ilen NNE_app_sp_spr[i].destroy i += 1 end NNE_app_sp_no = [] NNE_app_sp_id = [] NNE_app_sp_type = [] NNE_app_sp_spr = [] NNE_app_tsp_id = nil NNE_app_tsp_spr = nil NNE_app_sp_copy_win.destroy NNE_app_sp_main_win.destroy NNE_app_sp_sub_win.destroy NNE_app_sp_fla.destroy NNE_app_sp_copy_win = nil NNE_app_sp_main_win = nil NNE_app_sp_sub_win = nil NNE_app_sp_fla = nil i = 0; ilen = getArrayLength(NNE_app_sp_addwin_spr) while i < ilen NNE_app_sp_addwin_spr[i].destroy i += 1 end NNE_app_sp_addwin_no = [] NNE_app_sp_addwin_id = [] NNE_app_sp_addwin_spr = [] NNE_app_sp_emo_00.destroy NNE_app_sp_emo_01.destroy NNE_app_sp_emo_00 = nil NNE_app_sp_emo_01 = nil i = 0; ilen = getArrayLength(NNE_app_exsp_spr) while i < ilen NNE_app_exsp_spr[i].destroy i += 1 end NNE_app_exsp_no = [] NNE_app_exsp_id = [] NNE_app_exsp_spr = [] NNE_app_exsp_z = [] #テキストウインドウの初期化 deleteText(NNE_txbxName) deleteText(NNE_txbxMi) i = 0; ilen = 7 while (i < ilen) do deleteText(NNE_txbxMsg[i]) i += 1 end i = 0; ilen = 28 while (i < ilen) do deleteText(NNE_txbxFullMsg[i]) i += 1 end i = 0; ilen = 6; adx = 0; ady = 0 while i < ilen if i > 0 adx = 400 * (i % 2); ady = 30 * floor(i / 2) end deleteText(NNE_txbxCursor[i]) deleteText(NNE_txbxSelect[i]) i = i + 1 end deleteText(NNE_txbxSave) deleteText(NNE_txbxDbg) #ゲーム実行用データ NNE_cin_id = [] NNE_cin_pos = [] NNE_chr_l = nil; NNE_chr_l_id = nil NNE_chr_c = nil; NNE_chr_c_id = nil NNE_chr_r = nil; NNE_chr_r_id = nil NNE_chr_new = nil; NNE_chr_old = nil #NNE_chr_ani_l = nil #NNE_chr_ani_c = nil #NNE_chr_ani_r = nil #NNE_chr_anic_l = nil #NNE_chr_anic_c = nil #NNE_chr_anic_r = nil NNE_bg_bk = nil NNE_bg_bk_id = nil NNE_bg_fr = nil NNE_bg_fr_id = nil #音楽 NNE_app_bgm_no = [] NNE_app_bgm_id = [] NNE_app_bgm_obj = [] NNE_app_tbgm_id = nil #効果音 NNE_app_se_no = [] NNE_app_se_id = [] NNE_app_se_obj = [] end #----- セーブデータ ----- #def save_game(data) # r = nil # if @on_preload # @on_fiber_stop = true # Fiber.yield # # wait_time(1000) # # $rmake_game.call('save_game', data) # #Fiber.yield # else # debug_log 'This method can only be used on_preload' # end # return r #end # #def load_data() # r = nil # if @on_preload # @on_fiber_stop = true # Fiber.yield # # wait_time(1000) # # $rmake_game.call('load_game') # #Fiber.yield # else # debug_log 'This method can only be used on_preload' # end # return r #end def loadNNE(no = 0) #setText(NNE_txbxSave, "ロード中...") #case no # when 0 then # key = "NNE_savedata" + NNE_user_key # data = loadGameData(key) # saveWaitTime() # if !(data.nil?) # NNE_dat_load_data = splitString(data,';') # NNE_dat_load_flg = true # # G_data_no = NNE_dat_load_data[0].to_i # #NNE_user_key = NNE_dat_load_data[1].to_s # # #データの初期化 # deleteAllData() # # #再生中音楽の停止 # if G_bgm != nil # stopBGM(G_bgm) # end # # change_scene "sc_logo" # end # else # key = "NNE_savedata" + no.to_s + NNE_user_key # data = loadGameData(key) # saveWaitTime() # if !(data.nil?) # loadData = []; loadData = splitString(data,';') # if no > 0 && no < 21 # #フラグのロード # i = 0; ilen = getArrayLength(loadData) * 2 # while i < ilen # no2 = loadData[i].to_i #indexOfArray(NNE_flg_name, loadData[i]) # if no2 > (-1) # if loadData[(i + 1)] == "1" # NNE_flg_list[no2] = true # else # NNE_flg_list[no2] = false # end # end # i += 2 # end # elsif no > 20 && no < 41 # #変数のロード # i = 0; ilen = getArrayLength(loadData) # while i < ilen # no2 = loadData[i].to_i #indexOfArray(NNE_var_name, loadData[i]) # if no2 > (-1) # NNE_var_list[no2] = loadData[(i + 1)] # end # i += 2 # end # #setText(NNE_txbxDbg, loadData.to_s) # else # # end # end #end #setText(NNE_txbxSave, "") end def saveNNE(data, no = 0) #setText(NNE_txbxSave, "セーブ中...") #case no # when 0 then # key = "NNE_savedata" + NNE_user_key # saveGameData(key,data) # else # key = "NNE_savedata" + no.to_s + NNE_user_key # r = saveGameData(key,data) # #setText(NNE_txbxDbg, r.to_s) #end #saveWaitTime() #setText(NNE_txbxSave, "") end def saveWaitTime() tm = getLocalCurrentDate() t1 = deffTime(tm) + 1000 t2 = deffTime(tm) while t2 < t1 do tm = getLocalCurrentDate() t2 = deffTime(tm) end end #_/_/_/_/_/_/ メイン処理 _/_/_/_/_/_/ #----- ロゴ画面 ----- scene 'sc_logo' do #_/_/_/ 変数定義 _/_/_/ preload do #_/_/_/ 変数の初期化 _/_/_/ G_data = nil G_dataList = [] G_dataListLen = 0 G_dataListAll = [] G_bgm = nil G_se = nil G_vol = nil G_data = $data[G_data_no] G_dataList = splitString(G_data,';') G_dataListLen = getArrayLength(G_dataList) if NNE_scrkbd_flg == nil NNE_scrkbd_flg = false end data_pos = 0 save_flg = false #データの解析 while (data_pos < G_dataListLen) do G_dataListAll[data_pos] = [] wrk_str = G_dataList[data_pos] str_data = [] str_data = splitString(wrk_str,",") str_data_len = getArrayLength(str_data) i = 0 wrk_str2 = "" no = 0 while (i < str_data_len) do if i == 0 wrk_str2 = str_data[i].gsub("\n", "") G_dataListAll[data_pos][i] = wrk_str2 #シーン位置を保存 if wrk_str2 == "シーン" id = getDataList(str_data[(i + 1)]) id = varsubString(id) NNE_cin_id << id NNE_cin_pos << data_pos end #背景、キャラの初期設定 wrk_str3 = wrk_str2.index("背景") if wrk_str3 == 0 || wrk_str2 == "タイトル" || wrk_str2 == "キャラ" no = getDataNumber(str_data[(i + 1)]).to_i if no > 0 #&& isNumber(no) z = indexOfArray(NNE_app_sp_no,no) if z < 0 type = false if wrk_str2 == "キャラ" type = true end len = getArrayLength(NNE_app_sp_no) len += getArrayLength(NNE_app_sp_addwin_no) if len < 30 id = format("img_%02d", len) image id, id: no NNE_app_sp_no << no NNE_app_sp_id << format("spr_img_%02d", len) NNE_app_sp_type << type if wrk_str2 == "タイトル" NNE_app_tsp_id = format("spr_img_%02d", len) end end end end end #拡張枠の初期設定 if wrk_str2 == "枠番号" no = getDataNumber(str_data[(i + 1)]).to_i if no > 0 #&& isNumber(no) z = indexOfArray(NNE_app_sp_addwin_no,no) if z < 0 len = getArrayLength(NNE_app_sp_no) len += getArrayLength(NNE_app_sp_addwin_no) if len < 30 id = format("img_%02d", len) image id, id: no NNE_app_sp_addwin_no << no NNE_app_sp_addwin_id << format("spr_img_%02d", len) end end end end #拡張画像の初期設定 if wrk_str2 == "拡張画像" no = getDataNumber(str_data[(i + 1)]).to_i if (no > (-1)) && (no < 30) #&& isNumber(no) z = indexOfArray(NNE_app_exsp_z,no) if z < 0 len = getArrayLength(NNE_app_exsp_z) no2 = getDataNumber(str_data[(i + 2)]).to_i if len < 30 && no2 > 30 id = format("eximg_%02d", len) image id, id: no2 NNE_app_exsp_no << no2 NNE_app_exsp_id << format("spr_eximg_%02d", len) NNE_app_exsp_z << no end end end end #音楽の初期設定 if wrk_str2 == "音楽" || wrk_str2 == "タイトル音楽" wrk_str3 = str_data[(i + 1)].gsub("\n", "") if wrk_str3 == "フェードイン" no = getDataNumber(str_data[(i + 2)]).to_i else no = getDataNumber(str_data[(i + 1)]).to_i end if no > 0 z = indexOfArray(NNE_app_bgm_no,no) if z < 0 len = getArrayLength(NNE_app_bgm_no) #if len < 20 id = format("bgm_%02d", len) music id, id: no NNE_app_bgm_no << no NNE_app_bgm_id << id #end if wrk_str2 == "タイトル音楽" NNE_app_tbgm_id = id end end end end #効果音の初期設定 if wrk_str2 == "効果音" no = getDataNumber(str_data[(i + 1)]).to_i if no > 0 z = indexOfArray(NNE_app_se_no,no) if z < 0 len = getArrayLength(NNE_app_se_no) #if len < 20 id = format("se_%02d", len) sound id, id: no NNE_app_se_no << no NNE_app_se_id << id #end end end end #フラグの初期設定 if wrk_str2 == "フラグ" || wrk_str2 == "条件フラグ" id = getDataList(str_data[(i + 1)]) z = indexOfArray(NNE_flg_name,id) if z < 0 NNE_flg_list << false NNE_flg_name << id end end #変数の初期設定 if wrk_str2 == "変数" || wrk_str2 == "配列取得" || wrk_str2 == "配列検索" || wrk_str2 == "スクリーンキーボード" id = getDataList(str_data[(i + 1)]) z = indexOfArray(NNE_var_name,id) if z < 0 NNE_var_list << '' NNE_var_name << id end end #配列の初期設定 if wrk_str2 == "配列作成" id = getDataList(str_data[(i + 1)]) z = indexOfArray(NNE_arr_name,id) if z < 0 NNE_arr_list << [] NNE_arr_name << id end end if wrk_str2 == "スクリーンキーボード" && !NNE_scrkbd_flg NNE_scrkbd_flg = true end if wrk_str2 == "セーブ" if save_flg G_dataListAll[data_pos][i] = "セーブ済" end save_flg = true end else G_dataListAll[data_pos][i] = str_data[i] end i += 1 end str_data = nil data_pos += 1 end #_/_/_/ 素材のロード _/_/_/ img_msg_id = 152895 img_msg_sid = 157686 image 'img_copy_win', id: img_msg_id image 'img_main_win', id: img_msg_id image 'img_sub_win', id: img_msg_sid image 'img_fla', id: img_msg_sid image 'img_emo_00', id: img_msg_sid image 'img_emo_01', id: img_msg_sid end create do #_/_/_/ 変数の初期化 _/_/_/ #_/_/_/ 素材の初期化 _/_/_/ end update do #_/_/_/ メインループ _/_/_/ change_scene "sc_scrkbd" end render do #_/_/_/ 描画 _/_/_/ end end #----- メイン画面 ----- scene 'sc_main' do #_/_/_/ 変数定義 _/_/_/ key_flg_z_s = nil key_flg_z_e = nil key_flg_x_old = nil key_flg_y_old = nil tap_flg_z_s = nil tap_flg_z_e = nil tap_flg_z_c = nil key_flg_l_s = nil; key_flg_l_e = nil key_flg_r_s = nil; key_flg_r_e = nil key_flg_u_s = nil; key_flg_u_e = nil key_flg_d_s = nil; key_flg_d_e = nil data_count = 0 mainloop = false ending_flg = 0 fo_c_r = 0; fo_c_g = 0; fo_c_b = 0 fo_sc_r = 0; fo_sc_g = 0; fo_sc_b = 0 fo_bc_r = 0; fo_bc_g = 0; fo_bc_b = 0 msgSize = 0; msgSpd = 0; msgWait = 0 msgCountA = (-1); msgCountB = 0; msgCountC = 0 msgFull = false; msgNext = false; msg_count = 0 txbxMsgStr = []; txbxMsgLen = [] txbxFullMsgStr = []; txbxFullMsgLen = [] img_msg_co = (-1) ani_m_h = (600 - 180) ani_a_t = 0; ani_a_c = 0 ani_b_t = 0; sel_c_len = 0 ani_b_x = 0; ani_b_y = 0 ani_b_c = 0; ani_b_cp = 0; ani_b_s = 0 ch_old_c = 0; ch_new_c = 0 img_mz = []; img_mz_s = 0; old_i = 0 ani_shk_h = 5; w_ch_l = 300; h_ch_l = 555; wh_ch_l = 150 w_ch_c = 300; h_ch_c = 555; wh_ch_c = 150 w_ch_r = 300; h_ch_r = 555; wh_ch_r = 150 han_ch_l = false; han_ch_c = false; han_ch_r = false set_ch_co_l = 0; set_ch_co_c = 0; set_ch_co_r = 0 sel_c_t = 0; sel_c_id = [] sel_c_x = 0; sel_c_y = 0 #キャラアニメ用データ ani_xd = []; ani_xd[0] = [0] ani_yd = []; ani_yd[0] = [0] #ゆれ ani_xd[1] = [0,(2.5),5,(2.5),0,(-2.5),(-5),(-2.5)] ani_yd[1] = [0,0,0,0,0,0,0,0] #ジャンプ ani_xd[2] = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] ani_yd[2] = [(-2),(-6),(-18),(-26),(-34),(-46),(-50),(-52),(-50),(-46),(-34),(-26),(-18),(-6),(-2),0,0,0,0,0,0,0,0,0,0,0,0] #ダウン ani_xd[3] = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] ani_yd[3] = [2,5,8,12,17,23,30,38,47,57,68,80,93,107,112,128,134,140] #右へ走る ani_xd[4] = [5,15,30,50,70,90,110,130,150,170,190,210,240,270,300,330,360,390,420,450,480,510,540,570,610,650,690,730,770,810] ani_yd[4] = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] #左へ走る ani_xd[5] = [(-5),(-15),(-30),(-50),(-70),(-90),(-110),(-130),(-150),(-170),(-190),(-210),(-240),(-270),(-300),(-330),(-360),(-390),(-420),(-450),(-480),(-510),(-540),(-570),(-610),(-650),(-690),(-730),(-770),(-810)] ani_yd[5] = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] bgm_vol = 0; bgm_c = 0 scrkbd_no = nil scrkbd_flg = nil scrkbd_top = "" scrkbd_color = "" scrkbd_max_str = 0 scrkbd_def_str = "" scrkbd_min_str = 0 scrkbd_num_only = false preload do #_/_/_/ 素材のロード _/_/_/ if isLogin() #debug_log $window.gon.user_codes.instance_variables #game_data{"play_character_id"} #NNE_user_key = load_data() #NNE_user_key = getVariable("user_key") #if NNE_user_key == nil # NNE_user_key = rand.to_s # #save_game(NNE_user_key) # setVariable("user_key",NNE_user_key) #end end end create do #_/_/_/ 変数の初期化 _/_/_/ if !G_set_camera camera_position(100, 100) G_set_camera = true end world_resize(1000, 800) $object_layer = add_layer $object_c_layer = add_layer $exobject_layer = add_layer $system_layer = add_layer $scrkbd_layer = add_layer #スクリーンキーボード data_count = 0 mainloop = false ending_flg = 0 img_msg_co = (-1) ani_m_h = (600 - 180) ani_a_t = 0; ani_a_c = 0 ani_b_t = 0; sel_c_len = 0 ani_b_x = 0; ani_b_y = 0 ani_b_c = 0; ani_b_cp = 0; ani_b_s = 0 img_mz = []; img_mz_s = 0; old_i = 0 ani_shk_h = 5; w_ch_l = 300; h_ch_l = 555; wh_ch_l = 150 w_ch_c = 300; h_ch_c = 555; wh_ch_c = 150 w_ch_r = 300; h_ch_r = 555; wh_ch_r = 150 ch_old_c = 0; ch_new_c = 0 han_ch_l = false; han_ch_c = false; han_ch_r = false set_ch_co_l = 0; set_ch_co_c = 0; set_ch_co_r = 0 sel_c_t = 0; sel_c_id = [] sel_c_x = 0; sel_c_y = 0 bgm_vol = 0; bgm_c = 0 #クリック判定 key_flg_z_s = false key_flg_z_e = false key_flg_x_old = pointer.x key_flg_y_old = pointer.y tap_flg_z_s = false tap_flg_z_e = false tap_flg_z_c = false tap_flg_z_f = false key_flg_l_s = false; key_flg_l_e = false key_flg_r_s = false; key_flg_r_e = false key_flg_u_s = false; key_flg_u_e = false key_flg_d_s = false; key_flg_d_e = false #テキストウインドウ fo_c_r = 250; fo_c_g = 250; fo_c_b = 250 fo_sc_r = 50; fo_sc_g = 50; fo_sc_b = 50 fo_bc_r = 50; fo_bc_g = 50; fo_bc_b = 50 msgSize = 18; msgSpd = 3 G_vol = 100 #_/_/_/ 素材の初期化 _/_/_/ #画像 i = 0; ilen = getArrayLength(NNE_app_sp_no) while (i < ilen) do if NNE_app_sp_type[i] spr = createSpriteN(NNE_app_sp_id[i],1) else spr = createSpriteN(NNE_app_sp_id[i],0) end NNE_app_sp_spr[i] = spr i += 1 end if NNE_app_tsp_id != nil no = indexOfArray(NNE_app_sp_id,NNE_app_tsp_id) NNE_app_tsp_spr = NNE_app_sp_spr[no] setSpritePZR(NNE_app_tsp_spr,0,0,1,0,0,800,600,0,0,800,600) NNE_bg_bk = NNE_app_tsp_spr NNE_bg_bk_id = NNE_app_tsp_id end i = 0; ilen = getArrayLength(NNE_app_sp_addwin_no) while (i < ilen) do spr = createSpriteN(NNE_app_sp_addwin_id[i],3,true) NNE_app_sp_addwin_spr[i] = spr i += 1 end i = 0; ilen = getArrayLength(NNE_app_exsp_z) while (i < ilen) do spr = createSpriteN(NNE_app_exsp_id[i],2,true) NNE_app_exsp_spr[i] = spr i += 1 end spr = createSpriteN('spr_img_copy_win',3,true) NNE_app_sp_copy_win = spr spr = createSpriteN('spr_img_main_win',3,true) NNE_app_sp_main_win = spr spr = createSpriteN('spr_img_sub_win',3,true) NNE_app_sp_sub_win = spr spr = createSpriteN('spr_img_fla',3,true) NNE_app_sp_fla = spr spr = createSpriteN('spr_img_emo_00',3,true) NNE_app_sp_emo_00 = spr spr = createSpriteN('spr_img_emo_01',3,true) NNE_app_sp_emo_01 = spr NNE_chr_ani_l = 0; NNE_chr_ani_c = 0; NNE_chr_ani_r = 0 NNE_chr_anic_l = 0; NNE_chr_anic_c = 0; NNE_chr_anic_r = 0 #スクリーンキーボード if NNE_scrkbd_flg scrKbdLoad() end scrkbd_no = 0 scrkbd_flg = false #音楽、効果音 i = 0; ilen = getArrayLength(NNE_app_bgm_no) while (i < ilen) do NNE_app_bgm_obj[i] = add_music(NNE_app_bgm_id[i]) i += 1 end if NNE_app_tbgm_id != nil no = indexOfArray(NNE_app_bgm_id,NNE_app_tbgm_id) G_bgm = NNE_app_bgm_obj[no] bgm_vol = G_vol volBGM(G_bgm, bgm_vol) playBGM(G_bgm) end i = 0; ilen = getArrayLength(NNE_app_se_no) while (i < ilen) do NNE_app_se_obj[i] = add_sound(NNE_app_se_id[i]) i += 1 end #テキストウインドウ setTextFontSize(18) setTextFontColor(250,250,250) NNE_txbxSave = createText(690, 560, 100, 20) NNE_txbxSave.camera_fixed! NNE_txbxDbg = createText(10, 10, 780, 580) NNE_txbxDbg.camera_fixed! setTextFontColor(fo_sc_r,fo_sc_g,fo_sc_b) NNE_txbxName = createText(20, 422, 760, 180) NNE_txbxName.camera_fixed! setTextFontColor(fo_bc_r,fo_bc_g,fo_bc_b) NNE_txbxMi = createText(5, 2, 790, 20) NNE_txbxMi.camera_fixed! setTextFontColor(fo_c_r,fo_c_g,fo_c_b) setTextFontSize(msgSize) #NNE_txbxMsg = createText(20, 450, 760, 180) i = 0; ilen = 7 while (i < ilen) do NNE_txbxMsg[i] = createText(20, (450 + (22 * i)), 760, 20) NNE_txbxMsg[i].camera_fixed! txbxMsgStr[i] = [] i += 1 end i = 0; ilen = 28 while (i < ilen) do NNE_txbxFullMsg[i] = createText(20, (20 + (22 * i)), 760, 20) NNE_txbxFullMsg[i].camera_fixed! txbxFullMsgStr[i] = [] i += 1 end setTextFontSize(18) i = 0; ilen = 6; adx = 0; ady = 0 while i < ilen if i > 0 adx = 400 * (i % 2); ady = 30 * floor(i / 2) end NNE_txbxCursor[i] = createText(30 + adx, 480 + ady, 30, 30) NNE_txbxCursor[i].camera_fixed! NNE_txbxSelect[i] = createText(50 + adx, 480 + ady, 350, 30) NNE_txbxSelect[i].camera_fixed! i = i + 1 end #セーブデータのロード情報を適用 if NNE_dat_load_flg != nil if NNE_dat_load_flg end NNE_dat_load_flg = false end end update do #_/_/_/ メインループ _/_/_/ #入力判定 #スマートフォン用の判定処理 tap_flg_z_f = tap_flg_z_s if tap_flg_z_e then tap_flg_z_s = pointer.down? else if pointer.down? then tap_flg_z_e = true tap_flg_z_s = true elsif key_flg_x_old != pointer.x || key_flg_y_old != pointer.y then if tap_flg_z_c then tap_flg_z_e = true tap_flg_z_s = false else tap_flg_z_c = true tap_flg_z_s = false end else if tap_flg_z_c then tap_flg_z_c = false tap_flg_z_s = true else tap_flg_z_s = false end end end key_flg_x_old = pointer.x key_flg_y_old = pointer.y if tap_flg_z_f then tap_flg_z_f = false elsif tap_flg_z_s then tap_flg_z_f = true end #一般用の判定処理 if keyboard.down?('Z') || tap_flg_z_f key_flg_z_s = true else key_flg_z_s = false key_flg_z_e = false end if keyboard.down?('LEFT') key_flg_l_s = true else key_flg_l_s = false key_flg_l_e = false end if keyboard.down?('RIGHT') key_flg_r_s = true else key_flg_r_s = false key_flg_r_e = false end if keyboard.down?('UP') key_flg_u_s = true else key_flg_u_s = false key_flg_u_e = false end if keyboard.down?('DOWN') key_flg_d_s = true else key_flg_d_s = false key_flg_d_e = false end #操作関連 if (key_flg_z_s && !key_flg_z_e) if (ani_b_t == 0) mainloop = true end end #_/_/_/ メイン処理 _/_/_/ if mainloop && (ani_b_t == 0) && (sel_c_t == 0) && (!$SKB_st_flg) && (ch_old_c == 0) && (ch_new_c == 0) if (msgCountA < 0) #初回処理 if data_count < 1 debug_log 'start' #setSpritePZR(NNE_app_sp_copy_win,0,ani_m_h,40,(img_msg_co % 2) * 800,floor(img_msg_co / 2) * 180,800,180,0,0,800,180) end #実行しない行 wrk_str = [] wrk_str = splitString(G_dataListAll[data_count][0],'') while (wrk_str[0] == "#") data_count += 1 wrk_str = G_dataListAll[data_count][0] end #実行する行 spr = nil wrk_case = getDataList(G_dataListAll[data_count][0]) case wrk_case when "背景" then no = indexOfArray(NNE_app_sp_no, getDataNumber(G_dataListAll[data_count][1]).to_i) spr = nil if no > (-1) spr = NNE_app_sp_spr[no] end if spr != nil if NNE_bg_bk != nil deleteSprite(NNE_bg_bk) end NNE_bg_bk = spr NNE_bg_bk_id = NNE_app_sp_id[no] NNE_bg_fr = nil setSpritePZR(spr,0,0,1,0,0,800,600,0,0,800,600) end mainloop = false begin wrk_case = getDataList(G_dataListAll[data_count][2]) case wrk_case when "次へ" then mainloop = true else end rescue => e end when "背景移動" then no = indexOfArray(NNE_app_sp_no, getDataNumber(G_dataListAll[data_count][1]).to_i) spr = nil if no > (-1) spr = NNE_app_sp_spr[no] end if spr != nil if NNE_bg_fr != nil deleteSprite(NNE_bg_fr) end NNE_bg_fr = spr NNE_bg_fr_id = NNE_app_sp_id[no] wrk_case = getDataList(G_dataListAll[data_count][2]) case wrk_case when "右" then ani_b_t = 2 when "上" then ani_b_t = 3 when "下" then ani_b_t = 4 else ani_b_t = 1 end end mainloop = false begin wrk_case = getDataList(G_dataListAll[data_count][2]) case wrk_case when "次へ" then mainloop = true else end rescue => e end when "背景モザイク" then no = indexOfArray(NNE_app_sp_no, getDataNumber(G_dataListAll[data_count][1]).to_i) spr = nil if no > (-1) spr = NNE_app_sp_spr[no] end if spr != nil if NNE_bg_fr != nil deleteSprite(NNE_bg_fr) end NNE_bg_fr = spr NNE_bg_fr_id = NNE_app_sp_id[no] ani_b_x = 0; ani_b_y = 0 ani_b_t = 5 end mainloop = false begin wrk_case = getDataList(G_dataListAll[data_count][2]) case wrk_case when "次へ" then mainloop = true else end rescue => e end when "背景ブラインド" then no = indexOfArray(NNE_app_sp_no, getDataNumber(G_dataListAll[data_count][1]).to_i) spr = nil if no > (-1) spr = NNE_app_sp_spr[no] end if spr != nil if NNE_bg_fr != nil deleteSprite(NNE_bg_fr) end NNE_bg_fr = spr NNE_bg_fr_id = NNE_app_sp_id[no] img_mz_s = 40; i = 0; ilen = 20 while i < ilen spr = createSpriteN(NNE_bg_bk_id,0) img_mz[i] = spr img_mz_wk1 = img_mz_s * i setSpritePZR(img_mz[i],img_mz_wk1,0,2,img_mz_wk1,0,40,600,0,0,40,600) i = i + 1 end if NNE_bg_bk != nil deleteSprite(NNE_bg_bk) end NNE_bg_bk = NNE_bg_fr NNE_bg_bk_id = NNE_bg_fr_id NNE_bg_fr = nil setSpritePZR(NNE_bg_bk,0,0,1,0,0,800,600,0,0,800,600) wrk_case = getDataList(G_dataListAll[data_count][2]) case wrk_case when "右" then ani_b_x = 2 else ani_b_x = 1 end ani_b_y = 0 ani_b_t = 7 end mainloop = false begin wrk_case = getDataList(G_dataListAll[data_count][2]) case wrk_case when "次へ" then mainloop = true else end rescue => e end when "背景拡大" then no = indexOfArray(NNE_app_sp_no, getDataNumber(G_dataListAll[data_count][1]).to_i) spr = nil if no > (-1) spr = NNE_app_sp_spr[no] end if spr != nil if NNE_bg_fr != nil deleteSprite(NNE_bg_fr) end NNE_bg_fr = spr NNE_bg_fr_id = NNE_app_sp_id[no] ani_b_t = 8 end mainloop = false begin wrk_case = getDataList(G_dataListAll[data_count][2]) case wrk_case when "次へ" then mainloop = true else end rescue => e end when "背景縮小" then no = indexOfArray(NNE_app_sp_no, getDataNumber(G_dataListAll[data_count][1]).to_i) spr = nil if no > (-1) spr = NNE_app_sp_spr[no] end if spr != nil if NNE_bg_fr != nil deleteSprite(NNE_bg_fr) end NNE_bg_fr = spr NNE_bg_fr_id = NNE_app_sp_id[no] ani_b_t = 9 end mainloop = false begin wrk_case = getDataList(G_dataListAll[data_count][2]) case wrk_case when "次へ" then mainloop = true else end rescue => e end when "背景回転" then no = indexOfArray(NNE_app_sp_no, getDataNumber(G_dataListAll[data_count][1]).to_i) spr = nil if no > (-1) spr = NNE_app_sp_spr[no] end if spr != nil if NNE_bg_fr != nil deleteSprite(NNE_bg_fr) end NNE_bg_fr = spr NNE_bg_fr_id = NNE_app_sp_id[no] wrk_case = getDataList(G_dataListAll[data_count][2]) case wrk_case when "縦" then ani_b_t = 10 else ani_b_t = 11 end end mainloop = false begin wrk_case = getDataList(G_dataListAll[data_count][2]) case wrk_case when "次へ" then mainloop = true else end rescue => e end when "背景ドア" then no = indexOfArray(NNE_app_sp_no, getDataNumber(G_dataListAll[data_count][1]).to_i) spr = nil if no > (-1) spr = NNE_app_sp_spr[no] end if spr != nil if NNE_bg_fr != nil deleteSprite(NNE_bg_fr) end NNE_bg_fr = spr NNE_bg_fr_id = NNE_app_sp_id[no] setSpritePZR(NNE_bg_fr,800,600,1,0,0,800,600,0,0,800,600) wrk_case = getDataList(G_dataListAll[data_count][2]) wrk_case2 = getDataList(G_dataListAll[data_count][3]) ani_b_y = 0 case wrk_case when "横" then if wrk_case2 == "閉じる" || wrk_case2 == "閉" || wrk_case2 == "とじる" ani_b_y = 1 else ani_b_y = 0 end else if wrk_case2 == "閉じる" || wrk_case2 == "閉" || wrk_case2 == "とじる" ani_b_y = 3 else ani_b_y = 2 end end case ani_b_y when 0 then spr = createSpriteN(NNE_bg_bk_id,0) img_mz[0] = spr setSpritePZR(img_mz[0],0,0,2,0,0,400,600,0,0,400,600) spr = createSpriteN(NNE_bg_bk_id,0) img_mz[1] = spr setSpritePZR(img_mz[1],400,0,2,400,0,400,600,0,0,400,600) if NNE_bg_bk != nil deleteSprite(NNE_bg_bk) end NNE_bg_bk = NNE_bg_fr NNE_bg_bk_id = NNE_bg_fr_id NNE_bg_fr = nil setSpritePZR(NNE_bg_bk,0,0,1,0,0,800,600,0,0,800,600) when 1 then spr = createSpriteN(NNE_bg_fr_id,0) img_mz[0] = spr setSpritePZR(img_mz[0],(-400),0,2,0,0,400,600,0,0,400,600) spr = createSpriteN(NNE_bg_fr_id,0) img_mz[1] = spr setSpritePZR(img_mz[1],800,0,2,400,0,400,600,0,0,400,600) when 2 then spr = createSpriteN(NNE_bg_bk_id,0) img_mz[0] = spr setSpritePZR(img_mz[0],0,0,2,0,0,800,300,0,0,800,300) spr = createSpriteN(NNE_bg_bk_id,0) img_mz[1] = spr setSpritePZR(img_mz[1],0,300,2,0,300,800,300,0,0,800,300) if NNE_bg_bk != nil deleteSprite(NNE_bg_bk) end NNE_bg_bk = NNE_bg_fr NNE_bg_bk_id = NNE_bg_fr_id NNE_bg_fr = nil setSpritePZR(NNE_bg_bk,0,0,1,0,0,800,600,0,0,800,600) when 3 then spr = createSpriteN(NNE_bg_fr_id,0) img_mz[0] = spr setSpritePZR(img_mz[0],0,(-300),2,0,0,800,300,0,0,800,300) spr = createSpriteN(NNE_bg_fr_id,0) img_mz[1] = spr setSpritePZR(img_mz[1],0,600,2,0,300,800,300,0,0,800,300) else end ani_b_x = 0 ani_b_t = 12 end mainloop = false begin wrk_case = getDataList(G_dataListAll[data_count][2]) case wrk_case when "次へ" then mainloop = true else end rescue => e end when "背景本" then no = indexOfArray(NNE_app_sp_no, getDataNumber(G_dataListAll[data_count][1]).to_i) spr = nil if no > (-1) spr = NNE_app_sp_spr[no] end if spr != nil if NNE_bg_fr != nil deleteSprite(NNE_bg_fr) end NNE_bg_fr = spr NNE_bg_fr_id = NNE_app_sp_id[no] wrk_case = getDataList(G_dataListAll[data_count][2]) wrk_case2 = getDataList(G_dataListAll[data_count][3]) ani_b_y = 0 case wrk_case when "縦" then if wrk_case2 == "上" ani_b_y = 3 else ani_b_y = 2 end spr = createSpriteN(NNE_bg_bk_id,0) img_mz[0] = spr setSpritePZR(img_mz[0],0,0,2,0,0,800,300,0,0,800,300) spr = createSpriteN(NNE_bg_bk_id,0) img_mz[1] = spr setSpritePZR(img_mz[1],0,300,2,0,300,800,300,0,0,800,300) else if wrk_case2 == "左" ani_b_y = 1 else ani_b_y = 0 end spr = createSpriteN(NNE_bg_bk_id,0) img_mz[0] = spr setSpritePZR(img_mz[0],0,0,2,0,0,400,600,0,0,400,600) spr = createSpriteN(NNE_bg_bk_id,0) img_mz[1] = spr setSpritePZR(img_mz[1],400,0,2,400,0,400,600,0,0,400,600) end if NNE_bg_bk != nil deleteSprite(NNE_bg_bk) end NNE_bg_bk = NNE_bg_fr NNE_bg_bk_id = NNE_bg_fr_id NNE_bg_fr = nil setSpritePZR(NNE_bg_bk,0,0,1,0,0,800,600,0,0,800,600) ani_b_x = 0 ani_b_t = 13 end mainloop = false begin wrk_case = getDataList(G_dataListAll[data_count][2]) case wrk_case when "次へ" then mainloop = true else end rescue => e end when "背景フェードアウト" then no = indexOfArray(NNE_app_sp_no, getDataNumber(G_dataListAll[data_count][1]).to_i) spr = nil if no > (-1) spr = NNE_app_sp_spr[no] end if spr != nil if NNE_bg_fr != nil deleteSprite(NNE_bg_fr) end NNE_bg_fr = spr NNE_bg_fr_id = NNE_app_sp_id[no] setSpritePZR(NNE_bg_bk,0,0,2,0,0,800,600,0,0,800,600) setSpritePZR(NNE_bg_fr,0,0,1,0,0,800,600,0,0,800,600) ani_b_x = 0; ani_b_y = 0 ani_b_t = 14 end mainloop = false begin wrk_case = getDataList(G_dataListAll[data_count][2]) case wrk_case when "次へ" then mainloop = true else end rescue => e end when "背景旋回" then no = indexOfArray(NNE_app_sp_no, getDataNumber(G_dataListAll[data_count][1]).to_i) spr = nil if no > (-1) spr = NNE_app_sp_spr[no] end if spr != nil if NNE_bg_fr != nil deleteSprite(NNE_bg_fr) end NNE_bg_fr = spr NNE_bg_fr_id = NNE_app_sp_id[no] wrk_case = getDataList(G_dataListAll[data_count][2]) ani_b_x = 2 ani_b_y = 0 case wrk_case when "左から" then ani_b_y = 1 when "右へ" then ani_b_y = 2 when "右から" then ani_b_y = 3 else end ani_b_c = 70 if ani_b_y == 0 || ani_b_y == 1 spr = createSpriteN('spr_img_fla',0) img_mz[0] = spr setSpritePZR(img_mz[0],(-70),600,2,70,0,71,1,70,0,71,1) if ani_b_y == 0 spr = createSpriteN(NNE_bg_bk_id,0) img_mz[1] = spr setSpritePZR(img_mz[1],0,(-600),2,0,0,800,600,0,0,800,600) img_mz[0].add_child img_mz[1] img_mz[0].angle 0 if NNE_bg_bk != nil deleteSprite(NNE_bg_bk) end NNE_bg_bk = NNE_bg_fr NNE_bg_bk_id = NNE_bg_fr_id NNE_bg_fr = nil setSpritePZR(NNE_bg_bk,0,0,1,0,0,800,600,0,0,800,600) else spr = createSpriteN(NNE_bg_fr_id,0) img_mz[1] = spr setSpritePZR(img_mz[1],0,(-600),2,0,0,800,600,0,0,800,600) img_mz[0].add_child img_mz[1] img_mz[0].angle (-90) end end if ani_b_y == 2 || ani_b_y == 3 spr = createSpriteN('spr_img_fla',0) img_mz[0] = spr setSpritePZR(img_mz[0],(800 - 70),600,2,70,0,71,1,70,0,71,1) if ani_b_y == 2 spr = createSpriteN(NNE_bg_bk_id,0) img_mz[1] = spr setSpritePZR(img_mz[1],(-800),(-600),2,0,0,800,600,0,0,800,600) img_mz[0].add_child img_mz[1] img_mz[0].angle 0 if NNE_bg_bk != nil deleteSprite(NNE_bg_bk) end NNE_bg_bk = NNE_bg_fr NNE_bg_bk_id = NNE_bg_fr_id NNE_bg_fr = nil setSpritePZR(NNE_bg_bk,0,0,1,0,0,800,600,0,0,800,600) else spr = createSpriteN(NNE_bg_fr_id,0) img_mz[1] = spr setSpritePZR(img_mz[1],(-800),(-600),2,0,0,800,600,0,0,800,600) img_mz[0].add_child img_mz[1] img_mz[0].angle 90 end end ani_b_t = 15 end mainloop = false begin wrk_case = getDataList(G_dataListAll[data_count][2]) case wrk_case when "次へ" then mainloop = true else end rescue => e end when "タイトル" then when "エフェクト" then wrk_case = getDataList(G_dataListAll[data_count][1]) case wrk_case when "フェードアウト" then wrk_str = getDataList(G_dataListAll[data_count][2]) wrk_str = getSkbColorPtn(wrk_str) ani_b_c = 0 case wrk_str when "黒" then ani_b_c = 1.3 when "青" then ani_b_c = 21.3 when "赤" then ani_b_c = 31.3 when "黄" then ani_b_c = 41.25 when "紫" then ani_b_c = 51.2 else #白 ani_b_c = 11.3 end ani_b_cp = getDataNumber(G_dataListAll[data_count][3]).to_i if ani_b_cp < 10 then ani_b_cp = 10; end if ani_b_cp > 100 then ani_b_cp = 100; end if ani_b_cp > 0 ani_b_cp = ani_b_cp / 100 else ani_b_cp = 0 end ani_b_s = 3 begin ani_b_s = getDataNumber(G_dataListAll[data_count][4]).to_i if ani_b_s < 1 then ani_b_s = 1; end if ani_b_s > 10 then ani_b_s = 10; end rescue => e end setSpritePZR(NNE_app_sp_fla,800,600,30,0,0,384,960,0,0,384,960) ani_b_t = 20 when "フェードイン" then ani_b_s = 3 begin ani_b_s = getDataNumber(G_dataListAll[data_count][1]).to_i if ani_b_s < 1 then ani_b_s = 1; end if ani_b_s > 10 then ani_b_s = 10; end rescue => e end ani_b_t = 21 when "フラッシュ" then wrk_str = getDataList(G_dataListAll[data_count][2]) no = getDataNumber(G_dataListAll[data_count][3]).to_i if no < 10 then no = 10; end if no > 100 then no = 100; end a = 1 if no > 0 a = no / 100 end no_ptn = 0 wrk_str = getSkbColorPtn(wrk_str) case wrk_str when "黒" then ani_b_c = 1.3 when "青" then ani_b_c = 21.3 when "赤" then ani_b_c = 31.3 when "黄" then ani_b_c = 41.25 when "紫" then ani_b_c = 51.2 else #白 ani_b_c = 11.3 end #debug_log no_ptn setAlpha(NNE_app_sp_fla,a) ani_b_cp = a setSpritePZR(NNE_app_sp_fla,0,0,30,(ani_b_c - 0.8),0,(ani_b_c - 0.2),1,0,0,80000,60000) when "振動" then wrk_str = getDataList(G_dataListAll[data_count][2]) case wrk_str when "縦" then ani_a_t = 1; ani_a_c = 0 when "横" then ani_a_t = 2; ani_a_c = 0 else ani_a_t = 0; ani_a_c = 0 camera_position(0, 0) end else setAlpha(NNE_app_sp_fla,1) setSpritePZR(NNE_app_sp_fla,800,600,30,0,0,384,960,0,0,384,960) end #mainloop = false when "キャラ" then han_flg = false mainloop = false no = indexOfArray(NNE_app_sp_no, getDataNumber(G_dataListAll[data_count][1]).to_i) spr = nil if no > (-1) spr = NNE_app_sp_spr[no] end pos = (-1) begin wrk_case = getDataList(G_dataListAll[data_count][3]) case wrk_case when "次へ" then mainloop = true when "反転" then han_flg = true else end rescue => e end if han_flg begin wrk_case = getDataList(G_dataListAll[data_count][4]) case wrk_case when "次へ" then mainloop = true else end rescue => e end end wrk_case = getDataList(G_dataListAll[data_count][2]) case wrk_case when "左" then if NNE_chr_l != nil deleteSprite(NNE_chr_l) spr2 = createSpriteN(NNE_chr_l_id,1) NNE_chr_old = spr2; ch_old_c = 1 setAlpha(NNE_chr_old,1) NNE_chr_l = nil end if han_flg then han_ch_l = true; else han_ch_l = false; end if spr != nil NNE_chr_l = NNE_chr_new = spr; ch_new_c = 1 setAlpha(NNE_chr_new,0) NNE_chr_l_id = NNE_app_sp_id[no] set_ch_co_l = 0 if han_ch_l setSpritePZR(spr,(200 - wh_ch_l),(600 - h_ch_l),5,0,0,w_ch_l,h_ch_l,w_ch_l,0,(w_ch_l * (-1)),h_ch_l) else setSpritePZR(spr,(200 - wh_ch_l),(600 - h_ch_l),5,0,0,w_ch_l,h_ch_l,0,0,w_ch_l,h_ch_l) end end NNE_chr_ani_l = 0; NNE_chr_anic_l = 0 when "中央" then if NNE_chr_c != nil deleteSprite(NNE_chr_c) spr2 = createSpriteN(NNE_chr_c_id,1) NNE_chr_old = spr2; ch_old_c = 1 setAlpha(NNE_chr_old,1) NNE_chr_c = nil end if han_flg then han_ch_c = true; else han_ch_c = false; end if spr != nil NNE_chr_c = NNE_chr_new = spr; ch_new_c = 1 NNE_chr_c_id = NNE_app_sp_id[no] setAlpha(NNE_chr_new,0) set_ch_co_c = 0 if han_ch_c setSpritePZR(spr,(400 - wh_ch_c),(600 - h_ch_c),5,0,0,w_ch_c,h_ch_c,w_ch_c,0,(w_ch_c * (-1)),h_ch_c) else setSpritePZR(spr,(400 - wh_ch_c),(600 - h_ch_c),5,0,0,w_ch_c,h_ch_c,0,0,w_ch_c,h_ch_c) end end NNE_chr_ani_c = 0; NNE_chr_anic_c = 0 when "右" then if NNE_chr_r != nil deleteSprite(NNE_chr_r) spr2 = createSpriteN(NNE_chr_r_id,1) NNE_chr_old = spr2; ch_old_c = 1 setAlpha(NNE_chr_old,1) NNE_chr_r = nil end if han_flg then han_ch_r = true; else han_ch_r = false; end if spr != nil NNE_chr_r = NNE_chr_new = spr; ch_new_c = 1 NNE_chr_r_id = NNE_app_sp_id[no] setAlpha(NNE_chr_new,0) set_ch_co_r = 0 if han_ch_r setSpritePZR(spr,(600 - wh_ch_r),(600 - h_ch_r),5,0,0,w_ch_r,h_ch_r,w_ch_r,0,(w_ch_r * (-1)),h_ch_r) else setSpritePZR(spr,(600 - wh_ch_r),(600 - h_ch_r),5,0,0,w_ch_r,h_ch_r,0,0,w_ch_r,h_ch_r) end end NNE_chr_ani_r = 0; NNE_chr_anic_r = 0 else debug_log "ChrErr" end when "キャラ番号" then begin wrk_case = getDataList(G_dataListAll[data_count][3]) case wrk_case when "次へ" then mainloop = true else end rescue => e end wrk_case = getDataList(G_dataListAll[data_count][1]) set_ch_co = (getDataNumber(G_dataListAll[data_count][2]).to_i) - 1 case wrk_case when "左" then if NNE_chr_l != nil set_ch_co_l = set_ch_co if han_ch_l setSpritePZR(NNE_chr_l,(200 - wh_ch_l),(600 - h_ch_l),5,(w_ch_l * set_ch_co_l),0,w_ch_l,h_ch_l,w_ch_l,0,(w_ch_l * (-1)),h_ch_l) else setSpritePZR(NNE_chr_l,(200 - wh_ch_l),(600 - h_ch_l),5,(w_ch_l * set_ch_co_l),0,w_ch_l,h_ch_l,0,0,w_ch_l,h_ch_l) end end when "中央" then if NNE_chr_c != nil set_ch_co_c = set_ch_co if han_ch_c setSpritePZR(NNE_chr_c,(400 - wh_ch_c),(600 - h_ch_c),5,(w_ch_c * set_ch_co_c),0,w_ch_c,h_ch_c,w_ch_c,0,(w_ch_c * (-1)),h_ch_c) else setSpritePZR(NNE_chr_c,(400 - wh_ch_c),(600 - h_ch_c),5,(w_ch_c * set_ch_co_c),0,w_ch_c,h_ch_c,0,0,w_ch_c,h_ch_c) end end when "右" then if NNE_chr_r != nil set_ch_co_r = set_ch_co if han_ch_r setSpritePZR(NNE_chr_r,(600 - wh_ch_r),(600 - h_ch_r),5,(w_ch_r * set_ch_co_r),0,w_ch_r,h_ch_r,w_ch_r,0,(w_ch_r * (-1)),h_ch_r) else setSpritePZR(NNE_chr_r,(600 - wh_ch_r),(600 - h_ch_r),5,(w_ch_r * set_ch_co_r),0,w_ch_r,h_ch_r,0,0,w_ch_r,h_ch_r) end end else debug_log "ChrErr" end when "キャラサイズ" wrk_case = getDataList(G_dataListAll[data_count][1]) set_ch_neww = 0 wrk_flg = isNumber(G_dataListAll[data_count][2]) if wrk_flg then set_ch_neww = (getDataNumber(G_dataListAll[data_count][2]).to_i); end set_ch_newh = 0 wrk_flg = isNumber(G_dataListAll[data_count][3]) if wrk_flg then set_ch_newh = (getDataNumber(G_dataListAll[data_count][3]).to_i); end case wrk_case when "左" then if set_ch_neww > 0 then w_ch_l = set_ch_neww; wh_ch_l = floor(w_ch_l / 2); else w_ch_l = 300; wh_ch_l = 150; end if set_ch_newh > 0 then h_ch_l = set_ch_newh; else h_ch_l = 555; end when "中央" then if set_ch_neww > 0 then w_ch_c = set_ch_neww; wh_ch_c = floor(w_ch_c / 2); else w_ch_c = 300; wh_ch_c = 150; end if set_ch_newh > 0 then h_ch_c = set_ch_newh; else h_ch_c = 555; end when "右" then if set_ch_neww > 0 then w_ch_r = set_ch_neww; wh_ch_r = floor(w_ch_r / 2); else w_ch_r = 300; wh_ch_r = 150; end if set_ch_newh > 0 then h_ch_r = set_ch_newh; else h_ch_r = 555; end else end when "キャラアニメ" then wrk_str = getDataList(G_dataListAll[data_count][1]) wrk_str = varsubString(wrk_str) wrk_case = getDataList(G_dataListAll[data_count][2]) wrk_case = varsubString(wrk_case) wrk_no = 0 if wrk_str == "ゆれ" || wrk_str == "ふるえ" wrk_no = 1 elsif wrk_str == "ジャンプ" || wrk_str == "ぴょんぴょん" wrk_no = 2 elsif wrk_str == "ダウン" wrk_no = 3 elsif wrk_str == "右へ走る" || wrk_str == "右フレームアウト" wrk_no = 4 elsif wrk_str == "左へ走る" || wrk_str == "左フレームアウト" wrk_no = 5 else end case wrk_case when "左" then if NNE_chr_l != nil if han_ch_l setSpritePZR(NNE_chr_l,(200 - wh_ch_l),(600 - h_ch_l),5,(w_ch_l * set_ch_co_l),0,w_ch_l,h_ch_l,w_ch_l,0,(w_ch_l * (-1)),h_ch_l) else setSpritePZR(NNE_chr_l,(200 - wh_ch_l),(600 - h_ch_l),5,(w_ch_l * set_ch_co_l),0,w_ch_l,h_ch_l,0,0,w_ch_l,h_ch_l) end end NNE_chr_ani_l = wrk_no; NNE_chr_anic_l = 0 when "中央" then if NNE_chr_c != nil if han_ch_c setSpritePZR(NNE_chr_c,(400 - wh_ch_c),(600 - h_ch_c),5,(w_ch_c * set_ch_co_c),0,w_ch_c,h_ch_c,w_ch_c,0,(w_ch_c * (-1)),h_ch_c) else setSpritePZR(NNE_chr_c,(400 - wh_ch_c),(600 - h_ch_c),5,(w_ch_c * set_ch_co_c),0,w_ch_c,h_ch_c,0,0,w_ch_c,h_ch_c) end end NNE_chr_ani_c = wrk_no; NNE_chr_anic_c = 0 when "右" then if NNE_chr_r != nil if han_ch_r setSpritePZR(NNE_chr_r,(600 - wh_ch_r),(600 - h_ch_r),5,(w_ch_r * set_ch_co_r),0,w_ch_r,h_ch_r,w_ch_r,0,(w_ch_r * (-1)),h_ch_r) else setSpritePZR(NNE_chr_r,(600 - wh_ch_r),(600 - h_ch_r),5,(w_ch_r * set_ch_co_r),0,w_ch_r,h_ch_r,0,0,w_ch_r,h_ch_r) end end NNE_chr_ani_r = wrk_no; NNE_chr_anic_r = 0 else debug_log "ChrErr" end when "エモーション" then emo_00_po = (-1); emo_01_po = (-1) begin wrk_case = getDataList(G_dataListAll[data_count][2]) wrk_case = varsubString(wrk_case) case wrk_case when "左" then emo_00_po = 0; emo_01_po = 0 when "中央" then emo_00_po = 1; emo_01_po = 1 when "右" then emo_00_po = 2; emo_01_po = 2 else end rescue => e end emo_00_ty = 0; emo_01_ty = 4 wrk_case = getDataList(G_dataListAll[data_count][1]) wrk_case = varsubString(wrk_case) if wrk_case == "!" emo_00_ty = 1; emo_01_ty = 2 elsif wrk_case == "?" emo_00_ty = 0; emo_01_ty = 3 elsif wrk_case == "orz" || wrk_case == "orz" emo_00_ty = 0; emo_01_ty = 5 elsif wrk_case == "zzz" || wrk_case == "zzz" emo_00_ty = 0; emo_01_ty = 6 elsif wrk_case == "毒" || wrk_case == "どく" emo_00_ty = 0; emo_01_ty = 7 elsif wrk_case == "ハート" emo_00_ty = 0; emo_01_ty = 8 elsif wrk_case == "もじゃ" || wrk_case == "もや" emo_00_ty = 0; emo_01_ty = 9 elsif wrk_case == "♪" || wrk_case == "音符" emo_00_ty = 0; emo_01_ty = 10 elsif wrk_case == "汗" || wrk_case == "水" emo_00_ty = 0; emo_01_ty = 11 elsif wrk_case == "汗かき" emo_00_ty = 0; emo_01_ty = 12; emo_00_po = (-1) elsif wrk_case == "赤面" || wrk_case == "照れ" emo_00_ty = 0; emo_01_ty = 13 elsif wrk_case == "晴れ" || wrk_case == "晴" emo_00_ty = 0; emo_01_ty = 14 elsif wrk_case == "ひらめき" || wrk_case == "電球" emo_00_ty = 0; emo_01_ty = 15 elsif wrk_case == "怒り" || wrk_case == "#" emo_00_ty = 0; emo_01_ty = 16 elsif wrk_case == "電気" || wrk_case == "雷" emo_00_ty = 0; emo_01_ty = 17 else end setSpritePZR(NNE_app_sp_emo_00, (50 + (emo_00_po * 200)), 50, 23, (emo_00_ty * 96), 141, 96, 96, 0, 0, 96, 96) if emo_01_ty == 12 setSpritePZR(NNE_app_sp_emo_01, (50 + (emo_01_po * 200)), 50, 24, ((emo_01_ty % 4) * 96 + 96), (141 + floor(emo_01_ty / 4) * 96), (-96), 96, 0, 0, 96, 96) else setSpritePZR(NNE_app_sp_emo_01, (50 + (emo_01_po * 200)), 50, 24, ((emo_01_ty % 4) * 96), (141 + floor(emo_01_ty / 4) * 96), 96, 96, 0, 0, 96, 96) end when "拡張画像" then wrk_case = getDataList(G_dataListAll[data_count][1]) wrk_case = varsubString(wrk_case) if wrk_case == "なし" || wrk_case == "削除" no = getDataNumber(G_dataListAll[data_count][2]).to_i if no < 30 deleteAppendSpriteZ(no) else deleteAppendSprite(no) end else wrk_z = getDataNumber(varsubString(G_dataListAll[data_count][1])).to_i no = indexOfArray(NNE_app_exsp_z, wrk_z) wrk_px = getDataNumber(varsubString(G_dataListAll[data_count][3])).to_i wrk_py = getDataNumber(varsubString(G_dataListAll[data_count][4])).to_i wrk_rx1 = getDataNumber(varsubString(G_dataListAll[data_count][5])).to_i wrk_ry1 = getDataNumber(varsubString(G_dataListAll[data_count][6])).to_i wrk_rw1 = getDataNumber(varsubString(G_dataListAll[data_count][7])).to_i wrk_rh1 = getDataNumber(varsubString(G_dataListAll[data_count][8])).to_i wrk_sw = getDataNumber(varsubString(G_dataListAll[data_count][9])).to_i wrk_sh = getDataNumber(varsubString(G_dataListAll[data_count][10])).to_i spr = nil if no > (-1) spr = NNE_app_exsp_spr[no] end if spr != nil setSpritePZR(spr,wrk_px,wrk_py,wrk_z,wrk_rx1,wrk_ry1,wrk_rw1,wrk_rh1,0,0,(wrk_rw1 * wrk_sw),(wrk_rh1 * wrk_sh)) end mainloop = false begin wrk_case = getDataList(G_dataListAll[data_count][11]) wrk_case = varsubString(wrk_case) case wrk_case when "次へ" then mainloop = true else end rescue => e end end when "枠" then wrk_case = getDataList(G_dataListAll[data_count][1]) wrk_case = varsubString(wrk_case) if wrk_case == "なし" || wrk_case == "削除" set_msg_co = (-1) if img_msg_co != set_msg_co img_msg_co = set_msg_co setSpritePZR(NNE_app_sp_copy_win,800,600,40,0,0,0,0,0,0,0,0) end else set_msg_co = getWinColorPtn(wrk_case) if img_msg_co != set_msg_co img_msg_co = set_msg_co setSpritePZR(NNE_app_sp_copy_win,0,ani_m_h,40,(img_msg_co % 2) * 800,floor(img_msg_co / 2) * 180,800,180,0,0,800,180) end end when "枠番号" then wrk_case = getDataList(G_dataListAll[data_count][1]) setSpritePZR(NNE_app_sp_copy_win,0,800,600,(img_msg_co % 2) * 800,floor(img_msg_co / 2) * 180,800,180,0,0,800,180) if wrk_case == "なし" || wrk_case == "デフォルト" obj = NNE_app_sp_main_win.instance_variable_get('@js_sprite') NNE_app_sp_copy_win.js_sprite = obj.clone setSpritePZR(NNE_app_sp_copy_win,0,ani_m_h,40,(img_msg_co % 2) * 800,floor(img_msg_co / 2) * 180,800,180,0,0,800,180) else no = indexOfArray(NNE_app_sp_addwin_no, getDataNumber(G_dataListAll[data_count][1]).to_i) spr = nil; obj = nil if no > (-1) spr = NNE_app_sp_addwin_spr[no] end if spr != nil obj = spr.instance_variable_get('@js_sprite') else obj = NNE_app_sp_main_win.instance_variable_get('@js_sprite') end NNE_app_sp_copy_win.js_sprite = obj.clone setSpritePZR(NNE_app_sp_copy_win,0,ani_m_h,40,(img_msg_co % 2) * 800,floor(img_msg_co / 2) * 180,800,180,0,0,800,180) end when "文字速度" then msgSpd = getDataNumber(G_dataListAll[data_count][1]).to_i if msgSpd < 1 then msgSpd = 1; end if msgSpd > 3 then msgSpd = 3; end when "文字サイズ" then msgSize = getDataNumber(G_dataListAll[data_count][1]).to_i setTextFontColor(fo_c_r,fo_c_g,fo_c_b) setTextFontSize(msgSize) #NNE_txbxMsg = createText(20, 450, 760, 180) i = 0; ilen = 7 while (i < ilen) do deleteText(NNE_txbxMsg[i]) NNE_txbxMsg[i] = createText(20, (450 + ((msgSize + 4) * i)), 760, 20) NNE_txbxMsg[i].camera_fixed! i += 1 end i = 0; ilen = 28 while (i < ilen) do deleteText(NNE_txbxFullMsg[i]) NNE_txbxFullMsg[i] = createText(20, (20 + ((msgSize + 4) * i)), 760, 20) NNE_txbxFullMsg[i].camera_fixed! i += 1 end setTextFontSize(18) when "文字色" then wrk_case = getDataList(G_dataListAll[data_count][1]) wrk_fc = getStrColorPtn(wrk_case) fo_c_r = wrk_fc[0]; fo_c_g = wrk_fc[1]; fo_c_b = wrk_fc[2] setTextFontColor(fo_c_r,fo_c_g,fo_c_b) setTextFontSize(msgSize) #NNE_txbxMsg = createText(20, 450, 760, 180) i = 0; ilen = 4 while (i < ilen) do deleteText(NNE_txbxMsg[i]) NNE_txbxMsg[i] = createText(20, (450 + ((msgSize + 4) * i)), 760, 20) NNE_txbxMsg[i].camera_fixed! i += 1 end i = 0; ilen = 28 while (i < ilen) do deleteText(NNE_txbxFullMsg[i]) NNE_txbxFullMsg[i] = createText(20, (20 + ((msgSize + 4) * i)), 760, 20) NNE_txbxFullMsg[i].camera_fixed! i += 1 end setTextFontSize(18) i = 0; ilen = 6; adx = 0; ady = 0 while i < ilen if i > 0 adx = 400 * (i % 2); ady = 30 * floor(i / 2) end deleteText(NNE_txbxCursor[i]) NNE_txbxCursor[i] = createText(30 + adx, 480 + ady, 30, 30) NNE_txbxCursor[i].camera_fixed! deleteText(NNE_txbxSelect[i]) NNE_txbxSelect[i] = createText(50 + adx, 480 + ady, 350, 30) NNE_txbxSelect[i].camera_fixed! i += 1 end when "名前文字色" then wrk_case = getDataList(G_dataListAll[data_count][1]) wrk_fc = getStrColorPtn(wrk_case) fo_sc_r = wrk_fc[0]; fo_sc_g = wrk_fc[1]; fo_sc_b = wrk_fc[2] deleteText(NNE_txbxName) setTextFontColor(fo_sc_r,fo_sc_g,fo_sc_b) NNE_txbxName = createText(20, 422, 760, 180) NNE_txbxName.camera_fixed! setTextFontSize(18) when "音楽" then wrk_case = getDataList(G_dataListAll[data_count][1]) case wrk_case when "フェードアウト" then if G_bgm != nil bgm_vol = G_vol volBGM(G_bgm, bgm_vol) bgm_c = 1 end when "フェードイン" then no = indexOfArray(NNE_app_bgm_no, getDataNumber(G_dataListAll[data_count][2]).to_i) if no > (-1) if G_bgm != nil stopBGM(G_bgm) end G_bgm = NNE_app_bgm_obj[no] bgm_vol = 0 volBGM(G_bgm, bgm_vol) playBGM(G_bgm) bgm_c = 2 else stopBGM(G_bgm) G_bgm = nil end when "音量" then no = getDataNumber(G_dataListAll[data_count][2]) if no > (-1) if G_bgm != nil no = no * 100 volBGM(G_bgm, no) G_vol = no end end else no = indexOfArray(NNE_app_bgm_no, getDataNumber(G_dataListAll[data_count][1]).to_i) if no > (-1) if G_bgm != nil stopBGM(G_bgm) end G_bgm = NNE_app_bgm_obj[no] bgm_vol = G_vol volBGM(G_bgm, bgm_vol) playBGM(G_bgm) else stopBGM(G_bgm) G_bgm = nil end end when "タイトル音楽" then when "効果音" then no = indexOfArray(NNE_app_se_no, getDataNumber(G_dataListAll[data_count][1]).to_i) if no > (-1) G_se = NNE_app_se_obj[no] playSE(G_se) end when "選択肢" then i = 1; ilen = getArrayLength(G_dataListAll[data_count]) count = 0 while (i < ilen) do wrk_case = getDataList(G_dataListAll[data_count][i]) wrk_case = varsubString(wrk_case) if wrk_case == "次へ" else no = 0 if i > 1 no = ((i - 1) / 2) end setText(NNE_txbxSelect[no], wrk_case) wrk_case = getDataList(G_dataListAll[data_count][(i + 1)]) #wrk_case = varsubString(wrk_case) sel_c_id[no] = wrk_case count += 1 end i += 2 end sel_c_t = 1 sel_c_len = count setText(NNE_txbxCursor[(sel_c_t - 1)], "⇒") mainloop = false when "フラグ選択肢" then i = 1; ilen = getArrayLength(G_dataListAll[data_count]) count = 0 while (i < ilen) do wrk_case = getDataList(G_dataListAll[data_count][i]) wrk_case = varsubString(wrk_case) if wrk_case == "次へ" else no = indexOfArray(NNE_flg_name, wrk_case) if no > (-1) || (wrk_case == "なし") if NNE_flg_list[no] || (wrk_case == "なし") wrk_case = getDataList(G_dataListAll[data_count][(i + 1)]) wrk_case = varsubString(wrk_case) setText(NNE_txbxSelect[count], wrk_case) wrk_case = getDataList(G_dataListAll[data_count][(i + 2)]) #wrk_case = varsubString(wrk_case) sel_c_id[count] = wrk_case count += 1 end end end i += 3 end sel_c_t = 1 sel_c_len = count setText(NNE_txbxCursor[(sel_c_t - 1)], "⇒") mainloop = false when "フラグ" then wrk_case = getDataList(G_dataListAll[data_count][1]) no = indexOfArray(NNE_flg_name, wrk_case) if no > (-1) NNE_flg_list[no] = false set_str = getDataList(G_dataListAll[data_count][2]) if set_str == "true" || set_str == "TRUE" || set_str == "オン" || set_str == "はい" || set_str == "on" || set_str == "ON" NNE_flg_list[no] = true end end when "条件フラグ" then wrk_case = getDataList(G_dataListAll[data_count][2]) #フラグの場合 no = indexOfArray(NNE_flg_name, wrk_case) if no > (-1) wrk_flg = false set_str = getDataList(G_dataListAll[data_count][3]) if set_str == "true" || set_str == "TRUE" || set_str == "オン" || set_str == "はい" || set_str == "on" || set_str == "ON" wrk_flg = true end if wrk_flg == NNE_flg_list[no] wrk_flg = true else wrk_flg = false end count = 4 begin wrk_case = getDataList(G_dataListAll[data_count][count]) while wrk_case == "||" || wrk_case == "||" || wrk_case == "or" || wrk_case == "OR" || wrk_case == "または" || wrk_case == "&&" || wrk_case == "&&" || wrk_case == "and" || wrk_case == "AND" || wrk_case == "かつ" do wrk_case2 = getDataList(G_dataListAll[data_count][(count + 1)]) no = indexOfArray(NNE_flg_name, wrk_case2) if no > (-1) wrk_flg2 = false set_str = getDataList(G_dataListAll[data_count][(count + 2)]) if set_str == "true" || set_str == "TRUE" || set_str == "オン" || set_str == "はい" || set_str == "on" || set_str == "ON" wrk_flg2 = true end if wrk_flg2 == NNE_flg_list[no] wrk_flg2 = true else wrk_flg2 = false end if wrk_case == "||" || wrk_case == "||" || wrk_case == "or" || wrk_case == "OR" || wrk_case == "または" wrk_flg = (wrk_flg || wrk_flg2) else wrk_flg = (wrk_flg && wrk_flg2) end end count += 3 wrk_case = getDataList(G_dataListAll[data_count][count]) end rescue => e end #フラグの設定 wrk_case = getDataList(G_dataListAll[data_count][1]) no = indexOfArray(NNE_flg_name, wrk_case) if no > (-1) NNE_flg_list[no] = wrk_flg end end #変数の場合 no = indexOfArray(NNE_var_name, wrk_case) if no > (-1) wrk_flg = false set_str = getDataList(G_dataListAll[data_count][3]) if set_str == "<" || set_str == "<" wrk_str = getDataList(G_dataListAll[data_count][4]) wrk_str = varsubString(wrk_str) if isNumber(NNE_var_list[no]) && isNumber(wrk_str) if (NNE_var_list[no].to_f) < (wrk_str.to_f) wrk_flg = true end end elsif set_str == ">" || set_str == ">" wrk_str = getDataList(G_dataListAll[data_count][4]) wrk_str = varsubString(wrk_str) if isNumber(NNE_var_list[no]) && isNumber(wrk_str) if (NNE_var_list[no].to_f) > (wrk_str.to_f) wrk_flg = true end end elsif set_str == "!" || set_str == "!" wrk_str = getDataList(G_dataListAll[data_count][4]) wrk_str = varsubString(wrk_str) if isNumber(NNE_var_list[no]) && isNumber(wrk_str) if (NNE_var_list[no].to_f) != (wrk_str.to_f) wrk_flg = true end else wrk_str = varsubString(wrk_str) if NNE_var_list[no] != wrk_str wrk_flg = true end end elsif set_str == "==" || set_str == "==" wrk_str = getDataList(G_dataListAll[data_count][4]) wrk_str = varsubString(wrk_str) if isNumber(NNE_var_list[no]) && isNumber(wrk_str) if (NNE_var_list[no].to_f) == (wrk_str.to_f) wrk_flg = true end else wrk_str = varsubString(wrk_str) if NNE_var_list[no] == wrk_str wrk_flg = true end end else end count = 5 begin wrk_case = getDataList(G_dataListAll[data_count][count]) while wrk_case == "||" || wrk_case == "||" || wrk_case == "or" || wrk_case == "OR" || wrk_case == "または" || wrk_case == "&&" || wrk_case == "&&" || wrk_case == "and" || wrk_case == "AND" || wrk_case == "かつ" do wrk_case2 = getDataList(G_dataListAll[data_count][(count + 1)]) no = indexOfArray(NNE_var_name, wrk_case2) if no > (-1) wrk_flg2 = false set_str = getDataList(G_dataListAll[data_count][(count + 2)]) if set_str == "<" || set_str == "<" wrk_str = getDataList(G_dataListAll[data_count][(count + 3)]) wrk_str = varsubString(wrk_str) if isNumber(NNE_var_list[no]) && isNumber(wrk_str) if (NNE_var_list[no].to_f) < (wrk_str.to_f) wrk_flg2 = true end end elsif set_str == ">" || set_str == ">" wrk_str = getDataList(G_dataListAll[data_count][(count + 3)]) wrk_str = varsubString(wrk_str) if isNumber(NNE_var_list[no]) && isNumber(wrk_str) if (NNE_var_list[no].to_f) > (wrk_str.to_f) wrk_flg2 = true end end elsif set_str == "!" || set_str == "!" wrk_str = getDataList(G_dataListAll[data_count][(count + 3)]) wrk_str = varsubString(wrk_str) if isNumber(NNE_var_list[no]) && isNumber(wrk_str) if (NNE_var_list[no].to_f) != (wrk_str.to_f) wrk_flg2 = true end else wrk_str = varsubString(wrk_str) if NNE_var_list[no] != wrk_str wrk_flg2 = true end end elsif set_str == "==" || set_str == "==" wrk_str = getDataList(G_dataListAll[data_count][(count + 3)]) wrk_str = varsubString(wrk_str) if isNumber(NNE_var_list[no]) && isNumber(wrk_str) if (NNE_var_list[no].to_f) == (wrk_str.to_f) wrk_flg2 = true end else wrk_str = varsubString(wrk_str) if NNE_var_list[no] == wrk_str wrk_flg2 = true end end else end if wrk_case == "||" || wrk_case == "||" || wrk_case == "or" || wrk_case == "OR" || wrk_case == "または" wrk_flg = (wrk_flg || wrk_flg2) #debug_log "OR" else wrk_flg = (wrk_flg && wrk_flg2) #debug_log "AND" end end count += 4 wrk_case = getDataList(G_dataListAll[data_count][count]) end rescue => e end #フラグの設定 wrk_case = getDataList(G_dataListAll[data_count][1]) no = indexOfArray(NNE_flg_name, wrk_case) if no > (-1) NNE_flg_list[no] = wrk_flg end end when "変数" then wrk_case = getDataList(G_dataListAll[data_count][1]) no = indexOfArray(NNE_var_name, wrk_case) if no > (-1) set_str = getDataList(G_dataListAll[data_count][2]) if set_str == "乱数" || set_str == "ランダム" r = rand(getDataNumber(G_dataListAll[data_count][3]).to_i) NNE_var_list[no] = r.to_s elsif set_str == "切捨て" || set_str == "floor" if isNumber(NNE_var_list[no]) r = (NNE_var_list[no].to_f).floor NNE_var_list[no] = r.to_s end elsif set_str == "+" || set_str == "+" || set_str == "たす" || set_str == "加算" || set_str == "結合" || set_str == "連結" if isNumber(NNE_var_list[no]) wrk_str = getDataList(G_dataListAll[data_count][3]) if wrk_str == "乱数" || set_str == "ランダム" r = rand(getDataNumber(G_dataListAll[data_count][4]).to_i) r = r + NNE_var_list[no].to_f NNE_var_list[no] = r.to_s else r = NNE_var_list[no].to_f + getDataNumber(G_dataListAll[data_count][3]) NNE_var_list[no] = r.to_s end else wrk_str = varsubString(wrk_str) NNE_var_list[no] = NNE_var_list[no] + wrk_str end elsif set_str == "-" || set_str == "-" || set_str == "ひく" || set_str == "減算" if isNumber(NNE_var_list[no]) wrk_str = getDataList(G_dataListAll[data_count][3]) if wrk_str == "乱数" || set_str == "ランダム" r = rand(getDataNumber(G_dataListAll[data_count][4]).to_i) r = r - NNE_var_list[no].to_f NNE_var_list[no] = r.to_s else r = NNE_var_list[no].to_f - getDataNumber(G_dataListAll[data_count][3]) NNE_var_list[no] = r.to_s end end elsif set_str == "*" || set_str == "*" || set_str == "かける" || set_str == "乗算" || set_str == "×" if isNumber(NNE_var_list[no]) wrk_str = getDataList(G_dataListAll[data_count][3]) if wrk_str == "乱数" || set_str == "ランダム" r = rand(getDataNumber(G_dataListAll[data_count][4]).to_i) r = r * NNE_var_list[no].to_f NNE_var_list[no] = r.to_s else r = NNE_var_list[no].to_f * getDataNumber(G_dataListAll[data_count][3]) NNE_var_list[no] = r.to_s end end elsif set_str == "/" || set_str == "/" || set_str == "わる" || set_str == "割算" || set_str == "÷" if isNumber(NNE_var_list[no]) wrk_str = getDataList(G_dataListAll[data_count][3]) if wrk_str == "乱数" || set_str == "ランダム" r = rand(getDataNumber(G_dataListAll[data_count][4]).to_i) r = NNE_var_list[no].to_f / r NNE_var_list[no] = r.to_s else r = NNE_var_list[no].to_f / getDataNumber(G_dataListAll[data_count][3]) NNE_var_list[no] = r.to_s end end elsif set_str == "%" || set_str == "%" || set_str == "あまり" || set_str == "余算" if isNumber(NNE_var_list[no]) wrk_str = getDataList(G_dataListAll[data_count][3]) if wrk_str == "乱数" || set_str == "ランダム" r = rand(getDataNumber(G_dataListAll[data_count][4]).to_i) r = NNE_var_list[no].to_f % r NNE_var_list[no] = r.to_s else r = NNE_var_list[no].to_f % getDataNumber(G_dataListAll[data_count][3]) NNE_var_list[no] = r.to_s end end else set_str = varsubString(set_str) if isNumber(set_str) NNE_var_list[no] = set_str.to_s else NNE_var_list[no] = set_str end end end when "配列作成" then when "配列挿入" then wrk_case = getDataList(G_dataListAll[data_count][1]) wrk_case = varsubString(wrk_case) no = indexOfArray(NNE_arr_name, wrk_case) if no > (-1) no2 = getDataNumber(G_dataListAll[data_count][2]).to_i set_str = getDataList(G_dataListAll[data_count][3]) set_str = varsubString(set_str) NNE_arr_list[no][no2] = set_str count = 4 begin set_str = getDataList(G_dataListAll[data_count][count]) while set_str do set_str = varsubString(set_str) no2 += 1 NNE_arr_list[no][no2] = set_str count += 1 set_str = getDataList(G_dataListAll[data_count][count]) end rescue => e end end when "配列取得" then wrk_case = getDataList(G_dataListAll[data_count][1]) #wrk_case = varsubString(wrk_case) no = indexOfArray(NNE_var_name, wrk_case) if no > (-1) wrk_case = getDataList(G_dataListAll[data_count][2]) #wrk_case = varsubString(wrk_case) no2 = indexOfArray(NNE_arr_name, wrk_case) if no2 > (-1) no3 = getDataNumber(G_dataListAll[data_count][3]).to_i NNE_var_list[no] = NNE_arr_list[no2][no3] end end when "配列検索" then wrk_case = getDataList(G_dataListAll[data_count][1]) #wrk_case = varsubString(wrk_case) no = indexOfArray(NNE_var_name, wrk_case) if no > (-1) wrk_case = getDataList(G_dataListAll[data_count][2]) #wrk_case = varsubString(wrk_case) no2 = indexOfArray(NNE_arr_name, wrk_case) if no2 > (-1) wrk_case = getDataList(G_dataListAll[data_count][3]) wrk_case = varsubString(wrk_case) no3 = indexOfArray(NNE_arr_list[no2], wrk_case) NNE_var_list[no] = no3.to_s else NNE_var_list[no] = (-1).to_s end end when "シーン" then when "シーン移動" then wrk_case = getDataList(G_dataListAll[data_count][1]) wrk_case = varsubString(wrk_case) no = indexOfArray(NNE_cin_id, wrk_case) if no > (-1) data_count = NNE_cin_pos[no] else if wrk_case == "ゲームクリア" || wrk_case == "ゲームクリアー" || wrk_case == "グッドエンド" || wrk_case == "GAMECLEAR" ending_flg = 1; mainloop = false elsif wrk_case == "ゲームオーバー" || wrk_case == "バッドエンド" || wrk_case == "GAMEOVER" ending_flg = 2; mainloop = false elsif wrk_case == "ロード" if isLogin() loadNNE() end else end end when "条件分岐" then wrk_case = getDataList(G_dataListAll[data_count][1]) #フラグの場合 no = indexOfArray(NNE_flg_name, wrk_case) if no > (-1) wrk_flg = false set_str = getDataList(G_dataListAll[data_count][2]) if set_str == "true" || set_str == "TRUE" || set_str == "オン" || set_str == "はい" || set_str == "on" || set_str == "ON" wrk_flg = true end if wrk_flg == NNE_flg_list[no] wrk_flg = true else wrk_flg = false end count = 3 begin wrk_case = getDataList(G_dataListAll[data_count][count]) while wrk_case == "||" || wrk_case == "||" || wrk_case == "or" || wrk_case == "OR" || wrk_case == "または" || wrk_case == "&&" || wrk_case == "&&" || wrk_case == "and" || wrk_case == "AND" || wrk_case == "かつ" do wrk_case2 = getDataList(G_dataListAll[data_count][(count + 1)]) no = indexOfArray(NNE_flg_name, wrk_case2) if no > (-1) wrk_flg2 = false set_str = getDataList(G_dataListAll[data_count][(count + 2)]) if set_str == "true" || set_str == "TRUE" || set_str == "オン" || set_str == "はい" || set_str == "on" || set_str == "ON" wrk_flg2 = true end if wrk_flg2 == NNE_flg_list[no] wrk_flg2 = true else wrk_flg2 = false end if wrk_case == "||" || wrk_case == "||" || wrk_case == "or" || wrk_case == "OR" || wrk_case == "または" wrk_flg = (wrk_flg || wrk_flg2) else wrk_flg = (wrk_flg && wrk_flg2) end end count += 3 wrk_case = getDataList(G_dataListAll[data_count][count]) end rescue => e end if wrk_flg wrk_case = getDataList(G_dataListAll[data_count][count]) wrk_case = varsubString(wrk_case) no = indexOfArray(NNE_cin_id, wrk_case) if no > (-1) data_count = NNE_cin_pos[no] else if wrk_case == "ゲームクリア" || wrk_case == "ゲームクリアー" || wrk_case == "グッドエンド" || wrk_case == "GAMECLEAR" ending_flg = 1; mainloop = false elsif wrk_case == "ゲームオーバー" || wrk_case == "バッドエンド" || wrk_case == "GAMEOVER" ending_flg = 2; mainloop = false elsif wrk_case == "ロード" if isLogin() loadNNE() end else end end end end #変数の場合 no = indexOfArray(NNE_var_name, wrk_case) if no > (-1) wrk_flg = false set_str = getDataList(G_dataListAll[data_count][2]) if set_str == "<" || set_str == "<" wrk_str = getDataList(G_dataListAll[data_count][3]) wrk_str = varsubString(wrk_str) if isNumber(NNE_var_list[no]) && isNumber(wrk_str) if (NNE_var_list[no].to_f) < (wrk_str.to_f) wrk_flg = true end end elsif set_str == ">" || set_str == ">" wrk_str = getDataList(G_dataListAll[data_count][3]) wrk_str = varsubString(wrk_str) if isNumber(NNE_var_list[no]) && isNumber(wrk_str) if (NNE_var_list[no].to_f) > (wrk_str.to_f) wrk_flg = true end end elsif set_str == "!" || set_str == "!" wrk_str = getDataList(G_dataListAll[data_count][3]) wrk_str = varsubString(wrk_str) if isNumber(NNE_var_list[no]) && isNumber(wrk_str) if (NNE_var_list[no].to_f) != (wrk_str.to_f) wrk_flg = true end else if NNE_var_list[no] != wrk_str wrk_flg = true end end elsif set_str == "==" || set_str == "==" wrk_str = getDataList(G_dataListAll[data_count][3]) wrk_str = varsubString(wrk_str) if isNumber(NNE_var_list[no]) && isNumber(wrk_str) if (NNE_var_list[no].to_f) == (wrk_str.to_f) wrk_flg = true end else if NNE_var_list[no] == wrk_str wrk_flg = true end end else #wrk_str = varsubString(set_str) #if NNE_var_list[no] == wrk_str # wrk_flg = true #end end count = 4 begin wrk_case = getDataList(G_dataListAll[data_count][count]) while wrk_case == "||" || wrk_case == "||" || wrk_case == "or" || wrk_case == "OR" || wrk_case == "または" || wrk_case == "&&" || wrk_case == "&&" || wrk_case == "and" || wrk_case == "AND" || wrk_case == "かつ" do wrk_case2 = getDataList(G_dataListAll[data_count][(count + 1)]) no = indexOfArray(NNE_var_name, wrk_case2) if no > (-1) wrk_flg2 = false set_str = getDataList(G_dataListAll[data_count][(count + 2)]) if set_str == "<" || set_str == "<" wrk_str = getDataList(G_dataListAll[data_count][(count + 3)]) wrk_str = varsubString(wrk_str) if isNumber(NNE_var_list[no]) && isNumber(wrk_str) if (NNE_var_list[no].to_f) < (wrk_str.to_f) wrk_flg2 = true end end elsif set_str == ">" || set_str == ">" wrk_str = getDataList(G_dataListAll[data_count][(count + 3)]) wrk_str = varsubString(wrk_str) if isNumber(NNE_var_list[no]) && isNumber(wrk_str) if (NNE_var_list[no].to_f) > (wrk_str.to_f) wrk_flg2 = true end end elsif set_str == "!" || set_str == "!" wrk_str = getDataList(G_dataListAll[data_count][(count + 3)]) wrk_str = varsubString(wrk_str) if isNumber(NNE_var_list[no]) && isNumber(wrk_str) if (NNE_var_list[no].to_f) != (wrk_str.to_f) wrk_flg2 = true end else if NNE_var_list[no] != wrk_str wrk_flg2 = true end end elsif set_str == "==" || set_str == "==" wrk_str = getDataList(G_dataListAll[data_count][(count + 3)]) wrk_str = varsubString(wrk_str) if isNumber(NNE_var_list[no]) && isNumber(wrk_str) if (NNE_var_list[no].to_f) == (wrk_str.to_f) wrk_flg2 = true end else if NNE_var_list[no] == wrk_str wrk_flg2 = true end end else end if wrk_case == "||" || wrk_case == "||" || wrk_case == "or" || wrk_case == "OR" || wrk_case == "または" wrk_flg = (wrk_flg || wrk_flg2) #debug_log "OR" else wrk_flg = (wrk_flg && wrk_flg2) #debug_log "AND" end end count += 4 wrk_case = getDataList(G_dataListAll[data_count][count]) end rescue => e end #シーン移動 if wrk_flg wrk_case = getDataList(G_dataListAll[data_count][count]) wrk_case = varsubString(wrk_case) no = indexOfArray(NNE_cin_id, wrk_case) if no > (-1) data_count = NNE_cin_pos[no] else if wrk_case == "ゲームクリア" || wrk_case == "ゲームクリアー" || wrk_case == "グッドエンド" || wrk_case == "GAMECLEAR" ending_flg = 1; mainloop = false elsif wrk_case == "ゲームオーバー" || wrk_case == "バッドエンド" || wrk_case == "GAMEOVER" ending_flg = 2; mainloop = false elsif wrk_case == "ロード" if isLogin() loadNNE() end else end end end end when "スクリーンキーボード" setText(NNE_txbxName, "") i = 0 while (i < 7) do setText(NNE_txbxMsg[i], "") i += 1 end i = 0 while (i < 28) do setText(NNE_txbxFullMsg[i], "") txbxMsgStr[i] = [""] txbxMsgLen[i] = 0 i += 1 end wrk_case = getDataList(G_dataListAll[data_count][1]) no = indexOfArray(NNE_var_name, wrk_case) if no > (-1) scrkbd_flg = true scrkbd_no = no $SKB_tap_flg_z_e = tap_flg_z_e wrk_str = getDataList(G_dataListAll[data_count][2]) wrk_str = varsubString(wrk_str) scrkbd_top = wrk_str wrk_str = getDataList(G_dataListAll[data_count][4]) wrk_str = varsubString(wrk_str) wrk_str = getSkbColorPtn(wrk_str) scrkbd_color = wrk_str no = getDataNumber(G_dataListAll[data_count][3]).to_i scrkbd_max_str = no wrk_str = getDataList(G_dataListAll[data_count][5].to_s) wrk_str = varsubString(wrk_str) scrkbd_def_str = wrk_str scrkbd_min_str = 0 begin no = getDataNumber(G_dataListAll[data_count][6]).to_i scrkbd_min_str = no rescue => e end scrkbd_num_only = false begin set_str = getDataList(G_dataListAll[data_count][7]) if set_str == "true" || set_str == "TRUE" || set_str == "オン" || set_str == "はい" || set_str == "on" || set_str == "ON" scrkbd_num_only = true end rescue => e end mainloop = false end when "ユーザ関数" #_/_/_/_/_/ プログラム上級者向け機能 _/_/_/_/_/ #日本語ノベルえでぃた実行中に任意のタイミングで #ユーザ関数を割り込ませる事ができます # #この例では、data.rb内で # #ユーザ関数, #変換後誕生日,妖精番号取得; # #が呼ばれたとき、 #data.rbの末尾に記載されたユーザ関数 # #def getFairyNo(name, birth) # return 関数内で計算された妖精番号 #end # #が実行され、 #[変換後誕生日]変数内に、結果が代入されます wrk_str = getDataList(G_dataListAll[data_count][2]) wrk_str = varsubString(wrk_str) if wrk_str == "妖精番号取得" wrk_case = getDataList(G_dataListAll[data_count][1]) no = indexOfArray(NNE_var_name, wrk_case) if no > (-1) no2 = indexOfArray(NNE_var_name, "名前") name = NNE_var_list[no2] no3 = indexOfArray(NNE_var_name, "誕生日") birth = NNE_var_list[no3] wrk_str = getFairyNo(name, birth) NNE_var_list[no] = wrk_str.to_s end end when "データ移動" then wrk_str = getDataList(G_dataListAll[data_count][1]) wrk_str = varsubString(wrk_str) if isNumber(wrk_str) no = getDataNumber(wrk_str).to_i #データの初期化 deleteAllData() #再生中音楽の停止 if G_bgm != nil stopBGM(G_bgm) end G_data_no = no change_scene "sc_logo" end when "セーブ" then if isLogin() if NNE_dat_load_flg != nil if !NNE_dat_load_flg end NNE_dat_load_flg = nil else data = "" data = data + G_data_no.to_s + ";" #データ位置 data = data + ";" # data = data + "" # saveNNE(data) end end when "セーブ済" then when "フラグセーブ" then if isLogin() no = getDataNumber(G_dataListAll[data_count][1]).to_i if no > 0 && no < 31 data = "" begin i = 2; ilen = getArrayLength(G_dataListAll[data_count]) if ilen > 4 then ilen = 4; end while i < ilen wrk_case = getDataList(G_dataListAll[data_count][i]) no2 = indexOfArray(NNE_flg_name, wrk_case) if no2 > (-1) data = data + no2.to_s + ";" if NNE_flg_list[no2] data = data + "1;" else data = data + "0;" end end i += 1 end rescue => e end saveNNE(data,no) end end when "変数セーブ" then if isLogin() no = getDataNumber(G_dataListAll[data_count][1]).to_i if no > 0 && no < 31 data = "" begin i = 2; ilen = getArrayLength(G_dataListAll[data_count]) if ilen > 4 then ilen = 4; end while i < ilen wrk_case = getDataList(G_dataListAll[data_count][i]) no2 = indexOfArray(NNE_var_name, wrk_case) if no2 > (-1) data = data + no2.to_s + ";" + NNE_var_list[no2] + ";" end i += 1 end rescue => e end no += 30 saveNNE(data,no) end end when "フラグロード" then if isLogin() if NNE_dat_load_flg != nil no = getDataNumber(G_dataListAll[data_count][1]).to_i if no > 0 && no < 31 loadNNE(no) end else end end when "変数ロード" then if isLogin() if NNE_dat_load_flg != nil no = getDataNumber(G_dataListAll[data_count][1]).to_i if no > 0 && no < 31 no += 30 loadNNE(no) end else end end when "フィード" then wrk_case = getDataList(G_dataListAll[data_count][1]) wrk_case = varsubString(wrk_case) result = send_activity_feed(wrk_case) when "全画面" then wrk_str = getDataList(G_dataListAll[data_count][1]) wrk_str = varsubString(wrk_str) if wrk_str == "なし" || wrk_str == "終了" msgCountA = (-1); msgCountB = 0; msgCountC = 0; msgSkip = false msg_count = 0 msgNext = false i = 0 while (i < 28) do setText(NNE_txbxFullMsg[i], "") txbxMsgStr[i] = [""] txbxMsgLen[i] = 0 i += 1 end setSpritePZR(NNE_app_sp_copy_win,0,ani_m_h,40,(img_msg_co % 2) * 800,floor(img_msg_co / 2) * 180,800,180,0,0,800,180) msgFull = false else msgCountA = 0; msgCountB = 0; msgCountC = 0; msgSkip = false wrk_str = splitStringN(G_dataListAll[data_count][1]) if !msgNext msg_count = 0 i = 0 while (i < 28) do setText(NNE_txbxFullMsg[i], "") txbxMsgStr[i] = [""] txbxMsgLen[i] = 0 i += 1 end end i = 1; ilen = getArrayLength(wrk_str) while (i < 28) do j = i + msg_count if (i < ilen) && (msg_count < 28) wrk_case = getDataList(wrk_str[i]) wrk_case = varsubString(wrk_case) #setText(NNE_txbxFullMsg[msg_count], wrk_case) wrk_t = strSplit(wrk_case) txbxMsgStr[(i - 1)] = wrk_t txbxMsgLen[(i - 1)] = getArrayLength(wrk_t) #msg_count += 1 elsif j < 28 if msgCountC < 1 then msgCountC = (i - 1); end txbxMsgStr[(i - 1)] = [""] txbxMsgLen[(i - 1)] = 0 #setText(NNE_txbxFullMsg[(i - 1 + msg_count)], "") end setText(NNE_txbxFullMsg[(i - 1 + msg_count)], "") i += 1 end msgNext = false begin wrk_case = getDataList(G_dataListAll[data_count][2]) wrk_case = varsubString(wrk_case) case wrk_case when "次へ" then msgNext = true else end rescue => e end if !msgFull setSpritePZR(NNE_app_sp_copy_win,800,600,40,(img_msg_co % 2) * 800,floor(img_msg_co / 2) * 180,800,180,0,0,800,180) setText(NNE_txbxName, "") i = 0 while (i < 7) do setText(NNE_txbxMsg[i], "") i += 1 end msgFull = true end if msgSpd < 3 mainloop = false end end else #文章表示 wrk_str = getDataList(G_dataListAll[data_count][0]) wrk_str = varsubString(wrk_str) setText(NNE_txbxName, wrk_str) msgCountA = 0; msgCountB = 0; msgCountC = 0; msgSkip = false wrk_str = splitStringN(G_dataListAll[data_count][1]) i = 1; ilen = getArrayLength(wrk_str) while (i < 7) do if i < ilen wrk_case = getDataList(wrk_str[i]) wrk_case = varsubString(wrk_case) #setText(NNE_txbxMsg[(i - 1)], wrk_case) wrk_t = strSplit(wrk_case) txbxMsgStr[(i - 1)] = wrk_t txbxMsgLen[(i - 1)] = getArrayLength(wrk_t) else if msgCountC < 1 then msgCountC = (i - 1); end txbxMsgStr[(i - 1)] = [""] txbxMsgLen[(i - 1)] = 0 #setText(NNE_txbxMsg[(i - 1)], "") end setText(NNE_txbxMsg[(i - 1)], "") i += 1 end #setText(NNE_txbxMsg, G_dataListAll[data_count][1] + " ") if msgSpd < 3 mainloop = false end end data_count += 1 else msgSkip = true end end #_/_/_/ 文章表示の実行 _/_/_/ if msgCountA > (-1) if msgFull #全画面 if !msgSkip case msgSpd when 1 then mainloop = false if msgWait < 3 msgWait += 1 else i = msgCountB wrk_str = "" j = 0; jlen = msgCountA while (j < jlen) do wrk_str = wrk_str + txbxMsgStr[i][j] j += 1 end setText(NNE_txbxFullMsg[(i + msg_count)], wrk_str) msgCountA += 1 if msgCountA > txbxMsgLen[i] msgCountA = 0; msgCountB += 1 if msgCountB > msgCountC mainloop = true end end msgWait = 0 end when 2 then mainloop = false if msgWait < 1 msgWait += 1 else i = msgCountB wrk_str = "" j = 0; jlen = msgCountA while (j < jlen) do wrk_str = wrk_str + txbxMsgStr[i][j] j += 1 end setText(NNE_txbxFullMsg[(i + msg_count)], wrk_str) msgCountA += 1 if msgCountA > txbxMsgLen[i] msgCountA = 0; msgCountB += 1 if msgCountB > msgCountC mainloop = true end end msgWait = 0 end else end else i = 0 while (i < 7) do if i < msgCountC wrk_str = "" j = 0; jlen = txbxMsgLen[i] while (j < jlen) do wrk_str = wrk_str + txbxMsgStr[i][j] j += 1 end setText(NNE_txbxFullMsg[(i + msg_count)], wrk_str) end i += 1 end msgCountA = (-1) msgCountB = 0 msg_count = msgCountC mainloop = false end else #枠 if !msgSkip case msgSpd when 1 then mainloop = false if msgWait < 3 msgWait += 1 else i = msgCountB wrk_str = "" j = 0; jlen = msgCountA while (j < jlen) do wrk_str = wrk_str + txbxMsgStr[i][j] j += 1 end setText(NNE_txbxMsg[i], wrk_str) msgCountA += 1 if msgCountA > txbxMsgLen[i] msgCountA = 0; msgCountB += 1 if msgCountB > msgCountC mainloop = true end end msgWait = 0 end when 2 then mainloop = false if msgWait < 1 msgWait += 1 else i = msgCountB wrk_str = "" j = 0; jlen = msgCountA while (j < jlen) do wrk_str = wrk_str + txbxMsgStr[i][j] j += 1 end setText(NNE_txbxMsg[i], wrk_str) msgCountA += 1 if msgCountA > txbxMsgLen[i] msgCountA = 0; msgCountB += 1 if msgCountB > msgCountC mainloop = true end end msgWait = 0 end else end else i = 0 while (i < 7) do if i < msgCountC wrk_str = "" j = 0; jlen = txbxMsgLen[i] while (j < jlen) do wrk_str = wrk_str + txbxMsgStr[i][j] j += 1 end setText(NNE_txbxMsg[i], wrk_str) end i += 1 end msgCountA = (-1) msgCountB = 0 mainloop = false end end end #_/_/_/ 背景アニメーションの実行 _/_/_/ if ani_b_t > 0 case ani_b_t when 1 then #背景移動 左 setSpritePZR(NNE_bg_bk,ani_b_x,0,1,0,0,800,600,0,0,800,600) setSpritePZR(NNE_bg_fr,(800 + ani_b_x),0,2,0,0,800,600,0,0,800,600) ani_b_x -= 40 if ani_b_x < (-794) ani_b_x += 38 elsif ani_b_x < (-780) ani_b_x += 32 elsif ani_b_x < (-740) ani_b_x += 20 end if ani_b_x < (-800) ani_b_t = 0 ani_b_x = 0; ani_b_y = 0 deleteSprite(NNE_bg_bk) NNE_bg_bk = NNE_bg_fr NNE_bg_bk_id = NNE_bg_fr_id setSpritePZR(NNE_bg_bk,0,0,1,0,0,800,600,0,0,800,600) NNE_bg_fr = nil #mainloop = false end when 2 then #背景移動 右 setSpritePZR(NNE_bg_bk,ani_b_x,0,1,0,0,800,600,0,0,800,600) setSpritePZR(NNE_bg_fr,((-800) + ani_b_x),0,2,0,0,800,600,0,0,800,600) ani_b_x += 40 if ani_b_x > 794 ani_b_x -= 38 elsif ani_b_x > 780 ani_b_x -= 32 elsif ani_b_x > 740 ani_b_x -= 20 end if ani_b_x > 800 ani_b_t = 0 ani_b_x = 0; ani_b_y = 0 deleteSprite(NNE_bg_bk) NNE_bg_bk = NNE_bg_fr NNE_bg_bk_id = NNE_bg_fr_id setSpritePZR(NNE_bg_bk,0,0,1,0,0,800,600,0,0,800,600) NNE_bg_fr = nil #mainloop = false end when 3 then #背景移動 上 setSpritePZR(NNE_bg_bk,0,ani_b_y,1,0,0,800,600,0,0,800,600) setSpritePZR(NNE_bg_fr,0,(600 + ani_b_y),2,0,0,800,600,0,0,800,600) ani_b_y -= 30 if ani_b_y < (-594) ani_b_y += 28 elsif ani_b_y < (-570) ani_b_y += 23 elsif ani_b_y < (-530) ani_b_y += 15 end if ani_b_y < (-600) ani_b_t = 0 ani_b_x = 0; ani_b_y = 0 deleteSprite(NNE_bg_bk) NNE_bg_bk = NNE_bg_fr NNE_bg_bk_id = NNE_bg_fr_id setSpritePZR(NNE_bg_bk,0,0,1,0,0,800,600,0,0,800,600) NNE_bg_fr = nil #mainloop = false end when 4 then #背景移動 下 setSpritePZR(NNE_bg_bk,0,ani_b_y,1,0,0,800,600,0,0,800,600) setSpritePZR(NNE_bg_fr,0,((-600) + ani_b_y),2,0,0,800,600,0,0,800,600) ani_b_y += 30 if ani_b_y > 594 ani_b_y -= 28 elsif ani_b_y > 570 ani_b_y -= 23 elsif ani_b_y > 530 ani_b_y -= 15 end if ani_b_y > 600 ani_b_t = 0 ani_b_x = 0; ani_b_y = 0 deleteSprite(NNE_bg_bk) NNE_bg_bk = NNE_bg_fr NNE_bg_bk_id = NNE_bg_fr_id setSpritePZR(NNE_bg_bk,0,0,1,0,0,800,600,0,0,800,600) NNE_bg_fr = nil #mainloop = false end when 5 then #背景モザイク 前半 img_mz_s = 0 case ani_b_y when 0 img_mz_s = 50 when 1 img_mz_s = 100 when 2 img_mz_s = 200 end img_mz_s_hf = img_mz_s / 2; img_mz_x = 800 / img_mz_s; img_mz_y = 600 / img_mz_s if old_i > 0 i = 0 while i < old_i do img_mz[i].destroy i += 1 end end if img_mz_s > 0 i = 0; ilen = (img_mz_x * img_mz_y) while i < ilen spr = createSpriteN(NNE_bg_bk_id,0) img_mz[i] = spr if i > 0 img_mz_wk1 = (img_mz_s * (i % img_mz_x)); img_mz_wk2 = (img_mz_s * floor(i / img_mz_x)) else img_mz_wk1 = 0; img_mz_wk2 = 0 end setSpritePZR(img_mz[i],img_mz_wk1,img_mz_wk2,2,(img_mz_wk1 + img_mz_s_hf),(img_mz_wk2 + img_mz_s_hf),1,1,0,0,img_mz_s,img_mz_s) i = i + 1 end old_i = i else old_i = 0 end if NNE_chr_r != nil if han_ch_r setSpritePZR(NNE_chr_r,(600 - wh_ch_r),(600 - h_ch_r),5,(w_ch_r * set_ch_co_r),0,w_ch_r,h_ch_r,w_ch_r,0,(w_ch_r * (-1)),h_ch_r) else setSpritePZR(NNE_chr_r,(600 - wh_ch_r),(600 - h_ch_r),5,(w_ch_r * set_ch_co_r),0,w_ch_r,h_ch_r,0,0,w_ch_r,h_ch_r) end end #setSpritePZR(img_mz[0],80,60,2,0,0,800,600,0,0,800,600) #spr = createSpriteN(NNE_bg_bk_id,0) #img_mz[0] = spr # #setSpritePZR(img_mz[0],10,10,1,0,0,800,600,0,0,800,600) #img_mz[0].destroy ani_b_y += 1 if ani_b_y > 2 deleteSprite(NNE_bg_bk) NNE_bg_bk = NNE_bg_fr NNE_bg_bk_id = NNE_bg_fr_id setSpritePZR(NNE_bg_bk,0,0,1,0,0,800,600,0,0,800,600) NNE_bg_fr = nil ani_b_t = 6 end when 6 then #背景モザイク 後半 img_mz_s = 0 case ani_b_y when 1 img_mz_s = 50 when 2 img_mz_s = 100 when 3 img_mz_s = 200 end img_mz_s_hf = img_mz_s / 2; img_mz_x = 800 / img_mz_s; img_mz_y = 600 / img_mz_s if old_i > 0 i = 0 while i < old_i do img_mz[i].destroy i += 1 end end if img_mz_s > 0 i = 0; ilen = (img_mz_x * img_mz_y) while i < ilen spr = createSpriteN(NNE_bg_bk_id,0) img_mz[i] = spr if i > 0 img_mz_wk1 = (img_mz_s * (i % img_mz_x)); img_mz_wk2 = (img_mz_s * floor(i / img_mz_x)) else img_mz_wk1 = 0; img_mz_wk2 = 0 end setSpritePZR(img_mz[i],img_mz_wk1,img_mz_wk2,2,(img_mz_wk1 + img_mz_s_hf),(img_mz_wk2 + img_mz_s_hf),1,1,0,0,img_mz_s,img_mz_s) i = i + 1 end old_i = i else old_i = 0 end ani_b_y -= 1 if ani_b_y < 0 ani_b_t = 0 ani_b_x = 0; ani_b_y = 0 #mainloop = false end when 7 then if ani_b_x == 0 #背景ブラインド 右 if ani_b_y < 10 img_mz[ani_b_y * 2].destroy else img_mz[(ani_b_y * 2) - 19].destroy end else #背景ブラインド 左 if ani_b_y < 10 img_mz[19 - (ani_b_y * 2)].destroy else img_mz[19 - ((ani_b_y * 2) - 19)].destroy end end ani_b_y += 1 if ani_b_y > 19 ani_b_t = 0 ani_b_x = 0; ani_b_y = 0 #mainloop = false end when 8 then #背景拡大 if ani_b_x == 0 setSpritePZR(NNE_bg_bk,0,0,1,0,0,800,600,0,0,800,600) end setSpritePZR(NNE_bg_fr,(400 - ani_b_x),(300 - ani_b_y),2,0,0,800,600,0,0,800,600) ax = ani_b_x / 400 ay = ani_b_y / 300 NNE_bg_fr.scale(ax, ay) ani_b_x += 20 ani_b_y += 15 if ani_b_x > 394 ani_b_x -= 18 ani_b_y -= 13.5 elsif ani_b_x > 370 ani_b_x -= 16 ani_b_y -= 12 elsif ani_b_x > 330 ani_b_x -= 10 ani_b_y -= 7.5 end if ani_b_x > 400 ani_b_t = 0 ani_b_x = 0; ani_b_y = 0 deleteSprite(NNE_bg_bk) NNE_bg_bk = NNE_bg_fr NNE_bg_bk_id = NNE_bg_fr_id setSpritePZR(NNE_bg_bk,0,0,1,0,0,800,600,0,0,800,600) NNE_bg_fr = nil #mainloop = false end when 9 then #背景縮小 setSpritePZR(NNE_bg_bk,(ani_b_x * (-1)),(ani_b_y * (-1)),2,0,0,800,600,0,0,(800 + (ani_b_x * 2)),(600 + (ani_b_y * 2))) if ani_b_x == 0 setSpritePZR(NNE_bg_fr,0,0,1,0,0,800,600,0,0,800,600) end ani_b_x -= 20 ani_b_y -= 15 if ani_b_x < (-400) ani_b_t = 0 ani_b_x = 0; ani_b_y = 0 deleteSprite(NNE_bg_bk) NNE_bg_bk = NNE_bg_fr NNE_bg_bk_id = NNE_bg_fr_id setSpritePZR(NNE_bg_bk,0,0,1,0,0,800,600,0,0,800,600) NNE_bg_fr = nil #mainloop = false end when 10 then #背景回転 縦 if ani_b_y == 0 setSpritePZR(NNE_bg_bk,0,0,1,0,0,800,600,0,0,800,600) setSpritePZR(NNE_bg_fr,0,300,2,0,0,800,600,0,0,800,0) elsif ani_b_y > 300 setSpritePZR(NNE_bg_fr,0,(300 + (300 - ani_b_y)),2,0,0,800,600,0,0,800,600) a = ((-1) * (300 - ani_b_y)) / 300 NNE_bg_fr.scale 1, a else setSpritePZR(NNE_bg_bk,0,ani_b_y,1,0,0,800,600,0,0,800,(600 - (ani_b_y * 2))) end ani_b_y += 30 if ani_b_y > 594 ani_b_y -= 28 elsif ani_b_y > 570 ani_b_y -= 26 elsif ani_b_y > 530 ani_b_y -= 22 end if ani_b_y > 600 NNE_bg_fr.scale 1, 1 deleteSprite(NNE_bg_bk) NNE_bg_bk = NNE_bg_fr NNE_bg_bk_id = NNE_bg_fr_id setSpritePZR(NNE_bg_bk,0,0,1,0,0,800,600,0,0,800,600) NNE_bg_fr = nil ani_b_t = 0 ani_b_x = 0; ani_b_y = 0 #mainloop = false end when 11 then #背景回転 横 if ani_b_x == 0 setSpritePZR(NNE_bg_bk,0,0,1,0,0,800,600,0,0,800,600) setSpritePZR(NNE_bg_fr,400,0,2,0,0,800,600,0,0,0,600) elsif ani_b_x > 400 setSpritePZR(NNE_bg_fr,(400 + (400 - ani_b_x)),0,2,0,0,800,600,0,0,800,600) a = ((-1) * (400 - ani_b_x)) / 400 NNE_bg_fr.scale a, 1 else setSpritePZR(NNE_bg_bk,ani_b_x,0,1,0,0,800,600,0,0,(800 - (ani_b_x * 2)),600) end ani_b_x += 40 if ani_b_x > 794 ani_b_x -= 38 elsif ani_b_x > 780 ani_b_x -= 36 elsif ani_b_x > 740 ani_b_x -= 30 end if ani_b_x > 800 NNE_bg_fr.scale 1, 1 deleteSprite(NNE_bg_bk) NNE_bg_bk = NNE_bg_fr NNE_bg_bk_id = NNE_bg_fr_id setSpritePZR(NNE_bg_bk,0,0,1,0,0,800,600,0,0,800,600) NNE_bg_fr = nil ani_b_t = 0 ani_b_x = 0; ani_b_y = 0 #mainloop = false end when 12 then ani_b_x += 1 case ani_b_y when 0 then #背景ドア 横 開く if ani_b_x < 20 img_mz[0].position(((-20) * ani_b_x), 0) img_mz[1].position((400 + (20 * ani_b_x)), 0) else img_mz[0].destroy; img_mz[1].destroy ani_b_t = 0 ani_b_x = 0; ani_b_y = 0 #mainloop = false end when 1 then #背景ドア 横 閉じる ani_b_x += 19 if ani_b_x > 394 ani_b_x -= 18 elsif ani_b_x > 380 ani_b_x -= 16 elsif ani_b_x > 340 ani_b_x -= 10 end if ani_b_x < 400 img_mz[0].position(((-400) + ani_b_x), 0) img_mz[1].position((800 - ani_b_x), 0) else img_mz[0].destroy; img_mz[1].destroy ani_b_t = 0 ani_b_x = 0; ani_b_y = 0 deleteSprite(NNE_bg_bk) NNE_bg_bk = NNE_bg_fr NNE_bg_bk_id = NNE_bg_fr_id setSpritePZR(NNE_bg_bk,0,0,1,0,0,800,600,0,0,800,600) NNE_bg_fr = nil #mainloop = false end when 2 then #背景ドア 縦 開く if ani_b_x < 20 img_mz[0].position(0, ((-15) * ani_b_x)) img_mz[1].position(0, (300 + (15 * ani_b_x))) else img_mz[0].destroy; img_mz[1].destroy ani_b_t = 0 ani_b_x = 0; ani_b_y = 0 #mainloop = false end when 3 then #背景ドア 縦 閉じる ani_b_x += 14 if ani_b_y > 294 ani_b_x -= 13 elsif ani_b_y > 270 ani_b_x -= 11 elsif ani_b_y > 230 ani_b_x -= 7 end if ani_b_x < 300 img_mz[0].position(0, ((-300) + ani_b_x)) img_mz[1].position(0, (600 - ani_b_x)) else img_mz[0].destroy; img_mz[1].destroy ani_b_t = 0 ani_b_x = 0; ani_b_y = 0 deleteSprite(NNE_bg_bk) NNE_bg_bk = NNE_bg_fr NNE_bg_bk_id = NNE_bg_fr_id setSpritePZR(NNE_bg_bk,0,0,1,0,0,800,600,0,0,800,600) NNE_bg_fr = nil #mainloop = false end else end when 13 then #ani_b_x += 1 case ani_b_y when 0 then #背景本 横 右 ani_b_x += 20 if ani_b_x > 794 ani_b_x -= 18 elsif ani_b_x > 780 ani_b_x -= 16 elsif ani_b_x > 740 ani_b_x -= 10 end if ani_b_x < 400 img_mz[0].position(ani_b_x, 0) a = (400 - ani_b_x) / 400 img_mz[0].scale(a, 1) elsif ani_b_x < 401 img_mz[0].destroy img_mz[0] = createSpriteN(NNE_bg_bk_id,0) setSpritePZR(img_mz[0],400,0,3,400,0,400,600,0,0,400,600); img_mz[0].scale(0, 1) elsif ani_b_x < 800 a = (ani_b_x - 400) / 400 img_mz[0].scale(a, 1) else img_mz[0].destroy; img_mz[1].destroy ani_b_t = 0 ani_b_x = 0; ani_b_y = 0 #mainloop = false end when 1 then #背景本 横 左 ani_b_x += 20 if ani_b_x > 794 ani_b_x -= 18 elsif ani_b_x > 780 ani_b_x -= 16 elsif ani_b_x > 740 ani_b_x -= 10 end if ani_b_x < 400 a = (400 - ani_b_x) / 400 img_mz[1].scale(a, 1) elsif ani_b_x < 401 img_mz[1].destroy img_mz[1] = createSpriteN(NNE_bg_bk_id,0) setSpritePZR(img_mz[1],400,0,3,0,0,400,600,0,0,400,600); img_mz[1].scale(0, 1) elsif ani_b_x < 800 img_mz[1].position((800 - ani_b_x), 0) a = (ani_b_x - 400) / 400 img_mz[1].scale(a, 1) else img_mz[0].destroy; img_mz[1].destroy ani_b_t = 0 ani_b_x = 0; ani_b_y = 0 #mainloop = false end when 2 then #背景本 縦 下 ani_b_x += 15 if ani_b_y > 594 ani_b_x -= 13 elsif ani_b_y > 570 ani_b_x -= 11 elsif ani_b_y > 530 ani_b_x -= 7 end if ani_b_x < 300 img_mz[0].position(0, ani_b_x) a = (300 - ani_b_x) / 300 img_mz[0].scale(1, a) elsif ani_b_x < 301 img_mz[0].destroy img_mz[0] = createSpriteN(NNE_bg_bk_id,0) setSpritePZR(img_mz[0],0,300,3,0,300,800,300,0,0,800,300); img_mz[0].scale(1, 0) elsif ani_b_x < 600 a = (ani_b_x - 300) / 300 img_mz[0].scale(1, a) else img_mz[0].destroy; img_mz[1].destroy ani_b_t = 0 ani_b_x = 0; ani_b_y = 0 #mainloop = false end when 3 then #背景本 縦 上 ani_b_x += 15 if ani_b_y > 594 ani_b_x -= 13 elsif ani_b_y > 570 ani_b_x -= 11 elsif ani_b_y > 530 ani_b_x -= 7 end if ani_b_x < 300 a = (300 - ani_b_x) / 300 img_mz[1].scale(1, a) elsif ani_b_x < 301 img_mz[1].destroy img_mz[1] = createSpriteN(NNE_bg_bk_id,0) setSpritePZR(img_mz[1],0,300,3,0,0,800,300,0,0,800,300); img_mz[1].scale(1, 0) elsif ani_b_x < 600 img_mz[1].position(0, (600 - ani_b_x)) a = (ani_b_x - 300) / 300 img_mz[1].scale(1, a) else img_mz[0].destroy; img_mz[1].destroy ani_b_t = 0 ani_b_x = 0; ani_b_y = 0 #mainloop = false end else end when 14 then #背景フェードアウト a = 1 if ani_b_x < 50 a = (100 - (ani_b_x * 3)) / 100 else a = 0 end setAlpha(NNE_bg_bk,a) ani_b_x += 1 if a <= 0 if NNE_bg_bk != nil setAlpha(NNE_bg_bk,1) deleteSprite(NNE_bg_bk) end NNE_bg_bk = NNE_bg_fr NNE_bg_bk_id = NNE_bg_fr_id NNE_bg_fr = nil setSpritePZR(NNE_bg_bk,0,0,1,0,0,800,600,0,0,800,600) ani_b_t = 0 ani_b_x = 0; ani_b_y = 0 #mainloop = false end when 15 then #背景旋回 a = img_mz[0].angle #debug_log a case ani_b_y when 0 then #左へ a -= ani_b_x img_mz[0].angle a if a < (-90) img_mz[0].angle 0 img_mz[0].destroy; img_mz[1].destroy ani_b_t = 0 ani_b_x = 0; ani_b_y = 0 end when 1 then #左から a += ani_b_x if a > (-5) a -= ((ani_b_x / 4) * 3) elsif a > (-15) a -= (ani_b_x / 2) end img_mz[0].angle a if a > 0 img_mz[0].angle 0 img_mz[0].destroy; img_mz[1].destroy if NNE_bg_bk != nil deleteSprite(NNE_bg_bk) end NNE_bg_bk = NNE_bg_fr NNE_bg_bk_id = NNE_bg_fr_id NNE_bg_fr = nil setSpritePZR(NNE_bg_bk,0,0,1,0,0,800,600,0,0,800,600) ani_b_t = 0 ani_b_x = 0; ani_b_y = 0 end when 2 then #右へ a += ani_b_x img_mz[0].angle a if a > 90 img_mz[0].angle 0 img_mz[0].destroy; img_mz[1].destroy ani_b_t = 0 ani_b_x = 0; ani_b_y = 0 end else #右から a -= ani_b_x if a < 5 a += ((ani_b_x / 4) * 3) elsif a < 15 a += (ani_b_x / 2) end img_mz[0].angle a if a < 0 img_mz[0].angle 0 img_mz[0].destroy; img_mz[1].destroy if NNE_bg_bk != nil deleteSprite(NNE_bg_bk) end NNE_bg_bk = NNE_bg_fr NNE_bg_bk_id = NNE_bg_fr_id NNE_bg_fr = nil setSpritePZR(NNE_bg_bk,0,0,1,0,0,800,600,0,0,800,600) ani_b_t = 0 ani_b_x = 0; ani_b_y = 0 end end when 20 then #フェードアウト #debug_log no_ptn if ani_b_x == 0 setSpritePZR(NNE_app_sp_fla,0,0,30,(ani_b_c - 0.8),0,(ani_b_c - 0.2),1,0,0,80000,60000) #setSpritePZR(NNE_app_sp_fla,800,600,30,(ani_b_c - 0.8),0,(ani_b_c - 0.2),1,0,0,80000,60000) end a = 0 if ani_b_x > 0 a = (ani_b_x * ani_b_s) / 100 end setAlpha(NNE_app_sp_fla,a) ani_b_x += 1 if a >= ani_b_cp ani_b_cp = a setAlpha(NNE_app_sp_fla,a) ani_b_t = 0 ani_b_x = 0 #mainloop = false end when 21 then #フェードイン if ani_b_x == 0 setSpritePZR(NNE_app_sp_fla,0,0,30,(ani_b_c - 0.8),0,(ani_b_c - 0.2),1,0,0,80000,60000) end a = 1 if (ani_b_cp == 0) || ((ani_b_x * ani_b_s) == 100) a = 0 else a = ani_b_cp - ((ani_b_x * ani_b_s) / 100) end setAlpha(NNE_app_sp_fla,a) ani_b_x += 1 if a <= 0 setSpritePZR(NNE_app_sp_fla,800,600,30,0,0,384,960,0,0,384,960) setAlpha(NNE_app_sp_fla,1) ani_b_cp = 0 ani_b_t = 0 ani_b_x = 0 #mainloop = false end else end end #_/_/_/ エフェクトの実行 _/_/_/ if ani_a_t > 0 case ani_a_t when 1 then #振動 縦 case ani_a_c when 0 then camera_position(0, (ani_shk_h / 2)) when 1 then camera_position(0, ani_shk_h) when 2 then camera_position(0, (ani_shk_h / 2)) when 3 then camera_position(0, 0) when 4 then camera_position(0, ((-1) * (ani_shk_h / 2))) when 5 then camera_position(0, ((-1) * ani_shk_h)) when 6 then camera_position(0, ((-1) * (ani_shk_h / 2))) when 7 then camera_position(0, 0) else end ani_a_c += 1 if ani_a_c > 7 then ani_a_c = 0; end when 2 then #振動 横 case ani_a_c when 0 then camera_position((ani_shk_h / 2), 0) when 1 then camera_position(ani_shk_h, 0) when 2 then camera_position((ani_shk_h / 2), 0) when 3 then camera_position(0, 0) when 4 then camera_position(((-1) * (ani_shk_h / 2)), 0) when 5 then camera_position(((-1) * ani_shk_h), 0) when 6 then camera_position(((-1) * (ani_shk_h / 2)), 0) when 7 then camera_position(0, 0) else end ani_a_c += 1 if ani_a_c > 7 then ani_a_c = 0; end else end end #_/_/_/ キャラアニメの実行 _/_/_/ if ch_new_c > 0 case ch_new_c when 1 then setAlpha(NNE_chr_new,0.25) when 2 then setAlpha(NNE_chr_new,0.5) when 3 then setAlpha(NNE_chr_new,0.75) when 4 then setAlpha(NNE_chr_new,1) end ch_new_c += 1 if ch_new_c > 4 NNE_chr_new = nil ch_new_c = 0 end end if ch_old_c > 0 case ch_old_c when 1 then setAlpha(NNE_chr_old,0.75) when 2 then setAlpha(NNE_chr_old,0.5) when 3 then setAlpha(NNE_chr_old,0.25) when 4 then setAlpha(NNE_chr_old,0) end ch_old_c += 1 if ch_old_c > 4 NNE_chr_old.destroy NNE_chr_old = nil ch_old_c = 0 end end if NNE_chr_ani_l > 0 wrk_x = 0; wrk_y = 0 i = getArrayLength(ani_xd[NNE_chr_ani_l]) - 1 if NNE_chr_anic_l > i if (NNE_chr_ani_l == 1) || (NNE_chr_ani_l == 2) NNE_chr_anic_l = 0 else NNE_chr_anic_l = i end end wrk_x = ani_xd[NNE_chr_ani_l][NNE_chr_anic_l] wrk_y = ani_yd[NNE_chr_ani_l][NNE_chr_anic_l] NNE_chr_anic_l += 1 if NNE_chr_l != nil if han_ch_l setSpritePZR(NNE_chr_l,((200 - wh_ch_l) + wrk_x),((600 - h_ch_l) + wrk_y),5,(w_ch_l * set_ch_co_l),0,w_ch_l,h_ch_l,w_ch_l,0,(w_ch_l * (-1)),h_ch_l) else setSpritePZR(NNE_chr_l,((200 - wh_ch_l) + wrk_x),((600 - h_ch_l) + wrk_y),5,(w_ch_l * set_ch_co_l),0,w_ch_l,h_ch_l,0,0,w_ch_l,h_ch_l) end end end if NNE_chr_ani_c > 0 wrk_x = 0; wrk_y = 0 i = getArrayLength(ani_xd[NNE_chr_ani_c]) - 1 if NNE_chr_anic_c > i if (NNE_chr_ani_c == 1) || (NNE_chr_ani_c == 2) NNE_chr_anic_c = 0 else NNE_chr_anic_c = i end end wrk_x = ani_xd[NNE_chr_ani_c][NNE_chr_anic_c] wrk_y = ani_yd[NNE_chr_ani_c][NNE_chr_anic_c] NNE_chr_anic_c += 1 if NNE_chr_c != nil if han_ch_c setSpritePZR(NNE_chr_c,((400 - wh_ch_c) + wrk_x),((600 - h_ch_c) + wrk_y),5,(w_ch_c * set_ch_co_c),0,w_ch_c,h_ch_c,w_ch_c,0,(w_ch_c * (-1)),h_ch_c) else setSpritePZR(NNE_chr_c,((400 - wh_ch_c) + wrk_x),((600 - h_ch_c) + wrk_y),5,(w_ch_c * set_ch_co_c),0,w_ch_c,h_ch_c,0,0,w_ch_c,h_ch_c) end end end if NNE_chr_ani_r > 0 wrk_x = 0; wrk_y = 0 i = getArrayLength(ani_xd[NNE_chr_ani_r]) - 1 if NNE_chr_anic_r > i if (NNE_chr_ani_r == 1) || (NNE_chr_ani_r == 2) NNE_chr_anic_r = 0 else NNE_chr_anic_r = i end end wrk_x = ani_xd[NNE_chr_ani_r][NNE_chr_anic_r] wrk_y = ani_yd[NNE_chr_ani_r][NNE_chr_anic_r] NNE_chr_anic_r += 1 if NNE_chr_r != nil if han_ch_r setSpritePZR(NNE_chr_r,((600 - wh_ch_r) + wrk_x),((600 - h_ch_r) + wrk_y),5,(w_ch_r * set_ch_co_r),0,w_ch_r,h_ch_r,w_ch_r,0,(w_ch_r * (-1)),h_ch_r) else setSpritePZR(NNE_chr_r,((600 - wh_ch_r) + wrk_x),((600 - h_ch_r) + wrk_y),5,(w_ch_r * set_ch_co_r),0,w_ch_r,h_ch_r,0,0,w_ch_r,h_ch_r) end end end #_/_/_/ 選択肢の実行 _/_/_/ if sel_c_t > 0 #マウスでの操作判定 ani_b_x = pointer.x; ani_b_y = pointer.y wrk_flg = false if sel_c_x != ani_b_x then sel_c_x = ani_b_x; wrk_flg = true; end if sel_c_y != ani_b_y then sel_c_y = ani_b_y; wrk_flg = true end if wrk_flg i = 0; ilen = sel_c_len; adx = 0; ady = 0 while i < ilen if i > 0 adx = 400 * (i % 2); ady = 30 * floor(i / 2) end #NNE_txbxCursor[i] = createText(30 + adx, 480 + ady, 30, 30) #NNE_txbxSelect[i] = createText(50 + adx, 480 + ady, 350, 30) if (ani_b_x > (30 + adx)) && (ani_b_x < (400 + adx)) && (sel_c_y > (480 + ady)) && (sel_c_y < (510 + ady)) setText(NNE_txbxCursor[(sel_c_t - 1)], "") sel_c_t = (i + 1) setText(NNE_txbxCursor[(sel_c_t - 1)], "⇒") i = ilen end i += 1 end end #キーボードでの操作判定 if (key_flg_l_s && !key_flg_l_e) setText(NNE_txbxCursor[(sel_c_t - 1)], "") i = sel_c_t % 2 if i == 0 then sel_c_t -= 1; else sel_c_t += 1; end if sel_c_t > sel_c_len then sel_c_t = sel_c_len; end setText(NNE_txbxCursor[(sel_c_t - 1)], "⇒") key_flg_l_e = true end if (key_flg_r_s && !key_flg_r_e) setText(NNE_txbxCursor[(sel_c_t - 1)], "") i = sel_c_t % 2 if i == 0 then sel_c_t -= 1; else sel_c_t += 1; end if sel_c_t > sel_c_len then sel_c_t = sel_c_len; end setText(NNE_txbxCursor[(sel_c_t - 1)], "⇒") key_flg_r_e = true end if (key_flg_u_s && !key_flg_u_e) setText(NNE_txbxCursor[(sel_c_t - 1)], "") sel_c_t -= 2; i = sel_c_len % 2 if sel_c_t < 0 if i == 0 then sel_c_t = (sel_c_len - 1); else sel_c_t = sel_c_len; end elsif sel_c_t < 1 if i == 0 then sel_c_t = sel_c_len; else sel_c_t = (sel_c_len - 1); end end setText(NNE_txbxCursor[(sel_c_t - 1)], "⇒") key_flg_u_e = true end if (key_flg_d_s && !key_flg_d_e) setText(NNE_txbxCursor[(sel_c_t - 1)], "") sel_c_t += 2; i = sel_c_t % 2 if sel_c_t > sel_c_len if i == 0 then sel_c_t = 2; else sel_c_t = 1; end end setText(NNE_txbxCursor[(sel_c_t - 1)], "⇒") key_flg_d_e = true end #選択肢の終了 if mainloop no = indexOfArray(NNE_cin_id, sel_c_id[(sel_c_t - 1)]) if no > (-1) then data_count = NNE_cin_pos[no] else wrk_case = sel_c_id[(sel_c_t - 1)] if wrk_case == "ゲームクリア" || wrk_case == "ゲームクリアー" || wrk_case == "グッドエンド" || wrk_case == "GAMECLEAR" ending_flg = 1; mainloop = false elsif wrk_case == "ゲームオーバー" || wrk_case == "バッドエンド" || wrk_case == "GAMEOVER" ending_flg = 2; mainloop = false elsif wrk_case == "ロード" if isLogin() loadNNE() end else end end sel_c_t = 0 ani_b_x = 0; ani_b_y = 0 sel_c_x = 0; sel_c_y = 0 i = 0; ilen = 6; while i < ilen setText(NNE_txbxCursor[i], "") setText(NNE_txbxSelect[i], "") i += 1 end #mainloop = false end end #音楽のフェードイン、フェードアウト if bgm_c > 0 if bgm_c == 1 volBGM(G_bgm, bgm_vol) bgm_vol -= 2 if bgm_vol < 0 bgm_vol = 0; bgm_c = 0 stopBGM(G_bgm) G_bgm = nil end elsif bgm_c == 2 volBGM(G_bgm, bgm_vol) bgm_vol += 2 if bgm_vol > G_vol bgm_vol = G_vol; bgm_c = 0 volBGM(G_bgm, G_vol) end else bgm_c = 0 end end #スクリーンキーボード if scrkbd_flg mainloop = false ret = scrKbdStart(scrkbd_top,scrkbd_color,scrkbd_max_str,scrkbd_def_str,scrkbd_min_str,scrkbd_num_only) if ret[0] NNE_var_list[scrkbd_no] = ret[1] scrkbd_flg = false setTextFontSize(18) scrkbd_min_str = 0 scrkbd_num_only = false #debug_log "scr_kbd_end" #debug_log NNE_var_list[scrkbd_no] mainloop = true end end #_/_/_/ ゲーム終了 _/_/_/ if ending_flg > 0 if ending_flg == 1 game_clear else game_clear end end end render do #_/_/_/ 描画 _/_/_/ end end #_/_/_/_/_/_/ 画像の定義 _/_/_/_/_/_/ sprite 'spr_img_00' do image 'img_00' origin :left_top end sprite 'spr_img_01' do image 'img_01' origin :left_top end sprite 'spr_img_02' do image 'img_02' origin :left_top end sprite 'spr_img_03' do image 'img_03' origin :left_top end sprite 'spr_img_04' do image 'img_04' origin :left_top end sprite 'spr_img_05' do image 'img_05' origin :left_top end sprite 'spr_img_06' do image 'img_06' origin :left_top end sprite 'spr_img_07' do image 'img_07' origin :left_top end sprite 'spr_img_08' do image 'img_08' origin :left_top end sprite 'spr_img_09' do image 'img_09' origin :left_top end sprite 'spr_img_10' do image 'img_10' origin :left_top end sprite 'spr_img_11' do image 'img_11' origin :left_top end sprite 'spr_img_12' do image 'img_12' origin :left_top end sprite 'spr_img_13' do image 'img_13' origin :left_top end sprite 'spr_img_14' do image 'img_14' origin :left_top end sprite 'spr_img_15' do image 'img_15' origin :left_top end sprite 'spr_img_16' do image 'img_16' origin :left_top end sprite 'spr_img_17' do image 'img_17' origin :left_top end sprite 'spr_img_18' do image 'img_18' origin :left_top end sprite 'spr_img_19' do image 'img_19' origin :left_top end sprite 'spr_img_20' do image 'img_20' origin :left_top end sprite 'spr_img_21' do image 'img_21' origin :left_top end sprite 'spr_img_22' do image 'img_22' origin :left_top end sprite 'spr_img_23' do image 'img_23' origin :left_top end sprite 'spr_img_24' do image 'img_24' origin :left_top end sprite 'spr_img_25' do image 'img_25' origin :left_top end sprite 'spr_img_26' do image 'img_26' origin :left_top end sprite 'spr_img_27' do image 'img_27' origin :left_top end sprite 'spr_img_28' do image 'img_28' origin :left_top end sprite 'spr_img_29' do image 'img_29' origin :left_top end sprite 'spr_eximg_00' do image 'eximg_00' origin :left_top end sprite 'spr_eximg_01' do image 'eximg_01' origin :left_top end sprite 'spr_eximg_02' do image 'eximg_02' origin :left_top end sprite 'spr_eximg_03' do image 'eximg_03' origin :left_top end sprite 'spr_eximg_04' do image 'eximg_04' origin :left_top end sprite 'spr_eximg_05' do image 'eximg_05' origin :left_top end sprite 'spr_eximg_06' do image 'eximg_06' origin :left_top end sprite 'spr_eximg_07' do image 'eximg_07' origin :left_top end sprite 'spr_eximg_08' do image 'eximg_08' origin :left_top end sprite 'spr_eximg_09' do image 'eximg_09' origin :left_top end sprite 'spr_eximg_10' do image 'eximg_10' origin :left_top end sprite 'spr_eximg_11' do image 'eximg_11' origin :left_top end sprite 'spr_eximg_12' do image 'eximg_12' origin :left_top end sprite 'spr_eximg_13' do image 'eximg_13' origin :left_top end sprite 'spr_eximg_14' do image 'eximg_14' origin :left_top end sprite 'spr_eximg_15' do image 'eximg_15' origin :left_top end sprite 'spr_eximg_16' do image 'eximg_16' origin :left_top end sprite 'spr_eximg_17' do image 'eximg_17' origin :left_top end sprite 'spr_eximg_18' do image 'eximg_18' origin :left_top end sprite 'spr_eximg_19' do image 'eximg_19' origin :left_top end sprite 'spr_eximg_20' do image 'eximg_20' origin :left_top end sprite 'spr_eximg_21' do image 'eximg_21' origin :left_top end sprite 'spr_eximg_22' do image 'eximg_22' origin :left_top end sprite 'spr_eximg_23' do image 'eximg_23' origin :left_top end sprite 'spr_eximg_24' do image 'eximg_24' origin :left_top end sprite 'spr_eximg_25' do image 'eximg_25' origin :left_top end sprite 'spr_eximg_26' do image 'eximg_26' origin :left_top end sprite 'spr_eximg_27' do image 'eximg_27' origin :left_top end sprite 'spr_eximg_28' do image 'eximg_28' origin :left_top end sprite 'spr_eximg_29' do image 'eximg_29' origin :left_top end sprite 'spr_img_copy_win' do image 'img_copy_win' origin :left_top end sprite 'spr_img_main_win' do image 'img_main_win' origin :left_top end sprite 'spr_img_sub_win' do image 'img_sub_win' origin :left_top end sprite 'spr_img_fla' do image 'img_fla' origin :left_top end sprite 'spr_img_emo_00' do image 'img_emo_00' origin :left_top end sprite 'spr_img_emo_01' do image 'img_emo_01' origin :left_top end #_/_/_/_/_/_/ 処理開始 _/_/_/_/_/_/ start_scene "sc_logo"
コード一覧
投稿者:Cdv30200 aoi icon mini aoihikawa 対象Lv1 公開日:2021年02月22日 18:11:36
プレー内容を公開する

違反を通報する

コメントする

コメントするには、ログインする必要があります。

コメント一覧

コメントはありません。

プレー履歴

全てのプレー履歴を見る

新着レビュー

レビューはまだ投稿されていません。 作品の感想を作者に伝えるためにレビューを投稿してみませんか?

全てのレビュー

フォロー/シェア

ブログ/Wiki/掲示板で共有する

Rmake内(ブログ/Wiki/掲示板)に貼り付ける場合は以下のタグを利用してください。

リンク

プレイヤー

外部ホームページに貼り付ける

外部ホームページに貼り付ける場合は以下のタグを利用してください。