[求助]关于吉里吉的外部定义的问题
小弟最近在制作一个AVG游戏,但是里面的特效颇多。
而且需要多次反复的定义,这样对代码量是一个不小的考验。
然后在网上发现了这个程序范例:kagex20060525
里面的范例中使用倒了外部定义这一做法。
仔细观察过后觉得非常的有用。
但是代码完全是日语,看不懂所以发出来下分析下:
如果有高手可以指点下小弟倍感荣欣。
;----------------------------程序主题部分-----------------------------
*start|スタート
[linemode mode=page]
; 環境は初期化しておかないと状態の整合が取れない場合がある
[init]
[道路]
【あい/ほげげ】名前処理
[あい 制服 中]キャラクタ出現
[あい 左]キャラクタ移動(左)
[あい 奥]キャラクタレベル変更(奥)
[あい 中]キャラクタ移動(中)
[あい 手前]キャラクタレベル変更(手前)
[あい 前]キャラクタ移動(前)
*label1|フェード表示
[あい hide]キャラクタ消去
[あい 制服 左 fade]キャラクタ出現・フェード制御
[あい 消 fade]キャラクタ消去・フェード制御
[あい 制服 中]キャラクタ出現
[あい rotate=30 time=1000][あい zoom=120 time=1000]レイヤ回転制御(シンクロしない)
[あい rotate=0 time=1000 sync][あい zoom=100 time=1000 sync]レイヤ回転制御(シンクロする)
[夕]夕方(キャラクタは自動的に色補正されます)
[夜]夜(キャラクタは自動的に色補正されます)
*label2|キャラ操作
[あい zoom=150 time=1000]レイヤ拡大制御
[あい opacity=100 time=1000]透明度制御
[あい reset]レイヤ状態初期化
*label3|イベント絵
; イベント絵を表示
[EV file=event1 fade]イベント絵を表示しました。
[EV rotate=30 time=1000]イベント絵を回転
[EV zoom=200 time=1000]イベント絵をズーム処理
[EV hide]イベント絵消去
[昼]
*label4|表情処理
[あい 喜]表情変更(喜)
[あい 怒]表情変更(怒)
*label5|キャラ移動処理
[あい 右]場所移動(右)
[あい 左]場所移動(左)
[あい 右 time=500]時間指定あり場所移動(→右)
[あい 右:中 time=500]初期位置指定で場所移動(中→右)
[あい 右:中 opacity=255:0 time=500]初期位置指定場所移動(中→左 透明度制御あり)
*label6|キャラアクション
[あい 中 おじぎ]おじぎアクション
[あい びょんびょん]びょんびょんアクション
[あい ガクガク]ガクガクアクション
[jump storage=first.ks target=*start]
;-------------------------------------外部定义区-------------------------------
%[
// 時間情報
"times" => %[
"昼" => %[
"prefix" => "01",
],
"夕" => %[
"prefix" => "02",
"lightColor" => 0xc0ff6010, // 背景補正光色
"lightType" => ltPsHardLight, // 背景補正光合成種別
"brightness" => 0, // 背景明度補正
"contrast" => 0, // 背景コントラスト補正
"charLightColor" => 0xffff0000, // キャラ補正光合成色
"charLightType" => ltPsSoftLight, // キャラ補正光合成種別
"charBrightness" => 0, // キャラ明度補正
"charContrast" => 0, // キャラコントラスト補正
],
"夜" => %[
"prefix" => "03",
"lightColor" => 0xc0000040, // キャラ補正光合成色
"lightType" => ltPsHardLight, // キャラ補正光合成種別
"brightness" => -20, // キャラ明度補正
"contrast" => -30, // キャラコントラスト補正
"charLightColor" => 0xff400080, // キャラ補正光合成色
"charLightType" => ltPsSoftLight, // キャラ補正光合成種別
"charBrightness" => -50, // キャラ明度補正
"charContrast" => -30, // キャラコントラスト補正
]
],
// 場所情報
"stages" => %[
"道路" => %[
"image" => "bg01_TIME",
],
],
"defaultTime" => "昼",
// キャラクタ配置総合オフセット(画面中央原点)
"yoffset" => 700,
// キャラクタ配置情報定義
"positions" => %[
"出" => %[
"type" => KAGEnvironment.DISPPOSITION,
"disp" => KAGEnvImage.BOTH
],
"立" => %[
"type" => KAGEnvironment.DISPPOSITION,
"disp" => KAGEnvImage.BU
],
"消" => %[
"type" => KAGEnvironment.DISPPOSITION,
"disp" => KAGEnvImage.CLEAR
],
"顔" => %[
"type" => KAGEnvironment.DISPPOSITION,
"disp" => KAGEnvImage.FACE
],
"無" => %[
"type" => KAGEnvironment.DISPPOSITION,
"disp" => KAGEnvImage.INVISIBLE
],
"左奥" => %[
"type" => KAGEnvironment.XPOSITION,
"xpos" => int -440
],
"右奥" => %[
"type" => KAGEnvironment.XPOSITION,
"xpos" => int 440
],
"左" => %[
"type" => KAGEnvironment.XPOSITION,
"xpos" => int -200
],
"右" => %[
"type" => KAGEnvironment.XPOSITION,
"xpos" => int 200
],
"左中" => %[
"type" => KAGEnvironment.XPOSITION,
"xpos" => int -100
],
"右中" => %[
"type" => KAGEnvironment.XPOSITION,
"xpos" => int 100
],
"左外" => %[
"type" => KAGEnvironment.XPOSITION,
"xpos" => int -600
],
"右外" => %[
"type" => KAGEnvironment.XPOSITION,
"xpos" => int 600
],
"中" => %[
"type" => KAGEnvironment.XPOSITION,
"xpos" => int 0
],
"奥" => %[
"type" => KAGEnvironment.LEVEL,
"level" => int 0
],
"前" => %[
"type" => KAGEnvironment.LEVEL,
"level" => int 1
],
"手前" => %[
"type" => KAGEnvironment.LEVEL,
"level" => int 2
],
],
// 表示レベル用情報
"levels" => [
%[
// 拡大率指定
"zoom" => 60,
"name" => "1"
],
%[
"zoom" => 100,
"name" => "0"
],
%[
"zoom" => 150,
"name" => "2"
],
],
"defaultLevel" => 1,
// 表情窓用のレベル指定
"faceLevelName" => "f",
"actions" => %[
"おじぎ" => %[
"module" => LayerJumpOnceActionModule,
"vibration" => -50,
"cycle" => 3000,
],
"どっきり" => %[
"module" => LayerHeartBeatZoomModule,
"time" => 200,
"zoom" => 120,
],
"びょんびょん" => %[
"module" => LayerJumpActionModule,
"vibration" => 30,
"cycle" => 1000,
],
"ガクガク" => %[
"module" => LayerVibrateActionModule,
"vibration" => 3,
"waitTime" => 40
]
],
// 画面更新パラメータ
"transitions" => %[
"normal" => %[
"time" => 1000,
"method" => "crossfade",
],
],
// fade コマンドの規定値:全体用 (未定義の場合埋め込み値 500)
"fadeValue" => 1000,
// fade コマンドの規定値:キャラクタ用(未定義だと fadeValue を参照)
"charFadeValue" => 300,
// キャラクタ定義情報
"characters" => %[
// 定義
// 定義
"あい" => %[
// ポーズ登録(表情ファイルの使い分けが無い範囲)
"poses" => %[
// ポーズ指定
"通常" => %[
// 画像名 合成済みパターン
"image" => "ch_LEVEL_DRESS_FACE",
// "image" => "ch_0_DRESS_0",
// "faceImage" => "ch_0_0_FACE",
// 服装バリエーション
"dresses" => %[
"制服" => "0",
],
// 標準服装
"defaultDress" => "0",
// 表情バリエーション
"faces" => %[
"喜" => "1",
"怒" => "2",
"哀" => "3",
],
// 標準表情
"defaultFace" => "1",
],
],
"defaultPose" => "通常",
"voiceFile" => "ch%06d",
],
],
];
|