一般来说,为了检测帆布游戏中的碰撞,我会使用以下内容
function collides(a, b) {
return a.x < b.x + b.width &&
a.x + a.width > b.x &&
a.y < b.y + b.height &&
a.y + a.height > b.y;
}
Run Code Online (Sandbox Code Playgroud)
但是,如果在处理帧时对象正在触摸,则这仅检测冲突.如果我有一个精灵,其速度(以像素/帧为单位)大于其路径中障碍物的宽度,它将通过障碍物而不会检测到碰撞.
我如何检查精灵和目的地之间的内容?
我正在为我的网站编写一个跟踪流量来源的分析脚本.当用户访问页面时,以下信息将记录在我的数据库中:page,referrer,date,ip.我想列出表中的不同引用者以及唯一引用者在列中显示的次数.
我希望我的一个类的参数是一个特定于该类的实例的函数.在这种情况下,我有一个精灵类,我希望为这个类的不同实例调用不同的"onCollide"函数.这是我编码的内容.
function StaticSprite(tileset, x, y, onCollide) {
this.tileset = tileset;
this.x = x;
this.y = y;
this.onCollide = onCollide;
}
var introSign = new StaticSprite(mainTiles, 800, 600, showMessage('Hi.'));
if (isColliding(player, introSign)) {
introSign.onCollide();
}
Run Code Online (Sandbox Code Playgroud)
这段代码显然不起作用,但至少应该显示我想要实现的目标.谢谢.
当我试图获得"已售出"和"特色"的价值时,我什么也得不到.我究竟做错了什么?
function list_products($sold = false, $featured = false) {
global $link;
$result = mysqli_query($link, "SELECT * FROM products product JOIN images image ON product.id = image.product_id WHERE product.main_image = image.id AND product.sold = $sold AND product.featured = $featured") or die(mysqli_error($link));
}
list_products(false, true);
Run Code Online (Sandbox Code Playgroud)
编辑:如果我试图回显$ sold或$ featured,它们是空白的.应显示1或0.