Autor Beitrag
Bethsoftfan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44

Win XP, Linux OpenSuSE 10.3 mit Compiz Fusion :cool:
Delphi 2007 Prof. Delphi 5
BeitragVerfasst: Do 05.06.08 16:51 
Hallo!

Ich hätte diesmal ne Frage um XNA und C#! :P

Also ich habe mal angefangen zu code, nachdem ich mich monatelang nur mit Theorie beschäftigt habe, und nie auf den grünen Zweig im Praktischen gekommen bin :? . Egal.

Also er gibt mir eine NullReferenceExeption an der markierten Stelle :

ausblenden volle Höhe Game1.cs
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
#region Using Statements
using System;
using System.Collections.Generic;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Storage;
using Strategie_2._0;
#endregion

namespace Strategie_2._
{
    public class Game1 : Microsoft.Xna.Framework.Game
    {
        GraphicsDeviceManager graphics;
        ContentManager content;
        Texture2D Backgroundtex;
        Karte karte1;
        SpriteBatch hintergrund;

        public Game1()
        {
            graphics = new GraphicsDeviceManager(this);
            content = new ContentManager(Services);
        }


        protected override void Initialize()
        {                                                       
Backgroundtex = content.Load<Texture2D>("Content\\Tex\\background");
base.Initialize();
            
karte1.Initialisiern (hintergrund ,new Vector2(100.0f,100.0f),Backgroundtex); 
//~~~~~~~~~~~~~~####################HIER####################~~~~~~~~~~~~~~\\   
        }


        protected override void LoadGraphicsContent(bool loadAllContent)
        {
            if (unloadAllContent)
            {
               content.Unload();
            }
            
        }


        protected override void UnloadGraphicsContent(bool unloadAllContent)
        {
            if (unloadAllContent)
            {
               content.Unload();
            }

        }


        protected override void Update(GameTime gameTime)
        {
            //Gamepad exit
            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
                this.Exit();

            base.Update(gameTime);
        }


        protected override void Draw(GameTime gameTime)
        {
            //Das übliche ...
            graphics.GraphicsDevice.Clear(Color.CornflowerBlue);

            base.Draw(gameTime);
        }
    }
}


und die Karte.cs :

ausblenden Karte.cs
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
#region Using Statements
using System;
using System.Collections.Generic;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Storage;
using Strategie_2._0;
#endregion

namespace Strategie_2._0
{
    class Karte
    {

        #region (Initialisieren)

        public void Initialisiern(SpriteBatch Wo,Vector2 Wiegroß, Texture2D Grund)
         {  
             Wo.Draw(Grund, Wiegroß, Color.White); //Den Hintergrund malen
         }

        #endregion
    }
}


Weißt ihr was das bedeutet?
Sry, ich bin noch etwas neu auf diesem Gebiet. :oops:

Danke!


Zuletzt bearbeitet von Bethsoftfan am Do 05.06.08 16:55, insgesamt 1-mal bearbeitet
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Do 05.06.08 16:55 
Nimm's mir nicht übel, aber wennn Du nicht weißt, wie Du mit einer NullReferenceException umzugehen hast, dann solltest Du vielleicht erstmal leichtere Sachen programmieren als direkt mit XNA anzufangen.

Du benutzt karte1 ohne sie jemals zu erstellen, somit ist die Instanz null.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Bethsoftfan Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44

Win XP, Linux OpenSuSE 10.3 mit Compiz Fusion :cool:
Delphi 2007 Prof. Delphi 5
BeitragVerfasst: Do 05.06.08 17:02 
Hmm, danke für die schnelle Antwort!

Also, also vielleicht sollte ich mich mal einwenig mehr in C# einarbeiten, aber wo gibt es dazu etwas? Wie soll ich denn Karte1 erstellen? Wie soll ich überhaupt eine Class erstellen? Leider sind dazu die Antworten dünn gesäht.

Könntest du mir nur in etwa einen Codeschnipsel bitte geben, ich bin der, der aus Beispielen lernt, auch wenn es jetzt etwas zuviel verlangt ist. :|
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Do 05.06.08 17:05 
user profile iconBethsoftfan hat folgendes geschrieben:
Also, also vielleicht sollte ich mich mal einwenig mehr in C# einarbeiten, aber wo gibt es dazu etwas? Wie soll ich denn Karte1 erstellen? Wie soll ich überhaupt eine Class erstellen? Leider sind dazu die Antworten dünn gesäht.

Du erstellst die Instanz einer Klasse mittels des Konstruktors. Und von dünn gesäht kann eigentlich keine Rede sein, es gibt immerhin ein ganzes Buch online und kostenlos zu C#: Suche bei Google OPENBOOK VISUAL C#

user profile iconBethsoftfan hat folgendes geschrieben:
Könntest du mir nur in etwa einen Codeschnipsel bitte geben, ich bin der, der aus Beispielen lernt, auch wenn es jetzt etwas zuviel verlangt ist. :|
Schau einfach in dem Buch mal nach, wie man mit Klassen arbeitet. Das Aufrufen eines Konstruktors dürfte extremst weit am Anfang stehen ;-)

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Bethsoftfan Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44

Win XP, Linux OpenSuSE 10.3 mit Compiz Fusion :cool:
Delphi 2007 Prof. Delphi 5
BeitragVerfasst: Do 05.06.08 17:19 
Ok, danke!

daran hatte ich nicht gedacht, die meisten E-Books kosten etwas dachte ich.

Edit : Wäre also nichts weiter nötig, das initalisiern in Karte(...) umzubennen?
Edit2: doch nicht.

Edit3: Jetzt läufts! Jetzt verstehe ich alles! Jetzt habe ich zum ersten mal den Debugger benutzt, das war zu Delphizeiten nicht nötig :D .


Welchen Status soll ich GraphicsAdapter adapter zuweisen? Einen constructor gibt es da nicht.

Ok alles geschnallt und alles funzt! :D