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

f(sixleaves) = sixleaves

重劍無鋒 大巧不工

  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
  95 隨筆 :: 0 文章 :: 7 評論 :: 0 Trackbacks

#

     摘要: 1.總結了繼承的概念、作用、編程思想、使用注意、缺點。  閱讀全文
posted @ 2015-04-30 16:01 swp 閱讀(141) | 評論 (0)編輯 收藏

     摘要: 1.掌握繼承的概念  閱讀全文
posted @ 2015-04-30 15:59 swp 閱讀(129) | 評論 (0)編輯 收藏

 1 #import <Foundation/Foundation.h>
 2 
 3 @interface Person : NSObject
 4 {
 5     int _age;
 6     @private
 7     int _fuck;
 8 }
 9 + (void)test;
10 + (void)test1;
11 - (void)test1;
12 - (void)test;
13 - (void)modify;
14 - (int)age;
15 @end
16 
17 @implementation Person
18 + (void)test
19 {
20     [self test1];
21 }
22 + (void)test1
23 {
24     NSLog(@"Called Class Method test1");
25 }
26 - (void)test1
27 {
28     NSLog(@"Called Instance Method test1");
29 }
30 - (void)test
31 {
32     [self test1];
33 }
34 
35 - (void)modify
36 {
37     self->_age = 10;
38     self->_fuck = 20;
39 }
40 
41 // error 編譯階段就會出錯。
42 //+ (void)modify
43 //{
44 //    self->_age = 10;
45 //}
46 
47 - (int)age
48 {
49     return _age;
50 }
51 
52 - (int)fuck
53 {
54     return _fuck;
55 }
56 @end
57 
58 int main() {
59     
60     Person *p = [Person new];
61     [p test]; // 輸出 Called Instance Method test1
62     [Person test]; // Called Class Method test1.由以上兩句可知,self指向,其所在方法的調用對象(類也是個對象)。
63     [p modify];
64     
65     int a = p.age;
66     int f = p.fuck;
67     NSLog(@"a = %d,f = %d", a, f);
68     
69     //[Person modify]; //錯誤,因為self指向的是類對象,而類對象本身并不存在_age這個成員變量。
70     
71     
72     return 0;
73 }
74 
75 /*總結:
     self的作用:
76  1.self指針能在對象方法中訪問對象的成員變量。(無論該成員變量的權限是private、protected、public都可以) 
      2.self指針能調用類方法或對象方法,具體看self指向類對象還是實例對象。
     self的編程思想:
      1.在方法中想調用其他方法時候。
      2.當成員變量與set方法的形參同名時候,如果不想改變成員變量名字。可以用self把成員變量和形參分開。

77  self的使用注意:.self指針指向的是調用當前方法的對象。(類也是對象,叫做類對象)
78  */
posted @ 2015-04-30 14:47 swp 閱讀(170) | 評論 (0)編輯 收藏

 1 
 2 #import <Foundation/Foundation.h>
 3 
 4 @interface Person : NSObject
 5 
 6 @end
 7 
 8 
 9 @implementation Person
10 
11 @end
12 
13 @interface Person1 : NSObject
14 - (void)test;
15 @end
16 
17 
18 @implementation Person1
19 
20 @end
21 
22 @interface Person2 : NSObject
23 
24 @end
25 
26 
27 @implementation Person2
28 - (void)test
29 {
30     NSLog(@"哈哈哈哈哈哈哈");
31 }
32 @end
33 
34 
35 
36 int main()
37 {
38 
39     // Person *p = [Person new];
40     // [p test]; // 編譯 warning: 'Person' may not respond to 'test'
41      //              // 鏈接 warning: 'Person' may not respond to 'test'
42     //           // 運行  unrecognized selector sent to instance 0x7fe619c0fd30
43     //           // 總結: 給對象發送不存在的消息,會導致程序異常退出。在移動終端上就是閃退
44 
45 
46 
47 
48     Person1 *p1 = [Person1 new];    
49     [p1 test];    // 編譯鏈接不出錯。運行時候出錯。
50                 // 總結:OC是弱語法,在程序運行過程中,才會檢查對象有沒有實現相應的方法。
51 
52 
53     Person2 *p2 = [Person2 new];
54     [p2 test]; // 編譯鏈接不出錯。也能正常運行
55                // 總結:OC可以不寫方法的聲明。但是一般不會不寫方法的聲明。
56 
57     return 0;
58 
59 }
60 
posted @ 2015-04-30 14:43 swp 閱讀(121) | 評論 (0)編輯 收藏

