DeathMenu::DeathMenu() { button_texture= new ATexture(ASystem::Path("resource/image/menu_choose.png")); restart_button_sprite = new ASprite(button_texture); exit_button_sprite = new ASprite(button_texture); deathmenu_background_sprite= new ASprite(Game::getBackgroundtexture_FC1()); restart_font = new AFont(200,100,100,ASystem::Path("resource/font/simplified_chs.ttf").toStdString().data()); exit_font = new AFont(200,100,100,ASystem::Path("resource/font/simplified_chs.ttf").toStdString().data()); gameover_font = new AFont(300,100,100,ASystem::Path("resource/font/simplified_chs.ttf").toStdString().data()); setListenerManager(new AEventMgr()); eventMgr()->addMouseListener(this); this->layer(1)->addChild(restart_button_sprite); this->layer(1)->addChild(exit_button_sprite); this->layer(1)->addChild(deathmenu_background_sprite); restart_button_sprite->setPos(AVector2D(ASystem::GetWidth()/2-restart_button_sprite->width()/2, restart_button_sprite->height()*3+100)); exit_button_sprite->setPos(AVector2D(ASystem::GetWidth()/2-exit_button_sprite->width()/2, exit_button_sprite->height()*2)); deathmenu_background_sprite->setPos(AVector2D(-deathmenu_background_sprite->width()/3, -deathmenu_background_sprite->height()/2)); restart_font->print("重开",restart_button_sprite->getX()+50,restart_button_sprite->getY()+100,this->layer(1)); exit_font->print("退出",exit_button_sprite->getX()+50,exit_button_sprite->getY()+100,this->layer(1)); gameover_font->print("GAME OVER",ASystem::GetWidth()/2-restart_button_sprite->width(), restart_button_sprite->height()*5,this->layer(1)); }
void Ai::aciton() { fire_cd->step (ASystem::TimeStep () * 2); AScene * game_scene=Game::single ()->getGame_scene(); ParticleLauncher(game_scene->layer(2),Game::single()->getBullet_texture(),5,AVector2D(this->getX(),this->getY()), AVector2D(100,100),AVector2D(0,0),AColor(1,1,1), AColor(0,1,1),0,300,1,0,4,AVector2D(0,-2),10); if(fire_cd->isTouched ()) { fire_cd->rewind (); if(is_firing) { game_scene->layer (2)->addChild (new Bullet(AVector2D(this->middleX()-15,this->middleY()-15),1,0.5,true)); } } }
void AGeometric::initRectGeometric() { VertexData vertices[] ={ {AVector3D(0,0,0),AVector2D((double)m_leftTopX/(double)m_imageWidth , (double)m_leftTopY/(double)m_imageHeight)}, {AVector3D(m_width,0,0),AVector2D((double)m_rightBottonX/(double)m_imageWidth , (double)m_leftTopY/(double)m_imageHeight)}, {AVector3D(m_width,m_height,0),AVector2D((double)m_rightBottonX/(double)m_imageWidth,(double)m_rightBottonY/(double)m_imageHeight)}, {AVector3D(0,m_height,0),AVector2D((double)m_leftTopX/m_imageWidth,(double)m_rightBottonY/m_imageHeight)} }; GLushort indices[] = { 0,1,2,3//一个面 }; glBindBuffer(GL_ARRAY_BUFFER,m_vboId[0]); glBufferData(GL_ARRAY_BUFFER,4*sizeof(VertexData),vertices,GL_STATIC_DRAW); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER,m_vboId[1]); glBufferData(GL_ELEMENT_ARRAY_BUFFER,5*sizeof(GLushort),indices,GL_STATIC_DRAW); }