Большинство разговоров о кнопках для cocos2d, по-видимому, направлено на CCMenu, где CCMenu AFAIK предназначен для размещения строки или столбца в центре экрана. Мне нужно размещать кнопки в случайном порядке на экране и до сих пор найти простое из коробки решение для этого. Я попробовал CCControlButton, но не получил его на работу (CCScale9Sprite spriteWithSpriteFrameName загружается неправильно из атласа спрайта).Индивидуальные кнопки в cocos2d
0
A
ответ
0
Это лучший способ, которым я изменился.
Поставьте это как INIT:
CCMenuItem* menuitemRetry = [[self class] buttonWithSpriteframenameOff:@"retry_off.png" on:@"retry_on.png" at:ccp(198, 184) block:^(id sender) {
// Do something
}];
CCMenuItem* menuitemMenu = [[self class] buttonWithSpriteframenameOff:@"menu_off.png" on:@"menu_on.png" at:ccp(362, 184) block:^(id sender) {
// Do something else
}];
CCMenu* menuLow = [CCMenu menuWithItems:menuitemMenu, menuitemRetry, nil];
menuLow.position = CGPointZero;
[self addChild:menuLow];
Это также необходимо
+(CCMenuItem*)buttonWithSpriteframenameOff:(NSString*)spriteframenameOff on:(NSString*)spriteframeOn at:(const CGPoint)POINT block:(void(^)(id sender))block {
CCMenuItem* menuitem = [CCMenuItemImage itemWithNormalSprite:[CCSprite spriteWithSpriteFrameName:spriteframenameOff] selectedSprite:[CCSprite spriteWithSpriteFrameName:spriteframeOn] block:block];
menuitem.position = POINT;
return menuitem;
}
1
На данный момент я стараюсь использовать это. Он использует только одну кнопку в каждом CCMenu. Таким образом, на моем экране будет много экземпляров CCMenu, по одному для каждой кнопки.
+(CCMenu*)button:(NSString*)spriteframename at:(const CGPoint)POINT block:(void(^)(id sender))block {
CCSprite* sprite1 = [CCSprite spriteWithSpriteFrameName:spriteframename];
CCSprite* sprite2 = [CCSprite spriteWithSpriteFrameName:spriteframename];
CCMenuItem* menuitem = [CCMenuItemImage itemWithNormalSprite:sprite1 selectedSprite:sprite2 block:block];
CCMenu* menu = [CCMenu menuWithItems:menuitem, nil];
menu.contentSize = sprite1.contentSize;
menu.position = POINT;
return menu;
}
Смежные вопросы
- 1. Закругленные кнопки в cocos2d-x
- 2. создание трансперентной кнопки в cocos2d iphone
- 3. Добавление простой кнопки Button в Cocos2d-x
- 4. кнопки Как играть звуки в Cocos2d
- 5. Индивидуальные плагины
- 6. Индивидуальные флажки
- 7. Индивидуальные колонки в Linq
- 8. Индивидуальные хеширования в python
- 9. Индивидуальные инъекции в черном
- 10. Индивидуальные идентификаторы JButtons в GridLayout
- 11. Индивидуальные Pending Намерение для каждой кнопки на виджете
- 12. cocos2d удлиняет зону касания от кнопки
- 13. Cocos2d-х прокрутки ScrollView при нажатии кнопки
- 14. COCOS2d Создание движения при удерживании кнопки
- 15. Стиль Индивидуальные списки в Wordpress
- 16. Индивидуальные отношения в диаграммах UML
- 17. Индивидуальные отношения в MS Access
- 18. Преобразование списка в индивидуальные параметры
- 19. Parse.com Индивидуальные отношения Swift
- 20. авторизация пирамиды - индивидуальные представления
- 21. Индивидуальные чарты Cruisecontrol
- 22. Индивидуальные Google-с-style.el
- 23. Database Designing Индивидуальные отношения
- 24. Индивидуальные программы для Dvorak
- 25. Индивидуальные файлы Require.js
- 26. Индивидуальные компоненты кватерниона?
- 27. Индивидуальные сообщения или http
- 28. Libgdx Индивидуальные ссылочные текстуры
- 29. JList Индивидуальные размеры
- 30. SAS - отдельные индивидуальные наблюдения
CCMenu является контейнером для пунктов меню (вы можете смешать различные типы пунктов меню в одном меню), и обеспечивает основные пункты меню с необходимой обработкой касания. Один пункт меню для каждого меню просто отлично ... – YvesLeBorg