1. 程式人生 > >(八)在我們的遊戲中新增硬幣和障礙物

(八)在我們的遊戲中新增硬幣和障礙物

引言

在這個教程中,我們將試圖在我們的跑酷遊戲中新增硬幣和障礙物。

學習完這個教程之後,我們的玩家將可以在跑步時候收集硬幣並且當他碰撞到障礙物時候他將死亡。

我們也將涉及到如何用一個平鋪的地圖編輯器設計一個遊戲等級。因為遊戲邏輯與之前相比有些複雜,所以我們將在新增新的遊戲元件之前重構程式碼。

準備

在我們開始之前,讓我們先完成一些準備工作。

設定Resource和Globals

因為我們將在跑酷遊戲中再新增兩個遊戲元素。所以我們需要再新增一些全域性整型標記來標識每一個遊戲項。

讓我們在globals.js底部新增以下程式碼片段

1 2 3 4 5 6 7 // 小花栗鼠的碰撞型別 if(typeof SpriteTag == "undefined") { var SpriteTag = {}; SpriteTag.runner = 0; SpriteTag.coin = 1; SpriteTag.rock = 2; };

這裡我們使用 0,1,2來代表跑步者,硬幣和岩石。

我們也介紹另一個名叫background.png 的spritesheet和background.plist 。我們已經將硬幣和岩石精靈打包到叫做background.png

 的spritesheet中。

如何打包這些精靈的細節將留在下一節講述。

