Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在相位器上点击加速精灵

在相位器上点击加速精灵
EN

Stack Overflow用户
提问于 2015-05-04 10:35:27
回答 1查看 926关注 0票数 0

我有一个有背景的游戏和一个汽车精灵。

汽车现在是从右向左行驶的。我正在努力做到当玩家点击赛车时,赛车加速,并继续它的速度。

到目前为止我的代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var game = new Phaser.Game(800, 500, Phaser.AUTO, '', { preload: preload, create: create, update: update });
var text;
var counter = 0;

function preload() {
    game.load.image('background', 'images/backgrounds/bg_g1a.png');
    game.load.image('car', 'images/items/car.png');
}

function create() {
    // enable the Arcade Physics system
    game.physics.startSystem(Phaser.Physics.ARCADE);
    // Game background
    game.add.sprite(0, 0, 'background');
    //add car
    var sprite = game.add.sprite(700, 300, 'car');
    game.physics.arcade.enable(sprite);
    // add movement from right to left
    var demoTween = game.add.tween(sprite).to({x:-200,y:300},2000);
    // start again when out of the game
    demoTween.onComplete.add(function(){
        sprite.x = 700; sprite.y = 300;
        demoTween.start();
    });
    demoTween.start(); 
    //enable input on car
    sprite.inputEnabled = true;
    //counter
    text = game.add.text(250, 16, '', { fill: '#ffffff' });
    //start listener function on input
    sprite.events.onInputDown.add(listener, this); 
}

function update() {
}
// car has been clicked
function listener (sprite) {
    counter++;
    text.text = "You clicked " + counter + " times!";
    sprite.body.acceleration = -2000; 
}

我已经尝试了最后一行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sprite.body.acceleration = -2000; 

我尝试过从速度到改变补间数据的不同方法,但都不起作用。计时器在计时,但车还是像以前一样移动。我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2015-05-06 06:57:09

好的,我知道了。

问题在于移动对象的不同方法。它可以通过补间,通过移动对象本身或通过物理来完成。

但是你不能把它们混在一起!这就是导致问题的原因。所以在我的例子中,我现在用moveToXY移动精灵,然后加速。如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
game.physics.arcade.moveToXY(policecar, 100, streetHeight);

然后,当单击时,侦听器函数将触发以下命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sprite.body.acceleration.x = -1000;

效果很好!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30027980

