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かどうかを確認します.他のリソースグループをロードするコードは以下の通りです.
    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終了-
  • 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を参照)以下は簡単な例です:
    <?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ファイルは何ですか.詳しく説明します.次の文章は.
  • 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.ファイルに説明があります.複数はスペース間隔で使用され、コードは以下のとおりです:
    align = "HStretch Top"
    意味:
    HStretch  | Top
    property_name値:skin properties table.ファイルに説明があります.その他の条件は、skinにサブskinがある場合は、「MainSkin」タイプ、またはサブskinが「SubSkin」タイプである必要があります.テキストが編集、選択、コピーに使用されない場合は、SimpleTextタイプです.Pointer形式:Media/MyGUI_参照Media/core_pointer.xmlファイル.--終了-