Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2014
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.88 KB | None | 0 0
  1. #include "Menu.h"
  2. #include "cocos2d.h"
  3. #include <time.h>
  4. #include <math.h>
  5.  
  6. #define COCOS2D_DEBUG 1
  7. USING_NS_CC;
  8.  
  9.  
  10. ScenaMenu *ScenaMenu::createWithPhysics() {
  11.  
  12.     ScenaMenu *ret = new ScenaMenu();
  13.     if (ret && ret->initWithPhysics()) {
  14.         ret->autorelease();
  15.         return ret;
  16.     }
  17.     else {
  18.         CC_SAFE_DELETE(ret);
  19.         return nullptr;
  20.         }
  21.  
  22.  
  23. }
  24.  
  25.  
  26. ScenaMenu::ScenaMenu() {
  27.  
  28.     frameSize = Director::getInstance()->getOpenGLView()->getFrameSize();
  29.    
  30. }
  31.  
  32.  
  33.  
  34. ScenaMenu::~ScenaMenu() {}
  35.  
  36.  
  37.  
  38. void ScenaMenu::onEnter() {
  39.    
  40.     Scene::onEnter();
  41.  
  42.     fisica = this->getPhysicsWorld();
  43.     fisica->setDebugDrawMask(PhysicsWorld::DEBUGDRAW_ALL);
  44.     fisica->setGravity(Vec2(0, -10.0f));
  45.    
  46.     Texture2D::TexParams texParams = { GL_LINEAR_MIPMAP_LINEAR, GL_LINEAR, GL_CLAMP_TO_EDGE, GL_CLAMP_TO_EDGE };
  47.     LayerColor *layerMenu = LayerColor::create(Color4B(255, 255, 255, 255));
  48.     layerMenu->setContentSize(frameSize);
  49.  
  50.     textureSfera = Director::getInstance()->getTextureCache()->addImage("sfera2.png");
  51.     textureSfera->setTexParameters(&texParams);
  52.     textureSfera->generateMipmap();
  53.  
  54.     float angolo;
  55.     srand(time(NULL));
  56.     PhysicsMaterial mat = PhysicsMaterial(1, 1, 0);
  57.     PhysicsBody *bodyFisica;
  58.  
  59.     bodyFisica = PhysicsBody::createCircle(layerMenu->getContentSize().width * 0.1, mat, Vec2::ZERO);
  60.     angolo = (rand() % 628) / 100.0f;
  61.     bodyFisica->setVelocity(Vec2(10 * cos(angolo), 10 * sin(angolo)));
  62.  
  63.     spriteSfera = Sprite::createWithTexture(textureSfera);
  64.     spriteSfera->setScale((layerMenu->getContentSize().width * 0.33) / spriteSfera->getContentSize().width);
  65.     spriteSfera->setPosition(layerMenu->getContentSize().width * 0.5, layerMenu->getContentSize().height * 0.5);
  66.     spriteSfera->setPhysicsBody(bodyFisica);
  67.  
  68.  
  69.     this->addChild(layerMenu);
  70.  
  71.     layerMenu->addChild(spriteSfera);
  72.  
  73. }
  74.  
  75.  
  76. void ScenaMenu::update(float dt) {
  77.  
  78.     log("POS %f", spriteSfera->getPhysicsBody()->getPosition().y);
  79.    
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement