Пример #1
0
        public void Draw()
        {
            Gl.glPushMatrix();
            Gl.glTranslatef(0, 2.3f, 0);
            Gl.glScalef(0.1f, 0.1f, 0.1f);
            m.DrawWithTextures();

            Gl.glPushAttrib(Gl.GL_POLYGON_BIT);
            Gl.glPolygonMode(Gl.GL_FRONT_AND_BACK, Gl.GL_FILL);
            Gl.glEnable(Gl.GL_TEXTURE_2D);

            Gl.glBindTexture(Gl.GL_TEXTURE_2D, ContentManager.GetTextureByName(frame.Name + ".jpg"));
            frame.Draw();
            Gl.glPopAttrib();

            Gl.glPushMatrix();
            anguloAspa += 40;
            if (anguloAspa > 3600)
            {
                anguloAspa = 0;
            }
            Gl.glTranslatef(aspa.CenterPoint.X, aspa.CenterPoint.Y, aspa.CenterPoint.Z);
            Gl.glRotatef(-anguloAspa, 0, 0, 1);
            Gl.glTranslatef(-aspa.CenterPoint.X, -aspa.CenterPoint.Y, -aspa.CenterPoint.Z);

            Gl.glBindTexture(Gl.GL_TEXTURE_2D, ContentManager.GetTextureByName(aspa.Name + ".jpg"));
            aspa.Draw();
            Gl.glPopMatrix();

            Gl.glPopMatrix();
        }
Пример #2
0
 public void Dibujar()
 {
     Gl.glPushMatrix();
     Gl.glTranslatef(0, 1.4f, 0);
     Gl.glScalef(0.2f, 0.2f, 0.2f);
     m.DrawWithTextures();
     Gl.glPopMatrix();
 }
Пример #3
0
 public void Dibujar()
 {
     Gl.glPushMatrix();
     Gl.glScalef(0.2f, 0.2f, 0.2f);
     Gl.glColor3f(1, 1, 1);
     m.DrawWithTextures();
     Gl.glDisable(Gl.GL_TEXTURE_2D);
     Gl.glPopMatrix();
 }
Пример #4
0
 public void Dibujar()
 {
     Gl.glPushMatrix();
     Gl.glTranslatef(10, -0.2f, 10);
     Gl.glScalef(0.1f, 0.1f, 0.1f);
     Gl.glColor3f(1, 1, 1);
     Gl.glRotatef(-90, 0, 1, 0);
     m.DrawWithTextures();
     Gl.glDisable(Gl.GL_TEXTURE_2D);
     Gl.glPopMatrix();
 }
Пример #5
0
        public void Dibujar()
        {
            Gl.glPushMatrix();
            Gl.glTranslatef(pos.x, 0, pos.y);

            #region Control

            if (Controlador.InicioCarrera == true)
            {
                Gl.glTranslatef(0, 0, distanciaRecorrida);
                if (distanciaRecorrida > -59)
                {
                    anguloLLanta       -= 24;
                    distanciaRecorrida -= velocidad;
                }
                else
                if (Controlador.FinCarrera == false)
                {
                    Controlador.FinCarrera = true;
                }
                contador++;
                // cambio velocidad
                if (contador == 30)
                {
                    contador  = 0;
                    velocidad = 0.2f + (float)randomizer.NextDouble() / 20f;
                }
            }

            #endregion

            contenedorModelo.DrawWithTextures();

            #region chasis

            Gl.glPushMatrix();
            Gl.glScalef(0.1f, 0.1f, 0.1f);

            Gl.glEnable(Gl.GL_TEXTURE_2D);
            Gl.glBindTexture(Gl.GL_TEXTURE_2D, textura);
            chasis.Draw();

            Gl.glDisable(Gl.GL_TEXTURE_2D);
            Gl.glPopMatrix();

            #endregion

            #region Llantas

            foreach (var item in llantas)
            {
                Gl.glColor3f(0.5f, 0.5f, 0.5f);//especifico el color de la rueda
                Gl.glPushMatrix();
                Gl.glScalef(0.1f, 0.1f, 0.1f);
                Gl.glTranslatef(item.CenterPoint.X, item.CenterPoint.Y, item.CenterPoint.Z);    //traslada a la posicion original
                Gl.glRotatef(anguloLLanta, 1, 0, 0);                                            // se rota
                Gl.glTranslatef(-item.CenterPoint.X, -item.CenterPoint.Y, -item.CenterPoint.Z); // traslado al centro
                item.Draw();                                                                    // dibujo la rueda
                Gl.glPopMatrix();
                Gl.glColor3f(1, 1, 1);
            }

            #endregion

            Gl.glPopMatrix();
        }
