Waypointsystem für Laufrouten von NPC's

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Freeman

Betreff: Waypointsystem für Laufrouten von NPC's

BeitragMo, Mai 24, 2004 19:01
Antworten mit Zitat
Benutzer-Profile anzeigen
ich sitz grad dran und überleg wie ich das mit den Laufrouten von NPC machen könnte, dabei ist mir eingefallen das es ja hier jemanden gibt der bei seinem CS2D sowas schon verwirklicht hat! Ja ich spreche hier natürlich DC ganz speziel an mir etwas zu helfen. Aber natürlich werden auch andre Hilfen akzeptiert ^^ .


Thx für euer Verständniss, Freeman
MacBook | MacOSX 10.5 | 80GB HDD | 1GB | BlitzMax 1.28

BladeRunner

Moderator

BeitragMo, Mai 24, 2004 19:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Du legst für jeden NPC eine Tabelle (array) an in welchem du die Abzulaufenden x+y koordinaten Speicherst. Wenn die Letzte Koordinate erreicht ist, entweder rückwärts durcharbeiten oder so anlegen dass er danach ohne probs zum ersten WP laufen kann.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

DC

Sieger des B2D Retro Wettbewerb / Aug 04

BeitragMo, Mai 24, 2004 19:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Über Waypoints eine Route ablaufen ist genau das gleiche Grundprinzip wie bei Pathfinding. Nur das du statt den Tiles die Waypoints durchgehen musst wodurch das ganze viel schneller wird (es sei denn du setzt tausende Waypoints Wink )
Schau dir mal TheShadows Tutorial dazu an:
http://www.blitzbase.de/artikel/path_1.htm (BladeRunner hat das Prinzip hier von schon kurz erläutert)
Core i5 4670K | 4 x 3,40 GHZ | 16 GB Ram | GeForce GTX 960 | HTC Vive | Win 10 Pro
www.UnrealSoftware.de | www.StrandedOnline.de | www.CS2D.com |
www.CarnageContest.com | www.Stranded3.com

Travis

BeitragMo, Mai 24, 2004 20:12
Antworten mit Zitat
Benutzer-Profile anzeigen
So könnte es funktionieren:

Code: [AUSKLAPPEN]

Graphics 800,600,16,2
SetBuffer BackBuffer()
SeedRnd MilliSecs()
AppTitle "Waypoint"

n = 10

Dim WayPointX(n)
Dim WayPointY(n)

For i = 1 To n
 WayPointX(i) = Rnd(800)
 WayPointY(i) = Rnd(600)
Next

Global PosX# = 400
Global PosY# = 300
Speed = 10
Global WP
Winkel = NextWayPoint()

Repeat
Cls

Text 0,0, winkel

For i = 1 To n
 Color 100,0,0: Oval WayPointX(i)-5, WayPointY(i)-5, 10, 10
 Color 255,255,255: Text WayPointX(i), WayPointY(i), i
 If i < WP Then Color 200,200,0: Oval WayPointX(i)-5, WayPointY(i)-5, 10, 10
Next

Color 0,0,150: Oval PosX-5, PosY-5, 10, 10

Color 0,100,0: Oval WayPointX(WP)-5, WayPointY(WP)-5, 10, 10


PosX = PosX + Cos(Winkel) * speed
PosY = PosY + Sin(Winkel) * speed

If Abs(WayPointX(WP) - PosX) =< Speed And Abs(WayPointY(WP) - PosY) =< Speed Then Winkel = NextWayPoint()

Flip
Until KeyHit(1)
End

Function NextWayPoint()
 WP = WP + 1
 If WP = 11 Then WP = 1
 Winkel# = (450 - ATan2((WayPointX(WP) - PosX), (WayPointY(WP) - PosY))) Mod 360
 Return Winkel#
End Function

www.funforge.org

Ich hasse WASD-Steuerung.

Man kann alles sagen, man muss es nur vernünftig begründen können.

Freeman

BeitragMo, Mai 24, 2004 21:04
Antworten mit Zitat
Benutzer-Profile anzeigen
danke leute, habt mir wie immer sehr geholfen!
MacBook | MacOSX 10.5 | 80GB HDD | 1GB | BlitzMax 1.28

Ironstorm

Erstklassiger Contest-Veranstalter

BeitragDi, Mai 25, 2004 12:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey DC!
Ich Checke dieses Tutorial voll net! Aber ich glaube ich bin zu dumm dazu! Embarassed
..:: blackbird design : blackbird photography : Futuro Verde : X-Commander ::..
MacBook | Intel Core 2 Duo 2,1 GHz | 2048 MB RAM | 80 GB HDD | Mac OS X 10.6.2 (Snow Leopard) | Adobe CS4 Design Premium

Jan_

Ehemaliger Admin

BeitragDi, Mai 25, 2004 13:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja.
between angels and insects

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group