Avatar billede tras Juniormester
13. april 2007 - 10:40 Der er 7 kommentarer og
1 løsning

problemer med en return type

Hej jeg er igang med at lave et spil og er gået i stå ved følgene problem.

voidOnResetDevice ->class, struct, or interface method must have a return type.

hvad har jeg lavet forkert ?!

using System;
using System.Drawing;
using System.Windows.Forms;
using Microsoft.DirectX;
using Microsoft.DirectX.Direct3D;

public class example : Form
{
      Device device = null;
      VertexBuffer vertexBuffer = null;

      static void Main()
      {
            example form = new example();
            form.InitializeGraphics();
            form.Show();
            while (form.Created)
            {
                  //Update our game, and render to screen
                  form.Render();
                  Application.DoEvents(); //Let the OS handle what it needs to
            }
      }

      private void Render()
      {
            if (device == null)
                  return;
            device.Clear(ClearFlags.Target, System.Drawing.Color.Blue, 1.0f, 0);

            device.BeginScene();

            device.SetStreamSource( 0, vertexBuffer, 0);
            device.VertexFormat = CustomVertex.TransformedColored.Format;
            device.DrawPrimitives(PrimitiveType.TriangleList, 0, 1);

            device.EndScene();
            device.Present();
      }



      public void InitializeGraphics()
      {
            try
            {
                    // Now let's setup our D3D stuff
                    PresentParameters presentParams = new PresentParameters();
                    presentParams.Windowed=true;
                    presentParams.SwapEffect = SwapEffect.Discard;

                    device = new Device(0,
                              DeviceType.Hardware,
                          this,
                          CreateFlags.HardwareVertexProcessing,
                          presentParams);

                    device.DeviceReset +=
                          new System.EventHandler(this.OnReseDevice);
                    this.OnResetDevice(device, null);
              }
              catch (DirectXException e)
              {

                    MessageBox.Show(null, "Error intializing graphics: "
                    + e.Message, "Error");
                    Close();
              }
      }

      public voidOnResetDevice(object sender, EventArgs e)
      {
            Device dev = (Device)sender;
              vertexBuffer
              = new VertexBuffer(typeof(CustomVertex.TransformedColored),
              3,
              dev,
              0,
              CustomVertex.TransformedColored.Format,
              Pool.Default);

            GraphicsStream stm = vertexBuffer.Lock(0, 0, 0);
            CustomVertex.TransformedColored[] verts =
                  new CustomVertex.TransformedColored[3];

            verts[0].X=150;
            verts[0].Y=50;
            verts[0].Z=0.5f;
            verts[0].Rhw=1;
            verts[0].Color = System.Drawing.Color.Aqua.ToArgb();
            verts[1].X=250;
            verts[1].Y=250;
            verts[1].Z=0.5f;
            verts[1].Rhw=1;
            verts[1].Color = System.Drawing.Color.Brown.ToArgb();
            verts[2].X=50;
            verts[2].Y=250;
            verts[2].Z=0.5f;
            verts[2].Rhw=1;
            verts[2].Color = System.Drawing.Color.LightPink.ToArgb();
            stm.Write(verts);
            vertexBuffer.Unlock();
      }
}
Avatar billede kalp Novice
13. april 2007 - 10:42 #1
public void OnResetDevice(object sender, EventArgs e)
      {
            Device dev = (Device)sender;
              vertexBuffer
              = new VertexBuffer(typeof(CustomVertex.TransformedColored),
              3,
              dev,
              0,
              CustomVertex.TransformedColored.Format,
              Pool.Default);

            GraphicsStream stm = vertexBuffer.Lock(0, 0, 0);
            CustomVertex.TransformedColored[] verts =
                  new CustomVertex.TransformedColored[3];

            verts[0].X=150;
            verts[0].Y=50;
            verts[0].Z=0.5f;
            verts[0].Rhw=1;
            verts[0].Color = System.Drawing.Color.Aqua.ToArgb();
            verts[1].X=250;
            verts[1].Y=250;
            verts[1].Z=0.5f;
            verts[1].Rhw=1;
            verts[1].Color = System.Drawing.Color.Brown.ToArgb();
            verts[2].X=50;
            verts[2].Y=250;
            verts[2].Z=0.5f;
            verts[2].Rhw=1;
            verts[2].Color = System.Drawing.Color.LightPink.ToArgb();
            stm.Write(verts);
            vertexBuffer.Unlock();
      }
Avatar billede tras Juniormester
13. april 2007 - 10:53 #2
skaber bare et nyt problem :D

"example" does not contain a definition for "OnReseDevice"
Avatar billede kalp Novice
13. april 2007 - 10:55 #3
der er også rod i dit kode..

public void OnReseDevice(object sender, EventArgs e)
      {
            Device dev = (Device)sender;
              vertexBuffer
              = new VertexBuffer(typeof(CustomVertex.TransformedColored),
              3,
              dev,
              0,
              CustomVertex.TransformedColored.Format,
              Pool.Default);

            GraphicsStream stm = vertexBuffer.Lock(0, 0, 0);
            CustomVertex.TransformedColored[] verts =
                  new CustomVertex.TransformedColored[3];

            verts[0].X=150;
            verts[0].Y=50;
            verts[0].Z=0.5f;
            verts[0].Rhw=1;
            verts[0].Color = System.Drawing.Color.Aqua.ToArgb();
            verts[1].X=250;
            verts[1].Y=250;
            verts[1].Z=0.5f;
            verts[1].Rhw=1;
            verts[1].Color = System.Drawing.Color.Brown.ToArgb();
            verts[2].X=50;
            verts[2].Y=250;
            verts[2].Z=0.5f;
            verts[2].Rhw=1;
            verts[2].Color = System.Drawing.Color.LightPink.ToArgb();
            stm.Write(verts);
            vertexBuffer.Unlock();
      }
Avatar billede tras Juniormester
13. april 2007 - 10:58 #4
endre ikke på problemet :)
Avatar billede tras Juniormester
13. april 2007 - 11:00 #5
Det nye problem ligger her.
this.OnResetDevice(device, null);
Avatar billede tras Juniormester
13. april 2007 - 11:01 #6
hehe glem t
Avatar billede tras Juniormester
13. april 2007 - 11:02 #7
undskyld alt det besvær. :D havde glemt der ikke skulle være med t til slut :P tak for hjælpen
Avatar billede kalp Novice
13. april 2007 - 11:06 #8
helt i orden:)
selv tak;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester