у меня 1 пушка при нажатии на любую точку на экране пули выстреливают, но по моему требованию есть 3 пушки(спрайта) при прикосновении к любому из спрайтов пули должны выстреливать, когда погуглил я узнал что это может быть сделать с помощью targetTouchDelegate или зациклить все духи и установить флаг для каждого затронутого спрайта, я видел код для этого в iphone, но не смог найти для Android, пожалуйста, может ли кто-нибудь сказать, как использовать это в Android? или любые ссылки или книги для cocos2d-android были бы полезны не только мне, но и другим. Спасибо,
Как заставить спрайты реагировать на прикосновения в cocos2d android?
comment
у вас есть ответ на это?
- person   schedule 15.07.2013
comment
нет :( @user26534 у тебя есть идеи по этому поводу?
- person DD.   schedule 16.07.2013
Ответы (1)
Ну, что бы я сделал в таком случае, это получил бы прямоугольник для моего спрайта, используя это
CGRect projectileRect = CGRect
.make(sprite.getPosition().x
- (sprite.getContentSize().width / 2.0f),
sprite.getPosition().y
- (sprite.getContentSize().height / 2.0f),
sprite.getContentSize().width,
sprite.getContentSize().height);
и я обнаружу, находится ли точка щелчка в прямоугольнике этого конкретного спрайта, который вы можете переопределить onccTouchBegan, чтобы получить точку щелчка, а затем искать столкновение
@Override
public boolean ccTouchesBegan(MotionEvent event) {
// TODO Auto-generated method stub
CGPoint touchLocation=CGPoint.ccp(event.getX(), event.getY());
CGRect targetRect = CGRect.make(
event.getX(),
event.getY(),
5,
5);
if (CGRect.intersects(projectileRect, targetRect))
1st sprite is clicked
return super.ccTouchesBegan(event);
}
Это моя работа вокруг.
person
Aashish Bhatnagar
schedule
20.05.2013
спасибо за ваш ответ, как сказать, что 1-й спрайт нажат? @Аашиш Бхатнагар
- person DD.; 20.05.2013
Просто пример, вы можете сделать разные прямоугольники для разных спрайтов, так как у меня есть только один его первый
- person Aashish Bhatnagar; 20.05.2013