java游戏移动_java - Java游戏 - 如何让敌人移动? - SO中文参考 - www.soinside.com
Java游戏 - 如何让敌人移动?
问题描述 投票:1回答:2
我正在做一个射击游戏,并添加了许多带阵列的敌人,然后在地图上给他们一个随机位置,但我不知道如何让他们在到达他们的位置后移动。这是我的敌人类:
import com.badlogic.gdx.math.Vector2;
import java.util.Random;
public class Enemy {
private static final Random r = new Random();
int x = r.nextInt(36);
int y = r.nextInt(24);
Vector2 vect = new Vector2(x,y);
float ROTATION_SPEED = 500;
public Follower(float SPEED, float rotation, float width, float height,
Vector2 position) {
super(SPEED, rotation, width, height, position);
}
public void advance(float delta, Ship ship) {
if(rotation > 360)
rotation -= 360;
position.lerp(vect, delta);
rotation += delta * ROTATION_SPEED;
super.update(ship);
//Edited: i forget to put this lines:
if(vect.equals(this.getPosition())){
x = r.nextInt(36);
y = r.nextInt(24);
}
}
我应该在这个类中实现什么样的方法来使它们在一定时间后移动x / y值?
java
game-physics
2个回答
1
投票
当你在没有多线程的情况下使用Thread.sleep时,整个游戏都会冻结。但你也可以使用Timer和TimerTask来解决它,特别是初学者(你可以在之前将它添加到你的代码中):
import java.util.Timer;
import java.util.TimerTask;
public class Enemy{
Timer t;
public Enemy(){ //in your constructor
t = new Timer();
t.scheduleAtFixedRate(new TimerTask(){
public void run(){
/*here the code for the movement, e.g:
x += 5;
y += 5;*/
}
}, delay, speed); //delay is after which time it should start usually delay is 0, speed is the time in ms e.g. 9
}
}
0
投票
Thread.sleep是在进行进一步处理之前休眠一段时间的方法。您将很好地开始研究Java中的多线程以轻松解决此类问题。你可以从这里开始:http://docs.oracle.com/javase/tutorial/essential/concurrency/
要立即解决,只需在while循环中编写Thread.sleep()。
热门问题
java游戏移动_java - Java游戏 - 如何让敌人移动? - SO中文参考 - www.soinside.com相关推荐
- ldap java 对象 存储_java - 修改UID在LDAP存储库 - SO中文参考 - www.soinside.com
我使用LdapTemplate对LDAP库开发应用程序的春天启动了获取用户信息. 我使用的用户电子邮件作为UID,当用户更新他的电子邮件,我必须得更新自己的UID.问题是,下面的工作方法,对所有的人域 ...
- Java点击按钮加一行数据_java - 单击按钮java时如何从txt文件绘制下一行? - SO中文参考 - www.soinside.com...
单击按钮java时如何从txt文件绘制下一行? 问题描述 投票:0回答:1 import javax.swing.*; import java.awt.*; import java.awt.event ...
- java zoneoffset,java - 如何在java8中获取默认的ZoneOffset? - SO中文参考 - www.soinside.com...
tl;dr OffsetDateTime.now().getOffset() 但您可能应该使用时区而不是仅仅偏离UTC. ZoneId.systemDefault() Offset versus Ti ...
- Java输入字符串输出成语_java - 在Java中,你怎么把这种模式/成语? - SO中文参考 - www.soinside.com...
我的Java库提供了一个实现类SomethingClient接口SomethingClientImpl.该接口包含将被应用调用,如你所期望的方法. 但是有一个"镜像"接口Somet ...
- java实现rle游程编码,java - 我如何解决这个游程编码算法的解释? - SO中文参考 - www.soinside.com...
对于学校,我必须在java中构建一个使用RLE(行程编码)压缩数组的方法.我无法在网上找到解决方案,因为我的老师希望我自己解决问题.不幸的是,我不能这样做,因为我是一个忙碌的人,有一些繁忙的计划. R ...
- 【源码+教程】Java课设项目_12款最热最新Java游戏项目_Java游戏开发_Java小游戏_飞翔的小鸟_王者荣耀_超级玛丽_推箱子_黄金矿工_贪吃蛇
马上就要期末了,同学们课设做的如何了呢?本篇为大家带来了12款热门Java小游戏项目的源码和教程,助力大家顺利迎接暑假![源码+教程]Java课设项目_12款最热最新Java游戏项目_Java游戏开发 ...
- java 大富翁 游戏下载_Java手机游戏大富翁源代码+注释JAVA游戏源码下载
源码介绍 Java手机游戏豪富翁源代码+注释 (3 folders, 3 files, 3.08 KB, 627.96 KB in total.) Readme.txt 1.69 ...
- java五子棋图片_java五子棋游戏如何加载图片
展开全部 直接上程序吧: //wuziqi.java import java.applet.Applet; import java.awt.Button; import java.awt.Checkb ...
- java五子棋源代码_java 五子棋游戏源码
[实例简介] [实例截图] [核心代码] package game; import java.applet.Applet; import java.applet.AudioClip; import j ...
最新文章
- 训练AI要“什么自行车” 只用了1万辆小破车 | ICCV2021 VIPriors
- MySQL 主从复制原理及搭建
- jquery 选中单选按钮的值
- python堆排序求topn_Java堆排序,取得前TopN个数
- Maven的maven-clean-plugin插件详解
- ctrl导致开机弹出计算机,Win7系统开机黑屏提示Press Ctrl+Alt+Del to restart如何解决...
- 【LeetCode笔记】剑指 Offer 67. 把字符串转换成整数 (Java、字符串)
- 终极解密输入网址按回车到底发生了什么
- Python_共轭梯度法与最速下降法之间的比较
- ImageView的属性android:scaleType
- 【POJ3349】Snowflake Snow Snowflakes(哈希表判重,维护一个集合)
- 【TSP】基于matlab模拟退火算法求解旅行商问题【含Matlab源码 1129期】
- ae渲染出现错误是什么问题_ae渲染提示渲染错误,渲染出现偏移解决方案
- svg图标如何修改大小?
- 【Python 项目】02 微信定时发送消息
- 【上海交大oj】畅畅的牙签袋(状态压缩dp)
- 惊!brat安装后进行标注-实战,并且通过一行代码自动标注为BIO格式,便于模型训练-and 错误解决
- android基础学习
- Redis-入门学习笔记
- Spring Boot 中三种跨域场景总结
热门文章
- ISME Comm:南农韦中等-菌群移植筑建根际免疫新防线
- Nature方法 | 三代长读长宏基因组组装软件metaFlye
- P4报名截止|引爆1.1万亿基因测序市场,精准医学50+殿堂级专家议程大曝光
- 科研经验2:云协作建立实验室工作总结和内部资料共享平台
- R语言ggplot2可视化绘制一头奶牛、Linux下使用cowsay打印奶牛(cow)
- Python使用matplotlib可视化人口金字塔图、人口金字塔显示不同性别不同年龄段的人口数,是了解人口组成的最优可视化方法、人口金字塔图可以用来表示按体积排序的群体的分布、形成漏斗结构
- R语言ggplot2可视化强制设置x轴、y轴坐标的起始点为0或者其他实战
- DeepWide推荐系统
- 验证曲线( validation curve)是什么?如何绘制验证曲线( validation curve)?验证曲线( validation curve)详解及实践
- oracle 表空间初始分配,在Oracle中创建用户时,若未提及DEFAULT TABLESPACE关键字,则Oracle就将哪个表空间分配给用户作为默认表空间。...