HideEntity + Variable

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

dreamfile

Betreff: HideEntity + Variable

BeitragMi, Nov 29, 2006 0:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Guten Abend,

mir ist leider kein anderer Titel eingefallen der mein Problem beschreibt.

Ich habe
Code: [AUSKLAPPEN]

cp1=CreateCube()
EntityType cp1,4

die kommen x mal vor und werden Durchnummeriert beginnent mit 1.
zb. cp1...,cp2...,cp3...usw. alle besitzen den Type 4.

Der Player trifft immer zuerst auf cp1..., das ist sichergestellt.

Jetzt möchte ich in der Hauptschleife die (cp`s) abräumen und zählen.
Dazu habe ich mir folgendes gedacht:

Code: [AUSKLAPPEN]

namefuer_cp$="cp"+zaehlen

If EntityCollided( player,4 )
   zaehlen=+1
   HideEntity namefuer_cp
EndIf


Jedesmal wenn der Player auf den Type (4) trifft soll eins hochgezählt
werden und an den Namen (cp) gefügt werden.
Die Variable (namefuer_cp) spuckt auch "cp1" aus aber ich bekomme
einen Memory fehler angezeigt. Ich schätze mal es liegt an dem Befehl:

Code: [AUSKLAPPEN]

HideEntity namefuer_cp


Kann man eine Variable an HideEntity hängen ???

Danke schonmal
Sascha
Der Neue
 

Dreamora

BeitragMi, Nov 29, 2006 0:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein HideEntity erwartet den EntityHandle den du von CreateXY oder LoadXY zurück erhälst.
Aber den Handle kannst du mit den Kollisionsfunktionen raus bekommen Smile
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

PSY

BeitragMi, Nov 29, 2006 1:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Hoi,

mit Code: [AUSKLAPPEN]
namefuer_cp$="cp"+zaehlen
erreichst du lediglich, dass in namefuer_cp$ der STRING "cp1" gespeichert ist, nicht aber die identität des cubes.

der befehl entitycollided hat doch einen rückgabewert (und zwar die identität des objektes, welches mit dem ausgewählten objekt kollidiert ist)...benutz den doch einfach mit hideentity

l8er,
psy

(edit) tjo...dreamora hat die antwort laut timestamp einen tag vor mir gepostet Wink
  • Zuletzt bearbeitet von PSY am Mi, Nov 29, 2006 1:02, insgesamt einmal bearbeitet

D2006

Administrator

BeitragMi, Nov 29, 2006 1:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Du solltest dir mal in entsprechenden Tutorials "Arrays" bzw. "Felder" und deren Bedeutung anschauen. Zum Beispiel hier.
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2
 

dreamfile

BeitragMi, Nov 29, 2006 2:42
Antworten mit Zitat
Benutzer-Profile anzeigen
PSY hat Folgendes geschrieben:
der befehl entitycollided hat doch einen rückgabewert (und zwar die identität des objektes, welches mit dem ausgewählten objekt kollidiert ist)...benutz den doch einfach mit hideentity


Da liegt ja das Problem, ich habe schon Versuche mit:
Code: [AUSKLAPPEN]

col=CountCollisions(player)
     For i=1 To col
      Text 000,i*20,"Entity="+CollisionEntity(player,i)
      Text 150,i*20,"Surface="+CollisionSurface(player,i)
      Text 300,i*20,"Triangle="+CollisionTriangle(player,i)
   Next

und
Code: [AUSKLAPPEN]

cpname=EntityCollided(player,4)


Es gibt auch eine Ausgabe in Form vieler Zahlen aber wie verbinde
ich das mit dem zu löschenden Entity (cp1).
Es bleibt die If Abfrage, wenn - dann lösche cp1 .
Vieleicht sitze ich schon zulange dran.

DANKE FÜR EURE HILFE

Sascha
Der Neue

PSY

BeitragMi, Nov 29, 2006 14:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
cpname=EntityCollided(player,4)
if cpname<>0 then hideentity cpname
 

dreamfile

BeitragMi, Nov 29, 2006 14:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke PSY

so habe ich es auch versucht, da man herausbekommt ob 0 oder grösser,
nur würde das nur den ersten löschen oder alle cp`s.
Ich habe es jetzt anders gelöst, ich werde die cp`s begrenzen und je
nach Bedingung einzeln schreiben lassen. Somit weiss ich von vorne
wieviele cp`s es sind.

DANKE FÜR EURE HILFE !!!

Sascha
Der Neue

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group