Problem beim Picken mehrerer Objekte (= Types)
Übersicht

![]() |
Black SpiderBetreff: Problem beim Picken mehrerer Objekte (= Types) |
![]() Antworten mit Zitat ![]() |
---|---|---|
So... also, Problem ist folgendes.
Meine Hühner (noch sind es Cubes) fliegen durch die gegend. Man kann sie mit dem Gewehr abschiessen, das Ganze funktioniert wunderbar mit Camerapick. Man kann allerdings auch eine Rakete abfeuern, und die soll -o wunder- auch mehrere Hühner treffen. Da schien mir Linepick die beste Lösung, doch wenn ich die Rakete in die Hühnerschar feuer, dann verschwindet nur ein Huhn, obwohl Linepick eigentlich alle picken müsste. Weiss einer wieso? Code: [AUSKLAPPEN] picked = LinePick(EntityX(rak\obj)-30,EntityY(rak\obj)-30,EntityZ(rak\obj)-30,EntityX(rak\obj)+30,EntityY(rak\obj)+30,EntityZ(rak\obj)+30,90)
;--- und im Update der Vögel dann wieder: --- If picked = g\obj Then FreeEntity g\obj Delete g DoScore(+10) End If ??? [/code] |
||
Coming soon:
http://img132.imageshack.us/im...im2ab6.gif |
![]() |
5k41 |
![]() Antworten mit Zitat ![]() |
---|---|---|
weil picked nur einen wert von einem Huhn annehmen kann ![]() Code: [AUSKLAPPEN] For g.huhn=Each huhn if linepick(blablabal)=g\obj then delete g.huhn next gibt bestimmt ne bessere lösung und weiss auch nicht ob das wirklich funktioniert... war nur sone idee |
||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Eventuell währe es besser dafür ql:EntityDistance zu nehmen. Den Explosionsort der Rakete dann mit jedem Huhn prüfen ob es innerhalb einer bestimmten Grenze liegt und wenn ja, weg mit dem Huhn. | ||
![]() |
tft |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo...
sollen denn die Hüner im Umkreis bei einem Treffer gleich mit Explodieren oder soll die Rakette alle Hüner killen die sich direkt hintereinander befinden? |
||
TFT
https://www.sourcemagic.ch Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!! |
![]() |
Black Spider |
![]() Antworten mit Zitat ![]() |
---|---|---|
öhm, die Rakete soll alle Hühner im Umkreis plattmachen.
Die Hühner sind verstreut und nicht direkt hinter- oder nebeneinander. Das Problem ist, das die Rakete ein Type ist, und ich kann ja net im Huhntype update nach der Position der Rakete fragen, das ist ja n anderer Type... oder geht das doch ? |
||
Coming soon:
http://img132.imageshack.us/im...im2ab6.gif |
![]() |
tft |
![]() Antworten mit Zitat ![]() |
---|---|---|
hi ...
du machst eine normale collisions erkennung. Rakete trifft Hun. Dannach suchst du ab der Detonations position mit EntityDistance()< Detonationsradius nach Hünern im umkreis. Frage... ist das eigentlich ein 2D oder 3D Game. |
||
TFT
https://www.sourcemagic.ch Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!! |
![]() |
Black Spider |
![]() Antworten mit Zitat ![]() |
---|---|---|
ist 3D,
aber das Problem ist, dass die Rakete ja nicht unbedingt ein Huhn trifft. Sie Explodiert nach einiger Zeit, und dafür ist sie ja auch da, um die Hühner platt zu machen, die zu weit weg sind fürs Gewehr, also kann ich die Rakete ja net direkt auf ein Huhn schiessen. Aber ich glaub ich mach da jetzt was mit nem Pivot. also, ungefähr so (kann ma einer schnell drübergucken und mir sagen ob es bekloppt ist?): Code: [AUSKLAPPEN] Global blowPiv = CreatePivot() Global blowPivZeit = 0 If rak\zeit <= 0 Or Countcollisions(rak\obj)>= 1 Then ;bla bla bla, Partikelexplosion usw... PositionEntity blowPiv,EntityX(rak\obj),EntityY(rak\obj),EntityZ(rak\obj) blowPivZeit = 10 End If ;--- im Huhnupdate --- If EntityDistance(g\obj,blowPiv) < 5000 Then Geroestet_Runterfallen(g\obj) DoScore(+10) End If ;--- in einer Funktion die den BlowPiv updated --- If blowPivZeit > 0 Then blowPivZeit = BlowPivZeit - 1 If blowPivZeit <= 0 Then PositionEntity blowPiv,0,-500000,0 ;damit kein Huhn in seine Reichweite kommt blowPivZeit = 0 End IF ??? |
||
Coming soon:
http://img132.imageshack.us/im...im2ab6.gif |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group