Phaser3游戏三角学应用--一只跟随屏幕点击位置游动的鱼
资源图:
代码
var config = {
type: Phaser.AUTO,
parent: 'iFiero', // game id; html中为 <div id="iFiero"></div>
width: 500,
height: 380,
scene: {
preload: preload,
create: create
}
};
var game = new Phaser.Game(config);
// 初始化代码
function init() {
}
function preload() {
this.load.image('bg', 'assets/undersea-bg.png');
//this.load.image('arrow', 'assets/sprites/arrow.png');
this.load.spritesheet('fish', 'assets/fish-136x80.png', {
frameWidth: 136,
frameHeight: 80
});
}
function create() {
this.add.image(0, 0, 'bg').setOrigin(0).setScale(0.65);
// this.arrow = this.add.image(250, 200, 'arrow', Phaser.Math.Between(0, 5));
this.fish = this.add.image(0, 80, 'fish', 0).setScale(0.7);
this.input.on('pointerdown', function (pointer) {
// 三角函数 得出鱼要旋转的角度
this.fish.rotation = Math.atan2(pointer.y - this.fish.y, pointer.x - this.fish.x);
// 判断鱼是否需要反转:点击的位置和鱼头相同=>不反转
if ((pointer.x > this.fish.x)) {
console.log("点击的位置和鱼头相同=>不反转");
this.fish.flipY = false;
}
// 判断鱼是否需要反转:点击的位置和鱼头相反=>反转
if ((pointer.x < this.fish.x)) {
console.log("点击的位置和鱼头相反=>反转");
this.fish.flipY = true;
}
// 让鱼移动到点击的位置
this.tweens.add({
targets: this.fish,
x: pointer.x,
y: pointer.y,
duration: 3000,
ease: 'Power2',
});
}, this);
}
更多游戏教学:www.iFiero.com -- 为游戏开发深感自豪
Phaser3游戏三角学应用--一只跟随屏幕点击位置游动的鱼的更多相关文章
- [Android]通过adb shell input上报命令模拟屏幕点击事件【转】
本文转载自:http://blog.csdn.net/yuanzihui/article/details/52871652 常用的 input上报命令: input text 1234 实际向界面注入 ...
- 跟随屏幕滚动层、遮罩层、获取Div相对定位、整个屏幕、html文档的jquery基本操作
一.层跟随屏幕滚动 <div style="width:120px;height:120px;border:1px solid red; position:absolute; left ...
- Jquery几行代码解决跟随屏幕滚动DIV
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Swift - 获取屏幕点击坐标下所有对象(SpriteKit游戏开发)
对于场景内对象元件的点击响应,我们可以在场景的touchesBegan()方法中内统一处理. SKScene中touchesBegan()是响应屏幕点击的方法,在这里面我们可以先获取点击位置下所有的对 ...
- android 中获取当前焦点所在屏幕中的位置 view.getLocationOnScreen(location)
final int[] location = new int[2]; view.getLocationOnScreen(location); final int[] location = new in ...
- Android模拟屏幕点击input tap替代解决方案
动机解释 本来直接使用 adb shell -> input 即可模拟 键盘事件,触屏事件keyevent ,text,tap 但是手上的这台目标Android机4.0.3系统的input只支持 ...
- Android代码模拟物理、屏幕点击事件
一.应用中模拟物理和屏幕点击事件 例如,模拟对某个view的点击事件 private void simulateClick(View view, float x, float y) { long do ...
- js获取div相对屏幕的坐标位置
1:div相对屏幕的坐标位置 function getDivPosition(div){ var x = div.getBoundingClientRect().left; var y = div.g ...
- Android 获取View在屏幕中的位置【转】
Android 获取View在屏幕中的位置 https://blog.csdn.net/lonely_fireworks/article/details/7849643
随机推荐
- Mac 下 SVN 的使用
在Windows环境中,我们一般使用TortoiseSVN来搭建svn环境.在Mac环境下,由于Mac自带了svn的服务器端和客户端功能,所以我们可以在不装任何第三方软件的前提下使用svn功能,不过还 ...
- POJ 3762 The Bonus Salary!(最小K覆盖)
POJ 3762 The Bonus Salary! 题目链接 题意:给定一些任务.每一个任务有一个时间,有k天.一个时间仅仅能运行一个任务,每一个任务有一个价值.问怎么安排能得到最多价值 思路:典型 ...
- ERP系统和MES系统的区别
公司说最近要上一套erp系统,说让我比较一下,erp系统哪个好,还有mes系统,我们适合上哪个系统,其实我还真的不太懂,刚接触erp跟mes的时候,对于两者的概念总是傻傻分不清楚,总是觉得既然都是为企 ...
- ABAP术语-V1 Module
V1 Module 原文;http://www.cnblogs.com/qiangsheng/archive/2008/03/21/1115707.html Function module creat ...
- zabbix3.0通过yum安装笔记
zabbix3.0通过yum安装笔记 一.通过yum安装zabbix rpm -Uvh https://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix- ...
- centos6.8安装mysql过程
1.验证Centos是否安装MySQL $>yum list installed | grep mysql 2.删除MySql $>yum –y remove mysql-libs.X86 ...
- 从零开始一个http服务器(六)-多路复用和压力测试
从零开始一个http服务器(六)-多路复用和压力测试 代码地址 : https://github.com/flamedancer/cserver git checkout step6 运行: make ...
- C语言中的if与else if
今天发现一个比较不理解的代码,是关于else if这个判断语句的代码.代码如下 #include<stdio.h> ; int main(void) { ) { printf(" ...
- golang基础--Interface接口
接口是一个或多个方法签名名的集合,定义方式如下 type Interface_Name interface { method_a() string method_b() int .... } 只要某个 ...
- NCBI SRA数据库使用详解
转:https://shengxin.ren/article/16 https://www.cnblogs.com/lmt921108/p/7442699.html 批量下载SRA http://ww ...