1. 程式人生 > >cocos2d-x遊戲開發系列教程-坦克大戰遊戲之坦克和地圖碰撞的檢測上

cocos2d-x遊戲開發系列教程-坦克大戰遊戲之坦克和地圖碰撞的檢測上

在上篇我們可以控制坦克在地圖上任意行走了,

但是實際遊戲中遇到牆就應該是無法走動的,這節課我們繼續完善程式,

讓他能在地圖檢測到牆壁,而無法通過。

1.我們新建一個TileMapInfo類,來獲取地圖資訊。

class TileMapInfo
{
public:
	bool collisionTest(CCRect rect);


	static TileMapInfo* createMapInfoWithFile(const char* tmxFile);
	void initMapInfoWithFile(const char* tmxFile);
	CC_SYNTHESIZE(CCTMXTiledMap*, mTMXTileMap, TileMap);


private:
	CCTMXLayer* mTMXLayers[2];
};

可以看到定義中有一個collisionTest碰撞檢測函式,

它根據傳進來的rect檢測是否與地圖上的磚塊發生了碰撞,

既然要檢測碰撞,我們就需要知道地圖中磚塊的型別。

2.我們還記得Tiled程式吧,他可以製作tmx格式的地圖,看下他的截圖

相關推薦

cocos2d x遊戲開發系列教程 坦克大戰遊戲子彈的碰撞檢測處理

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

cocos2d x遊戲開發系列教程 坦克大戰遊戲虛擬手柄控制坦克移動

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

cocos2d x遊戲開發系列教程 坦克大戰遊戲坦克地圖碰撞檢測

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

cocos2d x遊戲開發系列教程 坦克大戰遊戲敵方坦克AI的編寫

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

cocos2d-x遊戲開發系列教程-坦克大戰遊戲所有坦克之間的碰撞檢測

上篇我們完成了簡單的AI編寫,但是各個坦克移動時之間是可以重合的,這節課我們來完成坦克之間的碰撞檢測,還是在上篇的EnemyAI中完成。1.我先現在坦克類Tank中新增兩個成員變數: CC_SYNTHESIZE(CCRect, mMovedRect, MovedRect);

cocos2d-x遊戲開發系列教程-坦克大戰遊戲坦克地圖碰撞檢測

在上篇我們可以控制坦克在地圖上任意行走了,但是實際遊戲中遇到牆就應該是無法走動的,這節課我們繼續完善程式,讓他能在地圖檢測到牆壁,而無法通過。1.我們新建一個TileMapInfo類,來獲取地圖資訊。class TileMapInfo { public: bool coll

cocos2d x遊戲開發系列教程 中國象棋03 主介面

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

cocos2d-x遊戲開發系列教程-中國象棋05-開始遊戲

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

cocos2d-x遊戲開發系列教程-中國象棋04-擺棋

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

cocos2d-x-lua基礎系列教程六(lua-table增刪改查)

{} cat ng-click 位置 rip 腳本 ack content -c lua-table庫 1。插入 table.insert () --假設沒有設定位置。默認last位置 樣例: myTable = {

Java坦克大戰遊戲開發

收獲 你在 必須 其他 jframe bsp 線程 遊戲開發 set   本文介紹:   本文分為多個部分,間斷性更新。主要涉及到 面向對象思想,Java GUI繪圖,多線程,IO,數據庫相關知識。   註:本文內容是整合了韓順平老師的java項目(代碼部分和韓順平老師有

0基礎手把手教您開發坦克大戰遊戲

       寫在前面的話:首先,本文適讀於所有層次的讀者,不管您是程式設計師,還是對程式碼一無所知的小白。其次,本文只講怎麼做,不講為什麼(但我會盡量添加註釋,如果嫌不夠,可以下載淺墨所著的《window遊戲程式設計之從零開始》,因為我就是從這書上學到的),因為如果要鋪

適合0基礎的web開發系列教程-教程概述

技術支持 www zip 就會 通過 b站 tst markup 在線 教程概述 各位網友大家好,我是夜鷹教程網的湯老師,從今天開始,我準備寫一套web前端開發的教程。 適合0基礎的朋友,從最簡單的html開始。 力爭做到學完全套教程能在IT行業就業的水平。 特別適

微信程序開發系列教程(二)使用JavaScript給微信用戶發送消息

邏輯 XML web UNC 百度 ava subscribe 程序開發 內容 我之前的文章 微信程序開發系列教程(一)開發環境搭建 介紹了微信開發環境的搭建,這篇文章我們就來一步步開發一些具體的功能。 功能需求:當有微信用戶關註了您的公眾號之後,您用JavaScript發

HTML5遊戲開發(五):飛機大戰讓所有元素動起來

《HTML5遊戲開發》系列文章的目的有:一、以最小的成本去入門egret小專案開發,官方的教程一直都是面向中重型;二、egret可以非常輕量;三、egret相比PIXI.js和spritejs文件更成熟、友好;四、學習從0打造高效的開發工作流。 HTML5遊戲開發(一):3分鐘建立一個hello wo

[原始碼和文件分享]分別基於WIN32 API介面程式設計Cocos2d-x實現的兩個版本FlappyBird遊戲

1 開發背景 遊戲程式設計涉及了學科中的各個方面,鑑於目的在於學習與進步,本遊戲《Flappy Bird 》採用了兩個不同的開發方式來開發本款遊戲,一類直接採用win32底層API來實現,另一類採用當前火熱的cocos2d-x遊戲引擎來開發本遊戲。 2 需求分析 2.1 資料分析 本

android開發系列教程(一)啟動頁

1.啟動頁延時跳轉+沉浸狀態列+啟動頁圖片全屏 public class SplashActivity extends AppCompatActivity { @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)

[原始碼和文件分享]基於C++實現的經典坦克大戰遊戲

1 題目描述 這戰車大戰就是指紅白機的戰車大戰,操縱戰車,將敵人通通轟掉,完成這個關卡。 小時後完紅白機時,不能輸人金手指,沒辦法自由控制遊戲,現在剛好有這個OOP專題機會,我們就仿製一個戰車大戰,自己可以完全控制程式碼,做到比輸人金手指更完整的控制。 程式使用 DEV-C 編譯器進行開

[原始碼和文件分享]基於C++實現的坦克大戰遊戲

遊戲介紹 上面分別是下一次要改變的方向,是上、左的時候,原始狀態的不同情況;右、下類似 已移動後,不擦除原來的障礙物為第一齣發點 走到這種狀態,是有前提的,這點很重要,也是能處理好的根本原因;不會憑空,走到某種狀態 符合行為規範 注意:關於同類坦克

基於原生JS的坦克大戰遊戲

主要含有以下功能:1、玩家採用等級機制,共5級;2、補充裝備有子彈、金星、炸彈、導彈、手槍、戰艦,分值各不相同;3、打掉障礙可加分;4、用滑鼠控制子彈射擊,左鍵為單發射擊、右鍵為雙發射擊,遮蔽滑鼠右鍵預設的選單;5、空格鍵控制導彈射擊,遮蔽其他鍵的使用;6、沒有戰艦的情況下無