Deutsch
Forum

SetBackgroundAutoCollision(...)

 
Hallo zusammen,

momentan bietet ProSpeed in Sachen Hintergrundskollisionen ja noch nicht viel. Das soll sich aber ändern, mit:

SetBackgroundAutoCollision(H,M,F)

H ist das Spritehandle
M ist ein Handle auf eine Maskenbitmap, alle schwarzen Punkte hierin sind vom Sprite begehbar, alle anderen Farben bedeuten, das das Sprite hier nicht hergehen kann.
F ist ein Flag, welches bestimmt, was automatisch passiert, wenn das Sprite auf ein nicht-schwarzes Pixel in der Maskenbitmap stößt.
Flags sind mir bisher folgende eingefallen:

0 = keine AutoCollision
1 = Sprite bleibt stehen
2 = Sprite kehrt x-Achse um
3 = Sprite kehrt y-Achse um
4 = Sprite kehrt x und y-Achse um
5 = Sprite wird gelöscht (DeleteSprite)

Wenn euch noch andere wichtige Flags einfallen, wäre ich froh, wenn ihr sie hier postet. Mal sehen was euch noch sinnvolles einfällt...

Gruß, Frank
 
19.04.2004  
 



Hallo,

hier erste Ergebnisse...
Steuert die Biene durch das Labyrinth!

PacBiene.zip downloaden (32 KB)

Gruß, Frank
 
19.04.2004  
 



Hallo,

1 Flag erschien mir noch sinnvoll:

Das Sprite müßte versuchen sich weiter in die festgelegte Richtung zu bewegen. Heißt, das sich das Sprite z.B. an der Wand entlang bewegt wenn es auf eine senkrechte Wand trifft aber die Y-Bewegung des Sprites nach oben oder unten geht.

So könnte man rollende Steine die runter fallen oder ähnliches realisieren !

mfg Moritz
 
19.04.2004  
 



Hallo Moritz,

die festgelegte Richtung ist ja besetzt, d.h. dort ist doch ein Hinderniss !!! Wie soll ich denn feststellen, wohin das Sprite abbiegen soll ? Weißt du eine Lösung ?

Die Flags 2 und 3 haben beim Testen versagt. Dadurch entstanden Situationen, in der sich das Sprite immer tiefer in die Wand bohrte, ist nichts zu machen.

Flag 4 sieht aber genial aus, ich habe Bälle generiert, die durch ein chaotisches Felsensystem sehr realistisch herumgesprungen sind. Die Programmierung hieran ist noch nicht ganz abgeschlossen.

Flag 5 habe ich noch nicht begonnen, schön wäre es, wenn vor dem Löschen noch eine extra Animation ablaufen könnte, z.B. eine Explosion.

Gruß, Frank
 
19.04.2004  
 



Hallo,

kleines Beispiel:

Ein Sprite bewegt sich auf der X-Achse mit 2 Pixel, auf der Y-Achse mit 3. Jetzt trifft das Sprite auf einen waagerechten Boden ! Jetzt kann es sich nicht mehr auf der Y-Achse Fortbewegen weil die nächste Position ein Schwarzes Pixel ist. Jetzt müsstest du prüfen ob es sich aber noch auf der X-Achse bewegen kann, also 2 Pixel rechts prüfen ob es weiß ist. Wenn ja, bewegt sich das Sprite nach rechts. Das müßte bei jedem Durchlauf geprüft werden, wenn der Boden z.B. zuende ist bewegt sich das Sprite auch wieder nach unten.

So könnte man locker Grafiken, senkrechte oder runde Ebenen entlang rollen lassen.

weiß nicht genau ob ich das jetzt verständlich rübergebracht habe, hört sich aber theoretisch nicht sehr schwierig an

mfg Moritz
 
19.04.2004  
 



Hi Moritz!

Hatte schon verstanden, wie du das meinst.
Klar hört sich das theoretisch leicht an, ist es praktisch aber nicht...
Das Sprite müßte also immer eine Drang nach unten haben, wenn dort kein Hinderniss ist, richtig. Das kannst du aber nachher besser in Profan machen, in jeder Schleife setzt du per MoveSprite das Sprite wieder tief nach unten. Wenn dort ein Hinderniss ist, wird das Sprite dort nicht hingehen können. Die X Achse kannst du auch immer wieder nach rechts setzen. Das wird bei graden Wänden leicht zu machen sein, bei bergigen Landschaften auch. Nur bei Überhängen wir die ganze Sache versagen, das ist das Problem...
Na schaun mir mal, was sich machen läßt...

Gruß, Frank
 
19.04.2004  
 



Hi Frank,

dazu fällt mir das Thema Schwerkraft so gerade passend
ein. Stell dich doch mal auf einen Turm, Der Turm hat ein
überstehendes Dach. Halte einen Ball über das geländer und
lasse ihn los. Der Ball wird garantiert nicht nach OBEN
fliegen, sondern ehr nach unten fallen, also kann der Ball
auch nicht durch das Dach fliegen. Trift der Ball nun auf
ein Hinderniss, bei der Bewegung nach Unten, wird der Ball
nun nicht in X und Y Richtung komplett in den Himmel
zurückfliegen, sondern ehr versuchen, sich in die X Achste
weiterzubewegen, also nach Links oder Rechts rollen.
Vieleicht ist mit diesen Anhaltspunkt ja einiges einfacher.
 
19.04.2004  
 



Hallo Thorsten,

Ganz so weit geht SetBackAutoCollision() noch nicht. Immerhin gehen bisher ein Springball-Effekt (nur ohne Gravitation), 4 Rollball-Effekte (zu jeder Seite einer) und ein animiertes Delete des Sprites. Außerdem wird bei jeder Kollision ein Wave abgespielt, falls gewünscht.
Was in Zukunft noch kommt, steht noch in den Sternen.

Gruß, Frank
 
19.04.2004  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

3.373 Betrachtungen

Unbenanntvor 0 min.
iF08.07.2011

Themeninformationen

Dieses Thema hat 1 Teilnehmer:

unbekannt (8x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie