ProfilProfil
 Registrieren
 Login
Bild der WocheBild der Woche

(von Backslider)
Kommentare (0)
****

Weitere
User onlineBenutzer online
Gäste online: 3
Mitglieder online: Keine
Registrierte Mitglieder: 2116
Neustes Mitglied: onkel_keks

XNA und WinForms

Gehe zu Seite 1, 2, 3, 4, 5, 6  Weiter
Neue Antwort erstellen

Kommentare zu XNA und WinForms

Kommentare zum Artikel XNA und WinForms.
 

 

Autor Nachricht
 
 
Fansoftware
Gast





Antworten mit Zitat
BeitragVerfasst am: 10.08.2008, 00:10    Titel:

Das Tutorial ist nicht schlecht, jetzt habe ich aber kleines Problem,
wie kann ich den"pp.BackBufferWidth = backBufferWidth;" und
"pp.BackBufferHeight = backBufferHeight;" nachträglich ändern?

Habe es schon folgender Variante probiert:

Code:
            xna.deviceManager.graphicsDevice.PresentationParameters.BackBufferHeight = 500;
            xna.deviceManager.graphicsDevice.PresentationParameters.BackBufferHeight = 500;
            xna.deviceManager.graphicsDevice.Reset();

Stattdessen setz der aber die Werte, die zu beginn da waren und eine Change Methode gibt es ja leider nicht!


Das Problem ist, dass ich das WinForm Fenster größer mache und wenn dann die PictureBox auch größer wird sieht alles verzogen aus, stattdessen sollen aber mehr Grafiken zusehen sein.

Edit: Habe gerade gemerkt das ich da den total falschen Ansatz habe, hat ja was mit der Auflösung zu tuhen, da ich das ganze dann lang ziehe ändert sich die Auflösung ja nicht.
Nach oben


SteveKr
Administrator


Anmeldedatum: 08.04.2007
Beiträge: 1292
Wohnort: Hessen

Antworten mit Zitat
BeitragVerfasst am: 10.08.2008, 00:36    Titel:

Code:
PresentationParameters pp = graphicsDevice.PresentationParameters;

pp.BackBufferWidth = 500;
pp.BackBufferHeight = 500;

graphicsDevice.Reset(pp);

Dann werden die neuen Werte auch übernommen.

mfg SteveKr
_________________
Twitter
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen


abcdx1234
Member


Anmeldedatum: 05.09.2008
Beiträge: 121

Antworten mit Zitat
BeitragVerfasst am: 20.11.2008, 06:59    Titel:

Hi,

Ich hab ein Problem mit dem Laden der Grafik er kann meine Grafik nicht finden. Ich glaube das liegt daran, weil ich die Grafik als Verweiß hinzugefügt habe und nicht als Content. Allerdings exestiert bei meinem Windows Projekt natürlich kein Content. Was muss ich da machen?

Gruß Abcd
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden


FiR3WiR3
Member


Anmeldedatum: 15.10.2008
Beiträge: 217

Antworten mit Zitat
BeitragVerfasst am: 05.01.2009, 17:26    Titel:

habe genau das slebe problem ...
bitte helft mir
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden


chrische5
Member


Anmeldedatum: 10.11.2007
Beiträge: 1062

Antworten mit Zitat
BeitragVerfasst am: 05.01.2009, 17:53    Titel:

Hallo

1. es nervt, wenn man neue Probleme in alten Threads eröffnet.
2. Grafik zum Projekt hinzufügen
3. Eigenschaft der Grafik so einstellen, dass diese kopiert wird
4. Texture laden (Texture2D.FromFile)
5. dabei natürlich Pfad von der exe ausgehend angeben oder vollen Pfad (Application.StartUpPath + @"deinOrdner/deineGrafik.png")
6. freune

chrische
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden


FiR3WiR3
Member


Anmeldedatum: 15.10.2008
Beiträge: 217

Antworten mit Zitat
BeitragVerfasst am: 06.01.2009, 10:42    Titel:

1) okey verstanden
2) done
3) Immer Kopieren

Ab 4 sieht mein code so aus, habe ziemlich viel probiert schaffe es aber nicht:

Code:
    public partial class Form1 : Form
    {
        public XnaForms xna;
        public SpriteBatch spriteBatch;
        public Texture2D texture;

        public Form1()
        {
            InitializeComponent();

            xna = new XnaForms(pictureBox1.Handle, pictureBox1.Width, pictureBox1.Height);
            xna.Content.RootDirectory = "Content";
            texture = Texture2D.FromFile;
            xna.Content.Load<Texture2D>("atri");

            spriteBatch = new SpriteBatch(xna.GraphicsDevice);
        }
    }


zu 5) soll ich den Pfad im Code ändern, weil unter eigenschaften funktioniert es nicht

Außerdem zeigt er mir wenn ich Eigenschaften gucke diesen Pfad an:
Code:
\WindowsApplication1\WindowsApplication1\atri.png


obwohl die Datei unter
Code:
WindowsApplication1\WindowsApplication1\pics\atri.png

hinzugefügt wurde

----
edit:

Code:
    public partial class Form1 : Form
    {
        public XnaForms xna;
        public SpriteBatch spriteBatch;
        public Texture2D texture;
        public Form1()
        {
            InitializeComponent();

            xna = new XnaForms(pictureBox1.Handle, pictureBox1.Width, pictureBox1.Height);
            xna.Content.RootDirectory = "Content";
            texture = Texture2D.FromFile(Application.StartupPath + @"pics/atri.png");

            spriteBatch = new SpriteBatch(xna.GraphicsDevice);
        }
    }


