できるがな(4)-4
もどる すすむもどる             メニューにもどる

「できるな」

15ゲームを作りたい!(4)


完成するshockwaveムービー

●1 まずは画像を用意しましょう

番号バージョンの画像サンプルを用意しました


画像サンプル
自分で色々入れ替えて遊んでみるのも面白いでしょう。Macの方はこちらからまとめてダウンロードすることもできます。
この画像をコピーするなりして、キャスト1から16までに読み込んで下さい。ここに並べた順番でLingoは動作しますので、正しい順番で並べて下さい。また 読み込んだ後、容量を小さくする為に「ビットマップの変形」で8ビットに減色しておくことを忘れないように!

●2 ステージに配置する
グリッドを使用すると便利です。しかしきちんと並べていなくてもちゃんと動作します。画像サイズは1ピースあたり32*32ピクセルで作っていますので、ちょっと小さめの16*16のグリッドを使うとか、少し大きめの34*34のグリッドにするとか、工夫をすると便利ですね。別にどこに配置しても構いません。

グリッドは上手に使おう!

●3 スクリプトをコピーして、ムービースクリプトに書き込む。ただし若干の修正が必要です。尚、編集の手間を省くために以下のスクリプトは段付けを行って居ません。コピーした後、リターンを押すと、自動的に段付けが行われますので、心配ありません。

*****ここから******
---------------------------
--15ゲーム用スクリプト
--(c)Akira SAno 1997
--このスクリプトはフリーです
--ただし著作権は放棄しておりません
--自由に改造して使用していただいてもかまいませんが
--これを営業目的で使用するときには
--佐野(sano@mmgate.hus.osaka-u.ac.jp)までご連絡下さい。
---------------------------
global zentaiList,level

--初期設定
on startMovie
repeat with m=1 to 16
puppetSprite m,TRUE
end repeat
set zentaiList=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
--lelelの値を調整することで、難易度を変更することができます
set level=100
shaffle level
end

on checkMatrix clickTarget
set target=getOne(zentaiList,16)
set targetTate = ((target-1) mod 4)+1
set targetYoko = integer((target-1) / 4 )
set clickTargetTate = ((clickTarget-1) mod 4)+1
set clickTargetYoko = integer((ClickTarget-1) / 4 )
put targetYoko-clickTargetYoko into ZureYoko
put targetTate-clickTargetTate into ZureTate
if targetTate=clicktargetTate then
if Zureyoko > 0 then
repeat with Y=1 to Zureyoko
setAt zentaiList,Target-4*(Y-1),getAt(zentaiList,target-4*Y)
end repeat
else if Zureyoko < 0 then
repeat with Y=1 to abs(zureYoko)
setAt zentaiList,Target+4*(Y-1),getAt(zentaiList,target+4*Y)
end repeat
end if
setAt zentaiList,clickTarget,16
end if
if targetYoko=clickTargetYoko then
if ZureTate > 0 then
repeat with T=1 to ZureTate
setAt zentaiList,Target-(T-1),getAt(zentaiList,target-T)
end repeat
else if ZureTate < 0 then
repeat with T=1 to abs(zureTate)
setAt zentaiList,Target+(T-1),getAt(zentaiList,target+T)
end repeat
end if
setAt zentaiList,clickTarget,16
end if
hyouzi
checkOK
end
on hyouzi
repeat with m=1 to 16
set the castNum of sprite m to getAt(zentaiList,m)
end repeat
updatestage
end
on shaffle level
checkMatrix 4
checkMatrix 1
checkMatrix 13
repeat with m=1 to level
checkMatrix random(16)
end repeat
end

on checkOK
if zentaiList=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16] then
alert"完成です!"
--この*1.1を変更すると、難易度の上昇具合が変わります
set level=level*1.1
shaffle level
end if
end
*****ここまで*****

●4 キャストを配置し終わったスコアを以下のようになっているか確認して下さい(3フレーム目のスクリプトはまだです)。

●5 3フレーム目のこの部分(フレームスクリプトの部分)をクリックし、以下のようにスクリプトを書き込みます。
on exitframe
 go to the frame
end
●6 下図のように選択し、赤丸の部分をクリックします。そこに以下のように書き込みます。
on mouseUp
 checkMatrix the clickOn
end

これで簡単バージョンの15ゲームは完了です。色々な効果音をつけて遊んで下さい。

でもピースの動きがイマイチねぇ。ずずず……と動いたら面白いのに。それにピースが動画だったらもう少し面白いんだけどなぁ。

それはちょっと難しいですねぇ。でも先ほどのスクリプトに書き加えてやるとできるかもしれません。(次回につづく)


1997/04/27更新
© Akira SAno 1997
All rights reserved.
homeできるなメニューにもどる