Fansoftware Gast
|
Verfasst 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
|
Verfasst 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 |
|

|
abcdx1234 Member
Anmeldedatum: 05.09.2008 Beiträge: 121
|
Verfasst 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 |
|

|
FiR3WiR3 Member
Anmeldedatum: 15.10.2008 Beiträge: 217
|
Verfasst am: 05.01.2009, 17:26 Titel: |
|
habe genau das slebe problem ...
bitte helft mir |
|
| Nach oben |
|

|
chrische5 Member
Anmeldedatum: 10.11.2007 Beiträge: 1062
|
Verfasst 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 |
|

|
FiR3WiR3 Member
Anmeldedatum: 15.10.2008 Beiträge: 217
|
Verfasst 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 |
|

|
chrische5 Member
Anmeldedatum: 10.11.2007 Beiträge: 1062
|
Verfasst 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 |
|

|
FiR3WiR3 Member
Anmeldedatum: 15.10.2008 Beiträge: 217
|
Verfasst 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
| 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 |
|

|
chrische5 Member
Anmeldedatum: 10.11.2007 Beiträge: 1062
|
Verfasst 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 |
|

|
FiR3WiR3 Member
Anmeldedatum: 15.10.2008 Beiträge: 217
|
Verfasst 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 |
|

|
chrische5 Member
Anmeldedatum: 10.11.2007 Beiträge: 1062
|
Verfasst 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 |
|

|
FiR3WiR3 Member
Anmeldedatum: 15.10.2008 Beiträge: 217
|
Verfasst 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 |
|

|
chrische5 Member
Anmeldedatum: 10.11.2007 Beiträge: 1062
|
Verfasst 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 |
|

|
FiR3WiR3 Member
Anmeldedatum: 15.10.2008 Beiträge: 217
|
Verfasst 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 |
|

|
|