复制
相关文章
MySQL 计算两个日期之间相差的秒数 SQL
update h5perf_task set run_state = 0 where id in (SELECT t.id from (SELECT * FROM h5perf_task WHERE run_state = 2 and UNIX_TIMESTAMP( now() )-UNIX_TIMESTAMP(begin_run_time) > 420) t);
一个会写诗的程序员
2018/08/17
3.5K0
sql server 日期转字符串_db2 日期转字符串
While working with raw data, you may frequently face date values stored as text. Converting these values to a date data type is very important since dates may be more valuable during analysis. In SQL Server, converting a string to date can be achieved in different approaches.
全栈程序员站长
2022/11/08
3.5K0
SQL---计算两个日期之间的时间差
在进行日期处理的时候,有时会需要计算一下两个日期之间相差几年零几个月,这里记录一下,如何用mysql数据库和java结合,准确的拿到两个日期之间的时间差。
IT云清
2019/01/22
7.8K0
Java获取两个日期之间的日期
/** * 获取两个日期之间的日期 * @param start 开始日期 * @param end 结束日期 * @return 日期集合 */ private List<Date> getBetweenDates(Date start, Date end) { List<Date> result = new ArrayList<Date>(); Calendar tempStart = Calendar.g
水煮麥楽雞
2022/11/20
6.1K0
php计算两个日期之间的间隔,避免导出大量数据
在做系统业务功能的时候,有的时候业务人员会进行超大范围地导出excel表格,导致内存、CPU占用飙升。
宣言言言
2019/12/17
2.4K0
日期sql
select date_add(curdate(),interval -day(curdate())+1 day) 2020-01-01 今天所在月份第一天
Centy Zhao
2020/02/11
6560
sql语句日期格式_sql日期类型怎么写
SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm 例如: select getdate() 2004-09-12 11:06:08.177 整理了一下SQL Server里面可能经常会用到的日期格式转换方法: 举例如下: select CONVERT(varchar, getdate(), 120 ) 2004-09-12 11:06:08
全栈程序员站长
2022/11/01
2.5K0
mysql计算日期之间相差的天数
有两种方式可以获得mysql两个日期之间的差值,一种是使用TO_DAYS函数,另一种是datediff函数
用户8983410
2021/11/01
4.3K0
golang如何计算两个日期之间的日期差?
golang如何计算两个日期之间的日期差? 日期格式:“2017-09-01” ,“2018-03-11”
双面人
2022/09/28
7.4K0
如何用Python获取两个日期之间的日期?
问:如何用Python获取两个日期之间的日期? def date_range(start, end): delta = end - start # as timedelta days = [start + timedelta(days=i) for i in range(delta.days + 1)] return days start_date = datetime(2020, 12, 1) end_date = datetime(2020, 12, 5) print(d
TalkPython
2020/12/11
5.7K0
SQL Server的日期计算
SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)
用户8983410
2021/11/02
2.2K0
[php][零散代码]php日期计算
[php][零散代码]php日期计算 <?php $startData = "2020-01-1"; $stopData = "2020-01-31"; $s = new \DateTime(
landv
2020/04/25
2.7K0
SQL表之间的关系
要在表之间强制执行引用完整性,可以定义外键。修改包含外键约束的表时,将检查外键约束。
用户7741497
2022/06/06
2.5K0
使用KVM克隆用于Oracle DB的主机
首先,通过现有的vm1「在上篇文章 使用KVM创建OEL虚拟机 已创建」克隆出一个vm,名字叫做db1,然后修改一些配置,使其更适用于Oracle DB的主机。
Alfred Zhao
2023/01/08
7400
Sql常用日期格式
SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm  例如:  select getdate()  2004-09-12 11:06:08.177  整理了一下SQL Server里面可能经常会用到的日期格式转换方法:  举例如下:  select CONVERT(varchar, getdate(), 120 )  2004-09-12 11:06:08
javascript.shop
2019/09/04
2.1K0
用于查询的日期类型转换帮助类
本文转载:http://www.cnblogs.com/iamlilinfeng/p/3378659.html
跟着阿笨一起玩NET
2018/09/19
7650
用于查询的日期类型转换帮助类
sql 日期格式汇总
SQLserver中用convert函数转换日期格式2008-01-15 15:51SQLserver中用convert函数转换日期格式 SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm 例如: select getdate() 2004-09-12 11:06:08.177 整理了一下SQL Server里面可能经常会用到的日期格式转换方法: 举例如下: select CONVERT(varchar, getdate(), 120 ) 200
用户1217611
2018/01/30
2.2K0
SQL基础日期函数
1 --dateadd 将制定的数值添加到指定的日期部分后的日期 select dateadd(mm,4,'01/01/99') 2 -- 返回:以当前的日期格式返回05/01/99 3 4 --datediff 二个日期之间的指定日期部分的区别 select datediff(mm,'01/01/99','05/01/99') 5 --返回:4 6 7 --datename 日期中指定日期部分的字符串形式 select datename(dw,'01/01/2000')
用户1112962
2018/07/04
2.1K0
SQL 获取最长的日期序列
有一张学习打卡表 his_sign 表,简单起见,只设置了两个字段(id,create_ts),一个是主键,另一个是打卡时间。his_sign 表的数据如下,我们要统计出这张表里面最长的连续打卡记录。
白日梦想家
2020/07/20
2.5K0
sql 日期格式汇总
SQLserver中用convert函数转换日期格式2008-01-15 15:51SQLserver中用convert函数转换日期格式
全栈程序员站长
2022/07/11
2.1K0

相似问题

如何让Traefik信任我们公司的CA来生成letsencrypt证书?

179

使用受信任的CA创建SSL证书

23

购买CA证书后,我是否也会信任其他公司从该CA证书生成的服务证书?

25

在istio级别上信任CA证书

10

Ngnix SSL信任库/ca证书规范

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文