青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Cpper
C/C++高級工程師 Android高級軟件工程師 IT集成工程師 音頻工程師 熟悉c,c++,java,c#,py,js,asp等多種語言 程序猿
1.先說下Ui的input部分
在GUI部分輸入輸出通常是需要采用回調(diào)函數(shù)來處理的
比如:

void G_CALL MousePosCallBack(int x,int y)
{
    UIWidgetManager::Instance().OnMouseMove(x, y);
}
所以我就先給引擎的Input部分加入了幾個輸入輸出回調(diào)函數(shù)以方便使用

2.然后上幾個UI小圖

當鼠標劃過按鈕時:
.

相關的代碼:
void RenderGUI();

RefPtr
<Device> device;
RefPtr
<Input>  input;
Panel 
*panel = NULL; 
ProgressBar 
*progressbar = NULL;
Button 
*button1 = NULL;
Button 
*button2 = NULL;
Button 
*button3 = NULL;
Button 
*button4 = NULL; 
 
void G_CALL MouseStateCallBack(int mouse,int action)
{
    
int x,y;
    input
->GetMousePosition(x,y); 
    
if(action == KEY_PRESS && mouse == MOUSE_BUTTON_LEFT)
    
{
        UIWidgetManager::Instance().OnLeftButtonDown(x,y);          
    }

    
else if(action == KEY_PRESS && mouse == MOUSE_BUTTON_RIGHT)
    
{
        UIWidgetManager::Instance().OnRightButtonDown(x,y);  
    }

    
else if(action == KEY_RELEASE && mouse == MOUSE_BUTTON_LEFT)
    
{
        UIWidgetManager::Instance().OnLeftButtonUp(x,y); 
    }

    
else if(action == KEY_RELEASE && mouse == MOUSE_BUTTON_RIGHT)
    
{
        UIWidgetManager::Instance().OnRightButtonUp(x,y);    
    }

}


void G_CALL MousePosCallBack(int x,int y)
{
    UIWidgetManager::Instance().OnMouseMove(x, y);
}

 
bool G_CALL IsShiftPressed()
{
    
return false;
}


bool G_CALL IsAltPressed()
{
    
return false;
}


bool G_CALL IsCtrlPressed()
{
    
return false
}
 

void SettingPanel();

int main()
{
    device 
= InitDevice("UI測試1");
    input 
= device->GetInput();
    input
->AttachMouseState(&MouseStateCallBack);
    input
->AttachMousePos(&MousePosCallBack);
    core::TextDesc::SetDefaultFont(engine_string(
"simhei.ttf"));
    
    UIWidgetManager::Instance().Initialize(
&IsShiftPressed,&IsAltPressed,&IsCtrlPressed);
    UIWidgetManager::Instance().AppResized(
640,480);
    SettingPanel();
    BEGIN_LOOP(device)
       glClearColor(
0.1,0.1,0.2,1.0f);
       glClear( GL_COLOR_BUFFER_BIT 
| GL_DEPTH_BUFFER_BIT );   
       RenderGUI();    
    END_LOOP(device)
    
    
return 0;
}


