コメント
このコメントは、宇宙文字解読3へのコメントです。コメントの内容
コメントの内容(一番最初の投稿)
こういった、連続や類似したデータを複数扱う場合、
配列を使用すると便利になります
配列についてはこちら
配列を使用すると便利になります
配列についてはこちら
#画像スプライト
deleteAllSprite() #最初に使う前にキャンバスをキレイにしておく
drawCanvas()
setCanvasVisible(true)
#準備
x =0
y =0
w =240
h =180
xx=0
yy=0
ww=240
hh=180
#表示する座標の設定
soto_x = -200
soto_y = -200
naka_x = 0
naka_y = 0
#画像番号リストを配列として用意
img_id_list_str = "221082,221089,221096,221103,221110,221117,221131,221131,221138,221145,221152,221159,221166,221180,221187,221194,221201,221208,221215,221222,221231,221238,221245,221252,221259,221266,221273,221280,221287,221294"
img_id_list = createArray()
img_id_list = splitString(img_id_list_str, ",") #,区切りで文字列を分解
img_id = createArray()
i = 0; img_id_list_length = getArrayLength(img_id_list) #長さを保管しておき、ループさせる
while i < img_id_list_length
img_id_list[i] = toNumber(img_id_list[i]) #文字列になっているので数値に直す
#画像IDをここに入れます
img_id[i] = createSprite(img_id_list[i])
setSpriteRect(img_id[i], x,y,w,h, xx,yy,ww,hh)
#まずは、すべての画像を画面外に表示
setSpritePosition(img_id[i], soto_x, soto_y)
end
view_id = "" #アニメーションで表示する画像のID
hide_id = "" #アニメーションで隠す画像のID
#アニメーションさせる
while i < img_id_list_length
#それぞれのIDをセットする
if i > 0
view_id = img_id[i]
hide_id = img_id[(i - 1)]
else
view_id = img_id[i]
end
#セットされたIDをもとに、座標を決定する
setSpritePosition(view_id, naka_x, naka_y)
if i > 0
setSpritePosition(hide_id, soto_x, soto_y)
end
drawCanvas()
i = i + 1
waitTime(100)
end
#画像を消しています。
setCanvasVisible(false)
deleteTextAll()
配列を使用すると便利になります
配列についてはこちら
#画像スプライト deleteAllSprite() #最初に使う前にキャンバスをキレイにしておく drawCanvas() setCanvasVisible(true) #準備 x =0 y =0 w =240 h =180 xx=0 yy=0 ww=240 hh=180 #表示する座標の設定 soto_x = -200 soto_y = -200 naka_x = 0 naka_y = 0 #画像番号リストを配列として用意 img_id_list_str = "221082,221089,221096,221103,221110,221117,221131,221131,221138,221145,221152,221159,221166,221180,221187,221194,221201,221208,221215,221222,221231,221238,221245,221252,221259,221266,221273,221280,221287,221294" img_id_list = createArray() img_id_list = splitString(img_id_list_str, ",") #,区切りで文字列を分解 img_id = createArray() i = 0; img_id_list_length = getArrayLength(img_id_list) #長さを保管しておき、ループさせる while i < img_id_list_length img_id_list[i] = toNumber(img_id_list[i]) #文字列になっているので数値に直す #画像IDをここに入れます img_id[i] = createSprite(img_id_list[i]) setSpriteRect(img_id[i], x,y,w,h, xx,yy,ww,hh) #まずは、すべての画像を画面外に表示 setSpritePosition(img_id[i], soto_x, soto_y) i = i + 1 end view_id = "" #アニメーションで表示する画像のID hide_id = "" #アニメーションで隠す画像のID #アニメーションさせる i = 0 while i < img_id_list_length #それぞれのIDをセットする if i > 0 view_id = img_id[i] hide_id = img_id[(i - 1)] else view_id = img_id[i] end #セットされたIDをもとに、座標を決定する setSpritePosition(view_id, naka_x, naka_y) if i > 0 setSpritePosition(hide_id, soto_x, soto_y) end drawCanvas() i = i + 1 waitTime(100) end #画像を消しています。 setCanvasVisible(false) deleteTextAll()こうすることで
スクリプトが短くすっきりする他、
アニメーションの枚数が増えた場合も
img_id_list_strの内容を編集するだけで
対応が可能になります