Types / führt nicht alle Einträge aus.
Übersicht

![]() |
DottakopfBetreff: Types / führt nicht alle Einträge aus. |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo Blitzer !
Ich habe hier ein kleines Problem mit meinem Editor. Ich möchte 2 Gleiche "ereigniss-felder" übereinander Setzten, welche dann 2 Kollisionen an verschiedenen Positionen Aufheben sollen. Oder anders erklärt: auf den tile koordinaten 7/4 udn 8/4 befinden sich 2 kollsionsfelder welche ich jeweils durch einen Schalter begehbar machen möchte. Ich möchte diese zwei schalter aber auf die gleiche Position setzten. Sozusagen Stacken. Diese Schalter sind in einem Typ gespeichtert. Mein Problem ist, dass er nur ein Kollisonsfeld aufgehoben und das andere Ignoriert wird. Anscheindend verlässt mein bb nach aktivierung des ersten schalters die typ schleife und kommt so nie zu dem Eintrag, an welchem der 2 Schalter abgearbeitet werden müsste. Aber irgendwie steh ich gerade auf da Leitung und sehe nicht warum er das macht. Hier der code bei dem Die schalter auf 0 (zu) und 1 (auf) gesetzt werden kurz was da passiert Prüfen ob spieler auf Schalter tile ist Wenn Bedingung zum Schalten erfüllt, dan die im typ gespeicherte Kollisonstileposition freigeben ausloesmode = gibt an wie der trigger aktiviert wird.. enter .. item was weis ich turnkolliwert = gibt an zu was für einem Zustand das zu bearbeitende objekt versetzt werden soll 1 or 0 müsst euch vll in eurem bb anschauen.. tut ma leid aber dieser part findet in einer echt dicken verschachtelung statt, daher so seltsam formartiert. Sry Code: [AUSKLAPPEN] If hx+map_offset_x/32 = trigger\trg_tx And hy+map_offset_y/32 = trigger\trg_ty And h_layer = trigger\trg_layer Then If KeyDown(28) Then trigger\trg_turnkolli_wert = trigger\trg_turnkolli_wert +1 If trigger\trg_turnkolli_wert > 1 Then trigger\trg_turnkolli_wert = 0 If trigger\trg_ausloesmode = 1 Then kollision_layer(trigger\trg_turnkolli_x,trigger\trg_turnkolli_y,trigger\trg_layer) = trigger\trg_turnkolli_wert Delay 150 ;:FlushKeys() End If End If Mach ich hier irgendwo n doofen fehler ? oder warum wird nach bearbeiten des ersten Schalters nicht danach der 2 Schalter durchgeackert ? mfg Dottakopf |
||
Rechtschreibfehler gelten der allgemeinen Belustigung! |
![]() |
ShadowJumper |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich glaub, solange du nur einen Codeschnipsel ohne Beschreibung der Variablen hergibst wird dir nur kaum jemand helfen können...
ich würd vorschlagen, schreib noch zu den wichtigsten Variablen (werden wohl alle aus dem Codeschnipsel sein) eine kurze Beschreibung, was sie beinhalten/wofür sie da sind ![]() |
||
Bilder kostenlos hosten
lest und weint: RAM - 512 MB; GrafikRAM - 32 MB; CPU - 800 MHz Ps: ... und weint (vor lachen) |
![]() |
Dottakopf |
![]() Antworten mit Zitat ![]() |
---|---|---|
hm ich dachte die namen erklären sich von selbst. Aber du könntest recht haben.
Also: hx hy h_layer Sind die positionsvariablen(x,y,layer) für meinen Test-Hero im Editor. Um die map kurz zu testen. Trigger\trg_tx , trg_ty , trg__layer..... bezieht sich auf die Position des Types. ( x, y, layer) trigger\trg_turnkolli_wert............... gibt an, ob die kollison auf 1 oder 0 gesetzt werden soll trigger\trg_ausloesmode................ gibt an wie der Schalter aktiviert werden soll... knopfdruck, Item, .... kollision_layer( x ,y, layer )........... Das ist mein kollsionslayer in dem alle Kollisionsfelder gespeichert werden. Naja und map_offset_x und map_offset_y sind ja nur fürs scrolling da. |
||
Rechtschreibfehler gelten der allgemeinen Belustigung! |
![]() |
ShadowJumper |
![]() Antworten mit Zitat ![]() |
---|---|---|
in dem Codeschnispel seh ich nirgends etwas, wie
Code: [AUSKLAPPEN] For trigger.trigger = Each trigger
(kann sein, dass dein Type nicht trigger heißt, dann sieht der Code entsprechend anders aus) wenn du das nicht im Code hast (sowie das dazugehörige Next^^), dann kann nur 1 Schalter funktionieren aber wenn das so wäre hättest du bestimmt geschrieben, dass 1 bestimmter nicht geht, oder? |
||
Bilder kostenlos hosten
lest und weint: RAM - 512 MB; GrafikRAM - 32 MB; CPU - 800 MHz Ps: ... und weint (vor lachen) |
![]() |
Dottakopf |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nein das ist alles korrekt. Es funktioniert ja eigentlich. Solang bis ich die typ felder übereinander baue.
Hm das problem ist, dass ganze läuft in einer select case abfrage.. und die hat in etwa 10 Einträge. Dieser Trigger wurde so gestaltet, dass er nicht nur als schalter eingesetzt werden kan... er kann alle anderen sachen die irgendwo in meinem Spiel sonst vorkommen zur laufzeit verändern. Irgendwie will er einfach nicht den 2ten eintrag bearbeiten. Aber warum ? es ist doch nirgends ein exit oder dergleichen.. mfg Dottakopf |
||
Rechtschreibfehler gelten der allgemeinen Belustigung! |
![]() |
ShadowJumper |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich glaub ich habs x)
wenn beide am selben Fleck sind und die Tastenabfrage in der For...Each Schleife ist kann es nicht funktionieren, weil beim 1. Durchlauf (1. Trigger) der Tastendruck verarbeitet wird und somit beim 2. Durchlauf (2.Trigger) nicht mehr da ist speichre am Besten in einer temporären Variable einen Wert (z.B. 1), wenn die Taste gedrückt wurde (vor der For...Each-Schleife) und nutze in der Schleife dann die Variable einen Tipp geb ich dir noch: mach aus: Code: [AUSKLAPPEN] trigger\trg_turnkolli_wert = trigger\trg_turnkolli_wert +1 If trigger\trg_turnkolli_wert > 1 Then trigger\trg_turnkolli_wert = 0 EndIf das: Code: [AUSKLAPPEN] trigger\trg_turnkolli_wert = trigger\trg_turnkolli_wert Xor 1 das erfüllt auch seinen Zweck und spart noch etwas Platz ![]() |
||
Bilder kostenlos hosten
lest und weint: RAM - 512 MB; GrafikRAM - 32 MB; CPU - 800 MHz Ps: ... und weint (vor lachen) |
![]() |
Dottakopf |
![]() Antworten mit Zitat ![]() |
---|---|---|
ahh du hast recht.. daran könnte es wirklich liegen ![]() Ich probier es dann nacher aus, hab jetzt erstmal kurz zu tun. Danke für eure bemühungen ! mfg Dottakopf |
||
Rechtschreibfehler gelten der allgemeinen Belustigung! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group