![]() |
|
#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
|
|||
|
|||
![]() только под нужное разрешение придется переделать
![]() |