類方法的優點就是。你不用創建對象,就能通過類名引用,從而提高了程序的效率。
類方法的使用場景:當一個實例方法不會改變對象的成員變量,也就是對對象的狀態無影響。則可以將其聲明為類方法。
工具類:所有方法都是類方法,幾乎不存在成員變量的類稱為工具類。
 1 #import <Foundation/Foundation.h>
 2 
 3 @interface Calc : NSObject
 4 
 5 + (int)sumWithNum1:(int)num1 andNum2:(int)num2;
 6 + (int)pingFang:(int)num;
 7 
 8 @end
 9 
10 
11 @implementation Calc
12 
13 + (int)sumWithNum1:(int)num1 andNum2:(int)num2
14 {
15     return num1 + num2;
16 }
17 
18 + (int)pingFang:(int)num
19 {
20     return num * num;
21 }
22 
23 @end
24 
25 int main() {
26 
27     int a = [Calc sumWithNum1:10 andNum2:20];
28     int b = [Calc pingFang: 20];
29     NSLog(@"\n10+20 = %d\n20*20 = %d", a,b);
30     return 0;
31 }
32 
33 //
34 /*總結
35  1.寫一個方法的時候我們要先問自己這個方法會改變對象的成員變量么?如果不會最好將其聲明為類方法。
36  
37  */
posted @ 2015-04-30 14:41 swp 閱讀(168) | 評論 (0)編輯 收藏

 1 #import <Foundation/Foundation.h>
 2 
 3 @interface Person : NSObject
 4 + (void)test;
 5 - (void)test;
 6 @end
 7 
 8 @implementation Person
 9 + (void)test
10 {
11     NSLog(@"Class Method test");
12 }
13 - (void)test
14 {
15     NSLog(@"Instance Method test");
16 }
17 
18 - (void)fuck
19 {
20     NSLog(@"Instance Method fuck");
21 }
22 @end
23 
24 int main() {
25     
26     Person *p = [Person new];
27     //[p test];  unrecognized selector sent to instance 0x7f9c11c10600
28     [Person test];
29     
30     // [Person fuck];  unrecognized selector sent to class 0x10a1f71c0
31     [p fuck];
32     return 0;
33 }
34 
35 // 總結OC中類方法與對象方法的區別
36 /*
37  1.對象方法一減號開頭。類方法以加號開頭
38  2.對象方法只能有對象調用。類方法只能由類調用,否則運行時候程序會異常退出。
39  3.類方法不依賴于對象,所以其不能訪問成員變量。
40  Tips:對象方法與類方法能同名存在。
41  */
posted @ 2015-04-29 23:55 swp 閱讀(121) | 評論 (0)編輯 收藏

鏈表的思想很簡單,要做到活用也不難。一般我是這樣做得,從實際問題出發,先高度的概括符不符合鏈表的特點。能不能用鏈表簡單解決。接著,就是編碼。
鏈表編碼要理清細節性思路,最好是簡單的畫下圖,正如改題的鏈表,本質上是循環鏈表。last指向最后一個節點。其next指針一定指向頭節點。我們把s[0]當做頭節點。
 1 
 2 #include <cstdio>
 3 #include <cstring>
 4 const int maxn = 100000 + 5;
 5 int last, cur, next[maxn];
 6 char s[maxn];
 7 int main() {
 8     
 9     while ( scanf("%s", s + 1) == 1) {
10         
11         int n = strlen(s + 1);
12         last = cur = 0;
13         next[0] = 0; // 頭結點初始化指向自身
14         
15         for (int i = 1; i <=n; i++) {
16             
17             char ch = s[i];
18             if ('[' == ch ) cur = 0;
19             else if (']' == ch) cur = last;
20             else {
21                 
22                 next[i] = next[cur];  // next[cur]為當前光標的前一個字符,而next[i]就是當前光標要輸入的字符,接著,光標還要跳到下個字符。所以我們要把當前字符next指向光標輸入的字符。也就是next[cur] = i;但要先保存其next指針給輸入字符。其next指針其實就是真相頭結點。
23                 next[cur] = i;
24                 if (cur == last) last = i;
25                 cur = i; // 指向下一個節點
26             }
27             
28         }
29         
30         for (int i = next[0];i != 0; i = next[i]) {
31             printf("%c", s[i]);
32         }
33         puts("");
34     }
35     
36     return 0;
37 }

