Я типы объявлены как:Pascal передавая объект класса наследования к процедуре
TPlayer = class(TObject)
TBullet = class(TObject)
TEnemy = class(TObject)
и объекты:
Player: TPlayer;
PlayerBullets: Array[1..20] of TBullet;
Enemies: Array[1..20] of TEnemy;
EnemyBullets: Array[1..20] of TBullet;
Теперь я хочу, чтобы создать TBullet конструктор, который может обрабатывать информацию от игрока и Враги. Короче говоря, я хочу, чтобы этот конструктор обрабатывал объекты TPlayer и TEnemy.
Моя идея:
constructor TBullet.Create(const Source: TObject);
К сожалению, это не работает. Как это сделать?
EDIT: Моя конкретная проблема: когда я передаю объект TPlayer или TEnemy этому конструктору, он не видит атрибуты этих объектов. Например: TPlayer имеет attr xPos. Если я использую Bullet.Create (Player) и в TBullet.Create, я использую Source.xPos. Я получаю сообщение об ошибке.
В каком смысле это не работает? Вы можете передавать экземпляры любого класса в 'TBullet.Create'. Если вам нужна помощь, вам нужно будет приложить больше усилий, чтобы объяснить вашу проблему, что вы хотите достичь, что вы пытались и как это произошло. –