Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "LevelOneScene.h"
- #include "LevelSelectScene.h"
- #include "MainScene.h"
- #include <iostream>
- #include <sstream>
- #include <cmath>
- using namespace cocos2d;
- using namespace std;
- vector<int> _times;
- float _time;
- bool LevelOneScene::init()
- {
- if(CCScene::init())
- {
- this->_layer = LevelOneLayer::create();
- this->_layer->retain();
- this->addChild(_layer);
- return true;
- }
- else
- {
- return false;
- }
- }
- LevelOneScene::~LevelOneScene()
- {
- if(_layer)
- {
- _layer->release();
- _layer = NULL;
- }
- }
- LevelOneLayer::LevelOneLayer()
- :_obstacles(NULL)
- {
- }
- LevelOneLayer::~LevelOneLayer()
- {
- if(_label)
- {
- _label->release();
- _label = NULL;
- }
- }
- bool LevelOneLayer::init()
- {
- if(CCLayerColor::initWithColor(ccc4(255,255,255,255)))
- {
- activeObstacle = NULL;
- CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
- CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();
- CCSprite *player = CCSprite::create("stickGuy.png", CCRectMake(0,0,50,100));
- player->setPosition(ccp(origin.x + (visibleSize.width/2) - (player->getContentSize().width/2),
- origin.y + (player->getContentSize().height/2)));
- this->addChild(player);
- CCSprite *obstacleOne = CCSprite::create("stickGuy.png", CCRectMake(0,0,50,100)); //Name and size will most likely change
- obstacleOne->setTag(0);
- _obstacles = new CCArray;
- int t = 3;
- for(int i = 0; i < 10; i++)
- {
- _obstacles->addObject(obstacleOne);
- _times.push_back(i * t);
- }
- _time = 0;
- this->_label = CCLabelTTF::create("0.0", "Artial", 32);
- _label->retain();
- _label->setColor(ccc3(0,0,0));
- _label->setPosition( ccp(visibleSize.width/2, visibleSize.height/2) );
- this->addChild(_label);
- this->setTouchEnabled(true);
- this->schedule(schedule_selector(LevelOneLayer::updateGame));
- return true;
- }
- else
- {
- return false;
- }
- }
- void LevelOneLayer::ccTouchesEnded(CCSet *touches, CCEvent *event)
- {
- LevelSelectScene *levelSelectScene = LevelSelectScene::create();
- CCDirector::sharedDirector()->replaceScene(levelSelectScene);
- }
- void LevelOneLayer::spriteMoveFinished(CCNode *sender)
- {
- CCSprite *sprite = (CCSprite*) sender;
- this->removeChild(sprite, true);
- }
- void LevelOneLayer::updateGame(float dt)
- {
- _time += dt;
- int itime = (int) floor(_time);
- CCString *s = CCString::createWithFormat("%d", itime);
- _label->setString(s->getCString());
- int inc = 0;
- CCObject *obstacle;
- bool obstacleSet = false;
- CCARRAY_FOREACH(_obstacles, obstacle)
- {
- if(itime == _times.at(inc))
- {
- activeObstacle = dynamic_cast<CCSprite*>(obstacle);
- obstacleSet = true;
- _label->setString("obstacle set");
- }
- inc++;
- }
- if(obstacleSet)
- {
- _label->setString("if statement");
- CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
- CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();
- int Y = origin.y + (visibleSize.height/2);
- int X = origin.x + visibleSize.width;
- activeObstacle->setPosition(ccp(X, Y));
- CCFiniteTimeAction *actionMove = CCMoveTo::create(2.0, ccp(0 - activeObstacle->getContentSize().width/2, Y));
- CCFiniteTimeAction *actionMoveDone = CCCallFuncN::create(this, callfuncN_selector(LevelOneLayer::spriteMoveFinished));
- activeObstacle->runAction(CCSequence::create(actionMove, actionMoveDone, NULL));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement