- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在开发一款俯视射击 HTML5 游戏。我目前正在尝试让子弹从我的 Angular 色面向 Angular 发射。
我的 Angular 色总是面向鼠标位置(旋转)。因此,当我发射子弹时,我需要考虑旋转。
我快到了,唯一的问题是子弹从我的实际鼠标位置开始,尽管它朝着正确的朝向移动。
我相信我的数学在我的速度变量范围内是错误的:
var b = new Rectangle( this.x + (this.width / 2) - 4, this.y + (this.height / 2) - 4, 8, 8);
var velocityInstance = new Vector2(0, 0);
velocityInstance.x = input.mouseX - (this.localX + this.width/2);
velocityInstance.y = input.mouseY - (this.localY + this.height/2);
var bulletInstance = new Bullet(velocityInstance, b, this.bullets.length + 1);
this.bullets.push(bulletInstance);
this.shotBullet = true;
“this”指的是我的播放器。 localX/Y 是我 Angular 色的中心位置(他总是在屏幕的中心,场景围绕他移动)。
如果有人能帮我检查一下,我将不胜感激。谢谢!
------ 编辑 ------
这是我的子弹函数:
Bullet = function(vel, rectangle, index){
this.velocity = vel;
this.rect = rectangle;
this.index = index;
this.Update = function(){
this.rect.x += this.velocity.x;
this.rect.y += this.velocity.y;
//Collisions
for(var c = 0; c < GameObjects.length; c++){
if(this.rect.Intersects(GameObjects[c])){
console.debug("Bullet Hit: " + GameObjects[c].tag);
//Player.bullets.splice(index, 1);
}
}
};
this.Draw = function(ctx){
this.rect.Draw(ctxMap);
};
};
最佳答案
实际上,我建议不要使用三 Angular 函数,只是为了提高效率。 Math.atan2、Math.cos 和 Math.sin 可能会变得昂贵。
你已经有了(稍微改名了)
var deltaX = input.mouseX - (this.localX + this.width/2);
var deltaY = input.mouseY - (this.localY + this.height/2);
为什么不直接这样跳呢?
var magnitude = Math.sqrt(deltaX * deltaX + deltaY * deltaY);
var velocityScale = bulletSpeed / magnitude;
velocityInstance.x = deltaX * velocityScale;
velocityInstance.y = deltaY * velocityScale;
它在功能上是相同的,但只使用一个泰勒级数而不是 3 个,因此应该更有效率。越快越好,对吧?
关于javascript - HTML5-JS : Shoot Bullet From Facing Direction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14856725/
我对使用 Java 制作游戏(有点)陌生。我之前创建了一些简单的游戏,例如包收集游戏,但现在我想制作一个自上而下的僵尸射击游戏。我已经有了一个可以移动的球员,但现在我想实现射击。 问题是我不确定如何制
有人知道如何创建一个嵌套表格 View ,当在 iOS 中点击时,嵌套表格会“射出并减速”吗? ( objective-c ) 我正在考虑类似这样的动画:http://dl.dropbox.com/u
尝试将此框设置为全屏动画,但因为我在动画开始前将位置设置为固定,所以框会向上移动到左上角。 有没有办法让它从起始位置展开? setTimeout(function() { $('.test').c
系列文章目录 前言 🍇一、游戏:射击敌人(Game: Shoot the enemy) 让我们用目前所学的一切来创建一个简单的游戏。你可以随心所欲地阅读关于编程和制作游戏的书籍,但要真正学会,你必须
我正在用 C# 编写一个简单的 raytracer/raycaster。我过去曾使用过 Vectors,所以我编写了一个名为 Vector3D 的类,如您在下面的代码中所见。我还写了一个类来处理光线。
您好,我对编程相当陌生,这是我第一次在这里发帖,因此我们将不胜感激,因此:我的问题是,我正在尝试用java创建某种2D射击游戏,但我不知道我的简单游戏循环是否良好,因为当我发射导弹时,它每20毫秒发射
我正在使用 Libgdx:我有一个 Sprite ,它应该在触摸屏幕时射出一个球。 touchPoint 应该定义球的方向。我不知道如何以正确的方向旋转和射击。 public void update(
有没有办法在两者之间添加延迟;this.bullets.push(this.ship.shoot()); if (this.mscore >= 1000) { if (input.isPresse
我一直在尝试在我的游戏中实现触摸控制。我有一个方向键和一个重新加载按钮,我正在尝试更改不透明度并确定方向键上的方向(我想我已经放下了),但是您还必须点击才能射击。我正在努力弄清楚如何在点击屏幕上其他地
这是我的代码: func bombTowerTurnShoot() { var prevDistance:CGFloat = 1000000 var closesetZombie =
在我的 2d 游戏中,我想创建一个可以向玩家“射击”的智能机器人。假设我可以传递给我的机器人: actual xEnemy, yEnemy also enemy speed and angle dir
我正在开发一款俯视射击 HTML5 游戏。我目前正在尝试让子弹从我的 Angular 色面向 Angular 发射。 我的 Angular 色总是面向鼠标位置(旋转)。因此,当我发射子弹时,我需要考虑
我想模糊快速移动节点的运动。我应该看起来它在运动后消失了。有没有一些简单的解决方案来归档这个? 它应该看起来像这个 Action : 提前致谢! 更新 我试着每 0.0X 秒调用一次: for ch
我正在尝试使用 Python 构建一个自动化程序,使用 Opencv 来检测给定的颜色并使用 pyautogui 来实现自动化。我尝试使用 pyautogui 在游戏中移动光标但没有用。使用另一个库
编辑:问题已解决。我忘了把 Math.toRadians() 放在我做 Math.cos 或 Math.sin 的任何地方。 :) 我正在开发一款简单的 Java 2D 游戏,其中包含两辆发射导弹并在
我正在尝试使用适用于 iOS 的 Olympus Camera Kit(版本 1.1.0)制作捕捉程序。我想在拍摄后尽快获得原始尺寸的拍摄图像。 我知道可以在播放模式下传输原始图像,但是将运行模式从记
我可以循环程序,但每次输入一个值时,它都会返回 2 个值,用户获胜和用户失败。我尝试过使用多种方法并创建一个新类作为测试器,但在弄清楚逻辑时遇到了一些问题。至于循环,我尝试过使用 for 循环、whi
我需要帮助想出一些方法来让新生成的敌方舰艇都发射子弹。问题是我实际上不知道该怎么做。我尝试使用可变计时器,但是它只能射出一条直线,而且我无法真正控制它产生的位置。 Game Picture: Ther
我正在努力提高电子邮件的响应能力,但似乎遇到了一些问题,无法将 iPhone 4、5、6、6+ 的样式与 Android 2.3 或 iPhone 3 等样式区分开来。具体来说,我想要某些宽度要求取决
如解释here我需要稍微修改标题中列出的按钮的 Action /行为。我想避免像一些帖子建议的那样构建一个新的图像选择器覆盖。我只需要将对我的一种方法的调用添加到默认操作中。有没有一种简单的方法可以做
我是一名优秀的程序员,十分优秀!