Ja okay, danke erstmal, das ist der richtige Code, wollte eigentlich oben nur probieren das Problem zu beschreiben, aber gut.
erste Funktion:
Code: Alles auswählen
if self.cars_side_by_side_var1 == 1:
p.car_side1("moving_ad_car1", self.cars_spawn1, "ad_car1", self.var1[0])
if self.cars_side_by_side_var1 == 2:
p.car_side2("moving_ad_car1", self.cars_spawn1, "ad_car1", "moving_ad_car2", "ad_car2", self.var1[0])
if self.cars_side_by_side_var2 == 1:
p.car_side1("moving_ad_car11", self.cars_spawn3, "ad_car11", self.var1[1])
if self.cars_side_by_side_var2 == 2:
p.car_side2("moving_ad_car11", self.cars_spawn3, "ad_car11", "moving_ad_car12", "ad_car12", self.var1[1])
für erste Funktion noch p.car_side1 und p.car_side2:
Code: Alles auswählen
def car_side1(self, a, b, c, d):
a = pygame.Rect(random.choice(b), random.choice(g.car_lane), 220, 120)
c = p.image(random.choice(g.car_type))
c = pygame.transform.scale(c, (220, 120))
d = 1
def car_side2(self, a, b, c, d, e, f):
a = pygame.Rect(random.choice(b), random.choice(g.car_lane), 220, 120)
c = p.image(random.choice(g.car_type))
c = pygame.transform.scale(c, (220, 120))
d = pygame.Rect(random.choice(b), random.choice(g.car_lane), 220, 120)
while a.colliderect(d):
d = pygame.Rect(random.choice(b), random.choice(g.car_lane), 220, 120)
e = p.image(random.choice(g.car_type))
e = pygame.transform.scale(e, (220, 120))
f = 2
zweite Funktion, möchte mit den Variablen moving_ad_car und ad_car arbeiten:
Code: Alles auswählen
if self.var1[0] >= 1:
p.hitbox_crash(self.ad_car1, self.moving_ad_car1.x, self.moving_ad_car1.y, "hitbox11")
if self.var1[0] >= 1:
p.hitbox_crash(self.ad_car2, self.moving_ad_car2.x, self.moving_ad_car2.y, "hitbox12")
if self.var1[1] >= 1:
p.hitbox_crash(self.ad_car11, self.moving_ad_car11.x, self.moving_ad_car11.y, "hitbox13")
if self.var1[1] >= 1:
p.hitbox_crash(self.ad_car12, self.moving_ad_car12.x, self.moving_ad_car12.y, "hitbox14")
für zweite Funktion noch p.hitbox_crash:
Code: Alles auswählen
def hitbox_crash(self, a, b, c, d):
print(1)
g.WIN.blit(a, (b, c))
b -= g.VEL
d = pygame.Rect(b + 15, c , 190, 120)
if g.hitbox_main.colliderect(d):
g.crash_active = True
das ist der original Code, ich hoffe, es ist lesbar.
Die zweite Funktion soll halt ad_car und moving_car benutzen, die aber oben in einer anderen Funktion übertragen werden. dabei kommt genau der Fehler: 'Game' object has no attribute 'ad_car1'.
Game (Abgekürzt mit g) ist dabei die 1. Klasse und Pieces (Abgekürzt mit p) ist die 2. Klasse, für die ganzen Bauteile quasi.
Anmerkung: p.image() ist eine Funktion zum einfügen von Fotos