![]() |
|
|
#1
|
|||
|
|||
|
Название не очень соответсвует вопросу,пожалуйста кому не сложно опишите создание текстур в программе определённого размера и с помощью клавиш можно было всю карту передвигать,как бы это обьяснить вообщем нужно например взять какую нибудь текстурку в формате jpeg и розместить эти текстурки на весь экран программы и потом двигать можно было
|
|
#2
|
|||
|
|||
|
Это ты вообще откуда приплыл? Берём Image, суём туда текстуру (.bmp или подключи модуль JPEG). Потом в событии KeyDown формы (вроде так) пропишешь, if key = 'w' then //А здесь делай, чтоб координата текстуры (не помню, как называется, открой книгу и посмотри) прибавлялись на значение k. k - подберёшь по ситуации.
Последний раз редактировалось DungeonLords, 26.01.2009 в 23:00. |
|
#3
|
|||
|
|||
|
Ага а теперь подумай 80 компонентов Image для создания текстур размером 128х128 на экран 1280х1024
Думаю должен быть способ получше созданием компонентов Имейдж с указанием координат |
|
#4
|
|||
|
|||
|
Эх.. нехотел тебе раньше писать в силу твоих познаний, короче:
если требуется столько изображений перемещать, то используй графическую библеотеку. Лучше всех будет OpenGL. Ну ещё как вариант работать напрямую с видеопамятью, но думаю это не грозит. |
|
#5
|
|||
|
|||
|
Код:
var px, py : byte; img : array [0..80] of TImage; begin For px := 0 to 10 do For py := 0 to 8 do begin img[(px*10+py)].Create(self); img[(px*10+py)].Picture.Graphic := Image1.picture.graphic; img[(px*10+py)].Left := px*128; img[(px*10+py)].Top := py*128; end; Лучше учить OpenGL и DirectX! Т.к. мерцает все! |
|
#6
|
||||
|
||||
|
Вы о чем говорите, человек канву не разу не видел похоже а вы ему про OpenGL и тем более DirectX.
Пусть с канвой разберется. Ему нужно наверно что-то вроде редактора карты. Так? |
|
#7
|
|||
|
|||
|
Цитата:
После того, как я создал первые танчики я всё никак не мог сообразить (а интернета не было), почему мерцает. Оказалось канва, чтоб её. Так вот пусть изучает OpenGL (ну или ещё чего), когда то надо начать. |
|
#8
|
|||
|
|||
|
да не видел я не канву не ОпенГЛ не Директ,чему научился просым компонентам и немного операторов
а вот насчёт мне нужен не редактор карт ,а просто замостить картинками размером 128на128 весь экран и в нужных местах нужную текстуру будет создана как карта Цитата:
спасибо попробуем А да и вопрос может легче двумерный массив? Последний раз редактировалось Mr.KLOP, 27.01.2009 в 15:38. |
|
#9
|
|||
|
|||
|
вот сделал по примеру ,но что не так не пойму
http://rapidshare.com/files/190153770/Project.rar Последний раз редактировалось Mr.KLOP, 27.01.2009 в 16:45. |
|
#10
|
|||
|
|||
|
Так и не работает потому что ты сделал по примеру, а он кривой.
Ой нет, погодите, тут что-то нитак! Последний раз редактировалось DungeonLords, 27.01.2009 в 21:23. |
|
#11
|
|||
|
|||
|
Так некто не скажет в чём проблема?
|
|
#12
|
|||
|
|||
|
ну для начала не
Код:
img[(px*10+py)].Create(self); а Код:
img[(px*10+py)] :=Timage.create(self); в цикле 1 begin'a end'a не хватает, и он должен быть от 0 до 9 и от 0 до 7 соответственно |
|
#13
|
|||
|
|||
|
Последний раз редактировалось Mr.KLOP, 28.01.2009 в 23:20. |
|
#14
|
|||
|
|||
|
вот ваш код на 81 картинку
Код:
procedure TForm1.FormActivate(Sender: TObject);
var
px, py : byte;
img : array [0..80] of TImage;
begin
For px := 0 to 7 do begin
For py := 0 to 7 do
begin
img[(px*10+py)]:=timage.Create(Form1);
img[(px*10+py)].Parent:=form1;
img[(px*10+py)].Left:=px*128;
img[(px*10+py)].Top:=py*128;
img[(px*10+py)].Width:=128;
img[(px*10+py)].Height:=128;
img[(px*10+py)].Picture.LoadFromFile('Image\1.jpg');
end;
end;
end; |
|
#15
|
|||
|
|||
|
только под нужное разрешение придется переделать
![]() |