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

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>
            欧美高清在线一区二区| 亚洲第一福利视频| 亚洲高清不卡在线观看| 亚洲精品国产精品乱码不99按摩| 欧美视频一区二区三区在线观看| 久久久久久一区二区| 欧美一区二区在线看| 裸体歌舞表演一区二区| 欧美日韩国产高清视频| 国产精品一区二区在线观看网站| 国产伦精品一区二区三区在线观看| 欧美日韩午夜剧场| 国产一区二区日韩| 一本色道久久综合亚洲精品高清| 亚洲综合第一页| 久久免费国产| 亚洲高清视频一区二区| 日韩手机在线导航| 亚洲免费小视频| 久久综合久久综合这里只有精品 | 久久综合999| 国产精品视频精品视频| 亚洲已满18点击进入久久| 99re成人精品视频| 久久精品99| 亚洲电影免费观看高清完整版在线 | 麻豆91精品| 欧美日韩黄色大片| 国产亚洲欧美一区二区| 精品动漫3d一区二区三区免费版 | 国产精品女人毛片| 国内揄拍国内精品少妇国语| 在线视频亚洲欧美| 久久这里只有精品视频首页| 日韩亚洲国产精品| 久久综合国产精品台湾中文娱乐网| 欧美性猛交视频| 亚洲激情视频网| 久久精品一二三| 99综合电影在线视频| 久久久久久久综合色一本| 国产精品电影观看| 在线午夜精品| 亚洲激情电影在线| 欧美有码在线视频| 国产精品99免视看9| 宅男噜噜噜66一区二区66| 免费欧美在线视频| 久久久综合香蕉尹人综合网| 国产精品欧美激情| 亚洲欧美国产另类| 亚洲精选一区二区| 欧美日韩第一页| 亚洲乱亚洲高清| 亚洲国产精品专区久久| 麻豆成人在线播放| 亚洲国产成人精品视频| 女人天堂亚洲aⅴ在线观看| 香蕉av福利精品导航| 国产九区一区在线| 久久av红桃一区二区小说| 国产精品99久久久久久久vr| 欧美性jizz18性欧美| 亚洲免费一在线| 亚洲欧美久久久久一区二区三区| 国产精品高潮呻吟久久av黑人| 亚洲手机成人高清视频| 亚洲精品孕妇| 欧美日韩免费在线视频| 在线中文字幕日韩| 一区二区三区日韩精品| 欧美国产激情二区三区| 亚洲日本免费电影| 最新成人av网站| 欧美日韩一二三四五区| 中文精品视频一区二区在线观看| 99国产精品久久久久久久| 欧美日韩一区二区在线观看视频 | 亚洲第一精品在线| 欧美高清视频| 欧美日韩一区在线观看视频| 亚洲欧美中文在线视频| 午夜性色一区二区三区免费视频| 精品不卡一区| 欧美搞黄网站| 欧美日韩中文字幕在线| 欧美在线观看一区二区| 久久久久久亚洲精品杨幂换脸 | av成人免费在线| 中文日韩欧美| 樱桃成人精品视频在线播放| 亚洲欧洲综合另类| 欧美日韩国产精品成人| 欧美一区二区高清在线观看| 久久久福利视频| 日韩一二三区视频| 亚洲线精品一区二区三区八戒| 影音先锋另类| 亚洲视频第一页| 亚洲国产精品久久久久久女王| 日韩视频国产视频| 黄色精品在线看| 一本久久综合亚洲鲁鲁五月天| 国内精品国语自产拍在线观看| 91久久国产综合久久蜜月精品 | 在线亚洲一区观看| 在线观看国产日韩| 亚洲影院一区| 夜夜嗨av一区二区三区网页| 欧美在线免费一级片| 日韩视频免费观看高清完整版| 午夜国产精品影院在线观看| 亚洲乱码视频| 久久久久久国产精品mv| 亚洲制服少妇| 欧美成人免费播放| 欧美一区2区三区4区公司二百| 久久视频在线视频| 久久精品亚洲| 国产精品视频yy9299一区| 亚洲欧洲精品一区二区三区不卡 | 欧美日韩爆操| 久久影院午夜片一区| 韩国三级在线一区| 欧美麻豆久久久久久中文| 久久亚洲国产成人| 艳女tv在线观看国产一区| 久久婷婷丁香| 欧美在线观看视频| 欧美日韩精品一区二区三区四区| 欧美69wwwcom| 影音先锋久久精品| 亚洲欧美日韩在线综合| 亚洲在线观看| 国产精品扒开腿爽爽爽视频 | 亚洲精品在线一区二区| 在线日韩中文| 久久天天躁狠狠躁夜夜av| 久久激情视频| 国产农村妇女精品一区二区| 亚洲视频综合在线| 午夜视频精品| 国产日韩欧美亚洲一区| 午夜久久一区| 久久99在线观看| 黄色一区二区在线观看| 久久久视频精品| 欧美不卡一区| 亚洲精品久久久久久久久久久久久| 久久亚洲私人国产精品va| 国产亚洲成精品久久| 亚洲自拍偷拍一区| 亚欧成人在线| 红杏aⅴ成人免费视频| 久久久97精品| 亚洲国产精品成人一区二区 | 国模吧视频一区| 久久精品亚洲一区| 欧美高清影院| 亚洲色图综合久久| 国产精品最新自拍| 久久婷婷久久| 亚洲第一色中文字幕| aaa亚洲精品一二三区| 欧美三级电影精品| 亚洲欧美日韩精品久久奇米色影视| 久久精品国产99国产精品| 国产一区二区三区在线播放免费观看| 久久爱www久久做| 欧美国产日韩一区二区| 亚洲香蕉网站| 国产一区二区三区四区三区四| 欧美成人午夜激情| 亚洲一级黄色片| 欧美成人在线免费视频| 在线午夜精品自拍| 国产在线一区二区三区四区| 欧美成人亚洲成人日韩成人| 夜夜精品视频| 免费亚洲电影| 亚洲综合电影| 亚洲国产精品久久久久秋霞影院| 国产精品美女午夜av| 欧美电影免费观看| 久久国产精品色婷婷| 99国产精品久久久| 免费久久99精品国产自| 韩国免费一区| 日韩视频在线免费观看| 亚洲午夜久久久久久久久电影院| 国产日本欧美一区二区三区| 欧美精品日韩| 久久久久久一区二区三区| 夜夜夜久久久| 亚洲国产日韩欧美在线动漫| 亚洲欧美另类综合偷拍| 亚洲欧洲三级| 伊人激情综合| 国产精品久久久久久福利一牛影视 | 在线视频观看日韩|