SoloCodigo

Programación Específica => Programación de Videojuegos => DirectX => Mensaje iniciado por: ^^CaroM^^ en Domingo 12 de Junio de 2005, 02:46

Título: Problemas Con Directx
Publicado por: ^^CaroM^^ en Domingo 12 de Junio de 2005, 02:46
hola
estoy empezando a utilizar directx 9 y estoy siguiendo un  tutorial, pero en uno de los ejemplos que dan aparece un metodo(SetPosition) que aparantemente no existe asi que mi intento de aprender a dibujar un triangulo ha sido en vano ojala me puedan ayudar gracias

este es el codigo:


CustomVertex.TransformedColored[] verts = new CustomVertex.TransformedColored[3];
verts[0].SetPosition(new Vector4(this.Width / 2.0f, 50.0f, 0.5f, 1.0f));
verts[0].Color = System.Drawing.Color.Aqua.ToArgb();
verts[1].SetPosition(new Vector4(this.Width - (this.Width / 5.0f), this.Height –
    (this.Height / 5.0f), 0.5f, 1.0f));
verts[1].Color = System.Drawing.Color.Black.ToArgb();
verts[2].SetPosition(new Vector4(this.Width / 5.0f, this.Height - (this.Height / 5.0f)
     , 0.5f, 1.0f));
verts[2].Color = System.Drawing.Color.Purple.ToArgb();
Título: Re: Problemas Con Directx
Publicado por: JuanK en Domingo 12 de Junio de 2005, 06:35
te deberia funcionar normalmente hasta onde se ve...

puede ser que hayas olvidado algo en la solucion,
lo más recomendable es que subas aca ene l foro tu rpoyecto completo en un .zip para poderlo analizar mejor.
Título: Re: Problemas Con Directx
Publicado por: ^^CaroM^^ en Lunes 13 de Junio de 2005, 05:15
hola
aqui te mando el codigo para que lo mires

gracias !!!
Título: Re: Problemas Con Directx
Publicado por: JuanK en Lunes 13 de Junio de 2005, 06:08
primer Error:

1 - tienes un caracter "fantasma" entre los espacios que pones en el metodo OnPaint, elimina los espacios entre operadores e identificadores ejemplo:

a = a + b;

dejalo:

a=a+b;

despues de borrarlos puedes volver a ponerlos manualmente;

2 - Esos ejemplos que ponen... nuenm no se de donde lo sacaste si del SDK o de los ejemplos del libro de Tom Miller, en fin...

el libro es muy bueno nadie lo duda ( es el mejor), pero en este ejemplo lo que sucede es que se usa la funcion SetPosition la cual ya fuye remplazada por el  atributro encapsulado: Position en una version mas reciente de directx que la que enseñan en el ejemplo asi qque cambia las llmdas al metodo SetPosition por el atributo encapsulado Position, asi:

 verts[0].Position =new Vector4(this.Width / 2.0f, 50.0f, 0.5f, 1.0f);

eso mismo debes hacer con los demas vertices, y listo:

 :smartass: