Не удается получить доступ к классу на другой вкладке в Processing.py - PullRequest
1 голос
/ 18 апреля 2019

Я пытаюсь создать класс с именем Rocket на вкладке с именем Rockets в Processing.py. Независимо от того, как я импортирую вкладку (import Rockets, from Rockets import *, import Rockets as R), я получаю:

AttributeError: у объекта 'module' нет атрибута 'Rocket'.

Я попытался поместить определение класса на той же вкладке, и оно отлично работает, поэтому я думаю, что это проблема импорта, но я не могу найти свою ошибку.

Основная вкладка:

import Rockets

w_width = 800
w_height = 900
r1 = Rocket(w_width/2, w_height-30)

def setup ():
    size(w_width, w_height)
    background(127)

def draw ():
    background(127)
    r1.show()

Rockets вкладка

class Rocket(object): #I'm not sure if i must put (object) or not, just saw that in tutorials 

    def __init__(self, x, y):
        self.x = x
        self.y = y
        self.hgt = 30
        self.wdt = 10


    def show (self):

        rectMode(CENTER)
        stroke(255)
        strokeWeight(2)
        fill(0, 127)
        rect(self.x, self.y, self.wdt, self.hgt)

1 Ответ

0 голосов
/ 18 апреля 2019

Пропустить базовый класс (object) в объявлении класса.Rocket на данный момент не наследуется ни от какого другого объекта (см. Наследование ).

class Rocket(object):
class Rocket:

И мы используем пространство имен Rockets (модуль):

import Rockets

w_width = 800
w_height = 900
r1 = Rockets.Rocket(w_width/2, w_height-30)

или используйте оператор импорта-из (см. Импорт * из пакета ):

from Rockets import *

w_width = 800
w_height = 900
r1 = Rocket(w_width/2, w_height-30)
...