 
  
 | 
| Опубликовано 25.11.2006 07:58 (19 лет назад)    # | 
Писать решил на канве. 
Проинициализировал на апи форму, рисую на ней через BitBlt. Скорость стала в 2 раза больше, чем через Draw на статичной форме =) 
 
Готовы системы частиц. Все объекты представлю как элементы такой системы, соответственно избавлюсь от гравитационного гемора. 
 
Почти готова менюшка. | 
| 
 | 
 | 
 
 
  
 | 
| Опубликовано 25.11.2006 17:03 (19 лет назад)    # | 
| Да, менюшка - это главное и основное в игре! ^____^ | 
| 
 | 
 | 
 
 
  
 | 
| Опубликовано 25.11.2006 17:38 (19 лет назад)    # | 
| да лан те =) | 
| 
 | 
 | 
 
 
  
 | 
| Опубликовано 27.11.2006 19:38 (19 лет назад)    # | 
- Написанно 35-40% физики. 
- Объекты и Юниты представленны как частицы 
- загружается карта. 
- Качается Аниматрица %)
редакция от Dronishe, 27.11.2006 19:42  | 
| 
 | 
 | 
 
 
  
 | 
| Опубликовано 27.11.2006 20:09 (19 лет назад)    # | 
| Куда качается? Ех, реаниматрица по тебе плачет! ^___^ | 
| 
 | 
 | 
 
 
  
 | 
| Опубликовано 27.11.2006 21:29 (19 лет назад)    # | 
| Флудераст хренов :@ | 
| 
 | 
 | 
 
 
  
 | 
| Опубликовано 27.11.2006 22:09 (19 лет назад)    # | 
| Обнаружен злостный глюк.Объекты проваливаются сквозь землю. причём не всегда. ужоснах. надо лечить. | 
| 
 | 
 | 
 
 
  
 | 
| Опубликовано 28.11.2006 21:19 (19 лет назад)    # | 
| Готова аркадная физика и почти готова работа с картой. | 
| 
 | 
 | 
 
 
  
 | 
| Опубликовано 28.11.2006 22:17 (19 лет назад)    # | 
Как БЫСТРО скопировать массив? 
 
Т.Е. У меня есть: 
array1, array2: array of array of byte; 
 
Если я делаю так: 
Array1:=array2; 
или так: 
array1:=copy(array2,0,length(array2)-1); 
 
То при любом изменении array1, меняется и array2. 
А мне нужна полная копия как сомостоятельный массив. | 
| 
 | 
 | 
 
 
  
 | 
| Опубликовано 29.11.2006 05:40 (19 лет назад)    # | 
Что-то я видел про Move 
Move(array1[0], array2[0], Length(array2) - 1); Я сам точно не знаю, но помоему то 
 
Посмотрел: 
Там тотже Copy только на асме
редакция от CHASER, 29.11.2006 06:49  | 
| 
 | 
 | 
 
 
  
 | 
| Опубликовано 29.11.2006 06:15 (19 лет назад)    # | 
| Выделять не забываешь? | 
| 
 | 
 | 
 
 
  
 | 
| Опубликовано 29.11.2006 10:15 (19 лет назад)    # | 
SetLength(array1, length(array2)); 
for i := 0 to length(array2) do 
  array1[i] := array2[i];  
:) | 
| 
 | 
 | 
 
 
  
 | 
| Опубликовано 29.11.2006 14:54 (19 лет назад)    # | 
beisik, издеваешься, да? 
Всё равно не работает! Move не работает с динамичискими массивами! | 
| 
 | 
 | 
 
 
  
 | 
| Опубликовано 29.11.2006 15:45 (19 лет назад)    # | 
Протестил, надо так (и только так, другие параметры не пашут): 
Move(a, b, Length(a));  
Выполняется за 0 секунд)) 
Если я делаю так: 
Array1:=array2;  
Если так делать, то Array1 получит ссылку на втрой массив, что не приемлимо (т.к. при изменении в первом, их получит и второй)
редакция от CHASER, 29.11.2006 15:47  | 
| 
 | 
 | 
 
 
  
 | 
| Опубликовано 29.11.2006 16:41 (19 лет назад)    # | 
| Я это понял уже давно. И с Move, не дурак, разобрался. Но я ещё раз повторю, что  Move работает только со СТАТИЧЕСКИМИ массивами. В противном случае, он перекрывает область памяти в которой я храню битмапы. | 
| 
 | 
 | 
 
 
  
 | 
| Опубликовано 29.11.2006 17:07 (19 лет назад)    # | 
a2:=copy(a1, 0, Length(a1));  
всё работает на ура
редакция от Feo, 29.11.2006 17:08  | 
| 
 | 
 | 
 
 
  
 | 
| Опубликовано 29.11.2006 17:35 (19 лет назад)    # | 
| Я пробовал это.ю При изменении чего либо в  а2 меняется и а1 | 
| 
 | 
 | 
 
 
  
 | 
| Опубликовано 29.11.2006 18:50 (19 лет назад)    # | 
Dronishe написал: 
Я пробовал это.ю При изменении чего либо в  а2 меняется и а1  
что то ты прогоняешь, ничего нигде не меняется. | 
| 
 | 
 | 
 
 
  
 | 
| Опубликовано 29.11.2006 19:25 (19 лет назад)    # | 
| По моему кому-то нужно порыться в коде и поискать утечки памяти. ^__^ | 
| 
 | 
 | 
 
 
  
 | 
| Опубликовано 30.11.2006 05:13 (19 лет назад)    # | 
ShowMemoryLeaksOnShutdown:= true;  | 
| 
 | 
 |