2015/4/12上午12:10:12
posted @ 2015-04-12 00:10 swp 閱讀(639) | 評論 (0)編輯 收藏

 1 #include <cstdio>
 2 #include <iostream>
 3 #include <string>
 4 #include <stack>
 5 
 6 using namespace std;
 7 
 8 struct Matrix {
 9     int r,c;
10     Matrix(int a = 0, int b = 0) : r(a), c(b) {};
11 }m[26];
12 
13 stack<Matrix> s;
14 
15 int main()
16 {
17     
18     int n;
19     cin >> n;
20     for (int i = 0; i < n; i++) {
21         string name;
22         cin >> name;
23         int k = name[0] - 'A';
24         cin >> m[k].r >> m[k].c;
25         
26     }
27     
28     string expr;
29     while (cin >> expr) {
30         
31         int len = expr.size(); // 獲取字符串的大小,因為這整個字符串都沒有空格
32         bool error = false;
33         int ans = 0;
34         for (int i = 0; i < len; i++) { // 循環整個表達式、思路是遇到右括號就出棧兩個Matrix進行計算,算完在壓回。
35             // 其實你可以發現帶括號的表達式十分符合棧,而不僅僅是該題目,首先左括號越深
36             // 其計算的有先級別越高,而右括號又和左括號配對,如果我們從左到右讀取一個表達式
37             // 每次一遇到右括號,其前面到左括號的部分肯定就是這個表達式最優先的部分。
38             if (isalpha(expr[i])) { s.push(m[expr[i] - 'A']); }
39             else if (')' == expr[i]) {
40                 Matrix m2 = s.top(); s.pop();
41                 Matrix m1 = s.top(); s.pop();
42                 if (m1.c != m2.r) { error = truebreak; }
43                 ans += m1.r * m1.c * m2.c;
44                 s.push(Matrix(m1.r, m2.c));
45             }
46             
47         }
48         
49         if (error) printf("error\n"); else printf("%d\n", ans);
50         
51     }
52     
53     return 0;
54 }
55 

2015/4/10下午6:32:37
By sixleaves
posted @ 2015-04-11 02:33 swp 閱讀(129) | 評論 (0)編輯 收藏

     摘要: cocos2dx坐標系與笛卡爾坐標系簡而言之,cocos2dx的2d中的坐標系與我們初中所學的笛卡爾坐標系一樣。也就是向右為X正軸,向上為Y正軸。在屏幕中,其原點位于屏幕的左下方。屏幕坐標系屏幕坐標系的Y正軸是向下,X正軸不變。原點位于左上方。World Coordinate與Node LocalWorld Coordinate == > 世界坐標系、絕對坐標系Node Local == &...  閱讀全文
posted @ 2015-04-06 01:53 swp 閱讀(3044) | 評論 (0)編輯 收藏

inherent
cocos2dx調度器的類圖路上所示,調度器繼承自Ref類,該類實現了內存的自動管理機制。
我們先看一下官方文檔的介紹,一下是引用官方文檔,到-----線為止。

原理介紹

Cocos2d-x調度器為游戲提供定時事件和定時調用服務。所有Node對象都知道如何調度和取消調度事件,使用調度器有幾個好處:

  1. 每當Node不再可見或已從場景中移除時,調度器會停止。
  2. Cocos2d-x暫停時,調度器也會停止。當Cocos2d-x重新開始時,調度器也會自動繼續啟動。
  3. Cocos2d-x封裝了一個供各種不同平臺使用的調度器,使用此調度器你不用關心和跟蹤你所設定的定時對象的銷毀和停止,以及崩潰的風險。

基礎用法

使用場景:游戲中我們經常會隨時間的變化而做一些邏輯判斷,如碰撞檢測。為了解決以上問題,我們引入了調度器,這使得游戲能夠更好的處理動態事件。Cocos2d-x提供了多種調度機制,在開發中我們通常會用到3種調度器:

  1. 默認調度器:schedulerUpdate()
  2. 自定義調度器:schedule(SEL_SCHEDULE selector, float interval, unsigned int repeat, float delay)
  3. 單次調度器:scheduleOnce(SEL_SCHEDULE selector, float delay)

