//////////////////////////////////////////////////////////////////////////////////
// UI Script 語法定義
//////////////////////////////////////////////////////////////////////////////////

物件使用方式

Shader File
...
Object zlUIObjectClassName
{
...

//子物件
Object zlUIObjectClassName
{
...
}

}

//集合物件
Object[%d] zlUIObjectClassName
{

...
+Top value //垂直位置依序遞增值
+Left value //水名位置依序遞增值
+Y value //垂直位置依序遞增值
+X value //水名位置依序遞增值

}

Clone Name //Name必須是前面設定過的名稱
{

}

// 動態控制物件
TrackGroup
{

 

Name %name //動作群組命名
...
Track
{

 

//動態控制指令
...
Name %name //名稱
Object ControlObjectName //連結物件名稱
SetPos time x y //設定位置
SetRect time x y w h //設定位置大小
SetAlpha time alpha //設定半透明值
Move timeFrom timeTo x y //移動至某位置
MoveLerp timeFrom timeTo x y speed //非線性移動至某位置
MoveBezier timeFrom timeTo [BezierData] //曲線移動至某位置
SetScale time x y //設定縮放 只對Image有效
Scale timeFrom timeTo w h //縮放 只對Image有效
ScaleLerp timeFrom timeTo w h speed //非線性縮放 只對Image有效
Alpha timeFrom timeTo alpha //線性改變透明值
AlphaLerp timeFrom timeTo alpha speed //非線性改變透明值
Image time file //設定貼圖
Hide time //隱藏
Show time //顯示
FlipW time //水平翻轉
FlipH time //垂直翻轉
SetRotate time angle //設定旋轉角度 只對Image有效
Rotate timeFrom timeTo angle //旋轉至某角度 只對Image有效
RotateLerp timeFrom timeTo angle speed //非線性旋轉至某角度 只對Image有效

}

}

//事件觸發區域
EventRect %name
{

Name name
RectWH x y w h

}

// 事件處理
OnClick %name
{

 

//事件使用指令
PlayTrack name loop
StopTrack name

}

OnMouseMove %name
OnMouseEnter %name
OnMouseLeave %name

//ui管理員指令

PackImageSize size //設定封包大小
LoadImage file //直接載入貼圖
LoadPackImage file //預先載入封包貼圖
DefaultBorderWidth width //預設邊寬
DefaultTextSpace width height //預設文字間距
LoadTrack file //載入動作檔
PlayTrack name loop //播放動作 loop=-1 重複撥, 或是撥放次數

///////////////////////////////////////////////////
//
zlUIWin 所有繼承的子類別都可以使用這些參數調整
///////////////////////////////////////////////////

Name string //名稱
Rect left top right down //設定大小
RectWH left top width height //設定大小
BorderWidth value //設定邊框寬度
Top value //設定垂直位置
Left value //設定水平位置
Width value //設定寬度
Height value //設定高度
Align value //設定對齊樣式

None 無
Top 靠上面
Left 靠左邊
Right 靠右邊
Down or Bottom 靠下面
Client 對齊整個
Center 對中間

Notify bool //滑鼠游標在區域內時是否可取得訊息
Focus bool //滑鼠點選時是否可取得訊息
Drag bool //是否可以托拉
Autosize bool //是否自動調整大小
Resize bool //是否可以調整大小
Hint string //輔助說明視窗
Visible bool //是否隱藏
Popup zlUIObject Name //POPUP介面
FlipW //水平翻轉
FlipH //垂直翻轉
Alpha //透明值
Rotate //旋轉角度
Anchor //旋轉縮放定位點
Scale //縮放
Param Name //設定子物件參數

{
...
}

///////////////////////////////////////////////////
// class
zlUIImage:public zlUIWin
///////////////////////////////////////////////////

Object Image //ClassID
Image file //圖片檔案
Color ColorValue //設顏色可使用long 或是RGBA(r,g,b,a)

///////////////////////////////////////////////////
// class
zlUIPanel:public zlUIWin
///////////////////////////////////////////////////

Object Panel //ClassID
Color ColorValue //設顏色可使用long 或是RGBA(r,g,b,a)
Color[4] ColorValue ColorValue ColorValue ColorValue //設四頂點顏色
BorderColor ColorValue //設邊框顏色
Bevel value //設邊框樣式

None 無邊框
Line 線邊框
Lower 凹型邊框
Raise 凸型邊框

Text string //顯示字串
TextAlignW value //字串水平對齊位置

