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
随机推荐
- git删除本地保存的账号和密码
使用git在本地拉过一次代码时候git会自动将用户名密码保存到本地. 导致想用别的用户名和密码拉代码时没有权限,这时需要删除或者修改git在本地保存的账户名和密码. 具体办法如下: 1.控制面板--& ...
- xcode10不兼容问题解决方法,framework编译脚本
XCode10报错:Build/Intermediates.noindex/XCBuildData/build.db": disk I/O error 更改-scheme 为-target ...
- 《关于安卓和IOS开发》
28年前有人发明www microsoft技术开发人员lot 看论文可以看中国知网 微软亚洲研究院 WWDC苹果开发者大会上,苹果都会发布一些新的公司发展出的新的产品的新技术.iOS开发,用到的语言有 ...
- 校内胡策 T9270 mjt树
题目背景 从前森林里有一棵很大的mjt树,树上有很多小动物. 题目描述 mjt树上有 n 个房间,第 i 个房间住着 ai 只第bi 种小动物. 这n个房间用n-1条路连接起来,其中房间1位mjt树的 ...
- 【postgresql的使用】
#安装: #初始化: #允许远程登录: #创建数据库并指定用户 #创建用户 #列出数据库 #进入数据库 #查询数据 #or(或)查询 #and ,or(和,或查询) #表连接 #内,外(左右),交叉连 ...
- redis集群步骤(windows环境)
注:原文转自 https://blog.csdn.net/zsg88/article/details/73715947 ,仅用作为方便查阅 一 所需软件:Redis.Ruby语言运行环境.Redis的 ...
- 2.4 自己编写一个vivi驱动程序
学习目标:从零编写一个vivi驱动程序,并测试: 一. vivi驱动应用程序调用过程 上节对xawtv对vivi程序调用欧城进行了详细分析,可总结为以下流程: 二.仿照vivi.c编写myvivi.c ...
- ruby 生成随机字符串
rand(36 ** n).to_s(36) n 等于任意数字
- C++中的函数
1.函数的定义和调用 函数的定义形式 返回类型 函数名(形式参数) { 语句序列: } 函数的调用 调用:声明函数原型,函数调用 声明函数原型:类型说明符 被调函数名(含类型说明的形参表) 函数调用: ...
- C语言用一级指针处理字符串的反思
1.一级指针处理字符串的常见方式 如果使用单个指针,不方便对字符串本身进行操作,只适合遍历. 使用两个指针, 两个指针和字符串大致有两个常见处理方式: (1)两个指针从字符串首部开始向后移动,同时处理 ...