<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      wp7使用Cocos2d-X for XNA制作一個塔防類游戲 (二)在游戲中加入地圖和怪物。(下)

      上會書剛說到加載地圖,還沒有說完現在補上。。完整源代碼下載

      怪物從a點移動到b點他需要經過1234567點,a123467b就是移動的路徑。

      有了路徑下面來看下怪物。我這里有一張石器時代的豆丁圖它是4*4 4個方向的圖。

      在GameScreen的構造函數中添加如下測試代碼,只是為了看個效果。

                  //318 ,451
                  CCTexture2D mode = CCTextureCache.sharedTextureCache().addImage("Images/Sprite/20011");
                  List<CCSpriteFrame> frames = new List<CCSpriteFrame>();
                  for (int i = 0; i < 4; i++)
                  {
                      for (int j = 0; j < 4; j++)
                      {
                          CCSpriteFrame frame = CCSpriteFrame.frameWithTexture(mode, new CCRect(j * 318 / 4, j * 451 / 4, 318 / 4, 451 / 4));
                          frames.Add(frame);
                      }
                  }
      
                  CCAnimation ani = CCAnimation.animationWithFrames(frames);
                  CCSprite enemy = CCSprite.spriteWithSpriteFrame(frames[0]);
                  CCAnimate action = CCAnimate.actionWithDuration(.8f, ani, true);
                  enemy.runAction(CCRepeatForever.actionWithAction(action));
                  enemy.position = new CCPoint(400, 240);
                  addChild(enemy);

      運行效果圖:

      怪物有了,地圖有了,現在只需要讓怪物按照a1234567b的方式執行MoveTo就完成了今天的任務了。

      首先把地圖顯示和怪物顯示的兩端代碼放到相應的兩個類AAMap AAEnemy中,讓他們都繼承CCNode.

      我們的地圖是由60*60的14*8的小方格組成,的描述路徑就只需要把a1234567b這幾個點記錄起來文件什么都好自己能讀取就行了我這里怎么快怎么來了。

      通過地圖編輯器我們可以很方便的找到點的位置。

      我的記錄方式代碼:

              public List<CCPoint> Path { get; set; }
              public AAMap()
              {
                  CCTMXTiledMap tmxmap = CCTMXTiledMap.tiledMapWithTMXFile("Map/Level1");
                  addChild(tmxmap);
      
                  Path = new List<CCPoint>();
                  Path.Add(new CCPoint(0, 5));
                  Path.Add(new CCPoint(1, 5));
                  Path.Add(new CCPoint(1, 2));
                  Path.Add(new CCPoint(2, 2));
                  Path.Add(new CCPoint(2, 3));
                  Path.Add(new CCPoint(7, 3));
                  Path.Add(new CCPoint(7, 6));
      Path.Add(
      new CCPoint(11, 6)); Path.Add(new CCPoint(11, 0)); }

      敵人動畫有四個狀態,AAEnemy的四個行為橫向縱向移動四個方法在合適的時候調用相應的動畫并且一直執行移動。

             public void Run(List<CCPoint> points)
              {
                  CCPoint startPoint = points[0];
                  sprite.position = ConvertViewPoint(startPoint);
      
                  List<CCFiniteTimeAction> acs = new List<CCFiniteTimeAction>();
                  for (int i = 1; i < points.Count; i++)
                  {
                      float length = CCPointExtension.ccpLength(CCPointExtension.ccpSub(points[i], points[i - 1])) * 60;
                      float time = length / 100;
                      CCFiniteTimeAction action = CCMoveTo.actionWithDuration(time, ConvertViewPoint(points[i]));
                      acs.Add(action);
                  }
                  CCAction move = CCSequence.actions(acs.ToArray());
                  sprite.runAction(move);
              }
      
              public CCPoint ConvertViewPoint(CCPoint p)
              {
                  return CCDirector.sharedDirector().convertToGL(new CCPoint(p.x * 60 + 30, p.y * 60 + 30));
              }
      
              public void RightMove()
              {
                  List<CCSpriteFrame> temp = new List<CCSpriteFrame>();
                  for (int i = 8; i < 12; i++)
                  {
                      temp.Add(frames[i]);
                  }
                  CCAnimation ani = CCAnimation.animationWithFrames(temp);
                  CCAnimate action = CCAnimate.actionWithDuration(.2f, ani, true);
                  sprite.runAction(CCRepeatForever.actionWithAction(action));
              }

      最終效果路上奔跑的豆丁:

       完整源代碼下載

      posted @ 2012-04-19 02:23  XNAGAME  閱讀(2458)  評論(3)    收藏  舉報
      主站蜘蛛池模板: 亚洲欧洲精品日韩av| 亚洲人成网站18禁止无码| av无码一区二区大桥久未| 亚洲AV色香蕉一区二区蜜桃小说| 伦理片午夜视频在线观看| 在线日韩一区二区| 蜜臀午夜一区二区在线播放| 久久精品人成免费| 国产一级黄色片在线观看| 隆尧县| 日韩 一区二区在线观看| 日本午夜精品一区二区三区电影| 亚洲精品国产免费av| 国产欧美亚洲精品第一页在线| 最近高清中文在线字幕在线观看| 国产一区二区不卡在线视频| 亚洲国产成人av毛片大全| 亚洲天堂一区二区三区四区| 日韩精品有码中文字幕| 99精品国产综合久久久久五月天| 亚洲欧美一区二区成人片| 久久这里只精品国产免费9| 亚洲综合一区二区三区不卡| 黑人异族巨大巨大巨粗| 亚洲一区二区中文av| 国产伦精品一区二区三区| 美欧日韩一区二区三区视频| 福利一区二区在线观看| 手机看片日本在线观看视频| 欧洲一区二区中文字幕| 中文字幕日韩精品亚洲一区| 国产精品va在线观看h| 瓮安县| 中文字幕亚洲精品人妻| 国产91小视频在线观看| 亚洲产国偷v产偷v自拍色戒| 开心婷婷五月激情综合社区| 熟妇人妻不卡中文字幕 | 内射老妇bbwx0c0ck| 美腿丝袜亚洲综合在线视频 | 超碰成人人人做人人爽|