組み込み関数 - GUI
情報
GUI要素を操作するユーティリティー関数。
関数の一覧
hsCanvasSetLayerShow
bool hsCanvasSetLayerShow(string layerName, bool show)
名前で指定したレイヤーを、true で表示、false で非表示にする。
hsCanvasSuspendVisibleLayers
bool hsCanvasSuspendVisibleLayers()
現在表示されているすべてのレイヤーを一時的に非表示にします。hsCanvasResumeVisibleLayers()を呼び出すと表示状態を復帰します。
既にサスペンドしている場合はfalseが返ります。
hsCanvasResumeVisibleLayers
bool hsCanvasResumeVisibleLayers()
hsCanvasSuspendVisibleLayers()で非表示にしたレイヤーを復帰します。
サスペンドされていない場合はfalseが返ります。
hsAddLayer
void hsAddLayer(string LayerName, bool IsPortrait, bool IsShow, int Z)
Layerを追加します。
hsSetLayerName
void hsSetLayerName(string LayerName, bool IsPortrait, string Name)
Layerの名前を変更します。
hsSetLayerZ
void hsSetLayerZ(string LayerName, bool IsPortrait,int Z)
LayerのZ値を変更します。
hsSetLayerProjectName
void hsSetLayerProjectName(string LayerName, bool IsPortrait, string ProjectName)
LayerのProjectNameを変更します。
hsSetLayerComponentNameList
void hsSetLayerComponentNameList(string LayerName, bool IsPortrait, string ComponentNameList)
LayerのComponentNameListを変更します。
hsSetLayerSpreadMode
void hsSetLayerSpreadMode(string LayerName, bool IsPortrait, bool SpreadMode)
LayerのSpreadModeを変更します。
hsSetLayerMask
void hsSetLayerMask(string LayerName, bool IsPortrait, string URI, int PosX, int PosY, int SizeX, int SizeY, float PivoX, float PivoY, string Anchor, int Z, float ColorR, float ColorG, float ColorB, float ColorA, bool Show, bool Vertical, bool FreeSlide, int WheelTravel)
LayerのMaskを変更します。
hsSetLayerMaskShow
void hsSetLayerMaskShow(string LayerName, bool IsPortrait, bool IsShow)
LayerのMaskを表示します。*確認用です。
hsSetLayerSeekBarVertical
void hsSetLayerSeekBarVertical(string LayerName, bool IsPortrait, string Base, string Front, string On, string Off, int BarWidth, int OnSizeX, int OnSizeY, int OffSizeX, int OffSizeY)
Layerの縦のSeekBerを変更します。
hsSetLayerSeekBarHorizontal
void hsSetLayerSeekBarHorizontal(string LayerName, bool IsPortrait, string Base, string Front, string On, string Off, int BarWidth, int OnSizeX, int OnSizeY, int OffSizeX, int OffSizeY)
Layerの横のSeekBerを変更します。
hsSetLayerSeekBarRate
void hsSetLayerSeekBarRate(string LayerName, bool IsPortrait, float RateX, float RateY)
LayerのSeekBerのRateを変更します。
hsReleaseLayer
void hsReleaseLayer(string LayerName, bool IsPortrait)
Layerを削除します。
hsReserveReleaseLayer
void hsReserveReleaseLayer(string LayerName, bool IsPortrait)
Layerを削除する予定をします。
hsCanvasSetGUIShow
bool hsCanvasSetGUIShow(string layerName, string guiName, bool show)
名前で指定したCanvasを、true で表示、false で非表示にする。
hsCanvasSetGUIPos
bool hsCanvasSetGUIPos(string LayerName, bool IsPortrait, string GUIName, float X, float Y)
指定したGUI要素の座標を変更する。
hsCanvasGetGUIPos
bool hsCanvasGetGUIPos(string LayerName, bool IsPortrait, string GUIName, ref float X, ref float Y)
指定したGUI要素の座標を取得する。
hsCanvasSetGUIText
bool hsCanvasSetGUIText(string LayerName, string GUIName, string Text)
指定したテキスト要素のテキストを設定する。
テキスト内のカンマ「,」使用について
現在テキスト内にてカンマ「,」を使用すると、テキストが表示されない不具合が発生することを確認しています。カンマ「,」の使用は避けてください。
hsCanvasSetGUITextAlignment
bool hsCanvasSetGUITextAlignment(string LayerName, string GUIName, int Alignment)
指定したテキスト要素のアライメントを設定する。
hsCanvasSetGUITextOverflowWrap
bool hsCanvasSetGUITextOverflowWrap(string LayerName, string GUIName, bool OverflowWrap)
指定したテキスト要素の自動改行を設定する。
hsCanvasSetGUITextURLClickable
bool hsCanvasSetGUITextURLClickable(string LayerName, string GUIName, bool URLClickable)
指定したテキスト要素のURLクリックが可能かどうかを設定する。
hsCanvasSetGUIImage
bool hsCanvasSetGUIImage(string layerName, string guiName, string path)
名前で指定したCanvasにイメージを設定する。
hsCanvasResetToggleDefault
bool hsCanvasResetToggleDefault(string toggleName)
名前で指定したトグルをデフォルトの状態にリセットする。
hsCanvasToggleChange
bool hsCanvasToggleChange(string toggleName)
名前で指定したトグルの状態を切り替える。
hsCanvasWorldToScreenPos
bool hsCanvasWorldToScreenPos(Vector3 WorldPos, ref float ScreenX, ref float ScreenY)
ワールド座標をスクリーン座標に変換する。
変換後のスクリーン座標 (ScreenX, ScreenY) は 画面左上を基点 とした座標系で返す。
視野角外の場合は false を返す。
hsCanvasIsPortrait
bool hsCanvasIsPortrait()
縦画面か横画面かの真偽を返す。
hsCanvasSetConfigClosedFlag
void hsCanvasSetConfigClosedFlag(bool Flag)
コンフィグ画面の表示状態を切り替える。
hsCanvasAddGUI
void hsCanvasAddGUI(string LayerName, bool IsPortrait, HSGUIModel Model)
LayerNameで検索したLayerにIsPortraitで縦か横画面を判定して、GUIを追加する。
HelScript例
HSGUIModel model;
model = new HSGUIModel();
model.SetName("test_button");
model.SetShow(true);
model.SetType("button");
HS2DI size;
size = new HS2DI();
size.SetXY(100,100);
model.SetSize(size);
model.GetButtonModel().SetFileName("test_button.png");
hsCanvasAddGUI("HUD",false,model);
HSGUIModelクラスの詳細についてはHSGUIModel - Summaryをご参照ください。
hsCanvasSetGUISize
bool hsCanvasSetGUISize(string LayerName, bool IsPortrait, string GUIName, float X, float Y)
GUIのサイズを設定する。
hsCanvasGetGUISize
bool hsCanvasGetGUISize(string LayerName, bool IsPortrait, string GUIName, ref float X, ref float Y)
GUIのサイズを取得する。
hsCanvasSetGUIAngle
bool hsCanvasSetGUIAngle(string LayerName, bool IsPortrait, string GUIName, float Angle)
GUIの角度を設定する。
hsCanvasGetGUIAngle
bool hsCanvasGetGUIAngle(string LayerName, bool IsPortrait, string GUIName, ref float Angle)
GUIの角度を取得する。
hsAddGUI
void hsAddGUI(string LayerName, bool IsPortrait, int Type, string GuiParam, string TypeParam)
GUIを追加する、詳細は以下
hsReleaseGUI
void hsReleaseGUI(string LayerName, bool IsPortrait, string GUIName)
GUIを削除する
hsAddGUIAction
void hsReleaseGUI(string LayerName, bool IsPortrait, string GUIName)
GUIにGUIActionを追加する
hsAddGUIToggle
void hsAddGUIToggle(string LayerName, string GUIName, string ToggleName, bool state)
GUIにGUIToggleを追加する
hsAddGUIImage
void hsAddGUIImage(string LayerName, bool IsPortrait,
string GUIName, string Platform, string Language, string Portrait, bool Show, int Z, int PosX, int PosY, int SizeX, int SizeY, float PivotX, float PivotY, string Anchor, bool RaycastTarget, float Angle,
string URI, int UVAreaX, int UVAreaY, int UVAreaWidth, int UVAreaHeight, int L, int R, int T, int B)
LayerNameで検索したLayerにIsPortraitで縦か横画面を判定して、 imageタイプのGUIを追加する。
hsAddGUIButton
void hsAddGUIButton(string LayerName, bool IsPortrait,
string GUIName, string Platform, string Language, string Portrait, bool Show, int Z, int PosX, int PosY, int SizeX, int SizeY, float PivotX, float PivotY, string Anchor, bool RaycastTarget, float Angle,
string FileName, string OnCursorFileName, string DownFileName, string ClickAreaFileName, int ClickAreaSizeX, int ClickAreaSizeY, float FlickCheckTime, float FlickLengthThreshold,
int UVAreaX, int UVAreaY, int UVAreaWidth, int UVAreaHeight, int L, int R, int T, int B)
LayerNameで検索したLayerにIsPortraitで縦か横画面を判定して、 buttonタイプのGUIを追加する。
hsAddGUIText
hsAddGUIText(string LayerName, bool IsPortrait,
string GUIName, bool Show, int Z, int PosX, int PosY, int SizeX, int SizeY, float PivotX, float PivotY, string Anchor, bool RaycastTarget, float Angle,
string Text, string FontFamily, int FontSize, float ColorR, float ColorG, float ColorB, float ColorA, string Alignment, int CharaSpace, int LineSpace, bool IsOverflowWrap,
bool URLClickable, float URLColorR, float URLColorG, float URLColorB, float URLColorA
)
LayerNameで検索したLayerにIsPortraitで縦か横画面を判定して、 textタイプのGUIを追加する。
hsGetTextAreaContentSize()
void hsGetTextAreaContentSize(string LayerName, string GUIName, ref int width, ref int height)
GUIのTextの本来のwidthとheigtを取得します。
ウィンドウシステム
モーダル・モードレスウィンドウを作れるようにする(以降これらの機能をまとめてウィンドウシステムと呼ぶ)
- ウィンドウシステムはレイヤ機能とは独立しており、レイヤを操作することで動作を実現する。
- ウィンドウシステムはレイヤのZ値の再設定と表示状態の操作はするが、生成削除は行わない。
- モーダルウィンドウに対し、モードレスウィンドウを子として追加できる
- モーダル状態ではそのウィンドウとその子のモードレスウィンドウのみ入力を受け取れる。
- どのウィンドウもモーダルではない状態に対してもモードレスウィンドウを設定できる。
- モーダルウィンドウをPushするときに、他のモーダルウィンドウを非表示にするオプションがある(Pop時に再表示される)
- モーダルウィンドウをPopするときにそのレイヤと子のモードレスウィンドウに設定されたレイヤは非表示状態にされる
- モーダルウィンドウのトップレベルの変化があった際に(新しいモーダルウィンドウのpush、もしくはトップレベルのモーダルウィンドウのPop)、新しくモーダル状態になったウィンドウはZ値が一番手前に修正される。
hsWindowModalPush(string layerName, bool hideOther);
hsWindowModalPop();
hsWindowModalPopUntil(string layerName);
hsWindowModelessAdd(string layerName);
hsWindowModelessRemove(string layerName);
hsWindowModelessShowOnly(string layerName);
hsWindowModelessShowAll(bool isShown);
hsWindowClear();