Sprite auf Bildschirm verteilen ...
Übersicht

BlackCatBetreff: Sprite auf Bildschirm verteilen ... |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo ![]() Hab da ein Problem (wer haette das gedacht ![]() Ich moechte ein Sprite mehrmals auf den Bildschirm zeichnen... Hab hab den Sprite wunderbar mit LoadAnimImage geladen, nur wenn ich ihn mehrmals auf den Bildschirm zeichnen will bleibt er immer nur an einer Stelle. Wie kann man dieses Problem effezient (!) loesen... |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ohne Code nix los.
Für jedes Zeichnen andere Koordinaten verwenden. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Willst du 2D Sachen zeichnen mit 3D Unterstützung, oder 3D Objekte im 3D Raum zeichnen.
Also: Wird es ein 2D-Spiel oder ein 3D-Spiel? |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
BlackCat |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
nix da 3D - davon hab ich ja ueberhaupt keinen Plan ![]() Hier die Main-Loop mit allen Variablendeklarationen: Code: [AUSKLAPPEN] Dim quallex(20)
Dim qualley(20) netz = LoadImage("netz.png") MaskImage netz, 253, 253, 253 back = LoadImage("background.png") qualle = LoadAnimImage("qualletest.png", 100, 120, 0, 4) MaskImage qualle, 16, 128, 248 MausX = MouseX() MausY = MouseY() newtime = CreateTimer(60) frame = 0 qualle_time = MilliSecs() For i = 1 To 10 SeedRnd(MilliSecs()) quallex(i) = Rand(1, 573) SeedRnd(MilliSecs()) qualley(i) = Rand(1, 411) Next summen = LoadSound("summen.wav") LoopSound summen channel2 = PlaySound(summen) Repeat WaitTimer(newtime) Cls MausX = MouseX() MausY = MouseY() If MausX > 573 Then MausX = 573 If MausY > 411 Then MausY = 411 If qualle_time + 300 < MilliSecs() Then qualle_time = MilliSecs() frame = frame + 1 EndIf DrawBlock back, 0, 0 DrawImage netz, MausX, MausY For i = 1 To 10 DrawImage qualle, quallex(i), qualley(i), frame Mod 4 Next Flip Until KeyDown(1) |
||
Fredko |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wenn du eine Variable erstellst,hat sie den Wert 0, bzw. ""
Nun willst du mehrere Quallen malen, dass heißt mehrere Werte. Ich seh aber nicht, wo die Quallen XY Position in der Hauptschleife verändert wird, also sind ALLE XY Positionen 0, oder anders, du malst sie 20 mal auf der selben Stelle ![]() |
||
! |
BlackCat |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Fredkostudio hat Folgendes geschrieben: Wenn du eine Variable erstellst,hat sie den Wert 0, bzw. ""
Nun willst du mehrere Quallen malen, dass heißt mehrere Werte. Ich seh aber nicht, wo die Quallen XY Position in der Hauptschleife verändert wird, also sind ALLE XY Positionen 0, oder anders, du malst sie 20 mal auf der selben Stelle ![]() Verstehe ich nicht ... Ich setze die Koordinaten doch ... (mittels einer Schleife in ein Array) Code: [AUSKLAPPEN] For i = 1 To 10
SeedRnd(MilliSecs()) quallex(i) = Rand(1, 573) SeedRnd(MilliSecs()) qualley(i) = Rand(1, 411) Next jeweils 10 x und y- koordinate einer qualle werden gesetzt, per zufall. somit habe ich dann 10 Quallenpositionen. In der Main-Loop male ich sie dann durch eine for-schleife: Code: [AUSKLAPPEN] For i = 1 To 10
DrawImage qualle, quallex(i), qualley(i), frame Mod 4 Next jetzt muesste der bildschirm voller quallen sein .. ist er aber nicht, denn es erscheint immer nur eine .... wo ist der fehler? |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
SeedRnd() nur am Anfang des Codes ausführen! Die winzige Schleife packt dein Rechner in weniger als 1 ms was dazu führt, das der Startwert für die Zufallsberechnung immer gleich ist und daher auch immer die gleiche Zahl liefert. | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
BlackCat |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hab verstanden + es funktioniert jetz
Dankeschoen ![]() |
||
BlackCat |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
also ich hab da ein weiteres Problem und komme einfach nicht weiter ... wenn ich die 10 Zufallskoordinaten erstelle und dann kommt es oefter fuer, dass zwei (oder mehr) Quallen koollidieren ... ich will das aber nicht... wie kann ich das verhindern?
Habs schon mit ImagesCollide versucht aber ich krieg das einfach nicht hin ... Kann mir jemand helfen? |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group