Exemplo n.º 1
0
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));



}
Exemplo n.º 2
0
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));
        }
     }
}
Exemplo n.º 3
0
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);

}