以下我們來對這3種調度器做簡單的介紹。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------
我的理解:
我們知道schedulerUpdate()也就是默認調度器的實現是基于update方法,該方法是虛方法定義在Node類中,在cocos2dx框架中。會在每次繪制一幀之前調用update方法,但是默認情況下,這個方法是不啟用的。
也許你也有這個疑問,為什么update方法可以實現調度。可以實現游戲邏輯的判斷。這就需要對游戲有一個認識,游戲都是由一幀一幀繪制而成,在一定范圍內的不同時刻,對應的會是不同的游戲畫面。回想一下,你學過的微積分
,如果我們把游戲的看成是微積分,那么這每一幀就是微分。所以幀率越高,游戲越逼真,越流程,體驗度越高。我們也可以借助這一思想來理解,為什官方框架中會對update做出下面這句解釋。
該調度器是使用Node的刷新事件update方法,該方法在每幀繪制之前都會被調用一次。由于每幀之間時間間隔較短,所以每幀刷新一次已足夠完成大部分游戲過程中需要的邏輯判斷。綠色這句話是引用自官方,可能你會不理解
為什么說每幀之間間隔較短,所以每一幀刷新以此足夠完成部分游戲邏輯的判斷。
由官方文檔我們知道一下代碼的執行順序,下面用偽代碼表示
{
       1:
         update();執行update方法
         drawOneFrame();繪制一幀
        go 1;
}
由上面的偽代碼我們知道其想表達的意思是說,由于幀率比較高,能模擬出更真實的效果。而update方法敲好是在兩幀之間調用,所以update的執行時間一般來說是和幀率相互掛鉤。
也就是說update里面的所有變量其實是無限趨近于drawOneFrame()的。所以我們可以再update中書寫一些游戲邏輯。簡而言之,在update里面可以做的事等效于給每一幀里面各個對象的做邏輯判斷。


接下來分析下自定義調度器,先看官方文檔解說。

自定義調度器(scheduler)

游戲開發中,在某些情況下我們可能不需要頻繁的進行邏輯檢測,這樣可以提高游戲性能。所以Cocos2d-x還提供了自定義調度器,可以實現以一定的時間間隔連續調用某個函數。

由于引擎的調度機制,自定義時間間隔必須大于兩幀的間隔,否則兩幀內的多次調用會被合并成一次調用。所以自定義時間間隔應在0.1秒以上。

同樣,取消該調度器可以用unschedule(SEL_SCHEDULE selector, float delay)。
我的理解:
其實讀完這個解說你應該更清楚了我前面理論的正確性,如果你定義的間隔時間比兩幀短,也就是說,將在同一幀類不斷的重復回調selector指向的方法。但這是不需要的所以官方會說將
兩幀內的多次調用會被合并成一次調用。
自定義時間應該在0.1秒以上,幀率就是10.也就是你定義的定時器的頻率應該小于10,或者說間隔時間應該大于0.1。


當然cocos2dx框架還提供單次調度器具體看官方文檔,這個就很好理解了,不解釋和分析。
2015/4/6上午1:03:59

posted @ 2015-04-06 00:57 swp 閱讀(2540) | 評論 (0)編輯 收藏

