标签: collision

包含不同但相似字符串的对象的Java哈希码()冲突

在验证程序的输出数据时,我确定了两个不同对象的哈希码相同的情况.为了获得这些代码,我使用了以下函数:

int getHash( long lID, String sCI, String sCO, double dSR, double dGR, String sSearchDate ) {

    int result = 17;
    result = 31 * result + (int) (lID ^ (lID >>> 32));
    long temp;
    temp = Double.doubleToLongBits(dGR);
    result = 31 * result + (int) (temp ^ (temp >>> 32));
    temp = Double.doubleToLongBits(dSR);
    result = 31 * result + (int) (temp ^ (temp >>> 32));
    result = 31 * result + (sCI != null ? sCI.hashCode() : 0);
    result = …
Run Code Online (Sandbox Code Playgroud)

java string hashcode collision

3
推荐指数
1
解决办法
777
查看次数

UnityPhysics2D.IgnoreCollision无法正常运行

我试图让两个对象互相忽略。我尝试实现Physics2D.IgnoreCollision代码,但就目前情况而言,第一个物体从天上掉下来,要么A)直接击中下面的物体,停留一秒钟,然后继续沿着屏幕向下移动,要么B)如果从侧面撞击下面的物体,它只会瞥一眼。我希望两个人彻底无视对方。

这是我的代码:

void OnCollisionEnter2D(Collision2D collision) {
    if (collision.gameObject.tag == "obj") {
        Physics2D.IgnoreCollision(collision.gameObject.GetComponent<Collider2D>(), gameObject.GetComponent<Collider2D>());
    }
}
Run Code Online (Sandbox Code Playgroud)

c# collision unity-game-engine

3
推荐指数
1
解决办法
6731
查看次数

哈希函数组合 - 碰撞风险是否显着降低?

有谁知道通过组合散列函数是否有降低碰撞概率的真正好处?我特别需要知道32位散列,即组合Adler32和CRC32. 基本上,adler32(crc32(data))会产生比crc32(数据)更小的碰撞概率吗?这里 的最后一条评论给出了一些有利于组合的测试结果,但没有提到任何来源.出于我的目的,碰撞并不重要(即任务不涉及安全性),但如果可能的话,我宁愿尽可能地减少概率.PS:我刚开始在哈希的精彩世界里,做了很多关于它的阅读.对不起,如果我问一个愚蠢的问题,我还没有获得正确的"哈希方言",可能我的谷歌搜索也很差.谢谢.

hash crc32 collision adler32

2
推荐指数
1
解决办法
1282
查看次数

像素完美碰撞画布弧

我在画布上有很多实体.我正在检查玩家实体是否正在接触食物实体.玩家实体根据用户的输入移动,并且食物实体在屏幕周围随机且缓慢地移动.目前我这样做:

for (var i = 0; i < foodPieces.length; i++) {
    if (Math.abs(foodPieces[i].x - player.x) < (foodPieces[i].radius + player.radius) 
        && Math.abs(foodPieces[i].y - player.y) < (foodPieces[i].radius + player.radius))
    { 
        return true;        
    }
}
Run Code Online (Sandbox Code Playgroud)

然而,播放器通常会提前检测到食物实体,最多可以检测到5-10个像素左右.如果重要的话,食物实体半径随机化到一定程度,并且玩家实体半径在整个游戏中增加.我试图找出为什么早期检测到碰撞以及如何正确检测它.有任何想法吗?

javascript html5 canvas collision

2
推荐指数
1
解决办法
740
查看次数

pygame中的重力

我正在用pygame制作一个平台游戏,我想增加它的重力.现在我只有一张按下箭头键时会移动的图片,我的下一步就是引力.这是我的代码:

import pygame, sys
from pygame.locals import *

pygame.init()

FPS = 30
fpsClock = pygame.time.Clock()

DISPLAYSURF = pygame.display.set_mode((400, 300), 0, 32)
pygame.display.set_caption("Jadatja")

WHITE = (255, 255, 255)
catImg = pygame.image.load("images/cat.png")
catx = 10
caty = 10
movingRight = False
movingDown = False
movingLeft = False
movingUp = False

while True: #main game loop

    #update
    for event in pygame.event.get():
    if event.type == KEYDOWN:
        if event.key == K_RIGHT:
            #catx += 5
            movingRight = True
            movingLeft = False
        elif event.key == K_DOWN:
            #caty …
Run Code Online (Sandbox Code Playgroud)

python pygame gravity collision

2
推荐指数
1
解决办法
2万
查看次数

用于多次碰撞的Sprite Kit碰撞

