Jaaa men just precis.
Tillkalla en funktion i annan klass
Visa signatur
Hej.
Har skrivit detta:
public static void playThemeSound()
{
SoundPlayer playTwo = new SoundPlayer(@blablalbla....);
playTwo.Play();
playTwo.PlayLooping();
}
Den spelar lite musik... Sen har jag deklarerat en knapp i en annan klass vid namn :
protected override void Update(GameTime gametime)
Det är ett spel alltså.
Jag vill nu få över en slags playTwo.Stop(); metod i knapp klassen. Så att musiken stängs av när jag klickar.
Vet inte hur jag ska kunna deklarera playTwo.Stop(); i den klassen?
Kan väll inte ändra på namnet på Update klassen? om det är där skon klämmer alltså.
Tackar i förväg!
Jaaa men just precis.
Är rätt svårt att urskilja hur du har strukturerat ditt projekt. Så jag gissar nu lite bara:
Först och främst måste du hålla reda på din variabel playTwo. Du kan göra detta på två sätt. Antingen skapar du en klass som ser lite ut som denna:
public class ThemeSound {
private SoundPlayer sound;
public ThemedSound (string file) {
this.sound = new SoundPlayer(file);
}
// Fancy, fancy, saker.
public static CreateInstanceOfThemedSound () {
return new ThemeSound(@blablalbla....);
}
public void Play () {
this.sound.Play();
this.sound.PlayLooping();
}
public void Stop () {
this.sound.Stop();
}
}
Denna använder du sedan i din klass med Update; ThemeSound themedSound = new ThemedSound(@blablalbla....); eller ThemeSound themedSound = ThemedSound.CreateInstanceOfThemedSound();
Eller så delar du upp det som du själv vill.
Du hade också kunnat använda statiska klasser, med det blir inte lika snyggt i min mening.
public class ThemeSound {
public static void Play (SoundPlayer sound) {
sound.Play();
sound.PlayLooping();
}
public static void Stop (SoundPlayer sound) {
sound.Stop();
}
}
Men då måste du skapa och hålla reda på SoundPlayer i din klass med Update i.
Ta och sök lite efter “C# Classes”. Verkar vara en bra start: http://msdn.microsoft.com/en-us/library/vstudio/x9afc042.aspx
Spelnyheter från FZ
Copyright © 1999–2025 Geeks AB. Allt innehåll tillhör Geeks AB.
Citering är tillåten om källan anges.