組み込み関数 - GUI
情報
GUI要素を操作するユーティリティー関数。
関数の一覧
hsCanvasSetLayerShow
bool hsCanvasSetLayerShow(string layerName, bool show)
名前で指定したレイヤーを、true で表示、false で非表示にする。
hsCanvasSuspendVisibleLayers
bool hsCanvasSuspendVisibleLayers()
現在表示されているすべてのレイヤーを一時的に非表示にします。hsCanvasResumeVisibleLayers()を呼び出すと表示状態を復帰します。
既にサスペンドしている場合はfalseが返ります。
hsCanvasResumeVisibleLayers
bool hsCanvasResumeVisibleLayers()
hsCanvasSuspendVisibleLayers()で非表示にしたレイヤーを復帰します。
サスペンドされていない場合はfalseが返ります。
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 name)
名前で指定したGUI要素をデフォルトの状態にリセットする。
hsCanvasToggleChange
bool hsCanvasToggleChange(string name)
名前で指定したGUI要素の状態を切り替える。
hsCanvasWorldToScreenPos
bool hsCanvasWorldToScreenPos(Vector3 WorldPos, ref float ScreenX, ref float 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の角度を取得する。
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 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で縦か横画面を判定して、 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を追加する。
ウィンドウシステム
モーダル・モードレスウィンドウを作れるようにする(以降これらの機能をまとめてウィンドウシステムと呼ぶ)
- ウィンドウシステムはレイヤ機能とは独立しており、レイヤを操作することで動作を実現する。
- ウィンドウシステムはレイヤのZ値の再設定と表示状態の操作はするが、生成削除は行わない。
- モーダルウィンドウに対し、モードレスウィンドウを子として追加できる
- モーダル状態ではそのウィンドウとその子のモードレスウィンドウのみ入力を受け取れる。
- どのウィンドウもモーダルではない状態に対してもモードレスウィンドウを設定できる。
- モーダルウィンドウをPushするときに、他のモーダルウィンドウを非表示にするオプションがある(Pop時に再表示される)
- モーダルウィンドウをPopするときにそのレイヤと子のモードレスウィンドウに設定されたレイヤは非表示状態にされる
- モーダルウィンドウのトップレベルの変化があった際に(新しいモーダルウィンドウのpush、もしくはトップレベルのモーダルウィンドウのPop)、新しくモーダル状態になったウィンドウはZ値が一番手前に修正される。
hsWindowModalPush(string layerName, bool hideOther);
指定レイヤをモーダルウィンドウとして最上位にPushする。そのレイヤは表示状態になり、モーダル状態になる。 hideOther=trueで、モーダル状態中他のモーダルウィンドウと子モードレスウィンドウを非表示にする
hsWindowModalPop();
最上位のモーダルウィンドウをPopする。モーダル状態は一つ前のモーダルウィンドウに戻る。 Popされたモーダルウィンドウに設定されていたレイヤは非表示になる。 Popされたモーダルウィンドウの子モードレスウィンドウは全てRemoveされレイヤは非表示になる。hideOther=trueでpushしていた場合は一時的に非表示されていたウィンドウの表示状態が復帰する。
hsWindowModalPopUntil(string layerName);
指定レイヤまでモーダルウィンドウをPopする。
hsWindowModelessAdd(string layerName);
最上位のモーダルウィンドウの子モードレスウィンドウとして指定レイヤを追加する。表示状態は変更しない。
hsWindowModelessRemove(string layerName);
最上位のモーダルウィンドウの子モードレスウィンドウから指定レイヤを削除する。レイヤは非表示状態になる。
hsWindowModelessShowOnly(string layerName);
最上位のモーダルウィンドウの子モードレスウィンドウのうち指定レイヤだけ表示状態にし、残りは非表示状態にする。
hsWindowModelessShowAll(bool isShown);
最上位のモーダルウィンドウの子モードレスウィンドウ全てを表示もしくは非表示状態にする(isShownで表示状態を指定)。
hsWindowClear();
全てのモーダルウィンドウとその子モードレスウィンドウを削除し、設定したレイヤを非表示状態にする。