Пример #6
0
        public void DrawCar()
        {
            Gl.glPushMatrix();
            Gl.glTranslatef(pos.x, 0, pos.y);

            #region race logic

            if (GameControl.StartedRace == true)
            {
                //move the object the traveled distance
                Gl.glTranslatef(0, 0, traveledDistance);
                if (traveledDistance > -120)
                {
                    tireAngle        -= 24;
                    traveledDistance -= speed;
                }
                else
                if (GameControl.FinishedRace == false)
                {
                    GameControl.FinishedRace = true;
                }
                counter++;
                // if counter == 30 i change the speed
                if (counter == 30)
                {
                    counter = 0;
                    speed   = 0.2f + (float)randomizer.NextDouble() / 20f;
                }
            }

            #endregion

            m.DrawWithTextures(); // draw the car accesories

            #region draw chasis

            Gl.glPushMatrix();
            Gl.glScalef(0.1f, 0.1f, 0.1f);

            Gl.glEnable(Gl.GL_TEXTURE_2D);// enable textures
            Gl.glBindTexture(Gl.GL_TEXTURE_2D, texture);
            body.Draw();

            Gl.glDisable(Gl.GL_TEXTURE_2D);
            Gl.glPopMatrix();

            #endregion

            #region draw rolling tires

            foreach (var item in tires)
            {
                Gl.glColor3f(0.5f, 0.5f, 0.5f);//especifico el color de la rueda
                Gl.glPushMatrix();
                Gl.glScalef(0.1f, 0.1f, 0.1f);
                Gl.glTranslatef(item.CenterPoint.X, item.CenterPoint.Y, item.CenterPoint.Z);    //traslada a la posicion original
                Gl.glRotatef(tireAngle, 1, 0, 0);                                               // se rota
                Gl.glTranslatef(-item.CenterPoint.X, -item.CenterPoint.Y, -item.CenterPoint.Z); // traslado al centro
                item.Draw();                                                                    // dibujo la rueda
                Gl.glPopMatrix();
                Gl.glColor3f(1, 1, 1);
            }

            #endregion

            Gl.glPopMatrix();
        }
Пример #7
0
        public void Dibujar()
        {
            if (vidas > 0)
            {
                switch (Main.Moviendo)
                {
                case 1:
                {
                    if (p.x < 3)
                    {
                        p.x += 0.08f;
                    }
                    break;
                }

                case -1:
                {
                    if (p.x > -3)
                    {
                        p.x -= 0.08f;
                    }
                    break;
                }

                case 2:
                {
                    if (p.y < 3)
                    {
                        p.y += 0.08f;
                    }
                    break;
                }

                case -2:
                {
                    if (p.y > -3)
                    {
                        p.y -= 0.08f;
                    }
                    break;
                }

                default:
                    break;
                }

                count++;
                if (count == compare)
                {
                    if (compare == 25)
                    {
                        compare = 10;
                    }
                    Position wingLeft  = new Position(this.p.x - 1f, this.p.y, this.p.z);
                    Position wingRight = new Position(this.p.x + 1f, this.p.y, this.p.z);
                    if (AsteroidGenerator.CheckCollision(this.p, 1.1f))
                    {
                        RestarVida();
                    }
                    else
                    if (AsteroidGenerator.CheckCollision(wingRight, 1.1f))
                    {
                        RestarVida();
                    }
                    else
                    if (AsteroidGenerator.CheckCollision(wingLeft, 1.1f))
                    {
                        RestarVida();
                    }
                    count = 0;
                }


                Gl.glPushMatrix();
                Gl.glTranslatef(p.x, p.y, p.z);
                Gl.glScalef(0.3f, 0.3f, 0.3f);
                m.DrawWithTextures();
                Gl.glPopMatrix();
                Gl.glDisable(Gl.GL_TEXTURE_2D);
            }
        }