Sieht doch besser aus, nur noch folgendes Problem:

Keine Überladung für die FromFile-Methode nimmt 1 Argumente an
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden


chrische5
Member


Anmeldedatum: 10.11.2007
Beiträge: 1062

Antworten mit Zitat
BeitragVerfasst am: 06.01.2009, 11:05    Titel:

Hallo

Der edit-Versuch sieht doch schon gut aus. Der Fehler ist doch eindeutig und du musst lernen so etwas mit Hilfe der MSDN oder google zu lösen, aber ich will dir mal helfen. Gehe mit der Maus auf "FromFile" und drücke F1. Nun kommst du zur Hilfe und siehst, welche Parameter die Methode erwartet. Alternativ kannst du auch bei google "Texture2D.FromFile" und schaust dir den ersten Treffer an.

Du brauchst noch einen GraphicsDevice zum Laden des Bildes.

chrische
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden


FiR3WiR3
Member


Anmeldedatum: 15.10.2008
Beiträge: 217

Antworten mit Zitat
BeitragVerfasst am: 06.01.2009, 11:24    Titel:

Code:
    public partial class Form1 : Form
    {
        public XnaForms xna;
        public SpriteBatch spriteBatch;
        public Texture2D texture;
        public GraphicsDevice graphicsDevice;
        public Form1()
        {
            InitializeComponent();

            xna = new XnaForms(pictureBox1.Handle, pictureBox1.Width, pictureBox1.Height);
            xna.Content.RootDirectory = "Content";
            texture = Texture2D.FromFile(graphicsDevice, Application.StartupPath + @"\atri.png");
            spriteBatch = new SpriteBatch(xna.GraphicsDevice);
        }
    }


Ach ne Twisted Evil
Code:
An unexpected error has occurred.


Aber die Datei
Code:
WindowsApplication1\WindowsApplication1\bin\Debug\atri.png
existiert ...

Jetzt bin ich Sprachlos


Zuletzt bearbeitet von FiR3WiR3 am 06.01.2009, 11:26, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden


chrische5
Member


Anmeldedatum: 10.11.2007
Beiträge: 1062

Antworten mit Zitat
BeitragVerfasst am: 06.01.2009, 11:26    Titel:

Hallo

Debuggen!!! Wo bekommst du den Fehler? Stimmen Dateipfad und übergebener Pfad überein? Ist GraphicsDevice != null,...

chrische
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden


FiR3WiR3
Member


Anmeldedatum: 15.10.2008
Beiträge: 217

Antworten mit Zitat
BeitragVerfasst am: 06.01.2009, 11:28    Titel:

Fehler komtm hier:
Code:
texture = Texture2D.FromFile(graphicsDevice, Application.StartupPath + @"\pics\atri.png");


Code:
[graphicsDevice][null]
--> Was bedeutet das?

edit: pfad is korrekt
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden


chrische5
Member


Anmeldedatum: 10.11.2007
Beiträge: 1062

Antworten mit Zitat
BeitragVerfasst am: 06.01.2009, 11:31    Titel:

Hallo

FiR3WiR3 hat Folgendes geschrieben:

Code:
[graphicsDevice][null]
--> Was bedeutet das?


Wo hast du das her? Ich habe das nicht so geschrieben.

chrische
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden


FiR3WiR3
Member


Anmeldedatum: 15.10.2008
Beiträge: 217

Antworten mit Zitat
BeitragVerfasst am: 06.01.2009, 11:32    Titel:

wenn ich F5 drücke:
markeirt er mri die zeile gelb und bei mouseover graphicsDevice, steht darunter graphicsDevice null

Code:
    public partial class Form1 : Form
    {
        public XnaForms xna;
        public SpriteBatch spriteBatch;
        public Texture2D texture;
        public GraphicsDevice graphicsDevice;
        public Form1()
        {
            InitializeComponent();

            xna = new XnaForms(pictureBox1.Handle, pictureBox1.Width, pictureBox1.Height);
            xna.Content.RootDirectory = "Content";
            texture = Texture2D.FromFile(graphicsDevice, Application.StartupPath + @"\pics\atri.png");
            spriteBatch = new SpriteBatch(xna.GraphicsDevice);
        }
    }

    public class DeviceManager : IGraphicsDeviceService
    {
        private GraphicsDevice graphicsDevice;


Hat es vl etwas mit dem private GraphicsDevice graphicsDevice zu tun?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden


chrische5
Member


Anmeldedatum: 10.11.2007
Beiträge: 1062

Antworten mit Zitat
BeitragVerfasst am: 06.01.2009, 11:36    Titel:

Hallo

Na da hast du doch den Fehler: GraphicsDevice ist null. Du musst es also vorher initialisieren.

chrische
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden


FiR3WiR3
Member


Anmeldedatum: 15.10.2008
Beiträge: 217

Antworten mit Zitat
BeitragVerfasst am: 06.01.2009, 13:24    Titel:

joa nua wo bzw wie initalisiere ich?

ich rufe ja die InitializeComponent(); auf

also muss ich mir die InitializeComponent() suchen (form1 desgienr glaub ich) nur ejtzt weis ich nicht mehr weiter?

normal doch:

Code:
graphicsDevice = new GraphicsDevice();


oder?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden


Beiträge der letzten Zeit anzeigen:   
 
Neue Antwort erstellen Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite 1, 2, 3, 4, 5, 6  Weiter
Seite 1 von 6

 
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de