Nur Objekte aus einem Radius anzeigen lassen?
Übersicht
BlitzBasic
Beginners-Corner
ToastyBetreff: Nur Objekte aus einem Radius anzeigen lassen? |
Antworten mit Zitat |
|
|---|---|---|
|
Hi,
für ein kleines RPG schreibe ich jetzt die NPCs. Der Client soll alle 2 Sekunden abfragen, ob es NPCs im Umfeld von seiner Position gibt. Wie stelle ich das an? Forensuche hat nichts ergeben bzw. habe nach falschen Begriffen gesucht... Gruß Toasty |
||
|
@AMD Phenom BE X4 2,5Ghz(Overclocked 2,61Ghz); 4GB DDR2; 512MB nVidia GeForce 8400gs; Win7 Home Premium 64bit
Lua for President! |
||
|
|
ZaP |
Antworten mit Zitat |
|---|---|---|
Entweder Du nimmst EntityDistance , oder Du schreibst dir eine 2D Distanz Funktion, die sollte etwas schneller sein. Das ist einfache Mathematik |
||
| Starfare: Worklog, Website (download) | ||
Toasty |
Antworten mit Zitat |
|
|---|---|---|
| kannst du mir vielleicht einen Pseudo Code schreiben? | ||
|
@AMD Phenom BE X4 2,5Ghz(Overclocked 2,61Ghz); 4GB DDR2; 512MB nVidia GeForce 8400gs; Win7 Home Premium 64bit
Lua for President! |
||
|
|
Johannes´ |
Antworten mit Zitat |
|---|---|---|
|
Ich bin mir jetzt wirklich nicht sicher, ob ich dein Problem verstanden habe.
Scheitert es einfach an der Anzeige der NPCs im Radius? Oder brauchst du Netztwerk-Code? Machst du das überhaupt in 3D? Für einfache Radiusprüfung in 3D wäre es so (wenn du Types benutzt): Code: [AUSKLAPPEN] For n.npc=Each npc
If EntityDistance(spieler,n\modell)<=radius Then ShowEntity n\modell Else HideEntity n\modell EndIf Next Wobei das Hide- und Showentity ja nicht immer passend ist. |
||
|
|
Tennisball |
Antworten mit Zitat |
|---|---|---|
|
Und in 2D benutzt man einfach den Satz des Pythagoras:
Code: [AUSKLAPPEN] If Sqr((x2 - x1)^2 + (y2 - y1)^2) <= radius then ZeigeGegnerAn=True
mfg, Tennisball |
||
|
|
Ana |
Antworten mit Zitat |
|---|---|---|
| Für 2d sollte im allgemeinen ja auch einfach reichen, wenn du überprüfst, ob die x und y koordinaten >= 0 und <= bildschirmbreite/höhe sind. Außer du willst halt das sie erst später aufploppen | ||
|
Don't only practice your art,
but force your way into its secrets, for it and knowledge can raise human to divine |
||
Toasty |
Antworten mit Zitat |
|
|---|---|---|
|
@Tennisball:
Okay so einfach geht das Ich hab das jetzt mal so gemacht: Code: [AUSKLAPPEN] If NPC_x(i)<Int(t_x#)+NPC_PLAYER_VISIBLE_RADIUS And NPC_x(i)>Int(t_x#)-NPC_PLAYER_VISIBLE_RADIUS Then
If NPC_y(i)<Int(t_y#)+NPC_PLAYER_VISIBLE_RADIUS And NPC_y(i)>Int(t_y#)-NPC_PLAYER_VISIBLE_RADIUS Then Aber der Code ist 1.total unübersichtlich und ich denke mal dass der auch nicht funktioniert hätte... Gruß und danke Toasty |
||
|
@AMD Phenom BE X4 2,5Ghz(Overclocked 2,61Ghz); 4GB DDR2; 512MB nVidia GeForce 8400gs; Win7 Home Premium 64bit
Lua for President! |
||
Übersicht
BlitzBasic
Beginners-Corner
Powered by phpBB © 2001 - 2006, phpBB Group