僅列出標題
共10頁: 1 2 3 4 5 6 7 8 9 Last 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美18av| 一级日韩一区在线观看| 午夜精品久久久久久久久| 最新热久久免费视频| 欧美在线影院在线视频| 性欧美xxxx大乳国产app| 夜夜爽夜夜爽精品视频| 亚洲经典自拍| 亚洲裸体视频| 一区二区激情视频| 亚洲男人第一网站| 久久久999国产| 欧美大色视频| 欧美国产日韩一区| 亚洲精品在线观| 国产亚洲精品bt天堂精选| 国产精品久久影院| 国产精品一级二级三级| 国产主播精品| 亚洲毛片在线免费观看| 亚洲欧洲精品一区| 亚洲精品一区二区三区婷婷月| 亚洲在线成人精品| 一本色道久久综合| 亚洲精品小视频| 黄色一区二区三区四区| 国产一区二区三区不卡在线观看| 欧美激情中文不卡| 久久人人超碰| 蜜臀久久99精品久久久久久9 | 欧美一区二区啪啪| 欧美在线三级| 欧美大色视频| 欧美成人一区二区| 国产视频在线观看一区二区三区| 欧美一区二区在线| 亚洲国产欧美日韩精品| 日韩亚洲欧美成人一区| 小黄鸭精品密入口导航| 久久蜜臀精品av| 国产精品ⅴa在线观看h| 国内久久婷婷综合| 夜夜嗨网站十八久久| 欧美一区二区在线视频| 蜜臀av性久久久久蜜臀aⅴ| 宅男噜噜噜66一区二区| 久久综合网络一区二区| 国产精品国产三级国产aⅴ浪潮| 国产伦精品一区二区三区高清版| 国产女主播视频一区二区| 在线观看欧美黄色| 欧美在线综合| 欧美成人自拍视频| 日韩午夜av| 久久免费视频网| 国产午夜精品美女毛片视频| 中文亚洲欧美| 亚洲精品一区二区网址| 免费成人黄色片| 在线观看91久久久久久| 久久久久国产精品厨房| 亚洲欧美一区二区三区极速播放| 国产精品va在线播放| 一区二区久久久久| 亚洲精品一区久久久久久| 欧美 日韩 国产在线| 亚洲国产天堂久久国产91| 欧美成人免费全部观看天天性色| 久久久久久9| 伊人色综合久久天天| 久久永久免费| 久久综合久久综合久久| 在线成人免费视频| 欧美大秀在线观看| 嫩模写真一区二区三区三州| 黄色一区三区| 亚洲精品久久久久久久久久久久久 | 久久精品日韩| 午夜老司机精品| 国产专区综合网| 久久香蕉精品| 久久亚洲国产成人| 亚洲精品欧美| 亚洲天堂av高清| 国产一区香蕉久久| 免费一级欧美片在线观看| 免费一级欧美片在线观看| 日韩天堂在线视频| 亚洲婷婷在线| 国产一区二区三区免费在线观看| 久久色中文字幕| 欧美日本一区| 久久国产精品久久精品国产| 久久久噜噜噜久久久| 夜夜嗨av色综合久久久综合网| 亚洲一区二区三区欧美| 1000部国产精品成人观看| 亚洲精品视频在线| 国产精品中文在线| 久久青草福利网站| 欧美激情在线有限公司| 久久精品日产第一区二区| 欧美黄色网络| 久久久综合视频| 欧美色欧美亚洲另类七区| 亚洲日本中文字幕区| 午夜国产精品视频免费体验区| 国产精品嫩草影院av蜜臀| 欧美成人自拍| 国产亚洲欧美激情| 亚洲第一区色| 国产精品伦理| 亚洲国产日韩欧美| 国产精品亚洲欧美| 免费久久99精品国产自在现线| 欧美日韩精品一区二区三区| 久久综合伊人77777| 国产精品videossex久久发布| 久久精品电影| 欧美日韩黄色一区二区| 久热成人在线视频| 国产欧美日韩一区二区三区在线 | 久久资源av| 国产精品美女www爽爽爽视频| 免费看亚洲片| 一区精品在线| 亚洲一区影院| 一本色道久久综合亚洲91| 日韩亚洲视频在线| 在线免费观看一区二区三区| 亚洲网址在线| 亚洲视频图片小说| 欧美大片在线观看一区| 老巨人导航500精品| 国产精品卡一卡二| 亚洲一区免费在线观看| 久久精品日韩| 久久只有精品| 亚洲电影下载| 午夜精品短视频| 亚洲日本免费| 欧美一区二区视频97| 亚洲欧美变态国产另类| 蜜桃视频一区| 欧美激情在线播放| 亚洲国产成人精品女人久久久 | 欧美日韩无遮挡| 国产午夜精品在线| 亚洲视频图片小说| 久久综合电影| 在线看欧美日韩| 久久久亚洲成人| 麻豆成人在线播放| 激情综合电影网| 老司机67194精品线观看| 蜜臀91精品一区二区三区| 亚洲国产欧美一区二区三区同亚洲| 亚洲综合色丁香婷婷六月图片| 欧美呦呦网站| 激情综合在线| 91久久午夜| 一区二区日本视频| 欧美韩日亚洲| 亚洲天天影视| 久久激情综合网| 亚洲黄色性网站| 欧美激情一区二区三级高清视频| 亚洲精品一区二区在线观看| 午夜精品福利视频| 尤物在线观看一区| 欧美日产国产成人免费图片| 午夜精品亚洲一区二区三区嫩草| 噜噜噜91成人网| 一区二区91| 国产真实乱偷精品视频免| 欧美国产综合视频| 午夜精品国产更新| 亚洲国产99| 亚洲一区二区精品在线| 激情综合在线| 国产乱理伦片在线观看夜一区 | 亚洲人体1000| 欧美在线观看视频一区二区| 激情视频一区| 国产精品白丝jk黑袜喷水| 欧美资源在线观看| 91久久精品美女高潮| 久久精视频免费在线久久完整在线看| 亚洲精品少妇| 国产在线观看一区| 欧美日本一道本| 久久久久久久久岛国免费| 日韩亚洲一区二区| 美女视频黄a大片欧美| 亚洲欧洲精品一区二区三区不卡 | 亚洲日本理论电影| 久久国产精品网站| 亚洲在线观看免费| 日韩视频亚洲视频| 亚洲成人影音|