Я новичок в Cocos2D. Может ли кто-нибудь сказать мне, как мы можем сделать, чтобы листья падали сверху и располагались у основания iPad, когда пользователь наклоняет iPad или касается листьев, листья должны реагировать соответствующим образом. должно быть похоже на анимацию страницы приложения alice wonderland lite номер 13 .
Я публикую свой код, но он ведет себя не так, как я хочу. Всякий раз, когда я прикасаюсь к спрайту, все спрайты движутся с невероятной силой ... они буквально уходят с того места, где я прикасаюсь. Конечно, я не единственный, кто реализовал это раньше? Кто-нибудь может привести меня в правильном направлении?
статическое значение с плавающей запятой hw = 639,0 / 2,0, hh = 479,0 / 2,0;
статическое cpVect mouseToSpace (cpVect pos, размер CGSize)
{
cpVect v = cpvsub (cpvmult (cpv (pos.y / size.height, pos.x / size.width), 2.0f), cpv (1.0f, 1.0f));
v = cpv (v.x * hw, v.y * hh);
// printf ("% s \ n", cpvstr (v));
возврат v;
}
определить GRABABLE_MASK_BIT (1 << 31) </h1>
(void) ccTouchesBegan: (NSSet *) затрагивает событие EventE: (UIEvent *) {
UITouch * myTouch = [касается любого объекта];
CGPoint location = [myTouch locationInView: [myTouch view]];
location = [[CCDirector sharedDirector] convertToGL: location];
cpVect point = mouseToSpace ([myTouch locationInView: [myTouch view]], [myTouch view] .bounds.size);
mousePoint = точка;
cpShape * shape = cpSpacePointQueryFirst (пробел, точка, GRABABLE_MASK_BIT, 0);
if (shape) {
cpBody * body = shape-> body;
mouseJoint = cpPivotJointNew2 (mouseBody, body, cpvzero, cpBodyWorld2Local (body, point));
mouseJoint-> maxForce = 50000.0f;
mouseJoint-> biasCoef = 0.15f;
cpSpaceAddConstraint (space, mouseJoint);
}
}
(void) ccTouchesMoved: (NSSet *) затрагивает событие Event: (UIEvent *) {
UITouch * myTouch = [касается любого объекта];
CGPoint location = [myTouch locationInView: [myTouch view]];
location = [[CCDirector sharedDirector] convertToGL: местоположение];
mousePoint = mouseToSpace ([myTouch locationInView: [myTouch view]], [myTouch view] .bounds.size);
}
(void) ccTouchesEnded: (NSSet *) касается событияEE:: (UIEvent *) {
[self touchesCancelled: затрагивает событиеEvent: событие];
}
(void) touchesCancelled: (NSSet *) затрагивает событиеEE:: (UIEvent *) {
cpSpaceRemoveConstraint (space, mouseJoint);
cpConstraintFree (mouseJoint);
mouseJoint = nil;
}
Любой, пожалуйста, направьте меня или напишите код, он мне нужен срочно.
Жду ваших ценных предложений и любого кода.
Заранее спасибо.
Шива.