void SettingPanel()
{
    panel 
= new Panel(Rectf(10,75,180,180),NULL);
    
    button1 
= new Button(panel,L"寮€濮嬫父鎴?);
    button2 = new Button(panel,L"淇濆瓨娓告垙");
    button3 
= new Button(panel,L"杞藉叆娓告垙");
    button4 
= new Button(panel,L"閫€鍑烘父鎴?);
    progressbar = new ProgressBar(panel,Rectf(150,90,40,220),UI_DIRECTION_VERTICAL);
    progressbar
->SetPercentage(65.0f);
      
    panel
->AddChildWidget(button1);
    panel
->AddChildWidget(button2);
    panel
->AddChildWidget(button3);
    panel
->AddChildWidget(button4);
 
    panel
->AddChildWidget(progressbar);
    
    button1
->SetSize(Vector2f(120,40));
    button2
->SetSize(Vector2f(120,40));
    button3
->SetSize(Vector2f(120,40));
    button4
->SetSize(Vector2f(120,40));
    button1
->SetPosition(Vector2f(20,90));
    button2
->SetPosition(Vector2f(20,150));
    button3
->SetPosition(Vector2f(20,210));
    button4
->SetPosition(Vector2f(20,270));  
    
    UIWidgetManager::Instance().AddWidget(panel);      
}


void RenderGUI()
{
    
float precent = progressbar->GetPercentage();
    precent 
+= 1.0f;
    
if(precent >= 100.0f)
        precent 
= 0.0f;
    progressbar
->SetPercentage(precent);    
    UIWidgetManager::Instance().Update();      
}




對于UI部分基本上所有的常見器件都需要一個一個設計
一次性做完太難了
而且設計的不好就需要重新設計
所以我決定先設計以下幾個器件 Widget,Panel,StaticText,SliderBar
其余的等把基本框架做成熟了再做吧
posted on 2010-06-19 17:57 ccsdu2009 閱讀(1506) 評論(1)  編輯 收藏 引用 所屬分類: Game引擎
Comments
 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美日韩第一区| 亚洲视频日本| 亚洲一区3d动漫同人无遮挡| 亚洲欧洲综合| 日韩写真视频在线观看| 9国产精品视频| 亚洲视频在线免费观看| 亚洲欧美日产图| 久久久久九九九九| 欧美激情1区| 一区二区电影免费观看| 欧美一区二区大片| 欧美顶级艳妇交换群宴| 国产精品久久久久毛片软件| 国产一区二区高清视频| 欲色影视综合吧| 日韩午夜激情av| 欧美伊久线香蕉线新在线| 久久久久久久一区二区三区| 欧美国产视频在线| 亚洲视频1区2区| 久久免费视频网站| 欧美视频三区在线播放| 激情视频一区| 亚洲综合视频网| 美女成人午夜| 亚洲免费视频一区二区| 久久久激情视频| 欧美体内she精视频| 国产综合精品一区| 亚洲视频一区二区在线观看| 久久久久欧美精品| 日韩小视频在线观看| 久久这里只精品最新地址| 亚洲精品你懂的| 亚洲一区二区av电影| 免费一区二区三区| 韩国av一区二区三区| 亚洲一区免费视频| 亚洲国产精品久久久久婷婷884| 亚洲欧美日韩中文播放| 欧美久色视频| 亚洲高清不卡在线| 欧美一级艳片视频免费观看| 亚洲国产精品久久久久秋霞不卡| 久久国产精品久久久久久| 欧美日韩亚洲综合在线| 黄色av日韩| 久久久久久久网站| 亚洲免费影视第一页| 欧美日韩一区二区三区| 亚洲日本电影在线| 蜜桃伊人久久| 久久精品视频在线| 国产在线精品成人一区二区三区| 久久夜色精品亚洲噜噜国产mv| 亚洲专区免费| 国产精品高潮呻吟久久av无限| 亚洲国产免费| 蜜桃av久久久亚洲精品| 久久久久久久综合| 红桃视频一区| 美国十次了思思久久精品导航| 午夜在线一区二区| 国产乱码精品一区二区三| 午夜精品一区二区在线观看| 亚洲午夜高清视频| 国产精品久久久久毛片大屁完整版 | 免费欧美电影| 亚洲国产欧美不卡在线观看| 欧美ab在线视频| 久久综合给合| 91久久精品日日躁夜夜躁国产| 欧美粗暴jizz性欧美20| 欧美成年人网站| 一区二区三区不卡视频在线观看 | 国产精品美女一区二区| 小处雏高清一区二区三区| 午夜欧美不卡精品aaaaa| 国产一区日韩欧美| 女女同性女同一区二区三区91| 欧美freesex交免费视频| 亚洲最新合集| 校园激情久久| 亚洲国产精品ⅴa在线观看| 亚洲日本一区二区三区| 国产精品呻吟| 欧美激情2020午夜免费观看| 欧美日韩精品综合| 久久激情视频久久| 欧美顶级艳妇交换群宴| 午夜在线精品| 免费毛片一区二区三区久久久| 宅男精品视频| 久久国产婷婷国产香蕉| 亚洲视频大全| 伊人天天综合| 一区二区三区高清| 永久久久久久| 亚洲一级在线| 亚洲人妖在线| 久久av一区二区三区亚洲| 99精品视频一区| 久久久久久**毛片大全| 亚洲一区二区三区四区五区午夜 | 欧美在线影院| 快she精品国产999| 欧美精品在线一区二区三区| 久久国产欧美| 欧美日韩亚洲精品内裤| 另类激情亚洲| 国产精品自拍小视频| 亚洲国产二区| 激情综合五月天| 亚洲一区二区精品| 99成人免费视频| 久久亚洲风情| 久久国产精品99精品国产| 欧美激情一区二区| 浪潮色综合久久天堂| 国产裸体写真av一区二区| 99日韩精品| 一区二区三区高清| 欧美激情第10页| 欧美激情在线| 亚洲国产欧美精品| 久久夜色精品国产噜噜av| 久久天天躁夜夜躁狠狠躁2022| 国产精品久久久久久久久借妻| 亚洲人永久免费| 亚洲人成在线观看一区二区| 老色批av在线精品| 久久先锋资源| 激情五月婷婷综合| 久久精品视频免费观看| 久久频这里精品99香蕉| 黄色另类av| 久久久久久久久久看片| 久久综合色播五月| 一区视频在线| 久久免费高清| 亚洲欧洲日本在线| 日韩一级精品| 欧美视频一区二区三区四区| 亚洲精品国产精品乱码不99按摩| 亚洲欧洲在线一区| 欧美连裤袜在线视频| 99精品福利视频| 欧美一区综合| 在线成人小视频| 欧美大片一区二区| 一本大道av伊人久久综合| 亚洲在线视频免费观看| 国产目拍亚洲精品99久久精品| 亚洲欧美电影院| 可以看av的网站久久看| 亚洲六月丁香色婷婷综合久久| 欧美日韩精品高清| 亚洲一区二区三区中文字幕| 久久精品首页| 亚洲精品在线二区| 国产精品日产欧美久久久久| 久久精品夜色噜噜亚洲a∨| 亚洲高清电影| 午夜精品福利视频| 狠狠干综合网| 欧美日韩1区| 欧美一二三区精品| 亚洲精品久久久久久久久久久| 午夜精品福利电影| 亚洲欧洲久久| 国产精品呻吟| 麻豆精品在线观看| 亚洲一区中文字幕在线观看| 欧美成人免费观看| 免费亚洲视频| 中文无字幕一区二区三区| 亚洲在线播放| 在线精品亚洲| 欧美午夜电影一区| 蜜臀91精品一区二区三区| 亚洲一区二区综合| 亚洲经典视频在线观看| 久久精品91久久香蕉加勒比| 日韩午夜高潮| 在线观看日韩欧美| 国产精品欧美经典| 欧美女同视频| 美女精品在线| 久久久91精品国产一区二区精品| 99re这里只有精品6| 免费看成人av| 久久在线视频在线| 亚洲欧美三级伦理| 一本色道**综合亚洲精品蜜桃冫 | 一区二区高清| 亚洲成人在线免费| 国内久久婷婷综合| 国产精品夜夜夜一区二区三区尤| 欧美极品在线播放|