Mars M

Пользователи
  • Публикации

    34
  • Зарегистрирован

  • Посещение

1 подписчик

О Mars M

  • Звание
    Продвинутый пользователь
  1. Спасибо, наверное возьму этот пример за основу
  2. Что никто не встречал подобного? Переношу один старый проект на FMX, оказалось сложней чем предполагал. Но отступать уже поздно Одна из проблем как раз отсутствие hex реактора. В принципе нужен даже не редактор а просмотрщик с минимальными возможностями редактирования.
  3. Вот тут есть пример где объект перемещается в позицию клика мыши.
  4. Такая проблема - есть ListBox, MultiSelectStyle выставлен в None. Вроде все нормально, но если выделить какой нибудь итем, потом правой кнопкой кликнуть по любому итему то выделенный итем так и останется выделенным, даже если выбрал уже другой. Это косяк листбокса или так и должно быть и как это обойти?
  5. Нужен компонент Hex редактора для FMX. Поиском ничего не нашел. Когда то бы прекрасный компонент TMPHexEditor, но сейчас найти подобное для FMX думаю не реально. Или может кто сам подобное делал и посоветует чего:
  6. Кинул на ScrollBox несколько TExpander, если у всех свойство isExpanded := True то все нормально. Если у какого выставить в false то с ним во время выполнения программы начинаются проблемы, может не раскрыться или исчезнуть заголовок. IDE Delphi Tokyo 10.2, в предыдущих версиях не проверял. Отрыл проект из папки samples, там у всех TExpander установлено true, если устанавливаю в false то тоже такая же проблема. Проблема только в Токио или во всех версиях так? PS: пока вышел из положения вот так. Выставил у всех isExpanded := True и в onCreate формы добавил for i := 0 to ComponentCount - 1 do if Components[i] is TExpander then TExpander(Components[i]).IsExpanded := False; Работает конечно, но в дальнейшем могут быть неудобства, нужно будет проверять какие нужны раскрыты а какие нет.
  7. denprox, твое желание сделать по проще понятно. Но нужно понимать что если ты делаешь проще для себя, то усложняешь все для пользователя Имхо, сделать свой редактор карт будет лучшей идеей, во первых ты будешь точно знать что потом будет загружаться в игру, во вторых упростишь все для пользователя, а это главное Редактор можно сделать примерно по такому принципу. Далее в игре На самом деле все проще чем кажется, к тому же убиваем еще одного зайца, код получается кроссплатформенным. Хотя тут утверждать не буду, на Токио у меня проекты под андроид не собираются а других девайсов нету
  8. Сделать так что бы были известны Создай что то типа редактора карт, где пользователь сможет выбрать текстуру, задать размеры и положение, потом сохранить все это в файл. А потом в игре отрывать его и будет известно все что нужно. Для примера, создать запись(record) type TMap = record Texture: string[255]; wallRect: TRectF; targetRect: TRectF; winRect: TRectF; RadArr: array[0..3] of Single; ClrArr: array[0..3] of TAlphaColor; end; Пользователь во время создания/редактирования карты заполняет его. ............... var Map: TMap; ............... Texture := 'wall.bmp'; wallRect := TRectF.Create(0, 0, 20, 50); ............... ............... Сохраняем в файл var mStream: TMemoryStream; begin mStream := TMemoryStream.Create; mStream.Write(Map, SizeOf(TMap)); mStream.SaveToFile('maps\tire.dat'); mStream.Free; end; В игре создаем точно такую же запись(record) как и в редакторе, загружаем сохраненный файл с параметрами и заполняем из него запись var mStream: TMemoryStream; Map: TMap; begin mStream := TMemoryStream.Create; mStream.LoadFromFile('maps\tire.dat'); mStream.Read(Map, SizeOf(TMap)); mStream.Free; end; В таком случае будут все нужные параметры известны, и примерно так же в играх и делают.
  9. Описание того что нужно как то расплывчато, но вот примерно так можно сделать. Всего один TImage который используется для отрисовки битмапов. Видео и проект Tire.rar
  10. Возможно эта ссылка тоже будет полезной http://www.partow.net/projects/fastgeo/
  11. Вот тут скорее всего как раз про это
  12. В общем свой вопрос решил. Вышеописанные функции удобны для работы с координатами. И подошли бы мне если бы нужно было перемещать саму модель, но в моем случае нужно работать только с камерой, а это значит что нужно постоянно учитывать ее положение. Короче слишком много математики для фичи которая будет только для того что бы была Но к счастью есть свойство ScreenBounds, которое все сделает за меня. Вот обновленный пример, по правой кнопке куб вписывается в окно, что мне и нужно. https://yadi.sk/d/KVJFHajd3J9ALD Projects.rar
  13. Есть такие функции LocalToAbsolute3D и AbsoluteToLocal3D С первой разобрался(пример), со второй тоже в принципе ясно. Осталось только разобраться как это применить PS: пример честно скопипастил отсюда у него там есть и другие интересные проекты. https://github.com/LUXOPHIA/Sketch3D Projects.rar
  14. Спасибо, гляну, может что и найду там Вот тут тогда тоже может быть то чего нету в примерах https://sourceforge.net/p/radstudiodemos/code/HEAD/tree/trunk/Object Pascal/
  15. Возможно название темы не правильно задал, но просто не понимаю сути вопроса Есть ViewPort3D, на нем TDummy, на котором рисую модель. Вопрос вот в чем, модель может быть как большая, так и маленькая, как мне вписать ее в размеры ViewPort3D? Разумеется все максимальные и минимальные координаты модели мне известны, но вот как их использовать не могу сообразить.