ja aber das ist doch eigentlich irrelevant.
bei EntityCollision(a,b) werden zwei entities auf collision geprüft, nur abhängig vom jeweiligen radius box etc. wenn man spieler eine radius zugewiesen hat, ist dieser eben kollisionshülle, oder eben eine box, etc. man gibt einfach nur sozusagen eine neue kollisionsform an.
und man prüft dann intern alles durch.
das praktisch gesehen für den anwender nur noch eine abfrage zwischen zwei entities notwendig wird.
weil man doch eh zwei entities prüft, also z.b. EntityCollision(welt, spieler) damit wäre das ergebis true oder false, und dann kann man ja entscheiden, was nach einer kollision geschehen soll.
welt wäre eben ein mesh und spieler hätte einen radius, aber dies wäre nur intern wichtig.
jede entity bekommt den standard mesh zugewiesen, oder eben etwas was man selbst festlegt(radius/box/etc.) und es wird einfach nur entity gegen entiy geprüft, da man ja eh unterschiedlich reagieren muss.
denn wir hatten mit schranz0r auch noch eine andere überlegung, wenn mann diese kollisionen wie bisher festlegt, dann mann man unterschiedliche parameter(box radius) etc. nicht in einen topf stecken, z.b. in eine gruppe metallische objekte, um dann einen klang abzuspielen, aber das geht ja nicht, wenn dort durcheinander box/radius etc. ist.
frag schranz0r notfalls nochmal, wir hatten uns das eigentlich ziemlich lange überlegt, bzw. es für einfacher befunden.
[edit] alternativ könnte man ja auch bei dem befehl ja noch einen parameter für die unterschiedlichen kollisionsarten angeben, aber erst bei der abfrage der kollision
http://www.blitzforum.de/help/Collisions als beispiel.
ist da insgesamt etwas einfach zu handhaben, aber ich denke die idee die schranzi und ich hatten, wäre schon vorteilhaft.
was ich meine ist...
// ------------------------------------------ //
//! Add collision request for the next EntityUpdateCollisions
//! calls.
// \param group_src - source group to test collisions against
// \param group_dest - destination group to test aginst
// \param collision_mode - 0=sphere-mesh, 1=box-mesh, 2=sphere-box
// \sa EntityUpdateCollisions, EntityClearCollisions, EntitySetGroup
es wird mit 0,1,2 EINE Kollisionsart festgelegt.
oder denk ich da jetzt zu umständlich?
wenn du das so, wie es jetzt ist für einfacher und vollständiger hältst, mach mal ein beispiel, was aussagekräftiger ist.
so müsste man ja immer gleiche objekte in eine gruppe packen, man könnte ja gegner mit radius und auch welche mit box haben, dann würde das so nicht funktionieren.
Kann man das nicht doch einfacher machen?
[editedit]
LOCAL ncol = EntityCollisionCount(juru)
FOR i = 1 TO ncol
IF EntityCollisionEntity(juru, EntityGetName$(i)) = level THEN collevel = 1
NEXT
IF collevel = 1
updown = 0.01
IF KEY(57) THEN updown=0.5
ELSE
updown=updown-0.02
ENDIF
colllevel=0
ziemlich kompliziert, oder?Ich mein, man muss ja eh hinterher noch festlegen was passieren soll.
nunja, vielleicht fällt dir ja noch was einfacheres ein...
oder red ma mit schranz0r, der hat auch gute ideen...