Left 左
Right 右
Center 中間
TextAlignH
Top 上
Bottom or Down 下
Center 中間

TextColor ColorValue //文字顏色
TextColor[4] ColorValue ColorValue ColorValue ColorValue //文字四頂點顏色
Image file //圖片檔案
ImageWH width height //圖片長寬
ImageAlign AlignW AlignH //圖片對齊方式
DrawImage bool //強制設定是否顯示圖片
DrawClient bool //設定是否顯示底色
DrawBorder bool //設定是否顯示邊框
Font int //選擇字型
FontSpace width height //文字間隔
MultiLine bool //是否多行顯示
ReplaceIcon string file w h //替換表情符號

///////////////////////////////////////////////////
// class
zlUIButton:public zlUIPanel
///////////////////////////////////////////////////

Object Button //ClassID
Style value //按鈕樣式

None 無邊框 通常是圖片模式
Normal 一般按鈕 平時突起按下變凹
Flat 平面按鈕 平時平的滑鼠移到凸起按下凹下
Border 邊框按鈕 平時無邊框滑鼠移到顯示邊框按下凹下

Image file //按鈕圖片
ImageUp file //凸起圖片
ImageDown file //凹下圖片

///////////////////////////////////////////////////
// class
zlUICheck:public zlUIButton
///////////////////////////////////////////////////

Object Check //ClassID

///////////////////////////////////////////////////
// class
zlUIScroll:public zlUIPanel
///////////////////////////////////////////////////

Min value //設定最小值
Max value //設定最大值
Value value //設定目前值
Param Arrow1 //第一個按鍵
Param Arrow2 //第二個按鍵
Param Bar //拉爸

///////////////////////////////////////////////////
// class zlUIScrollW:public zlUIScroll
///////////////////////////////////////////////////
Object ScrollW //ClassID

///////////////////////////////////////////////////
// class zlUIScrollH:public zlUIScroll
///////////////////////////////////////////////////
Object ScrollH //ClassID

///////////////////////////////////////////////////
// class
zlUIEdit:public zlUIPanel
///////////////////////////////////////////////////

Object Edit //ClassID
MaxLength value //設定最大字元數
PWChar char //設定密碼顯示字元
AutoHeight bool //自動調整高度以容納所有字元

///////////////////////////////////////////////////
// class
zlUIMemo:public zlUIPanel
///////////////////////////////////////////////////

Object Memo //ClassID
Line Color String //加入一行字串
Text Color String //加入一行字串
File file //加入文檔
LineColor line Color //設定某行顏色
LineColor[4] line Color Color Color Color //設定某行四頂點顏色
Param ScrollH //垂直捲軸

///////////////////////////////////////////////////
// class zlUIConsole:public zlUIPanel
///////////////////////////////////////////////////

Param Command
Param ScrollH

///////////////////////////////////////////////////
// 範例
///////////////////////////////////////////////////

ui.Shader 檔案內容

Shader h_0000.tga
{

{
Animap 10 h_0000.tga h_0001.tga h_0002.tga h_0003.tga h_0004.tga h_0005.tga h_0006.tga h_0007.tga
}

}

.UI檔案內容

Shader ui.shader
Object Panel
{

BorderWidth 5
Drag true
RectWH 350 10 300 550
Color[4] -1470276152 -1470276152 170524927 170524927
Bevel Raise

Object Console
{

BorderWidth 5
Bevel Raise
RectWH 5 5 280 160
Param Command
{
Bevel Lower

}

}
Object Memo
{

BorderWidth 5
Bevel Raise
RectWH 5 175 280 160
File license.txt

}
Object Button
{

RectWH 5 345 120 30
Font 1
Text 一般按鍵
Hint 使用造字程式字型

}
Object Button
{

RectWH 5 380 120 30
TextColor[4] RGBA(255,0,0,255) RGBA(255,0,0,255) RGBA(255,0,0,255) RGBA(255,255,0,255)
Text 圖片按鍵
Image 01-03.tga
ImageUp 01-04.tga
Hint 使用圖片按鍵

}
Object Image
{

RectWH 130 380 100 30
Image h_0000.tga
Hint 使用zlShader控制

}
Object Panel
{

Bevel Lower
RectWH 5 430 280 80
Font 2
TextColor -1
Text 使用系統建立其他字型
Color[4] RGBA(50,0,0,100) RGBA(50,0,0,100) RGBA(50,0,0,100) RGBA(50,0,0,100)

}

}

 

2007 Copyright by JhengYi, All rights reserved.