我已经看了,并找到了单次碰撞的答案,但我正在寻找一种方法来检测多种类型的碰撞.我正在制作一个我想要3次碰撞的游戏.用户平面与敌人子弹相撞,用户的子弹与敌机(我已经工作过)相撞,敌人子弹和用户子弹相撞.我已经设置并更正了所有categoryBitMask和contactTestBitMask.这是我的委托方法.

 - (void) didBeginContact:(SKPhysicsContact *)contact {

SKPhysicsBody *firstBody, *secondBody;


if (contact.bodyA.categoryBitMask < contact.bodyB.categoryBitMask)
{
    firstBody = contact.bodyA;
    secondBody = contact.bodyB;
}
else
{
    firstBody = contact.bodyB;
    secondBody = contact.bodyA;
}

// if user plane hits enemy bullet
if ((firstBody.categoryBitMask == playerShipCategory) &&
    (secondBody.categoryBitMask == enemyBulletCategory)) {

    [self takeDamageByAmount:POINT_INCREMENTER];
    [_enemyBullet removeFromParent];
    SKAction *bounce = [SKAction sequence:@[
                                            [SKAction fadeAlphaTo:.5 duration:.2],
                                            [SKAction fadeAlphaTo:1.0 duration:.2],
                                            [SKAction fadeAlphaTo:.5 duration:.2],
                                            [SKAction fadeAlphaTo:1.0 duration:.2]
                                            ]];
    [_playerPlane runAction:bounce];
}

// if the user bullet hits the enemy bullet …
Run Code Online (Sandbox Code Playgroud)

objective-c collision ios

2
推荐指数
1
解决办法
5057
查看次数

2个机构之间的子弹碰撞回调

我有2个物体,一个球体和一个盒子,当一个物体碰撞另一个物体时,它会做一些动作(即破坏盒子).

我尝试了几种方法:

  • checkCollideWith始终返回true;
  • contactPairTest - 我不明白该怎么用.它需要3个参数,2个对象和一个回调.我认为回调可以是我的代码中的任何函数,但它不能像那样工作.

有人可以举例说明如何调用方法,例如CollissionResult(),当2 btRigidBodies碰撞时(即bodyA和bodyB)?

c++ callback bullet collision

2
推荐指数
1
解决办法
2515
查看次数

哈希函数中的冲突太多

我试图将大约6400万个64位唯一无符号整数散列到1.28亿个桶(27位宽地址).我尝试了Bob Jenkin的HashLittleMurmur哈希(这些哈希函数都提供了32位哈希值,我将其屏蔽以获得27位地址).在这两种情况下,它导致大约22%的碰撞,最终只占据了37%的水桶.这是预期还是我做错了什么?我期待更少的碰撞和更好的铲斗占领.

c algorithm hash collision murmurhash

2
推荐指数
1
解决办法
740
查看次数

didBeginContact未调用

我正在制作一个我需要我的spriteNodes碰撞的游戏.我按照教程,但它不适合我.

当我运行我的游戏并且两个对象发生碰撞时,输出监视器中没有println("beginContact"),因此不会调用didBeginContact函数.

override init(size:CGSize) {
    super.init(size: size)
    player.planeSprite = SKSpriteNode(imageNamed: "plane5")

    player.planeSprite.physicsBody? = SKPhysicsBody(rectangleOfSize: player.planeSprite.size)
    player.planeSprite.physicsBody?.dynamic = true;
    player.planeSprite.physicsBody?.categoryBitMask = playerCategory;
    player.planeSprite.physicsBody?.contactTestBitMask = noteCategory;
    player.planeSprite.physicsBody?.collisionBitMask = 0;
    player.planeSprite.physicsBody?.usesPreciseCollisionDetection = true;

    player.planeSprite.position = CGPointMake(player.legalPositions[1], player.planeSprite.size.height/2)

    self.addChild(player.planeSprite)
}

func addNote() {
    var note:SKSpriteNode = SKSpriteNode(imageNamed: "note")
    note.physicsBody? = SKPhysicsBody(rectangleOfSize: note.size)
    note.physicsBody?.dynamic = true
    note.physicsBody?.categoryBitMask = noteCategory
    note.physicsBody?.contactTestBitMask = playerCategory
    note.physicsBody?.collisionBitMask = 0

    let minX = note.size.width/2
    let maxX = self.frame.size.width - note.size.width/2
    let rangeX = maxX - minX
    let position = Int(arc4random_uniform(3)) …
Run Code Online (Sandbox Code Playgroud)

collision sprite-kit swift

2
推荐指数
2
解决办法
3479
查看次数

旋转时两个元素之间的碰撞

var keys = new Array();
	var direction;
	var direction;
	var iNr = 0;
	
	$(document).ready(function(){
		looper();
		$("#demo1").css("margin-top", 400 + "px");
		$("#demo2").css("margin-left", 380 + "px");
		myFunction();
	});
	
	function myFunction()
	{
		iNr = iNr + 0.5;
		$("#main").css("transition","all 0.1s");
		$("#main").css("transform","rotate(" + iNr + "deg)");
		
		
		setTimeout(function()
		{
			myFunction();
		}, 50);
	
	}
	
	function looper()
	{	
		var p =$("#circle");
		var offset = p.offset();
		var t =$(".red");
		var roffset = t.offset();
		
		var rect1 = {x: offset.left, y: offset.top, width: p.width(), height: p.height()}
		var rect2 = {x: roffset.left, y: …
Run Code Online (Sandbox Code Playgroud)

javascript onmouseover overlap hover collision

2
推荐指数
1
解决办法
704
查看次数