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(); } }
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
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(); }
13. april 2007 - 10:53
#2
skaber bare et nyt problem :D "example" does not contain a definition for "OnReseDevice"
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(); }
13. april 2007 - 10:58
#4
endre ikke på problemet :)
13. april 2007 - 11:00
#5
Det nye problem ligger her. this.OnResetDevice(device, null);
13. april 2007 - 11:01
#6
hehe glem t
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
13. april 2007 - 11:06
#8
helt i orden:) selv tak;)
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.