LayaAir引擎——(七)
LayaAir引擎——人物控制TiledMap地图移动和墙壁检测
所需要的软件:
LayaAir IDE 1.0.2版本
TiledMap
所需要的东西:
地图:53 * 32,(48*48)
人物:48*48
注意:
var a = pass.getTileDataByScreenPos(player.x,player.y - 48);//返回图块在图块集纹理上的索引+1
562//实际上索引是561,判断地图上的格子是否是561,如果是,不可以通行,则反之。
var Sprite = Laya.Sprite;
var Stage = Laya.Stage;
var MapLayer = Laya.MapLayer;
var TiledMap = Laya.TiledMap;
var Point = Laya.Point;
var Rectangle = Laya.Rectangle;
var Handler = Laya.Handler;
var WebGL = Laya.WebGL; Laya.init(624, 576); var map1 = new TiledMap();
map1.createMap("map/map1/town1.json",new Rectangle(0,0,624,576),Handler.create(this,onMapLoaded));
var pass; var player;
var mX = 0;
var mY = 0; function onMapLoaded() {
pass = map1.getLayerByName("pass"); player = new Sprite();
player.loadImage("map/player/player.png",0,0,48,48);
Laya.stage.addChild(player); Laya.stage.on(laya.events.Event.KEY_DOWN,this,onkeydown);
} function onkeydown(e) {
switch (e.keyCode) {
case 38:{
var a = pass.getTileDataByScreenPos(player.x,player.y - 48);
if(a != 562){
if(mY > 0 ){
if (player.y > 288) {
player.y -= 48;
}else{
mY -= 48;
map1.moveViewPort(mX,mY);
} }else{
if (player.y > 0) {
player.y -= 48;
}
}
}
break;
}
case 40:{
var a = pass.getTileDataByScreenPos(player.x,player.y + 48);
if(a != 562){
if (player.y > 144) {
if (mY < 960) {
mY += 48;
map1.moveViewPort(mX,mY);
}else{
if (player.y < 528) {
player.y += 48;
}
}
}else{
player.y += 48;
}
}
break;
}
case 37:{
var a = pass.getTileDataByScreenPos(player.x - 48,player.y);
if(a != 562){
if(player.x > 288){
player.x -= 48;
}else{
if (mX > 0) {
mX -= 48;
map1.moveViewPort(mX,mY);
}else{
if (player.x > 0) {
player.x -= 48;
}
}
}
}
break;
}
case 39:{
var a = pass.getTileDataByScreenPos(player.x + 48,player.y);
if(a != 562){
if (player.x > 288) {
if (mX > 1872) {
if (player.x < 576) {
player.x += 48;
}
}else{
mX += 48;
map1.moveViewPort(mX,mY);
}
}else{
player.x += 48;
}
}
break;
}
default:
break;
}
}
LayaAir引擎——(七)的更多相关文章
- LayaAir引擎——(六)
LayaAir引擎——TiledMap地图图块属性获取和进行墙壁碰撞检测 需要的软件: TiledMap LayaAir IDE 1.0.2版本 所画的地图: pass层: floor层: pass层 ...
- LayaAir引擎——(五)
LayaAir引擎——关于地图详解 所需要的软件: LayaAirIDE1.0.2版本 在LayaAir引擎中与地图相关的类: 1.laya.map.TiledMap TiledMap类 地图以层 ...
- LayaAir引擎——(四)
LayaAir引擎 TiledMap 使用 所需要的软件: Tiled地图编辑器 版本0.16.2 LayaAir IDE 所需要的图片:图块图片(1.png) 步骤1: 文件->新文件-> ...
- LayaAir引擎——(二)
LayaAir引擎 -> 工具 -> 图集打包例子
- LayaAir引擎——(一)
LayaAir是LayaBox推出的Html5游戏引擎,支持 ActionScript3.TypeScript.JavaScript,开源,并且商用免费. LayaAir IDE 是一款使用Lay ...
- Javascript多线程引擎(七)
Javascript多线程引擎(七)--synchronized关键字 经过两天的努力, 今天synchronzied关键字终于支持了, 如下是测试代码 thread() 是一个开启新线程的API, ...
- LayaAir引擎开发HTML5最简单教程(面向JS开发者)
LayaAir引擎开发HTML5最简单教程(面向JS开发者) 一.总结 一句话总结:开发游戏还是得用游戏引擎来开发,其实很简单啦 切记:开发游戏还是得用游戏引擎来开发,其实很简单,引擎很多东西都帮你做 ...
- LayaAir引擎——(三)
LyaAir引擎(JavaScript)实现图片的翻转一半 图片4.png位于bin/开场过渡 文件夹下,图片大小150*30(根据实际情况做调整) var button; var scale1 = ...
- LayaAir引擎——(十一)
var c = new Array(); var d = new Array(); var e = new Array(); var f = new Array(); var g = new Arra ...
随机推荐
- ThinkPHP 3.2.3(三)架构之URL模式
一.标准URL格式 http://serverName/index.php/模块/控制器/操作 二.URL大小写 在/ThinkPHP/Conf/convention.php文件里有URL大小写的 ...
- WPF MVVM 学习总结(一)
---恢复内容开始--- 1. MVVM简介 在WPF中,MVVM(View-ViewModel-Model)开发模型用的很多,它具有低耦合,可重用行,相对独立的设计和逻辑.所以备受广大开发者的喜爱. ...
- windows php swoole 安装
Cygwin 官方地址:http://www.cygwin.com/ swoole 官方下载地址:https://github.com/swoole/swoole-src/releases 1.下载 ...
- Linux虚拟机中 Node.js 开发环境搭建
Node.js 开发环境搭建: 1.下载CentOS镜像文件和VMWare虚拟机程序; 2.安装VMWare——>添加虚拟机——>选择CentOS镜像文件即可默认安装带有桌面的Linux虚 ...
- 【转】PostgreSQL分布式事务配置
XA是open group提出的分布式事务处理规范,JTA支持XA规范,JTA只规定了接口,有些应用容器提供实现,也有一些三方的开源实现可用,比如Atomikos. 如果PostgreSQL参与分布式 ...
- 一生伏首拜阳明------<明朝那些事儿>
一生伏首拜阳明. 王守仁,字伯安,别号阳明. 成化八年(1472),王守仁出生在浙江余姚,大凡成大事者往往出身贫寒,小小年纪就要上山砍柴,下海捞鱼,家里还有几个生病的亲属,每日以泪洗面.这差不多也是惯 ...
- onscroll
var COUNT = 0, demo = document.getElementById('demo'); function testFn() {demo.innerHTML += 'testFN ...
- WireShark网络性能分析
最近生产上出现一个性能问题,表现为:行情延时5s左右.从log一路追查下去,发现是我们自己写的一个行情网关(部署在xx.xx.xx.132)<->第三方的中转网关(部署在xx.xx.xx. ...
- 64位计算机安装setuptool
Python Version 2.7 required, which was not found in the registry 新建注册表信息:HKEY_LOCAL_MACHINE\SOFTWARE ...
- ArcGisEngineForJava开发
ArcGIS Engine control examples 一.利用Visual JavaBeans来构建应用程序 这种方案是针对使用可视化的Java组件,想要来构建和部署应用程序的开发人员.Jav ...