
Ergebnis 1 bis 4 von 4
-
Bin neu hier
- 11.05.2011, 14:38
- #1
Ich versuche gerade eine Klasse Button zu erstellen, an deren Erstellungsroutine ich ein Bild (Texture2D) als Parameter übergeben möchte. Das sieht dann so aus:
Code:public Button(Texture2D textur1, Vector2 position1) { textur = textur1; position = position1; }
Die beste Übereinstimmung für die überladene WindowsPhoneGame2.Game1.Button.Button(Microsoft.Xna.Framework.Graphics.Texture2D, Microsoft.Xna.Framework.Vector2, Microsoft.Xna.Framework.GraphicsDeviceManager)-Methode hat einige ungültige Argumente.
1-Argument: Kann nicht von "WindowsPhoneGame2.Game1.Button" in "Microsoft.Xna.Framework.Graphics.Texture2D" konvertiert werden.
Ich habe das Bild in der Hauptklasse geladen:
Code:quit = Content.Load<Texture2D>("Quit");
Ich habe weder mit C# noch mit XNA erfahrung und freue mich über jede Antwort
-
- 20.05.2011, 13:01
- #2
Das Problem scheint der Aufruf des Konstruktors zu sein. Poste doch mal den Code deiner Game-Klasse, in der der Button erzeugt werden soll.
-
Bin neu hier
- 20.05.2011, 19:36
- #3
Hier ist die Klasse. Der Button wird bei Intialize erstellt.
Code:public Game1() { graphics = new GraphicsDeviceManager(this); Content.RootDirectory = "Content"; // Frame-Rate ist standardmäßig 30 fps für das Windows Phone. TargetElapsedTime = TimeSpan.FromTicks(333333); } /// <summary> /// Ermöglicht dem Spiel die Durchführung einer Initialisierung, die es benötigt, bevor es ausgeführt werden kann. /// Dort kann es erforderliche Dienste abfragen und nicht mit der Grafik /// verbundenen Content laden. Bei Aufruf von base.Initialize werden alle Komponenten aufgezählt /// sowie initialisiert. /// </summary> protected override void Initialize() { // TODO: Fügen Sie Ihre Initialisierungslogik hier hinzu base.Initialize(); spritePosition1.X = 0; //X-Position eines Bildes spritePosition1.Y = 0; //Y-Position eines Bildes spritePositionquit.X = 0; //X-Position eines Bildes spritePositionquit.Y = 0; //Y-Position eines Bildesit Button quit = new Button(quit, spritePositionquit); } /// <summary> /// LoadContent wird einmal pro Spiel aufgerufen und ist der Platz, wo /// Ihr gesamter Content geladen wird. /// </summary> protected override void LoadContent() { // Erstellen Sie einen neuen SpriteBatch, der zum Zeichnen von Texturen verwendet werden kann. spriteBatch = new SpriteBatch(GraphicsDevice); quit = Content.Load<Texture2D>("Quit"); texture1 = Content.Load<Texture2D>("Background"); // TODO: Verwenden Sie this.Content, um Ihren Spiel-Content hier zu laden } /// <summary> /// UnloadContent wird einmal pro Spiel aufgerufen und ist der Ort, wo /// Ihr gesamter Content entladen wird. /// </summary> protected override void UnloadContent() { // TODO: Entladen Sie jeglichen Nicht-ContentManager-Content hier } /// <summary> /// Ermöglicht dem Spiel die Ausführung der Logik, wie zum Beispiel Aktualisierung der Welt, /// Überprüfung auf Kollisionen, Erfassung von Eingaben und Abspielen von Ton. /// </summary> /// <param name="gameTime">Bietet einen Schnappschuss der Timing-Werte.</param> protected override void Update(GameTime gameTime) { // Ermöglicht ein Beenden des Spiels if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) this.Exit(); TouchCollection touchCollection = TouchPanel.GetState(); foreach (TouchLocation tl in touchCollection) { if ((tl.State == TouchLocationState.Pressed) /* || (tl.State == TouchLocationState.Moved)*/) { spritePosition1.X = tl.Position.X; spritePosition1.Y = tl.Position.Y; } } // TODO: Fügen Sie Ihre Aktualisierungslogik hier hinzu base.Update(gameTime); } /// <summary> /// Dies wird aufgerufen, wenn das Spiel selbst zeichnen soll. /// </summary> /// <param name="gameTime">Bietet einen Schnappschuss der Timing-Werte.</param> protected override void Draw(GameTime gameTime) { GraphicsDevice.Clear(Color.CornflowerBlue); spriteBatch.Begin(SpriteSortMode.BackToFront, BlendState.AlphaBlend); spriteBatch.Draw(texture1, spritePosition1, Color.White); spriteBatch.End(); // TODO: Fügen Sie Ihren Zeichnungscode hier hinzu base.Draw(gameTime); }
-
Bin neu hier
- 05.06.2011, 15:43
- #4
Ich hab den Fehler jetzt gefunden. Natürlich kann ich die Texture quit nicht bei Intialize benutzen wenn sie erst bei loadcontent geladen wird. Trotzdem Danke.
Ähnliche Themen
-
Problem mit "selektiertem Objekt"
Von BusDeath im Forum SE Xperia X1Antworten: 1Letzter Beitrag: 19.02.2009, 19:58 -
Wie kann man mit Objekt und CLSID ein Bing machen?
Von Pat im Forum ProgrammierenAntworten: 0Letzter Beitrag: 10.03.2006, 02:33
Pixel 10 Serie mit Problemen:...