![]() |
|
#1
|
|||
|
|||
![]() Допустим существует класс MyObject и его экземпляр MyObject1 с свойством Texture. А свойство Texture имеет ещё свойства(image, alpha). А image имеет функцию load('путь к картинке'). вопрос: как создать класс MyObject?(что бы можна в проге писать MyObject1.Texture.Image.Load('D:/picture.jpg/')
|
#2
|
|||
|
|||
![]() вопрос непонятен. Если у тебя уже есть класс и его экземпляр, то у тебя уже все есть. Если ты не знаешь как написать такой класс, то читай про аггрегацию. Собственно, там просто 2 класса и один вложен в другой.
|
#3
|
||||
|
||||
![]() Оставайтесь голодными... Оставайтесь безрассудными...
Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls; type TTexture = class(TObject) public Alpha: Integer; Image: TImage; constructor Create; destructor Destroy; override; end; TMyObject = class(TObject) public Texture: TTexture; constructor Create; destructor Destroy; override; end; TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} { TMyObject } constructor TMyObject.Create; begin Texture:=TTexture.Create; end; destructor TMyObject.Destroy; begin Texture.Free; inherited; end; { TTexture } constructor TTexture.Create; begin Image:=TImage.Create(nil); end; destructor TTexture.Destroy; begin Image.Free; inherited; end; { TForm1 } procedure TForm1.FormCreate(Sender: TObject); begin with TMyObject.Create do begin Texture.Alpha:=$ff; Texture.Image.Picture.LoadFromFile('d:\Картинки\Разное\apple.bmp'); end; end; end. Пишу программы за еду. __________________ |
#4
|
|||
|
|||
![]() Num lock, спасибо!
|