日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java如何识别tiled地图_Egret学习-TiledMap使用

發布時間:2024/9/19 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java如何识别tiled地图_Egret学习-TiledMap使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

環境說明:

引擎版本:5.2.4

Egret Wing 4.1.6

2.新建一個游戲項目Tank

3.將上面包含tiled庫的libsrc文件夾放置在 Egret 工程的父文件夾

/工作空間

-----/Tank

-----/libsrc

4.修改 Egret 工程內根目錄下的egretProperties.json,在modules下添加tiled模塊

{

"name": "tiled",

"path": "../libsrc"

}

至此,tiledmap的引入就完成了 。下面重點說下用法

1.使用Tiled編輯一個地圖,圖塊層格式必須為Base64(無壓縮),egret目前好像不支持壓縮。

保存為tmx格式,如下圖,有兩個圖塊層,一個對象層

2.將修改好的?test2.tmx?和圖片資源文件tile.png拷貝到項目的?resource?文件夾下

3.修改代碼

private onAddToStage(event: egret.Event) {

egret.lifecycle.addLifecycleListener((context) => {

context.onUpdate = () => {

}

})

egret.lifecycle.onPause = () => {

egret.ticker.pause();

}

egret.lifecycle.onResume = () => {

egret.ticker.resume();

}

this.runGame().catch(e => {

console.log(e);

})

}

private async runGame() {

await this.loadResource()

this.createGameScene();

const result = await RES.getResAsync("description_json")

//this.startAnimation(result);

await platform.login();

const userInfo = await platform.getUserInfo();

console.log(userInfo);

/*加載地圖*/

/*初始化資源加載路徑*/

this.url = "resource/test2.tmx";

/*初始化請求*/

this.request = new egret.HttpRequest();

/*監聽資源加載完成事件*/

this.request.once( egret.Event.COMPLETE,this.onMapComplete,this);

/*發送請求*/

this.request.open(this.url,egret.HttpMethod.GET);

this.request.send();

}

/*地圖加載完成*/

private onMapComplete(event:egret.Event) {

/*獲取到地圖數據*/

var data:any = egret.XML.parse(event.currentTarget.response);

/*初始化地圖*/

var tmxTileMap: tiled.TMXTilemap = new tiled.TMXTilemap(640, 640, data, this.url);

tmxTileMap.render();

/*將地圖添加到顯示列表*/

this.addChild(tmxTileMap);

}

點擊調試按鈕,地圖成功加載,如下圖

1.獲取圖塊層

let layers = tmxTileMap.getLayers();

2.獲取對象let groups = tmxTileMap.getObjects();

let group0:tiled.TMXObjectGroup = groups[0];

group0.draw();

let p1:tiled.TMXObject = group0.getObjectById(1);

let p2:tiled.TMXObject = group0.getObjectById(2);

注意group0.draw()必須加上,否則獲取不到對象

3.根據坐標獲取圖塊(可以用來判斷指定坐標是否有圖塊)

let tile:tiled.TMXTile = this.layerZhuan.getTile(80, 10);

if(tile) {

console.log('has tile')

}

4.移除圖塊

let tile:tiled.TMXTile = this.layerZhuan.getTile(80, 10);

if(tile) {

console.log('has tile')

this.layerZhuan.clearTile(tile.tileX, tile.tileY);

}

以上為tiled一些基本用法

關于找一找教程網

本站文章僅代表作者觀點,不代表本站立場,所有文章非營利性免費分享。

本站提供了軟件編程、網站開發技術、服務器運維、人工智能等等IT技術文章,希望廣大程序員努力學習,讓我們用科技改變世界。

[Egret學習-TiledMap使用]http://www.zyiz.net/tech/detail-102193.html

總結

以上是生活随笔為你收集整理的java如何识别tiled地图_Egret学习-TiledMap使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。