之前:
/**判断BYShape对象是否越界,越界即将之销毁(可用来判定游戏失败)~ */
+(BOOL) isPositionOutOfBounds:(CGPoint)p {
CGSizemapSize = [BYSinglegetInstance].mapSize;
BOOLflag =NO;
if(p.x< -mapSize.width*PTM_RATIO/2.0f
|| p.x> mapSize.width*PTM_RATIO*3.0f/2.0f
|| p.y< -mapSize.height*PTM_RATIO/2.0f) {
flag =YES;
}
returnflag;
}
之后:
/**判断BYShape对象是否越界,越界即将之销毁(可用来判定游戏失败)~ */
+(BOOL) isPositionOutOfBounds:(CGPoint)p {
CGSizemapSize = [BYSinglegetInstance].mapSize;
intw = mapSize.width*PTM_RATIO, h = mapSize.height*PTM_RATIO;
BOOLflag =NO;
if(p.x< -w*2|| p.x> w*3|| p.y< -h*2|| p.y> h*3) {
flag =YES;
}
returnflag;
}
总结:其实我有点儿杞人忧天了,box2d文档里面推荐的是尽可能将地图边界弄大一点儿。
我之前做的那么小就是因为游戏占用的内存比较多,有点儿走极端地抠能早点将能销毁的给销毁掉
其实大可不必~
很多时候人总是会为一些小细节所弄得精疲力竭,这正是所谓的捡了芝麻丢了西瓜,把握住重头戏才是关键啊~