我有一条线,这是使用此代码制作的精灵
CGPoint diff = ccpSub(startLocation, endLocation);
float rads = atan2f( diff.y, diff.x);
float degs = -CC_RADIANS_TO_DEGREES(rads);
float dist = ccpDistance(endLocation, startLocation);
CCSprite *line = [CCSprite spriteWithFile:@"line.png"];
[line setAnchorPoint:ccp(0.0f, 0.5f)];
[line setPosition:endLocation];
[line setScaleX:dist / line.boundingBox.size.width];
[line setRotation: degs];
line.tag = 1;
[_lines addObject:line];
[self addChild:line];
现在在我的碰撞检测代码中,我使用以下代码创建一个 CGRect:
CGRect lineRect = CGRectMake(
line.position.x - (line.contentSize.width/2),
line.position.y - (line.contentSize.height/2),
line.contentSize.width,
line.contentSize.height);
这当然是错误的,因为线是使用角度制作的。
我正在尝试将一个矩形,一个方形精灵与这个矩形进行比较。这个想法是一个角色正在移动,玩家可以画一条线,如果角色撞到这条线,它就会向相反的方向反弹。
我有角度、线条一侧的 x&y 位置和线条的长度。如何获得线另一侧的另一个 x&y 位置?
希望你们能帮帮我。
提前致谢!