MyGUI学習ノート(五)——MyGUIの他の書類1——13.03.12
5547 ワード
MyGUIの内容を読み、記録する Text formatting:MyGUIは文字表示でいくつかの特殊なシーケンスをサポートしています.1、常用シーケンス.このシーケンスは、どんな文字変換でも使用できます.--「#rrggbb」:文字の色を変更します.「##」:'#'文字2、プレースシーケンス--":改行文字を表示します.「#{Keyword}」:languageファイルに定義されている文字列またはLanguageManagerにロードされている文字列に置き換えられます.文字列がない場合は、そのまま置き換えません.3、runtimeは、例えばgetCaption()またはgetOnlyText()の例を以下のように使用する.
Original text
Visible text
This text is #00ff00green
This text is green
#00ff00green and #ff0000red text
green andred text
Sometimes long textis splitted manually
Sometimes long text
is splitted manually
Message box with #{MyGUI_MessageBox_Cancel} button
(LanguageManager language is English)
Message box with Cancel button
Message box with #{MyGUI_MessageBox_Cancel} button
(LanguageManager language is Russian)
Message box with Отмена button
#{UnknownKeyword} in string
#{UnknownKeyword} in string
MyGUI FAQ:1、エラーが発生したらまずMyGUIをチェックする.logファイル2、テクスチャをロードできませんか?作成ウィンドウに異常が発生しました「layer'[any_layer_name]'not found」?A:1、Mediaフォルダのresourcesをチェックする.cfgファイル.2、MediaフォルダのデフォルトのリソースグループがGeneralかどうかを確認します.他のリソースグループをロードするコードは以下の通りです. MyGUI layers:MyGUIのレイヤがウィンドウをレンダリングします.最初のレイヤはリストの中で最も低いです.レイヤのデフォルトプロファイルはcore_です.layer.xmlまたはMyGUI_Layers.xml(私のMyGUI_3.2.0はこれを使っています)の主な属性:--type:1、SharedLayerは上書きできません.上書き可能なウィンドウは、このレイヤでdrawnがエラーを試みる可能性があります.SharedLayerタイプのレイヤー全体がレンダリングロットに入っています.2、OverlappedLayerがカバーできるウィンドウ.ルートウィンドウごとにレンダリングロットを1つずつ表示します.3、その他のタイプ:自分でタイプ(例UnitTest_Layers for RTTLayer)を追加することができます.name:skin、layouts、コードで識別するためのレイヤの総称です.--properties:1、Pick boolean:マウスメッセージを設定します.falseの場合、ウィンドウはすべてのマウスメッセージ(ボタンをクリックするなど)を無視し、ウィンドウを通って下のウィンドウをクリックすることができます.2、その他の属性:自分で属性を追加することができます(UnitTest_Layers for RTTLayer layer custom propertiesを参照)以下は簡単な例です: MyGUI_Mediaのデフォルトの関連ファイル:レイヤポインタ関連:core_settings.xml-ウィンドウのskinはcore_にありますskin.xmlファイル(ItemBox下メニュー;ComboBoxのドロップダウンメニュー;Messageレイヤ;メニューバーとドロップダウン単層)——終了- MyGUI skin creating:Skin形式:ファイルMedia/MyGUI_Media/core_skin.xmlにはすべてのデフォルトテクスチャが記録されており、参照できます.colour値:R G B(値範囲0~1)(1.0.0.-red)またはhex color(#FF 0000-red)である.skin_alignmentの値はalign table.ファイルに説明があります.複数はスペース間隔で使用され、コードは以下のとおりです:
Original text
Visible text
This text is #00ff00green
This text is green
#00ff00green and #ff0000red text
green andred text
Sometimes long textis splitted manually
Sometimes long text
is splitted manually
Message box with #{MyGUI_MessageBox_Cancel} button
(LanguageManager language is English)
Message box with Cancel button
Message box with #{MyGUI_MessageBox_Cancel} button
(LanguageManager language is Russian)
Message box with Отмена button
#{UnknownKeyword} in string
#{UnknownKeyword} in string
mPlatform = new MyGUI::OgrePlatform();
mPlatform->initialise(mWindow, mSceneManager, "MyResourceGroupName");
、なぜ各種ウィンドウコントロールが機能しないのですか.A:注入フレームごとにmGUI->injectFrameEntered(evt.timeSinceLastFrame);
4が呼び出されているかどうかを確認します.なぜcameraを変えた後、GUIは消えましたか.A:カメラに新しいシーンマネージャがある場合、新しいシーンにGUI (MyGUI::OgrePlatform*)pPlatform->getRenderManagerPtr()
->setSceneManager(mCamera->getSceneManager());
5を設定し、CheckBoxコントロールをクリックして動作に応答しない必要がありますか.A:eventMouseButtonclick button->eventMouseButton<x>click =
MyGUI::newDelegate(this, &[class_name]::notifyToggleCheck);
void [class_name]::notifyToggleCheck(MyGUI::WidgetPtr _sender)
{
MyGUI::ButtonPtr checkbox = _sender->castType<MyGUI::Button>();
checkbox-->setStateSelected(!checkbox->getStateSelected());
}
を追加する必要があります.なぜ私のlogはエラーを報告していませんが、空白の画面しか見えませんか.A:MyGUI::OgrePlatform::initialize()関数を呼び出す前に、シーンマネージャ、カメラ、ビューポートを作成してください.MyGUI::OgrePlatform::initialize()関数を呼び出すこともできます.呼び出しコードは次のとおりです.(MyGUI::OgrePlatform*)pPlatform->getRenderManagerPtr()->setSceneManager(mSceneManaer);
(MyGUI::OgrePlatform*)pPlatform->getRenderManagerPtr()->setRenderWindow(mWindow);
(MyGUI::OgrePlatform*)pPlatform->getRenderManagerPtr()->setActiveViewport(index);
また、複数のビューポートがある場合は、GUIプラットフォームマネージャに伝える必要があります.(MyGUI::OgrePlatform*)pPlatform->getRenderManagerPtr()->setActiveViewport(1);
-FAQ終了-<?xml version="1.0" encoding="UTF-8"?>
<MyGUI type="Layer" version="1.2">
<!-- (Pick false) here's unpickable layer that basically used only for displaying
background image and not for any interaction -->
<Layer type="SharedLayer" name="Wallpaper">
<Property key="Pick" value="false"/>
</Layer>
<!-- (type SharedLayer) Main layer - usually used for most GUI items
that won't be moved in runtime -->
<Layer type="SharedLayer" name="Main">
<Property key="Pick" value="true"/>
</Layer>
<!-- (type OverlappedLayer) Overlapped layer - usually used for windows,
pop-up messages and hints -->
<Layer type="OverlappedLayer" name="Overlapped">
<Property key="Pick" value="true"/>
</Layer>
<!-- (name Pointer, Pick false) Pointer layer - mouse pointer drawn here,
don't forget set Pick to false -->
<Layer type="SharedLayer" name="Pointer">
<Property key="Pick" value="false"/>
</Layer>
</MyGUI>
core_を勝手に変更することができますlayer.xmlファイル.いくつかのレイヤを削除した場合は、skinファイルとpointerファイルに置き換えたくありません.△skinとpointerファイルは何ですか.詳しく説明します.次の文章は.align = "HStretch Top"
意味:HStretch | Top
property_name値:skin properties table.ファイルに説明があります.その他の条件は、skinにサブskinがある場合は、「MainSkin」タイプ、またはサブskinが「SubSkin」タイプである必要があります.テキストが編集、選択、コピーに使用されない場合は、SimpleTextタイプです.Pointer形式:Media/MyGUI_参照Media/core_pointer.xmlファイル.--終了-