Zum Inhalt springen

Ein einfaches Punktesystem erstellen

💡 Haben Sie Probleme mit der Scratch-Block-Zusammenstellung? Wissen Sie nicht, wie Sie Code-Logik implementieren? 🚀 Jetzt Hilfe Erhalten

GM

GameMaker456

Posted on January 20, 2024 • Intermediate

🎮 Brauche Hilfe beim Punktesystem

Hallo zusammen! Ich arbeite an meinem ersten Spiel in Scratch, bei dem der Spieler Münzen sammelt und Feinde besiegt. Ich möchte ein Punktesystem hinzufügen, das:

  • Punkte erhöht beim Sammeln von Münzen
  • Punkte für das Besiegen von Feinden gibt
  • Die Punkte auf dem Bildschirm anzeigt

Ich bin noch ziemlich neu bei Variablen und Spielmechaniken. Jede Hilfe wäre sehr geschätzt! 🙏

SC

ScratchCoder_Pro

Replied 2 hours later • ⭐ Best Answer

Tolle Frage @GameMaker456! Punktesysteme sind super spaßig zu implementieren. Hier ist eine Schritt-für-Schritt-Anleitung, die dir helfen sollte:

🔧 Schritt 1: Die Punkte-Variable erstellen

Erstelle zuerst eine Variable namens Score und stelle sicher, dass sie auf “Für alle Figuren” gesetzt ist, damit sie überall zugänglich ist.

    when flag clicked
set [Score v] to [0]
  

💰 Schritt 2: Münzsammel-System

Für deine Münz-Figuren füge diesen Code hinzu:

    when flag clicked
forever
if <touching [Player v]?> then
change [Score v] by [10]
play sound [coin collect v]
hide
stop [this script v]
end
end
  

⚔️ Schritt 3: Feind-Besiegungs-System

Für Feind-Figuren wenn sie besiegt werden:

    // When enemy is defeated (example: when touched by player's attack)
when I receive [enemy defeated v]
change [Score v] by [50]
play sound [enemy defeat v]
hide
  

📺 Schritt 4: Punkte-Anzeige

Erstelle eine Text-Figur oder verwende die eingebaute Variablen-Anzeige:

Option A: Eingebaute Variablen-Anzeige

  • Rechtsklick auf die Score-Variable in der Variablen-Palette
  • Wähle “anzeigen” um sie auf der Bühne zu zeigen
  • Du kannst sie an die gewünschte Position ziehen

Option B: Benutzerdefinierte Punkte-Anzeige
Erstelle eine Text-Figur mit diesem Code:

    when flag clicked
forever
set [text v] to (join [Score: ] (Score))
go to x: [-200] y: [150]
end
  

🚀 Schritt 5: Erweiterte Funktionen (Optional)

Wenn du es ausgefallener haben möchtest, hier sind einige coole Ergänzungen:

Combo-System:

    // Combo-Multiplikator hinzufügen
when flag clicked
set [Combo v] to [1]
set [Combo Timer v] to [0]

forever
if <(Combo Timer) > [0]> then
change [Combo Timer v] by [-1]
else
set [Combo v] to [1]
end
end

// When collecting items
when I receive [item collected v]
change [Score v] by ((base points) * (Combo))
change [Combo v] by [1]
set [Combo Timer v] to [180] // 3 seconds at 60 FPS
  

Höchstpunktestand-System:

    when flag clicked
if <(Score) > (High Score)> then
set [High Score v] to (Score)
broadcast [new high score v]
end
  

Ich hoffe, das hilft! Lass mich wissen, wenn du Klarstellung zu irgendeinem Teil brauchst! 😊

GM

GameMaker456

Replied 30 minutes later

@ScratchCoder_Pro Das ist fantastisch! Vielen Dank! 🎉

Ich habe das grundlegende Punktesystem perfekt zum Laufen gebracht. Eine kurze Frage - wie kann ich die Punkteanzeige schöner gestalten? Im Moment zeigt sie nur die reine Zahl.

UI

UIDesigner_Sarah

Replied 1 hour later

@GameMaker456 Tolle Frage! Hier ist, wie man große Zahlen schön formatiert:

    // Custom block: format score
define format score (number)
if <(number) > [999999]> then
set [formatted score v] to (join (round ((number) / [1000000])) [M])
else
if <(number) > [999]> then
set [formatted score v] to (join (round ((number) / [1000])) [K])
else
set [formatted score v] to (number)
end
end
  

Das zeigt “1.2K” anstatt “1200” und “2.5M” anstatt “2500000”. Viel sauberer! ✨

GT

GameTutor_Mike

Replied 2 hours later

Ich liebe es zu sehen, wie Anfänger sich an Spielmechaniken heranwagen! 🎮 Hier sind einige Profi-Tipps, um dein Punktesystem noch besser zu machen:

  • Verschiedene Punktwerte: Gib verschiedenen Gegenständen unterschiedliche Punktwerte basierend auf der Schwierigkeit sie zu sammeln
  • Bonus-Punkte: Füge Zeitboni oder Boni für perfekte Vervollständigung hinzu
  • Punkte-Feedback: Zeige schwebenden Text an, wenn Punkte verdient werden
  • Höchstpunkte speichern: Verwende Cloud-Variablen, um Höchstpunkte online zu speichern

Experimentiere weiter und hab Spaß dabei!

VB

Vibelf_Community

Pinned Message • Moderator

🚀 Willst du deine Spielentwicklung auf das nächste Level bringen?

Tolle Diskussion, alle zusammen! Für diejenigen, die noch fortgeschrittenere Punktesysteme erstellen möchten, kann unsere Community dir dabei helfen, Folgendes zu implementieren:

  • 🏆 Bestenlisten
  • 🎖️ Erfolgs-Systeme
  • 🧮 Komplexe Punkte-Algorithmen
  • 🔓 Punkte-basierte Freischaltungen

📚 Verwandte Diskussionen

Bereit, deine Spielentwicklungsfähigkeiten auf das nächste Level zu bringen? Hol dir persönliche Anleitung von unseren Experten-Tutoren in der Vibelf-App!