Player objectbegrenzung
Übersicht

DebbieDangerBetreff: Player objectbegrenzung |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi, ihr habt mir ja schon sehr geholfen, jetzt habe ich ncoh ne frage.
Ich habe eionen beweglichen player und ein object, in diesem fall ne lampe aber wenn der player (in vogelperspektive) auf die lampe trifft läuft er hindurch. Ich habe jetzt schon die kollision abgefragt: BlitzBasic: [AUSKLAPPEN] If ImagesCollide(player, plx, ply,animindex, lampe1, 200,200,0) Then Nun bei einem normalen randtest würde ich ihn jetzt aus der richtung aus der er gekommen ist wieder ein paar picel zurücksetzen. Aber er kann ja aus allen 8 richtungen auf das objekt treffen. Nun bin ich etwas hinterfragt, kann mir jemand nen denkanstoß geben? Danke schonmal. |
||
![]() |
diGGaGruppenKaspar |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] oldplx = plx oldply = ply If ImagesCollide(player, plx, ply,animindex, lampe1, 200,200,0) Then plx = oldplx ply = oldply EndIf denke das funzt abver nicht getestet |
||
Gestern Nacht Schlug der Regen an mein Fenster
Ich ging durch das dunkle Zimmer und glaubte im Licht der Straßenlampe Den Geist unseres jahrhunderts auf der Straße zu sehen Der uns sagte, daß wir alle am Rande des Abgrunds stehen. - Al Steward Athlon 64 3000+ / Radeon 9600 / 1024mb ddram |
hitokiri |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wie hast du denn genau die Playersteuerung geregelt ?
falls du für den player ein feld y speed und ein feld x speed hast dann ist das ganze relativ simpel: if imagescollide(blablabla) playerx= playerx-playerxspeed playery= playery-playeryspeed also du nimmst einfach den negativen wert der bewegung in x und y richtung. mal ein beispiel: spieler kommt von oben links. dann bewegt er sich in positive x und y richtung. also wäre dann playerx=playerx+playerxspeed. du nimmst dann einfach stattdessen playerx=playerx-playerxspeed wenn er kollidiert. |
||
![]() |
diGGaGruppenKaspar |
![]() Antworten mit Zitat ![]() |
---|---|---|
hitokiri hat Folgendes geschrieben: Wie hast du denn genau die Playersteuerung geregelt ?
falls du für den player ein feld y speed und ein feld x speed hast dann ist das ganze relativ simpel: if imagescollide(blablabla) playerx= playerx-playerxspeed playery= playery-playeryspeed also du nimmst einfach den negativen wert der bewegung in x und y richtung. mal ein beispiel: spieler kommt von oben links. dann bewegt er sich in positive x und y richtung. also wäre dann playerx=playerx+playerxspeed. du nimmst dann einfach stattdessen playerx=playerx-playerxspeed wenn er kollidiert. das geht nicht da er ja nich weiss aus welcher richtung er kommt. kommt er von unten dann gehts weiter rein |
||
Gestern Nacht Schlug der Regen an mein Fenster
Ich ging durch das dunkle Zimmer und glaubte im Licht der Straßenlampe Den Geist unseres jahrhunderts auf der Straße zu sehen Der uns sagte, daß wir alle am Rande des Abgrunds stehen. - Al Steward Athlon 64 3000+ / Radeon 9600 / 1024mb ddram |
hitokiri |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
no, weil er , wenn er von unten kommt, einen negativen "yspeed" hat, falls sie eben so ein feld benutzt. wenn sie dann "- yspeed" macht, das selber schon negativ ist, machts ein + draus und damit bewegt er sich zurück nach unten ![]() |
||
![]() |
diGGaGruppenKaspar |
![]() Antworten mit Zitat ![]() |
---|---|---|
wenn er das so macht ja ![]() |
||
Gestern Nacht Schlug der Regen an mein Fenster
Ich ging durch das dunkle Zimmer und glaubte im Licht der Straßenlampe Den Geist unseres jahrhunderts auf der Straße zu sehen Der uns sagte, daß wir alle am Rande des Abgrunds stehen. - Al Steward Athlon 64 3000+ / Radeon 9600 / 1024mb ddram |
DebbieDanger |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke für die rasche antwort, nein mein spieler läuft direct ohne beschleunigung, digga ich denke das müsste klappen, ich probiers mal.
Hm ich bretter immernoch durch die wand, bzw die lampe |
||
hitokiri |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
*kopfkratz* bist du sicher, dass du in der kollisionsabfrage das richtige handle, also die richtige variable für das bild der lampe angegeben hast ? müsste eigentlich wirklich so klappen, ist vielleicht ein tippfehler | ||
DebbieDanger |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also wenn ich dich richtig verstehe hito meinst du das bei der kollisioonsabfrage was nicht stimmt, aber ich habe einen test, bei mir wird ein bild eingeblendet wenn dich spieler und lampe berühren, und das funktioniert ja auch prima, nur kann ich das bild-den spieler - nicht vom überqueren der lampe abhalten. | ||
![]() |
Alfadur |
![]() Antworten mit Zitat ![]() |
---|---|---|
sag mal mehr zur steuerung... kann sich dein spieler in 360° bewegen? also machste die bewegung mit sin und cos? tilebasierte karte?? ein paar mehr infos brauche ich noch .-) | ||
A Cray is the only computer that runs an endless loop in less than four hours. |
suberror |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
gelöscht | ||
- Zuletzt bearbeitet von suberror am Sa, Mai 06, 2017 16:28, insgesamt 2-mal bearbeitet
DebbieDanger |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ok danke das versuche ich mal, verdammt ich komme wohl um types nicht rum hehe.
Bis später. |
||
![]() |
diGGaGruppenKaspar |
![]() Antworten mit Zitat ![]() |
---|---|---|
is das nich das gleiche was ich oben geschrieben habe?! | ||
Gestern Nacht Schlug der Regen an mein Fenster
Ich ging durch das dunkle Zimmer und glaubte im Licht der Straßenlampe Den Geist unseres jahrhunderts auf der Straße zu sehen Der uns sagte, daß wir alle am Rande des Abgrunds stehen. - Al Steward Athlon 64 3000+ / Radeon 9600 / 1024mb ddram |
suberror |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
gelöscht | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group