蔡軍生先生第二人生的原始碼分析 七十一 實現閃屏視窗

2021-04-18 01:13:22 字數 1531 閱讀 7837

現在的電子資訊科技發展得很快,特別像

cpu這樣的硬體,已經進入到多核時代,執行程式的速度比以前快了很多,但人類的需求是無止境的,因此寫的程式也越來越大,越來越複雜,導致程式的初始化時,就變得比原來更加漫長。在人機互動理論裡,讓人等待超過10秒的時間,心情就會變得急躁,感覺這個程式不好用。那麼有什麼方法解決這個問題呢?在我們的社會裡,到處都有排隊等待的現象,比如讓你去銀行辦理業務,如果讓你站在那裡等著,沒有任何電視或報紙看,感覺時間需要很長。這裡通過看電視和報紙,讓人感覺到時間不長。其實還有乙個更好的辦法,當大家在銀行排隊時,銀行的服務員應立即送上茶、可樂、冰棒等等,讓大家一邊吃著一邊等著,這樣排隊更加感覺不到時間長了。所以在我們設計程式裡,也需要給使用者一些「茶、可樂、冰棒」,這就是閃屏視窗。

下面是閃屏視窗的類宣告。

#001 class llsplashscreen

#002 ;

#005 

virtual ~llsplashscreen() ;

#006 

#007 

#008 

// call to display the window.

建立乙個閃屏視窗。

#009 

static llsplashscreen * create();

顯示閃屏視窗。

#010 

static void show();

隱藏閃屏視窗。

#011 

static void hide();

讓閃屏視窗顯示新的字串。

#012 

static void update(const char* string);

#013 

判斷閃屏視窗是否可見。

#014 

static bool isvisible();

#015 protected:

過載下面三個函式實現不同平台的**。比如

windows與linux平台就不一樣的。

#016 

// these are overridden by the platform implementation

#017 

virtual void showimpl() = 0;

#018 

virtual void updateimpl(const char* string) = 0;

#019 

virtual void hideimpl() = 0;

#020 

#021 

static bool svisible;

#022 

#023 };

下面接著分析

windows平台下的實現**,如下:

#001 //static

#002 void llsplashscreen::show()

#003 

#015 

}#016 }

上面實現

windows和mac的建立視窗。在這裡主要分析windows平台的類llsplashscreenwin32的**,下一次再來分析它。

蔡軍生先生第二人生的原始碼分析 9 登入介面顯示

登入狀態介面之後,就是登入介面出現了,這時需要使用者輸入使用者名稱和密碼,然後再連線到第二人生的 web伺服器,並且把使用者名稱和密碼傳送過去進行驗證。當驗證成功後,就會返回合適的資料給客戶端,讓客戶端進行下一步的工作。登入介面的如下 蔡軍生深圳 在登入介面裡是怎麼樣把使用者名稱和密碼傳送給瀏覽器的...

第二人生的原始碼分析 2 第二人生的基本功能

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!第二人生的基功能可以定義為網路遊戲 社交網路和 web2.0 作為網路遊戲,它可以讓人扮演角色,也就是第二人生裡的居民。居民只要買到地,或者租到地後就可以建造各種各樣的自己想得到的東西。比如建造遊樂園,或者建造電影院,又或者建造過山車。同時,還可以...

第二人生的原始碼分析 八十 介面語言的選擇

隨著全球化的發展,地球變得平坦了。我有乙個同事現在還在美國 oracle進行學習,說明軟體是真正的無國界產品。那麼在第二人生裡,到底是怎麼樣實現多語言的支援呢?帶著這個問題來分析下面一段 如下 001void lluictrlfactory setuppaths 002 025 設定當前正在設定的語...