"Blassheit" bei einem label in C-sharp
Also ich habe mir gerade ein Spiel ausgedacht, und wollte so eine Art Animation am Anfang, also;
ich bin relativ ratlos weil ich schon alle Eigenschaften durchgeguckt habe und mir kein weg einfällt, das irgendwie mit farbcodes, ohne 100 zeilen zu verbrauchen, umzusetzen.
C#
Vielen Dank schon im voraus,
derCreeper
private void Form1_Load (object sender, EventArgs e)
{
label1.Text = "Level 01";
System.Threading.Thread.Sleep(200);
int blassheit = 0;
while (blassheit != 50)
{
//Code zum Sichtbarkeit (um 2/100) geringer machen
label1.Refresh();
System.Threading.Thread.Sleep(5);
blassheit += 1;
}
}
ich bin relativ ratlos weil ich schon alle Eigenschaften durchgeguckt habe und mir kein weg einfällt, das irgendwie mit farbcodes, ohne 100 zeilen zu verbrauchen, umzusetzen.
C#
Vielen Dank schon im voraus,
derCreeper
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 350542
Url: https://administrator.de/contentid/350542
Ausgedruckt am: 25.11.2024 um 23:11 Uhr
5 Kommentare
Neuester Kommentar
Was du brauchst nennt sich "opacity" bzw. den "alpha"-channel.
In Deinem Fall (Opacity eines Labels), musst du mit der BackColor des Labels arbeiten:
Allerdings möchte ich anmerken, dass eine For-Schleife eingängier wäre als eine while-schleife. Und die while-schleife sollte auch nicht auf =! 255 prüfen sondern besser auf < 255
In Deinem Fall (Opacity eines Labels), musst du mit der BackColor des Labels arbeiten:
private void Form1_Load (object sender, EventArgs e)
{
label1.Text = "Level 01";
System.Threading.Thread.Sleep(200);
int blassheit = 0;
while (blassheit != 255)
{
// 255 Schritte mit je 5ms Abstand = 1,275 Sekunden
Color labelColor = Color.FromArgb(blassheit, Color.Black);
label1.BackColor = labelColor;
label1.Refresh();
System.Threading.Thread.Sleep(5);
blassheit += 1;
}
}
Allerdings möchte ich anmerken, dass eine For-Schleife eingängier wäre als eine while-schleife. Und die while-schleife sollte auch nicht auf =! 255 prüfen sondern besser auf < 255