Cocos2dx之AppDelegate

      網友投稿 705 2025-04-01

      AppDelegate是一個很重要的類。它只會被調用一次。游戲就是從這個類開始的。這個類的關鍵部分:

      1、設計分辨率

      有助我們決定我們的Sprite(精靈)對象要多大等。這是基于設備的屏幕尺寸的。AppDelegate與分辨率相關的:

      static cocos2d::Size designResolutionSize = cocos2d::Size(480, 320); static cocos2d::Size smallResolutionSize = cocos2d::Size(480, 320); static cocos2d::Size mediumResolutionSize = cocos2d::Size(1024, 768); static cocos2d::Size largeResolutionSize = cocos2d::Size(2048, 1536);

      1

      2

      3

      4

      2、AppDelegate::applicationDidFinishLaunching()

      從這個方法開始編碼我們的游戲:

      // initialize director auto director = Director::getInstance(); auto glview = director->getOpenGLView(); if(!glview) { #if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32) || (CC_TARGET_PLATFORM == CC_PLATFORM_MAC) || (CC_TARGET_PLATFORM == CC_PLATFORM_LINUX) glview = GLViewImpl::createWithRect("MyGame", cocos2d::Rect(0, 0, designResolutionSize.width, designResolutionSize.height)); #else glview = GLViewImpl::create("MyGame"); #endif director->setOpenGLView(glview); } // turn on display FPS director->setDisplayStats(true); // set FPS. the default value is 1.0/60 if you don't call this director->setAnimationInterval(1.0f / 60); // Set the design resolution glview->setDesignResolutionSize(designResolutionSize.width, designResolutionSize.height, ResolutionPolicy::NO_BORDER); auto frameSize = glview->getFrameSize(); // if the frame's height is larger than the height of medium size. if (frameSize.height > mediumResolutionSize.height) { director->setContentScaleFactor(MIN(largeResolutionSize.height/designResolutionSize.height, largeResolutionSize.width/designResolutionSize.width)); } // if the frame's height is larger than the height of small size. else if (frameSize.height > smallResolutionSize.height) { director->setContentScaleFactor(MIN(mediumResolutionSize.height/designResolutionSize.height, mediumResolutionSize.width/designResolutionSize.width)); } // if the frame's height is smaller than the height of medium size. else { director->setContentScaleFactor(MIN(smallResolutionSize.height/designResolutionSize.height, smallResolutionSize.width/designResolutionSize.width)); } register_all_packages(); // create a scene. it's an autorelease object auto scene = HelloWorld::createScene(); // run director->runWithScene(scene);

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      20

      21

      22

      23

      24

      25

      26

      27

      28

      29

      30

      31

      32

      33

      34

      35

      36

      37

      38

      39

      40

      41

      42

      43

      44

      3、Director導演

      Director對象控制操作流并通知必要的接受者該做什么。Director的一個重要任務就是控制Scene(場景)的替換和過渡。Director對象是一個共享的單例。

      (1)獲取Director實例

      // initialize director auto director = Director::getInstance();

      1

      2

      (2)展示場景

      // run director->runWithScene(scene);

      1

      2

      (3)替換場景

      // use when changing from the running scene to another scene director->replaceScene(scene2);

      Cocos2dx之AppDelegate類

      1

      2

      (4)暫停游戲

      Director::getInstance()->stopAnimation();

      1

      (5)開始游戲

      Director::getInstance()->startAnimation();

      1

      (4)、獲取/設置游戲的屬性

      // turn on display FPS director->setDisplayStats(true); // set FPS. the default value is 1.0/60 if you don't call this director->setAnimationInterval(1.0f / 60); // set content scale factor director->setContentScaleFactor(...);

      1

      2

      3

      4

      5

      6

      7

      5G游戲 Cocos2D

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:人員閑置圖表甘特圖繪制(甘特圖工作計劃表)
      下一篇:5分鐘學會用新工具甘特圖
      相關文章
      在线观看亚洲人成网站| 亚洲国产综合人成综合网站| gogo全球高清大胆亚洲| 亚洲一卡2卡4卡5卡6卡在线99 | 国产亚洲精AA在线观看SEE| 亚洲伊人成无码综合网| 亚洲国产综合精品一区在线播放| 亚洲福利视频一区二区| 亚洲国产黄在线观看| 亚洲精品成人区在线观看| 亚洲精品久久久www| 亚洲精品麻豆av| 亚洲中文字幕在线乱码| 亚洲码国产精品高潮在线| 国产亚洲综合久久系列| 亚洲AV无码久久精品狠狠爱浪潮| 亚洲人成色777777在线观看| 国产亚洲精品观看91在线| 亚洲国产精品无码久久一线 | 亚洲中文无码卡通动漫野外| 中国亚洲呦女专区| 色欲色欲天天天www亚洲伊| 国产成人亚洲综合无| 亚洲综合亚洲综合网成人| 亚洲综合日韩久久成人AV| 亚洲成亚洲乱码一二三四区软件| 久久精品亚洲综合专区| 亚洲精品美女视频| 亚洲精品午夜国产va久久| 亚洲AV第一成肉网| 亚洲日本中文字幕一区二区三区| 亚洲最大AV网站在线观看| 亚洲一区二区三区四区在线观看| 91精品国产亚洲爽啪在线观看| 亚洲国产精品日韩在线| 亚洲性色精品一区二区在线| 亚洲欧美在线x视频| 国产AV无码专区亚洲AWWW| 亚洲爱情岛论坛永久| 亚洲人成777在线播放| 男人的天堂av亚洲一区2区|