![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Редактор карт в DelphiX [Delphi, DelphiX, Windows]
Аццкий_рыцарь:) © (2006-01-24 01:15:00)я наверное уже задолбал вас со своими тупыми и ламерскими вопросами :)
вот вопрос :)
Расскажите мне плиз как создавать редактор карт в DelphiX. Тоесть, как делается так что потом карта сохраняется в отдельный файл, а потом загружается?
Shirson (2006-02-01 06:00:00) [61]>Cash ©
Ну так закодь, покажи, просвети :)
Cash (2006-01-31 15:51:00) [62]Shirson © (31.01.06 13:34) [49]:
Р-р-р-р-р-р-р.... ты омегу не тронь! Идать мало про нее знаешь!
Незачем там через зад со скальпилем, там через парадный вход все тип-топ
делается. Ты просто не с того конца подошел!
Знамо бы что есть такое источник света и что такое нетрансформируемые
вершины знал бы как с ними работать.
(я на омеге много чему научился, и мне просто западло слушать и читать
всякую откровенную ерунду)
Зачем усложнение до логических переменных, пусть хард все за меня
делает, для этого же его создали! (речь не о винчестере)
Аццкий_рыцарь:) (30.01.06 19:55) [48]:
... И, видать трейсингу и дебагу необучен?
Другими словами делаем так:
- ставим где надо брейкпоинт и запускаем прогу.
- прога остановится на том брейк-е.
- через Ctrl+F5 добавляем просмотр переменной DxSpriteEngine1.DxDraw.
- после выполнения команды f.ReadComponentRes(...); смотрим, что у нас
с этим самым свойством, если его поле поменялось или (не дай F1 :) )
встало в nil, то в конце после f.free; надо заново установить поле DxDraw.
И все.
Shirson (2006-01-31 13:34:00) [63]
> Аццкий_рыцарь:) (30.01.06 15:37) [45]
> И ... тут идейка, а нельзя организовать освещение в 2Д проэкте,
> используя 3Д? Мне, например освещать надо файрболы, вот
> взять и к каждому из них прикреплять лампочку :) и глюков
> не должно быть :)
Да, можно. Говорил уже. И не раз. И говорил как :)
На месте fireball выводишь белый круг, у которого интенсивность белого гаснет от центра к краям. Выводишь при помощи команды drawadd. Сверху рисуешь fireball. Всё.
Cash © (30.01.06 16:35) [47]
Блин, вот на Omega...
Что на омега? Один фик, делать ты это будешь через наложение изображения с логическим OR. Причём на омеге это реализованно криво - прозрачность изображения не регулируется, при логических операциях.
Плюс дурная реализация поверхностей.
Сделай на омеге такое:
Есть картинка (статик). Есть ползунок, который регулирует "освещённость" картинки. Плавно. И есть крсор, который является omnilight и освещает небольшую область картинки.
Потом усложни задачу.
Есть звёздное небо (фон) и есть летающая тарелка. Ползунок регулирует уровень темноты вокруг (причём только на тарелку, звёздное небо на это забило). Курсор является фонариком. Который освещает только тарелку, а звзёдное небо - нет.
Просто ради прикола сделай.
Потом говори "вот на Omega..." :)
Аццкий_рыцарь:) (2006-01-30 19:55:00) [64]Мне просто обидно будет закидывать ДелфиХ, ведь уже столько в нем понял, да и игру уже до половины сделал:)
насчет процедуры, там вроде все нормально. Выделил первую строку Ф5 потом Ф8 нажал, нифига не выдало ошибки :) А когда загружается, то почему-то каретка компилятора останавливается на
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end
Cash (2006-01-30 16:35:00) [65]Блин, вот на Omega или Power Draw или DGL Dron-овском свет делается
в рас-два!
Потаму, что там все через 3D выводится.
А DelphiX в этом отношении: "р-р-р-р... Гав-.... Гав-Гав...."! :))
Cash (2006-01-30 16:20:00) [66]Аццкий_рыцарь:) (30.01.06 15:37) [45]:
Посмотри вторую страницу этой ветки.
Мне всетаки интересно где именно происходит эксеп.
И формат изобретать неохота... покачто.
Просто, если там будет все дело в том, в чем я думаю, то вопрос будет
решен быстрее.
А где этот "там", где 404 вылетает.
... освещение в 2Д проэкте, используя 3Д ...
Сомневаюсь, а мож у меня по этому вопросу знаний мало (по DirectDraw и свет)!
Аццкий_рыцарь:) (2006-01-30 15:37:00) [67]Там когда про объекты и анимацию ссылки нажисаешь - 404 ошибка нет страницы :(
Cash, так как там начет сохранения и загрузки массива?
И ... тут идейка, а нельзя организовать освещение в 2Д проэкте, используя 3Д? Мне, например освещать надо файрболы, вот взять и к каждому из них прикреплять лампочку :) и глюков не должно быть :)
Cash (2006-01-30 14:41:00) [68]На заметку Аццкому рыцарю:):
Хелп русский я так и не смог отправить, зато нашел такой вот сайтик.
Полазий там, я думаю, найдешь кучу для себя полезного!
http://www.citforum.ru/programming/delphi.shtml
особенно вот здесь:
http://www.citforum.ru/programming/digest/drx.shtml
P. S.: чуваки, хватит флудить ветку!
Кефир87 (2006-01-29 22:57:00) [69]grouzd[E]v, Не угадал 8)
grouzd[E]v (2006-01-29 21:42:00) [70]оффтоп
Кефир, сто пудов " Дело такое, у меня есть программа, но она закомпилированна..." =)))
блин, а я туда не попал. а добавьте меня а? я глупый вопрос придумаю =)
---
... we are walking on a thin line and you better avoid the risk ...
Cash (2006-01-29 21:00:00) [71]А я вот ни одной из своих не нашел! :(
А хочется! :)))
Кефир87 (2006-01-29 20:55:00) [72]
> Cash © (29.01.06 14:28) [28]
>
> Как это где то написанно было, перефразирую под ситуяцию:
>
> "Вечером перечитывал орешник...., мното думал!" :D :D :D
> Вот, нашел, на мой взгляд ничего:
> http://www.delphimaster.ru/cgi-bin/nuts.pl?&showpage=12
> // 3-я снизу запись
> http://www.delphimaster.ru/cgi-bin/nuts.pl?&showpage=13
> // 1-я и 2-я тоже снизу
>
> Аццкий_рыцарь:) (29.01.06 12:03) [24]:
> А когда exception вылезает именно?
> И где дебаггер ставит останов, внутри кода загрузки или
> где нибудь еще?
Пора признать, что одна из этих записей пренадлежит мне, только 3 или 4 года назад 8)) Хотя и нифига не стыдно!
Cash (2006-01-29 18:57:00) [73]Видать предки пришли! :)))))))
Cash (2006-01-29 15:00:00) [74]Аццкий_рыцарь:) (29.01.06 14:47) [34]:
А ты поставь BreakePoint (F5) на самой первой строчке процедуры загрузки и
потом проследи (с помощью F8) вся ли она без эксепов (exception) проходит.
А еще возми и через Ctrl+F5 добавь в просмотр свойство DxDraw у
DxSpriteEngine. У меня закралось сомнение, что надо в самом конце просо
сделать DxSpriteEngine1.DxDraw:=DxDraw1;
Аццкий_рыцарь:) (2006-01-29 14:56:00) [75]тэкс, сча попытаю счастья :) авось заработает :)
Cash (2006-01-29 14:53:00) [76]Аццкий_рыцарь:) (29.01.06 14:38) [29]:
На счет сохранения:
Возьми запись, примерно такую:
TObjRec = packed record
.... // сюда впиши нужные поля
end;
Потом сделай масив из этих эаписей.
Размер масива будет <к-во элементов>*Sizeof(TObjRec)
и потом используй цыкл с такой конструкцией:
f.write(ObjArray[i],SizeOf(TObjRec));
Для того, чтобы эти записи удачно считать надо сперва записать
сколько всего этих записей.
Аццкий_рыцарь:) (2006-01-29 14:52:00) [77]Cash, я-то на модеме, но родителей же нету дома, так что вишу сколько влезет :)
Насчет массива, ты бы не мог показать как массив этот в файл записать а потом считать?
Аццкий_рыцарь:) (2006-01-29 14:47:00) [78]Ответы на 28
exception вылазит когда кликаю на кнопки, но что обидно,что дебаггер не показывает на конкретную строку в коде, а останавливается на application.run
Cash (2006-01-29 14:45:00) [79]Аццкий_рыцарь:) (29.01.06 14:41) [31]:
Не, это просто для разрядки обстановки,
нашел прикольные штуки и решил поделиться!
Cash (2006-01-29 14:44:00) [80]Аццкий_рыцарь:) (29.01.06 14:38) [29]:
Ты же на модеме! Только отпишу, смотрую твой пост вперед встал! :)))
В общем именно так для данного случая и длается.
Так действительно проще будет.