Пример #8
0
        public void Dibujar()
        {
            if (moviendo)
            {
                MoverBase(movimiento);
            }

            Gl.glPushMatrix();

            Gl.glScalef(scale, scale, scale);
            Gl.glColor3f(1, 1, 1);

            //botones
            Gl.glPushMatrix();
            if (altaRevolucion)
            {
                Gl.glTranslatef(0, 0, -0.05f);
            }
            botonAlta.DrawWithTextures();
            Gl.glPopMatrix();

            Gl.glPushMatrix();
            if (bajaRevolucion)
            {
                Gl.glTranslatef(0, 0, -0.05f);
            }
            botonBaja.DrawWithTextures();
            Gl.glPopMatrix();

            Gl.glPushMatrix();
            if (encendido)
            {
                Gl.glTranslatef(0, 0, -0.05f);
            }
            botonEncender.DrawWithTextures();
            Gl.glPopMatrix();


            //plato autocentrante
            Gl.glPushMatrix();
            Vector3 center = platoAutoCentrante.CenterPoint;

            Gl.glTranslatef(center.X, center.Y, center.Z);
            Gl.glRotatef(Piece.Rotation.X, 1, 0, 0);
            Gl.glTranslatef(-center.X, -center.Y, -center.Z);
            platoAutoCentrante.DrawWithTextures();
            Gl.glPopMatrix();

            //base del torno
            baseTorno.DrawWithTextures();

            //piezas moviles
            Gl.glPushMatrix();

            Gl.glTranslatef(baseTornoPos.X, 0, 0);

            manibela1c.DrawWithTextures();
            baseCarro.DrawWithTextures();
            rueda1carro.DrawWithTextures();
            baseBotones.DrawWithTextures();
            boton1Carro.DrawWithTextures();
            boton2Carro.DrawWithTextures();
            manivela5c.DrawWithTextures();
            manivela3c.DrawWithTextures();
            manivela6c.DrawWithTextures();
            manivela4c.DrawWithTextures();

            Gl.glTranslatef(0, 0, baseTornoPos.Z);
            portaCuchilla.DrawWithTextures();

            for (int i = 0; i < 8; i++)
            {
                tornillos[i].DrawWithTextures();
            }
            manivela2c.DrawWithTextures();
            cuchilla.DrawWithTextures();
            base1.DrawWithTextures();
            base2.DrawWithTextures();
            base3.DrawWithTextures();
            base4.DrawWithTextures();
            base5.DrawWithTextures();
            rueda2carro.DrawWithTextures();



            Gl.glPopMatrix();

            //barrena.Draw();
            m.DrawWithTextures();
            Gl.glPopMatrix();

            //Gl.glColor3f(1, 0, 0);
            //Gl.glPointSize(5);
            //Gl.glBegin(Gl.GL_POINTS);

            //Vector3 c1 = new Vector3(cuchillaPos1);
            //c1.Scale(0.2f);
            //Gl.glVertex3f(c1.X, c1.Y, c1.Z);

            //Vector3 c2 = new Vector3(cuchillaPos2);
            //c2.Scale(0.2f);
            //Gl.glVertex3f(c2.X, c2.Y, c2.Z);

            //Gl.glEnd();
            //Gl.glColor3f(1, 1, 1);
        }