用EC5/EC6自定义class的区别及用法 -- Phaser3网页游戏框架
EC6 自定义class
class Brain extends Phaser.GameObjects.Sprite {
constructor (scene, x, y)
{
super(scene, x, y);
this.setTexture('brain');
this.setPosition(x, y);
}
preUpdate (time, delta)
{
super.preUpdate(time, delta);
this.rotation += 0.01;
}
}
EC5 自定义class
var Bunny = new Phaser.Class({
Extends:Phaser.GameObjects.Sprite,
initialize:function Bunny(scene,x,y,speed){
Phaser.GameObjects.Sprite.call(this,scene);
this.setTexture('bunny');
this.setPosition(x, y);
this.setScale(0.3);
this.speed = speed;
},
preUpdate(time,delta){
this.rotation += (0.01+ this.speed * 0.0001) ;
}
});
完整代码:
var Bunny = new Phaser.Class({
Extends:Phaser.GameObjects.Sprite,
initialize:function Bunny(scene,x,y,speed){
Phaser.GameObjects.Sprite.call(this,scene);
this.setTexture('bunny');
this.setPosition(x, y);
this.setScale(0.3);
this.speed = speed;
},
preUpdate(time,delta){
this.rotation += (0.01+ this.speed * 0.0001) ;
}
});
var config = {
type: Phaser.AUTO,
width: 600,
height: 480,
parent: 'phaser-example',
scene: {
preload: preload,
create: create
}
};
var game = new Phaser.Game(config);
function preload (){
//http://www.ifiero.com/uploads/ifiero-logo_512x512.png
// this.load.image('bunny', 'http://www.ifiero.com/images/ifiero-logo_512x512.png');
this.load.setBaseURL('http://labs.phaser.io');
this.load.image('bg', 'assets/pics/purple-dots.png');
this.load.image('bunny', 'assets/sprites/bunny.png');
}
function create (){
this.add.image(0, 0, 'bg').setOrigin(0).setScale(0.8);
this.add.existing(new Bunny(this, 150, 150,100));
this.add.existing(new Bunny(this, 250, 250,200));
this.add.existing(new Bunny(this, 350, 350,300));
}
更多游戏教学:www.iFIERO.com -- 为游戏开发深感自豪
用EC5/EC6自定义class的区别及用法 -- Phaser3网页游戏框架的更多相关文章
- MySQL存储过程/存储过程与自定义函数的区别
语法: 创建存储过程: CREATE [definer = {user|current_user}] PROCEDURE sp_name ([ proc_parameter [,proc_parame ...
- (转)MySQL存储过程/存储过程与自定义函数的区别
转自:http://www.cnblogs.com/caoruiy/p/4486249.html 语法: 创建存储过程: CREATE [definer = {user|current_user}] ...
- 【存储过程】MySQL存储过程/存储过程与自定义函数的区别
---------------------------存储过程-------------------- 语法: 创建存储过程: CREATE [definer = {user|current_user ...
- 【读书笔记《Android游戏编程之从零开始》】11.游戏开发基础(SurfaceView 游戏框架、View 和 SurfaceView 的区别)
1. SurfaceView 游戏框架实例 实例效果:就是屏幕上的文本跟着点击的地方移动,效果图如下: 步骤: 新建项目“GameSurfaceView”,首先自定义一个类"MySurfac ...
- select into from 和 insert into select 的区别和用法及 SQL SELECT INTO 中Undeclared variable错误解决办法
今天试了一下数据表中的数据备份到另一个空的数据表,然后使用了SQL SELECT INTO语句,然后提示Undeclared variable......错误,现在在这里做下总结并给出解决办法. 应用 ...
- 简述Linq中.ToList(), .AsEnumerable(), AsQueryable()的区别和用法
[TOC] 这3个方法的功能完全不同, 应按照具体业务场景使用. AsQueryable() 先说说什么是 IQueryable IQueryable 是当前的 data provider 返回的类型 ...
- SQL Server连接查询之Cross Apply和Outer Apply的区别及用法(转载)
先简单了解下cross apply的语法以及会产生什么样的结果集吧!示例表: SELECT * FROM tableA CROSS APPLY tableB 两张表直接连接,不需要任何的关联条件,产生 ...
- Java容器类List、ArrayList、Vector及map、HashTable、HashMap的区别与用法
Java容器类List.ArrayList.Vector及map.HashTable.HashMap的区别与用法 ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数 ...
- C# DataSet与DataTable的区别和用法 ---转载
C# DataSet与DataTable的区别和用法 转载:https://www.cnblogs.com/liuyi-li/p/6340411.html DataSet是数据集,DataTable是 ...
随机推荐
- SDOI2018一轮NOI培训 题目整理
\(qwq\)首先,这些题对于我而言--类似于\(emmm\)洪水猛兽 \(\mathcal{Day \ \ 1}\) T1 \(\mathcal{\color{red}{Description}}\ ...
- CC2640R2F&TI-RTOS 拿到 TI CC2640R2F 开发板 第一件事就是移植串口驱动,重定向 printf
/* * board_uart.c * * Created on: 2018年7月3日 * Author: admin */ #include "board_uart.h" #in ...
- EF Core中外键关系的DeleteBehavior介绍(转自MSDN)
Delete behaviors Delete behaviors are defined in the DeleteBehavior enumerator type and can be passe ...
- 安装Windows7步骤
我初次装Linux系统的时候,查过一些资料,然后也有网友教过我,这里做一个总结,和大家分享一下(U盘安装). 事实上我们平时电脑开机的时候,是有个启动顺序的,他并非直接进入我们的操作系统, ...
- C#设计模式 —— 工厂模式
. 工厂模式同样是项目中最常用的设计模式,工厂模式中又分为简单工厂,工厂方法,抽象工厂.下面我们由简单的开始逐一介绍. 1.简单工厂模式 简单工厂又被称为静态工厂,在设计模式中属于创建型模式.主要解决 ...
- jQuery左侧菜单实例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 物联网通信 - RESTDemo示例程序(C#版本)
技术:wcf+http post+json(.net4.0 + jdk1.8) 运行环境:vs2010+java 概述Server开放RESTful API接口,供应用程序/移动App/嵌入式qt通过 ...
- Angular5学习笔记 路由配置
因为angular-cli脚手架的关系,所以配置路由可以通过命令行来创建路由文件 原本创建一个angular项目的命令是ng new 项目名,就可以了,但这样创建出来的项目是没有路由文件的. 如果需要 ...
- Linux入门——shell脚本常用信息小结
1.shell中的$默认变量 $n $1 表示第一个参数,$2 表示第二个参数 ... $# 命令行参数的个数 $0 当前 ...
- 20155203 2016-2017-3 《Java程序设计》第三周学习总结
20155203 2016-2017-3 <Java程序设计>第三周学习总结 教材知识要点总结 第四章 文档主文档名必须与公开类名称相同.一个原始码中可以定义多个类,但是只能有一个公开类. ...