Advertisement
Guest User

Untitled

a guest
Feb 6th, 2016
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. #include "GameScene.h"
  2.  
  3. Scene* Game::createScene()
  4. {
  5. auto scene = Scene::create();
  6.  
  7. auto layer = Game::create();
  8. scene->addChild(layer);
  9.  
  10. return scene;
  11. }
  12.  
  13. bool Game::init()
  14. {
  15. if (!Layer::init())
  16. {
  17. return false;
  18. }
  19.  
  20. initData();
  21. initSmile();
  22.  
  23. return true;
  24. }
  25.  
  26. void Game::initData()
  27. {
  28. winSize = Director::getInstance()->getWinSize();
  29.  
  30. auto listener = EventListenerTouchOneByOne::create();
  31. listener->onTouchBegan = CC_CALLBACK_2(Game::onTouchBegan, this);
  32. Director::getInstance()->getEventDispatcher()->addEventListenerWithFixedPriority(listener, 1);
  33.  
  34. srand(time(NULL));
  35. }
  36.  
  37. void Game::initSmile()
  38. {
  39. float x = rand() % (int)winSize.width;
  40. float y = rand() % (int)winSize.height;
  41.  
  42. auto spr = Sprite::create("Pea.png");
  43. spr->setPosition(Point(x, y));
  44. spr->setTag(1);
  45. this->addChild(spr);
  46. }
  47.  
  48. bool Game::onTouchBegan(Touch *touch, Event *unused_event)
  49. {
  50. Point location = touch->getLocation();
  51.  
  52. auto spr = (Sprite*)this->getChildByTag(1);
  53. Rect rect = spr->getBoundingBox();
  54.  
  55. if (rect.containsPoint(location)) {
  56.  
  57. if (spr->getScale() <= 0.25) {
  58. this->removeChild(spr);
  59. }
  60. else {
  61. spr->setScale(spr->getScale() / 2);
  62. }
  63. }
  64.  
  65. return true;
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement