bool VenusScene::init() { ////////////////////////////// // 1. super init first if (!Layer::init()) { return false; } Size visibleSize = Director::getInstance()->getVisibleSize(); Point origin = Director::getInstance()->getVisibleOrigin(); loadMap("maps/PantallaMercurio/Venus.tmx", "Objetos", "Rocas2", "Rocas1", "bg1", "bg2", "FondoPrincipal", "Meta"); setEventHandlers(); createCharacter("maps/personajepequeno.png"); //createCharacterAnimation(); tileMap->addChild(playerOne->PlayerSprite, 2); crearParticulaFuego(Point(2200,120)); this->addChild(tileMap, -1, 1); setPointOfView(Point(playerOne->PlayerSprite->getPosition())); printf("x mapPosition %f", tileMap->getPosition().x); printf("x mapPosition %f", tileMap->getPosition().y); auto listener = EventListenerKeyboard::create(); cocos2d::Sprite* ptr = playerOne->PlayerSprite; while (metaCheck(Point(ptr->getPositionX(), ptr->getPositionY()-3)) == "Normal") { ptr->setPosition(Point(ptr->getPositionX() + 0.5, ptr->getPositionY() - 0.5)); ptr->setPosition(Point(ptr->getPositionX(), playerOne->PlayerSprite->getPositionY() - 1.5)); setPointOfView(Point(ptr->getPosition())); } listener->onKeyPressed = CC_CALLBACK_2(VenusScene::keyPressed, this); listener->onKeyReleased = CC_CALLBACK_2(VenusScene::keyReleased, this); this->schedule(schedule_selector(VenusScene::onKeyHold)); _eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this); //Carga de las estrellas de puntaje loadStars(); //Etiqueta en pantalla del marcador marcadores(); cargarPropulsores(); cargarNave(); //Método para verificar las distintas colisiones, en este caso, de estrellas para actualizar el puntaje schedule(schedule_selector(VenusScene::updateColision)); return true; }
//Inicio de construccion de metodo para la aplicarGravedad void VenusScene::aplicarGravedad() { cocos2d::Sprite* ptr = playerOne->PlayerSprite; if (metaCheck(Point(ptr->getPositionX(), ptr->getPositionY() - 3.8)) == "Normal") { animacion.mover(ptr, 0.0001f, Point(ptr->getPositionX(), playerOne->PlayerSprite->getPositionY() - 1.0)); setPointOfView(Point(ptr->getPosition())); } setPointOfView(Point(ptr->getPosition())); }
void VenusScene::onKeyHold(float interval){ aplicarGravedad(); if (std::find(heldKeys.begin(), heldKeys.end(), EventKeyboard::KeyCode::KEY_UP_ARROW) != heldKeys.end()){ // up pressed } if (std::find(heldKeys.begin(), heldKeys.end(), EventKeyboard::KeyCode::KEY_DOWN_ARROW) != heldKeys.end()){ // down pressed } if (std::find(heldKeys.begin(), heldKeys.end(), EventKeyboard::KeyCode::KEY_RIGHT_ARROW) != heldKeys.end() ){ // right pressed if (metaCheck(Point(playerOne->PlayerSprite->getPositionX() + 4, playerOne->PlayerSprite->getPositionY())) == "Normal") { playerOne->PlayerSprite->setPosition(Point(playerOne->PlayerSprite->getPositionX() + 3, playerOne->PlayerSprite->getPositionY())); setPointOfView(Point(playerOne->PlayerSprite->getPosition())); aplicarGravedad(); } } if (std::find(heldKeys.begin(), heldKeys.end(), EventKeyboard::KeyCode::KEY_LEFT_ARROW) != heldKeys.end() ){ // left pressed if (metaCheck(Point(playerOne->PlayerSprite->getPositionX() - 4, playerOne->PlayerSprite->getPositionY())) == "Normal") { playerOne->PlayerSprite->setPosition(Point(playerOne->PlayerSprite->getPositionX() - 3, playerOne->PlayerSprite->getPositionY())); setPointOfView(Point(playerOne->PlayerSprite->getPosition())); aplicarGravedad(); } } }
void VenusScene::verificarContacto() { for (size_t i = 0; i < propulsores.size(); ++i) { if (Colisiones::collides(playerOne->PlayerSprite, propulsores[i])) { tileMap->removeChild(propulsores[i]); propulsores.erase(propulsores.begin() + i); animacion.mover(playerOne->PlayerSprite, 1.5f, Point((playerOne->PlayerSprite->getPositionX()), (playerOne->PlayerSprite->getPositionY() + 350.0f))); setPointOfView(Point((playerOne->PlayerSprite->getPositionX() + 150.0f), (playerOne->PlayerSprite->getPositionY() + 350.0f))); } } }
void AttendBase::startAttendance() { if (!absModel) { absModel = new AttendAbstractModel(); absModel->setHub(hub); } absModel->setDomDocument(hub->project()->attendTreeDomDoc()); absModel->resetAbsModel(); if (!globalProxyModel) { globalProxyModel = new AttendGlobalTreeProxyModel; globalProxyModel->setHub(hub); globalProxyModel->setSourceModel(absModel); ui->globalTreeView->setModel(globalProxyModel ); sheetProxyModel = new AttendSheetTreeProxyModel; sheetProxyModel->setHub(hub); sheetProxyModel->setSourceModel(absModel); ui->sheetTreeView->setModel(sheetProxyModel ); ui->sheetTreeView->expandAll(); connect(hub->project(), SIGNAL(currentSheetNumberChanged(int)), sheetProxyModel, SLOT(currentSheetModified(int)), Qt::UniqueConnection); connect(globalProxyModel, SIGNAL(attendSheetDataNumbersDropped(QList<int>)),sheetProxyModel, SLOT(removeSheetObjects(QList<int>)), Qt::UniqueConnection); connect(ui->manageButton, SIGNAL(clicked()), this, SLOT(launchAttendManager()), Qt::UniqueConnection); connect(ui->povButton, SIGNAL(clicked()), sheetProxyModel, SLOT(setPointOfView()), Qt::UniqueConnection); connect(ui->sheetTreeView, SIGNAL(clicked(QModelIndex)), sheetProxyModel, SLOT(setClickedIndex(QModelIndex)), Qt::UniqueConnection); connect(ui->sheetTreeView, SIGNAL(viewportEntered()), this, SLOT(expandAll()), Qt::UniqueConnection); connect(ui->globalTreeView, SIGNAL(viewportEntered()), this, SLOT(expandAll()), Qt::UniqueConnection); connect(ui->sheetTreeView, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(openDetailsOf_fromSheet(QModelIndex))); connect(ui->globalTreeView, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(openDetailsOf_fromGlobal(QModelIndex))); }
void VenusScene::keyPressed(cocos2d::EventKeyboard::KeyCode keyCode, cocos2d::Event *event) { aplicarGravedad(); if (std::find(heldKeys.begin(), heldKeys.end(), keyCode) == heldKeys.end()){ heldKeys.push_back(keyCode); } if (keyCode == EventKeyboard::KeyCode::KEY_RIGHT_ARROW) { // AnimateSpritesheet(); if (metaCheck(Point(playerOne->PlayerSprite->getPositionX() + 5, playerOne->PlayerSprite->getPositionY())) == "Normal") { playerOne->PlayerSprite->setPosition(Point(playerOne->PlayerSprite->getPositionX() + 5, playerOne->PlayerSprite->getPositionY())); setPointOfView(Point(playerOne->PlayerSprite->getPosition())); } else { Size visibleSize = Director::getInstance()->getVisibleSize(); Point origin = Director::getInstance()->getVisibleOrigin(); auto label = LabelTTF::create("Colision", "Arial", 72); // position the label on the center of the screen label->setPosition(Point(origin.x + visibleSize.width / 2, origin.y + visibleSize.height - label->getContentSize().height)); addChild(label, 5); } } if (keyCode == EventKeyboard::KeyCode::KEY_UP_ARROW && metaCheck(Point(playerOne->PlayerSprite->getPositionX(), playerOne->PlayerSprite->getPositionY()-3.8)) != "Normal") { cocos2d::Sprite* ptr = playerOne->PlayerSprite; animacion.mover(ptr, 1.5f, Point((ptr->getPositionX()), (ptr->getPositionY() + 200.0f))); setPointOfView(Point((ptr->getPositionX() + 150.0f), (ptr->getPositionY() + 200.0f))); } if (keyCode == EventKeyboard::KeyCode::KEY_LEFT_ARROW) { // AnimateSpritesheet(); if (metaCheck(Point(playerOne->PlayerSprite->getPositionX() - 5, playerOne->PlayerSprite->getPositionY())) == "Normal") { playerOne->PlayerSprite->setPosition(Point(playerOne->PlayerSprite->getPositionX() - 5, playerOne->PlayerSprite->getPositionY())); setPointOfView(Point(playerOne->PlayerSprite->getPosition())); } } }