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; }
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(); } } }
//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 GuanacasteScene::setPlayerPosition(Point position) { std::string metaResult= metaCheck(position); if(metaResult == "Normal") { auto moveTo = MoveTo::create(tileMap->getTileSize().width/Player1->speed,position); Player1->PlayerSprite->runAction(moveTo); } if(metaResult == "warp"){ auto moveTo = MoveTo::create(tileMap->getTileSize().width/Player1->speed,position); Player1->PlayerSprite->runAction(moveTo); auto newScene = Minijuego1::createScene(); Director::getInstance()->replaceScene(CCTransitionFadeBL::create(0.75f, newScene)); } }
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())); } } }
int main(int argc, char *argv[]) /* Process command line. */ { optionInit(&argc, argv, options); if (optionExists("help")) { printHelp(); } if (argc != 3) { usage(); } outMdb = optionVal("outMdb", outMdb); onlyCompTdb = optionExists("onlyCompTdb"); release = optionVal("release", release); releaseNum = optionInt("releaseNum", releaseNum); char *database = argv[1]; char *composite = argv[2]; char defaultMetaDb[1024]; char defaultDownloadDir[1024]; char tempDownloadDir[1024]; char *src = getSrcDir(); char *org = cloneString(hOrganism(database)); org[0] = tolower(org[0]); /* If user doesn't provide a metaDB, assume the path using the database and composite */ safef(defaultMetaDb, sizeof(defaultMetaDb), "%s/hg/makeDb/trackDb/%s/%s/metaDb/%s/%s.ra", src, org, database, release, composite); /* If user doesn't provide a downloadDir, assume the path using the database and composite */ safef(defaultDownloadDir, sizeof(defaultDownloadDir), "/usr/local/apache/htdocs-hgdownload/goldenPath/%s/encodeDCC/%s", database, composite); safef(tempDownloadDir, sizeof(tempDownloadDir), "/usr/local/apache/htdocs-hgdownload/goldenPath/%s/encodeDCC/%s", database, composite); if (releaseNum) safef(defaultDownloadDir, sizeof(defaultDownloadDir), "%s/release%d", tempDownloadDir, releaseNum); /* If user doesn't provide a trackDB, assume the path using the database and composite */ char defaultTrackDb[1024]; /* Load encode composite-includer trackDb.wgEncode.ra */ char trackDbIncluder[1024]; safef(trackDbIncluder, sizeof(trackDbIncluder), "%s/hg/makeDb/trackDb/%s/%s/%s", src, org, database, "trackDb.wgEncode.ra"); struct raFile *includerFile = raFileRead(trackDbIncluder); /* Find the correct trackDb.ra for the composite */ int numTagsFound = -1; char *compositeName = findCompositeRa(includerFile, composite, release, &numTagsFound); if (!compositeName) errAbort("unable to find composite .ra for the track in trackDb.wgEncode.ra\n"); // if numTagsFound == 1 then a composite .ra with a single alpha tag exists already, // so no further work required on trackDb.wgEncode.ra safef(defaultTrackDb, sizeof(defaultTrackDb), "%s/hg/makeDb/trackDb/%s/%s/%s", src, org, database, compositeName); verbose(1,"database: %s\ncomposite: %s\nrelease %s\ndefault trackDb: %s\ndefault metaDb: %s\ndefault downloadDir: %s\n", database, composite, release, defaultTrackDb, defaultMetaDb, defaultDownloadDir); char *metaDb = optionVal("metaDb",defaultMetaDb); replaceTildeWithHome(&metaDb); if (!fileExists(metaDb)) errAbort("metaDb %s does not exist.", metaDb); char *trackDb = optionVal("trackDb",defaultTrackDb); replaceTildeWithHome(&trackDb); if (!fileExists(trackDb)) errAbort("trackDb %s does not exist.", trackDb); char *downloadDir = optionVal("downloadDir",defaultDownloadDir); replaceTildeWithHome(&downloadDir); if (!fileExists(downloadDir)) errAbort("downloadDir %s does not exist.", downloadDir); printf("metaDb = %s\n trackDb = %s\n downloadDir = %s\n",metaDb,trackDb,downloadDir); metaCheck(database, composite, metaDb, trackDb, downloadDir); return 0; }