サンプルコード2:背景とアニメ入門、応用

//ゲームスクリプト[]
//lf[0]~lf[10]は、一時領域として使用し、重要な値を保存しないこと
Level:0

Segment:100

//編集室では実行可
//lf[0]=Avatar.checkMap:E_

BG:BLANK
EV:BLANK

//ゲームメニュー
Avatar.CancelJoin
Avatar.scriptMode

Segment:150

Avatar.Menu:
今回の内容

->Segment:200

->Segment:500

->Segment:800

->Segment:1000

->Segment:9990

Segment:200
broadcastMessage:今回は画像関係のお話です。背景や前景、小さな画像の表示について 学んでいきましょう。;#00ff00

Message:
今回は画像関係のお話です。背景や前景、小さな画像の表示について学んでいきましょ う。

BG:S01_014_001

Segment:231

//
lf[7]=1
->Segment:232;(lf[5]==2)
->Segment:232;(lf[5]==4)
lf[7]=0
Segment:232
lf[8]=1
->Segment:233;(lf[5]==1)
->Segment:233;(lf[5]==4)
lf[8]=0

Segment:233

Avatar.Menu:
どこに行こうかな・・・
;(lf[7]==1)
->Segment:235
;(lf[8]!=0)
->Segment:236
;(lf[5]>3)
->Segment:237
;(lf[5]Segment:238

->Segment:250

->Segment:50

Segment:235
lf[5]=1
BG:S01_001_002Pi2
Message:
ここでは「BG:S01_001_002Pi2」というコマンドを実行しています。背景が掲示板前にな ります。

->Segment:231
//————–
Segment:236
lf[5]=2
BG:S01_019_001SUi
Message:
ここでは「BG:S01_019_001SUi」というコマンドを実行しています。背景が花壇になりま す。

->Segment:231
//————–
Segment:237
lf[5]=3
BG:S01_010_002Pi
Message:
ここでは「BG:S01_010_002Pi」というコマンドを実行しています。背景が会議室になり ます。

->Segment:231
//————–
Segment:238
lf[5]=4
BG:S01_002_001Pi
Message:
ここでは「BG:S01_002_001Pi」というコマンドを実行しています。背景が下駄箱になり ます。

->Segment:231

Segment:250

Message:
このように、キャラフレ内で用意されている場所(のほとんど)については、背景画像 が用意されています。BG:[マップコード]という形式で指定すれば、背景を設定するこ とが出来ます。

Message:
マップコードについては「スクリプト向け背景集(外部サイト)」http://kansai.me/no ela/bg/ をご覧ください。

Message:
自分で用意した画像を背景にすることもできます。画像の大きさは 600*340 です。ファ イル名には 日本語(全角文字)を使えません のでご注意ください。

//■プレイヤーアバターの性別判定
//男性は1、女性は3が返ってきます。
lf[0]=Avatar.gender
->Segment:311;(lf[0]==3)
->Segment:312;(lf[0]==1)
->Segment:313

//—
Segment:311
//女子更衣室
BG:user/2-02838/53189_shower_female
SE:water12.mp3
Wait:3000
//BG:S01-030P
->Segment:313
//—
Segment:312
//男子更衣室
BG:user/2-02838/53189_shower_male
SE:water12.mp3
Wait:3000
//BG:S01-029P

->Segment:313

Segment:313

Message:
このように、独自画像を背景に設定することが出来ます。BG:[user/部活コード /ファイル名」という形式で指定してください。

Message:
ファイル名には拡張子を記述しません。また、今のところPNGファイルを背景に指定する ことが出来ません。ご注意ください。

Avatar.Menu:
つづき

->Segment:500

->Segment:50

//————-
//前景
//————-
Segment:500

Message:
次は前景のお話です。背景は登場人物の後ろにありますが、前景は登場人物の前にあり ます。

Message:
つまり、前景はアバターNPCの前面に表示されます。鉄格子や窓の向こうにいるよう な表現ができます。ですので、一部を透明に設定したPNGファイルでないと、アバターN PCや背景が一切見えなくなります。

BG:S01_014_001

NPC:APC1000055455_01,25,s,2,1
NPC[APC1000055455_01].visible:1
NPC[APC1000055455_01].Pos:4

Message:3
ここで前景を出すと・・・

EV:user/2-00694/53189_kagami.png

Message:
このようにアバターNPCが隠れます。これを応用すると・・・

EV:user/2-00694/53189_blind1.png
wait:500
EV:user/2-00694/53189_blind2.png
wait:500
EV:user/2-00694/53189_blind3.png
wait:500
EV:user/2-00694/53189_blind4.png
wait:500
EV:user/2-00694/53189_blind5.png
BG:S01_019_001SUi
wait:500
EV:blank

Message:
こんな表現もできます。画像の大きさは600*340です。
書式  EV:『user/部活コード/ファイル名』または『Blank』という形式で指 定してください。

Message:
例えば EV:user/2-00694/53189_kagami.png などと記述します。ファイル名には 日本 語(全角文字)を使えませんのでご注意ください。

NPC[APC1000055455_01].visible:0

Avatar.Menu:
つづき

->Segment:800

->Segment:50

->Segment:9990

//——————–
//
//——————–
Segment:800

BG:user/2-00694/53189_animeback

Message:5
画像を出したり動かしたりするときには、アニメーションコマンドを使用します。 以下 、パラメータを順に説明します。

ANIM:10,user/2-00694/53189_waku.png,166,66,1,1000,0,133,52,133,52,1000,1,0,1

Message:5
index:レイヤー番号。1~19で指定して下さい。通常は1で問題ありません。画像を同時 に複数枚出したいときには、2,3,4…などを使ってください。

ANIM:10,user/2-00694/53189_waku.png,166,66,1,1000,0,133,52,237,52,1000,1,0,1

Message:5
ファイル:ファイル名です。user/部活コード/ファイル名」という形式で、拡張 子まで記述してください。

ANIM:10,user/2-00694/53189_waku.png,166,66,1,1000,0,237,52,340,52,1000,1,0,1

Message:3
w,h:画像の幅と高さです。単位はピクセル。

ANIM:10,user/2-00694/53189_waku.png,166,66,1,1000,0,340,52,454,52,1000,1,0,1

Message:3
count:1を記述します。

ANIM:10,user/2-00694/53189_waku.png,166,66,1,1000,0,454,52,54,87,1000,1,0,1

Message:3
wait:1000を記述します。
loop_f:0を記述します。

ANIM:10,user/2-00694/53189_waku.png,166,66,1,1000,0,54,87,320,87,1000,1,0,1

Message:3
sx,syがスタート座標で、画像の中心を記述します。(花火みたいに全画面アニメだと30 0,170で中央になります)

ANIM:10,user/2-00694/53189_waku.png,166,66,1,1000,0,320,87,455,87,1000,1,0,1

Message:3
tx,tyが終点座標です。画像の中心を記述します。(移動しないなら、sx,syと同じ値)

ANIM:10,user/2-00694/53189_waku.png,166,66,1,1000,0,455,87,52,120,1000,1,0,1

Message:3
time:移動アニメにかける秒数(ミリ秒)を記述します。(移動しないなら、1000)

ANIM:10,user/2-00694/53189_waku.png,166,66,1,1000,0,52,120,160,120,1000,1,0,1

Message:3
linia:等速か加速か減速か(0:等速 1:加速 2;減速)を記述します。(移動しな いなら、どれでも)

ANIM:10,user/2-00694/53189_waku.png,166,66,1,1000,0,160,120,280,120,1000,1,0,1

Message:3
delete:削除するか否かです。1にすると、アニメーション終了後に画像を消す。0にし て画像を残すと、別のコマンドで消さない限りずっと残る。

ANIM:10,user/2-00694/53189_waku.png,166,66,1,1000,0,280,120,370,120,1000,1,0,1

Message:3
最後の1は、予約なので必須でいれておく。

ANIM.del:10

Message:5
ANIM.del:『index(数字を直接記述)』と記述すると画像を消すことができます。index は 画像を表示するときに指定したレイヤー番号です。1~19の範囲で指定できます。

Avatar.Menu:
つづき

->Segment:1000

->Segment:50

->Segment:9990

//———-
//
//———-
Segment:1000

BG:user/2-00694/53189_animeback

Message:
「アニメ入門」で説明を省略した部分を補いながら、すこしだけ高度なことを試してみ ましょう。

Message:3
まずはレイヤ番号です。レイヤ番号に4,5,6を指定して表示します。

ANIM:4,user/2-00694/53189_4.png,200,200,1,1000,0,200,150,200,150,1000,1,0,1
wait:1000
ANIM:5,user/2-00694/53189_5.png,200,200,1,1000,0,250,180,250,180,1000,1,0,1
wait:1000
ANIM:6,user/2-00694/53189_6.png,200,200,1,1000,0,300,210,300,210,1000,1,0,1

Message:3
では、一度画像を消して、レイヤ番号6,5,4の順に表示してみましょう。

ANIM.del:4
ANIM.del:5
ANIM.del:6

ANIM:6,user/2-00694/53189_6.png,200,200,1,1000,0,300,210,300,210,1000,1,0,1
wait:1000
ANIM:5,user/2-00694/53189_5.png,200,200,1,1000,0,250,180,250,180,1000,1,0,1
wait:1000
ANIM:4,user/2-00694/53189_4.png,200,200,1,1000,0,200,150,200,150,1000,1,0,1

Message:3
このように、表示する順序に関わりなく、レイヤ番号の大きい画像が手前に表示されま す。

ANIM.del:4
ANIM.del:5
ANIM.del:6

ANIM:5,user/2-00694/53189_shouaisai.png,170,480,1,1000,0,100,180,100,180,1000,1 ,0,1

Message:3
このように縦に何コマかを並べたファイルを作っておいて・・・

ANIM:7,user/2-00694/53189_shouaisai.png,170,80,6,250,1,200,100,400,250,2900,1,0 ,1

Message:3
w,h:画像ヒトコマの幅と高さ
count:コマ数
wait:ヒトコマの表示時間(ミリ秒)

Message:3
loop_f:0だとループしない。1だと無限ループ再生 を指定すると、ちょっとしたアニ メーションができます。

Message:3
もちろんこの画像も・・・「ANIM.del:(番号)」コマンドを指定すると・・

ANIM.del:7

Message:3
消えます。また、deleteフラグを1にしても・・

ANIM:7,user/2-00694/53189_shouaisai.png,170,80,6,250,1,200,100,400,250,2900,1,1 ,1

Message:3
消えます。

Avatar.Menu:
今回の内容

->Segment:9990

->Segment:50

Segment:9990

BG:BLANK
EV:BLANK

->exit

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です