on utilise les lanes au lieu des nodes
This commit is contained in:
parent
21e4d6a1db
commit
a6339aecba
26
Car.py
26
Car.py
@ -2,14 +2,36 @@ import sumolib
|
|||||||
import pygame as pg
|
import pygame as pg
|
||||||
|
|
||||||
class Car:
|
class Car:
|
||||||
|
def initPath(self):
|
||||||
|
startEdge=self.map.getEdge(self.route[self.index])
|
||||||
|
nextEdge=self.map.getEdge(self.route[self.index+1])
|
||||||
|
|
||||||
|
inverted=not (startEdge.getToNode()==nextEdge.getFromNode() or startEdge.getToNode()==nextEdge.getToNode)
|
||||||
|
|
||||||
|
laneId=0 if inverted else 1
|
||||||
|
self.laneShape=startEdge.getLane(laneId).getShape()
|
||||||
|
if(inverted):
|
||||||
|
self.laneShape.reverse()
|
||||||
|
|
||||||
def __init__(self,carID,route,parentMap,surface):
|
def __init__(self,carID,route,parentMap,surface):
|
||||||
self.id=carID
|
self.id=carID
|
||||||
self.route=route
|
self.route=route
|
||||||
self.map=parentMap
|
self.map=parentMap
|
||||||
self.pos=self.map.getEdge(route[0]).getFromNode().getCoord()
|
self.index=0
|
||||||
|
|
||||||
|
startEdge=self.map.getEdge(route[0])
|
||||||
|
nextEdge=self.map.getEdge(route[1])
|
||||||
|
|
||||||
|
self.initPath()
|
||||||
|
|
||||||
|
self.pos=self.laneShape[0]
|
||||||
|
|
||||||
self.surf=surface
|
self.surf=surface
|
||||||
|
|
||||||
def draw(self):
|
def draw(self):
|
||||||
pg.draw.circle(self.surf,(255,0,0),self.map.convertPos(self.pos),5)
|
pg.draw.circle(self.surf,(255,0,0),self.map.convertPos(self.pos),5)
|
||||||
|
|
||||||
|
def update(self,dt):
|
||||||
|
lgt=self.v*dt
|
||||||
|
while(lgt>0):
|
||||||
|
pass
|
||||||
|
Loading…
x
Reference in New Issue
Block a user