- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到了一个问题。如果有任何帮助,我将不胜感激。
我正在尝试从玩家位置射击到鼠标点击位置。代码没有给我任何错误,根据我的逻辑,它应该可以工作,但它没有
它创建了项目符号对象,仅此而已。
//Bullets
function bullet(id, color, size, speed, x, y, eX, eY) {
this.id = id;
this.color = color;
this.size = size;
this.x = x;
this.y = y;
this.eX = eX;
this.eY = eY;
this.velocityX;
this.velocityY;
this.speed = speed;
}
var bulletList = [];
function addBullet(color, bsize, bspeed, x, y, eX, eY) {
bulletList[bulletId] = new bullet(bulletId, color, bsize, bspeed, x, y, eX, eY);
bulletId += 1;
}
function updateBullet(bullet, player)
{
var dx = (bullet.eX - player.x);
var dy = (bullet.eY - player.y);
var mag = Math.sqrt(dx * dx + dy * dy);
bullet.velocityX = (dx / mag) * speed;
bullet.velocityY = (dy / mag) * speed;
bullet.x += bullet.velocityX;
bullet.y += bullet.velocityY;
}
// Add event listener for `click` events.
canvas.onmousedown = function(e) {
addBullet("black", 10, 2, playerList[0].x, playerList[0].y, e.x, e.y);
}
//draw bullets (taken from drawFrame function)
$.each(bulletList, function (index, bullet) {
updateBullet(bullet, playerList[0]);
ctx.fillStyle = bullet.color;
ctx.fillRect(bullet.x, bullet.y, bullet.size, bullet.size);
});
最佳答案
因为您已经在使用 jQuery,所以更改行
canvas.onmousedown = function(e) {
addBullet("black", 10, 2, playerList[0].x, playerList[0].y, e.x, e.y);
}
到
$(canvas).mousedown(function (e) {
addBullet("black", 10, 2, playerList[0].x, playerList[0].y, e.clientX, e.clientY);
});
并考虑将所有这些输入移动到一个参数对象中。
另外:永远不要在“if”中定义你的程序,而是取消“if not”!
工作版本:http://jsfiddle.net/LyUmZ/4/
编辑:如果 jsfiddle 不工作,你可能遇到了你的浏览器/noscripts xss guard,使用 xss->unsafe reload(在 firefox noscript 中)它应该工作。
关于javascript - JS - 射击 - 鼠标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17430174/
我需要实现射击机制。我需要射弹的连续运动,但我无法对其进行编码。此时,当我按下空格键时,程序就会卡住。我们将不胜感激。 from tkinter import * # creates window w
我遇到了一个问题。如果有任何帮助,我将不胜感激。 我正在尝试从玩家位置射击到鼠标点击位置。代码没有给我任何错误,根据我的逻辑,它应该可以工作,但它没有 它创建了项目符号对象,仅此而已。 //Bulle
我正在用 Java 开发一款 Android 游戏,其中我将有一个 Sprite 跟随用户的手指,并且应该每秒发射一颗子弹。换句话说,我试图附加一个每秒向上移动的位图。位图从主要角色 Sprite 的
我需要在 JQuery 中使用 focusin 和 focusout 触发器。我将它与 Bootstrap Popovers 一起使用。 目前,由于我认为某些奇怪的原因,它不起作用。 这有什么问题吗?
我是一名优秀的程序员,十分优秀!