接下來,讓我們複製資原始檔到我們的res目錄並且再新增兩個變數來進一步參考。

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 var res = { helloBG_png : "res/helloBG.png"
, start_n_png : "res/start_n.png", start_s_png : "res/start_s.png", PlayBG_png  : "res/PlayBG.png", runner_png  : "res/running.png", runner_plist : "res/running.plist", map_png : "res/map.png", map00_tmx : "res/map00.tmx", map01_tmx : "res/map01.tmx", background_png :"res/background.png", background_plist : "res/background.plist" }; var g_resources = [

相關推薦

我們遊戲新增硬幣障礙物

引言 在這個教程中,我們將試圖在我們的跑酷遊戲中新增硬幣和障礙物。 學習完這個教程之後,我們的玩家將可以在跑步時候收集硬幣並且當他碰撞到障礙物時候他將死亡。 我們也將涉及到如何用一個平鋪的地圖編輯器設計一個遊戲等級。因為遊戲邏輯與之前相比有些複雜,所以我們將在新增新的遊戲元件之前重構程式

JavaScript -- 時光流逝:js的事件Event的使用

JavaScript -- 知識點回顧篇(八):js中的事件Event的使用 事件通常與函式配合使用,這樣就可以通過發生的事件來驅動函式執行。     (1) onabort : onabort 事件會在影象載入被中斷時發生。 <!doctype html>

java基礎學習總結:Java的反射

Native      JDK開放給使用者的原始碼中隨處可見Native方法,被Native關鍵字宣告的方法說明該方法不是以Java語言實現的,而是以本地語言實現的,Java可以直接拿來用。這裡有一個概念,就是本地語言,本地語言這四個字,個人理解應該就是可以和作業系

AI聖經-深度學習-讀書筆記-深度模型的優化

這一樣整理的內容非常少,以後會補上的。由於水平有限,實在看不懂。目前只是《深度學習》的第一版筆記,以後會以專欄的形式從新整理,不再是簡單的摘錄,更多的加上自己的思考。 深度模型中的優化 0 簡介 深度學習演算法在很多情況下都涉及優化。本章主要關

Java專案開發成績管理系統 課程資訊模組—新增課程資訊

具體實現流程與上一篇部落格(上一篇部落格點選這裡) 程式碼如下: package course; import java.awt.*; import java.awt.event.ActionEv

Maven學習總結:Myecplise配置maven

第一步:下載maven安裝包,配置環境變數M2_HOME;變數值為maven的解壓目錄。 第二步:在eclipse4.0之前的版本需要安裝maven外掛,方法即:將maven外掛包複製到eclipse安裝目錄的dropins資料夾下,安裝之後版本的eclipse和myeclipse,無需安裝外掛。本人是用的

基本執行緒同步在Lock使用多個條件

宣告:本文是《 Java 7 Concurrency Cookbook 》的第二章,作者: Javier Fernández González     譯者:許巧輝 校對:方騰飛 在Lock中使用多個條件 一個鎖可能伴隨著多個條件。這些條件宣告在Condition介面中。 這些條件的目的是允許

S3C6410開發全紀錄《UBOOT新增DM9000AE網絡卡驅動》

 我們獲得的UBOOT的程式碼中實際是有DM9000的網口驅動的,位於:driver/dm9000x.c在S3C6410的配置中,中並沒有將之開啟,而其他的晶片中有使用特別需要注意的是dm9000的驅動與dm9000AE的驅動還是有區別的,如果直接使用程式碼中自帶的dm900

SpringBoot入門系列篇:SpringBoot使用Interceptor

前情提要 之前的系列篇中介紹了在SpringBoot中使用過濾器,其實攔截器和過濾器從功能上來說,攔截器/過濾器所能實現的功能過濾器/攔截器都能夠實現。但是過濾器是java實現的,它需要依賴於Servlet容器,而攔截器是SprignMVC實現的一個機制,

ROS14向場景新增障礙物

向場景中新增障礙物 //added at 1227 //增加障礙物 // 宣告一個障礙物的例項,並且為其設定一個id,方便對其進行操作,該例項會發布到當前的情景例項中 moveit_msgs::CollisionObject cylinder; cylinder.id = "

MYSQL資料庫- 修改資料表新增約束

本章目錄 新增約束目錄 一、新增id列,無主鍵無約束,準備工作 二、給city2表新增主鍵約束(任何一張表只能有一個主鍵) 三、新增唯一約束 四、新增外來鍵約束 五、新增和/刪除預設約束 刪除約束目錄 一、刪除主鍵約束

shell編程學習筆記:Shellif判斷的使用

空格 score 相等 span shell編程 str2 != color font 一、if的語法: 1、單分支語句結構 if [ 條件表達式 ]; then 指令 fi 2、雙分支語句結構 if [ 條件表達式 ]; then

YII用戶註冊用戶登錄之模型規則制定分析

模型 als del 郵箱 收信 com unique mark div 3 模型中規則制定和分析 YII模型主要分為兩類,一個數據模型,處理和數據庫相關的增刪改查。繼承CActiveRecord。還有一個是表單模型,繼承CFormModel。不與數據庫進行交互。操作

使用O2OA二次開發搭建企業辦公平臺組織管理篇:建立組織個人資訊

  本部落格為O2OA系列教程、O2OA使用手冊,教程目錄和各章節天梯將在連載完後更新。 使用O2OA二次開發搭建企業辦公平臺(一)平臺部署篇:平臺下載和部署 使用O2OA二次開發搭建企業辦公平臺(二)平臺部署篇:埠衝突和伺服器埠配置 使用O2OA二次開發搭建企業辦公平

零基礎從頭學習Swift:Swift的變數常量

個人部落格站已經上線了,網址 www.llwjy.com ~歡迎各位吐槽~-------------------------------------------------------------------------------------------------   

裝置驅動歸納總結:1.匯流排、裝置驅動 —— 匯流排的註冊

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 這幾天一直在看裝置模型,核心的程式碼看得我越來越沮喪,特別是kboject、kset和ktype之間的關係。但是,裝置

Cuda學習筆記——在vs2010配置.cpp.cu檔案

  Cuda-c極大程度的方便了我們利用GPU並行處理來加快自己程式的執行速度,但是大多情況下我們的程式是一個極為龐大的工程專案,在這個專案中我們只需要利用cuda來加快其中某一塊演算法的執行效率,所以很多情況下利用cpp檔案來呼叫cu中的kernel函式,從而

Java多線程並發,Thread的startrun的區別

() main alt exception adt 方法 的區別 @override att 目錄 1.調用run方法 2.調用start方法 3.start和run的區別 二、Thread中的start和run的區別 1.調用run方法 public class Thr

Java核心:Java的裝箱拆箱

https 語言 log .cn 實現 技術 沒有 object 面向 一、為什麽需要裝箱和拆箱?   基礎數據類型是數據,不是對象,也不是Object的子類。Java為每種基本數據類型都提供了對應的包裝器類型。裝箱就是自動將基本數據類型轉換為包裝器類型;拆箱就是自動將包

Springboot mini - Solon詳解- Solon的快取框架使用定製

> Springboot min -Solon 詳解系列文章: > [Springboot mini - Solon詳解(一)- 快速入門](https://www.cnblogs.com/noear/p/14115763.html) > [Springboot mini - Solon詳解