Перейти к содержанию
Fire Monkey от А до Я

Brovin Yaroslav

Администраторы
  • Постов

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

  • Посещение

  • Победитель дней

    390

Весь контент Brovin Yaroslav

  1. Неправильная выбранная частота отрисовки. Проблема вашего примера в том, что вы используете совершенно не нужную частоту обновления кадра - 100 кадров в секунду. Частота съёмки в современном телевидении составляет порядка 24-30 кадра в секунду (Википедия). При большей частоте кадра человеческий глаз не сможет физически отличить 24 кадра от например 100 кадров в секунду. Поэтому в вашем случае достаточно для таймера использовать например 30-40 милисекунд, увеличив скорость изменения картинки в 3-4 раза. После этих изменений, я не вижу подтормаживаний. Как минимум этим вы увеличите скорость в 3-4 раза. Не нужно использовать изображения больше, чем того нужно, которые потом автоматически программным путем каждый раз сжимаются в несколько раз. Это опять же сказывается на производительности вашего приложения. Например в вашем случае, вы используете картинку размером 300х400, а сами в конечном итоге используете изображения только размером 50х50. P.S. FireMonkey не позиционируется, как игровой движок. Поэтому, если вы приняли решение все-таки сделать игру, игнорируя рекомендации, то вам придется очень детально обращать свое внимание на вопросы производительности: грамотное использование ресурсов, движение объектов, использования картинок и другие вопросы.
  2. В вашем случае вы создаете 5 изображений 50х50. Но при этом на самом деле туда копируете 5 изображений 300х400. Для использования в качестве спрайтов при частом обновлении (10 миллисекунд) такой подход не допустим. Попробуйте уменьшить размер изображения до реально используемого.
  3. Для хранения настроек приложения можно использовать обычный Ini файл, который работает на всех платформах одинаково. TIniFile - класс для работы с ini файлами. Руководство по использованию TIniFile: Using TIniFile and TMemIniFile
  4. Если картинка часто используется и она не большая, то лучше ее грузить в память. Операция загрузки картинки из файла дорогостоящая операция, особенно, когда она очень часто используется и изображение очень большое. В вашем случае картинка не большая, поэтому я бы лучше ее загрузил в память и потом использовал в нужных местах. Описание включения и использования своих файлов в пакет приложения доступно здесь: Включение своих файлов в приложение
  5. Повесить анимацию TFloatAnimation на свойство Opacity Установить длительность анимации в 500 мс. Duration = 0.5 Задать начальное и конечное значения в 0 и 1. StartValue = 0, StopValue = 1. И поставить галку TFloatANimation.AutoReverse для анимации. Ну и вызывать анимацию вручную в нужный момент времени. Перед каждым вызовом анимации задавать Inverse в True.
  6. Положение контрола по оси Z (направлена перпендикулярно плоскости монитора в направлении пользователя) регулируется порядком в списке дочерних объектов TFmxObject.Children. Первый контрол располагается дальше всего от пользователя, последний - ближе всего. Чтобы отобразить панель сверху среди объектов своего уровня нужно вызвать метод: TFmxObject.BringToFront Если же объект нужно расположить выше всех объектов формы, то нужно расположить объект по иерархии выше, например к форме и опять же вызывать BringToFront. Варианта с TopMost, как у формы, у контролов нет.
  7. FireMonkey позволяет работать со статус баром на уровне формы. Это значит, что каждая форма сама решает, нужно ли отображать системный статус бар или его следует скрыть. Чтобы скрыть системный статус бар на мобильных платформах, достаточно установить на форме BorderStyle = TFmxFormBorderStyle.bsNone При этом в дизайнере вы увидите, как на форме пропадет или появится статус бар. Любое другое значение BorderStyle приводит к отображению статус бара.
  8. Автор: Бровин Ярослав Тип лицензии: Open Source (MPL 2.0) Видео обзор: http://www.youtube.com/watch?v=bzEzOU3EWI4 FGX - Donate - QIWI: 4890 4941 7671 0929 Скачать: RAD Studio XE5 fgx_0.3.0.11.zip RAD Studio XE6 fgx_0.4.0.12.zip RAD Studio XE7 fgx_0.5.0.41.zip RAD Studio XE8 fgx_0.6.0.46.zip fgx_0.6.0.60.zip RAD Studio XE10 (RX) fgx_0.7.0.69.zip fgx_0.7.1.74.zip RAD Studio R101 (Berlin) fgx_0.7.1.112.zip , fgx_0.7.1.114.zip , fgx_0.7.1.118.zip fgx_0.6.0.46.zip fgx_0.6.0.60.zip fgx_0.7.0.69.zip fgx_0.7.1.74.zip
  9. Кроссплатформенный генератор отчетов с широчайшими возможностями для Apple Mac OS X и Microsoft Windows. Совместим с Embarcadero RAD Studio XE2. Генератор отчетов FastReport FMX — первое кросс-платформенное решение для внедрения Business Intelligence в программное обеспечение на базе среды разработки Embarcadero FireMonkey (Delphi для MS Windows и Apple Mac OS X). Автор: Fast Reports Inc Тип лицензии: Commercial Ссылка: http://www.fast-report.com/ru/product/fast-report-fmx/ Скачать: URL
  10. Библиотека распознавания букв на изображениях для FireMonkey от компании WinSoft. Автор: WinSoft Тип лицензии: коммерческая Ссылка: http://www.winsoft.sk/focr.htm Скачать Trial: EXE
  11. Прочитайте еще раз внимательно мой ответ. Платформы не поддерживают этого на уровне API. Галерея - это стандартное приложение и для него нет апи, позволяющее использовать это приложение для множественного выбора картинок. Увы, только ручками с нуля.
  12. В текущей версии RAD Studio XE5 нету. Но не исключено, что такой компонент может появиться в ближайшем будущем.
  13. Есть такое дело. Поэтому как временное решение: Используете дизайнер стилей на обычной форме Потом сохраняете готовый стиль в файл Загружается стиль из файла в TStyleBook в дата модуле.
  14. В FireMonkey нету готового механизма для этого. Есть только вариант с выбором одной фотографии из галереи при помощи стандартных действий: TTakePhotoFromLibraryAction или TTakePhotoFromCameraAction. Так же самое и в iOS API или Android API не предоставляет ничего готового для этого. Только вариант с выбором одного изображения. Поэтому если вам такой вариант нужен, то вам следует реализовать его самостоятельно для всех платформ: Достать все изображения из системной галереи изображений: На iOS, используя AssetManager, и на Андроиде, используя - MediaStore. Создать на FireMonkey специальное окно для выбора изображений. Написать стандартное действие для TAсtionList, завернув всю логику по выбору изображения в это действие.
  15. Добрый вечер Браузер определяет кодировку страницы на основании специального тэга в разметки страницы при помощи атрибута "charset". Если кодировка не указана, то обычно берет текущую системную. Важно знать платформу, на которой у вас возникает такое некорректное поведение. Нужно проверить этот же сайт в стандартном браузере устройства. Если проблема наблюдается и в штатном браузере, то проблема на стороне самого устройства. Обязательно приложите снимок экрана, чтобы было полностью было понятно. Кодировку нельзя задать в TWebBrowser, потому что ее так же нельзя указать системными средствами самих платформ. И как я уже сказал в пункте (1) кодировка определяется самим сайтом. Если же проблема появляется, значит нужно проверить региональные настройки вашего телефона и искать причину в самом аппарате. Проверил вашу ссылку в браузере FireMonkey TWebBrowser, и у меня во всех случаях на iPhone 5, iOS iPhone Simulator и Nexus 4 страница отображается корректно:
  16. Можно с использованием дата модуля. Делаем так: 1. Создаем в проекте TDataModule File->New->Other->DelphiFiles->Data Module. 2. Кидаем на дата модуль стиль бук TStyleBook и загружаем туда нужный стиль: 3. Открываем остальные формы, и в interface секции модуля в uses добавляем наш дата модуль. 4. Указываем в свойстве формы StyleBook = DataModuleStyle.StyleBook1 Обратите внимание, если вы не подключите в uses дата модуль, то в выпадающем списке не будет варианта указать стильбук с дата модуля. 5. Меняем порядок создания форм. Дата модуль со стилем обязательно должен создаваться раньше мест использования. P.S. В дизайнере стилей в дата модуле не доступны контролы FireMonkey, поэтому для создания стиля используйте дизайнер стилей на обычной форме, затем сохраните ваш стиль в файл и загрузите его в стиль бук в дата модуле.
  17. Добрый день, В TSpeedButton нету функции встраивания изображения. Однако, в аналогичной теме: Как добавить изображение на кнопку SpeedButton? Я рассказал, как добавить такую поддержку и интегрировать это решение с TImageList, основанные на TStyleBook. Так же в моей статье прикреплены исходники этой кнопки. (правда они были сделаны для XE3-4. Так что возможно нужно будет в uses поменять юниты) К TAction сомневаюсь. Так как тут нужен общий подход для всех контролов. Как вариант, вы можете сделать свой наследник TAсtion с поддержкой выбора картинки из TStyleBook, но потом, все равно для всех контролов, которые будут использовать картинки, нужно будет добавлять эту поддержку вручную. Спасибо
  18. За постоянное нарушение этих правил пользователь может быть забанен, в том числе по адресу IP.Если тема оформлена не правильно, то она будет закрыта. 1. Общие правила Перед тем как создать тему по вашему вопросу, воспользуйтесь поиском по форуму. Форум рассчитан на консультирования применения FireMonkey, решения прикладных задач с использованием FireMonkey. Запрещено публиковать найденные ошибки. Для публикации и решения вопросов ошибок FMX существует специальный ресурс Embarcadero Quality Central. Запрещается обсуждение вопросов не связанных с разработкой и FireMonkey Запрещается использовать нецензурные выражения в тексте и заголовке сообщений 2. Создание темы Одна тема — один вопрос. Два вопроса в одной теме задавать запрещено. Запрещено создавать несколько тем для одного вопроса. Тема должна быть размещена в наиболее подходящем для нее по смыслу разделе. Если такового не имеется, то размещать тему на свое усмотрение. 2.1 Каким должен быть заголовок темы? Вопрос должен быть сформулирован в заголовке темы. Заголовок темы должен содержать не менее 4 слов. Заголовок темы должен формулировать вопрос как можно подробнее. 2.2. Каким должен быть текст вопроса? Текст вопроса нужно начать с указания используемой версии RAD Studio, Версии ОС и модель устройства (если речь идет о мобильной разработке) Текст темы должен максимально подробно описывать суть вопроса. Текст темы должен по возможности содержать иллюстрации. Иллюстрации должны быть не от балды, а иллюстрировать текущее состояние вопроса: то есть, наглядно показывать факт существования описанного поведения. Если ваш вопрос касается конкретного случая разработки, нужно прикрепить проект (только исходные коды в zip архиве) к сообщению. Вставляя код в текст темы, позаботьтесь о том, чтобы он соответствовал стандарту «Руководство по оформлению кода на Pascal» (это можно сделать, при помощи средств автоматического форматирования кода, которые есть в RAD Studio Edit -> Format Source или Ctrl + D), а также не забудьте использовать тег «Код» при оформлении кода в сообщении. 3. Ответы в темы Задавать свой вопрос в чужой теме можно только в случае если ваш вопрос совпадает с вопросом в теме. Отвечать можно на любые темы. При ответе старайтесь подробно описывать решение вопроса. Избегайте лишних сообщений не касающихся решения вопроса.
  19. Прежде чем задавать подобный "вопрос", нужно прежде задать себе другой вопрос: "что я могу понять из этого описания?". Все подобные вопросы, заканчивающиеся только вопросом: "У меня в программе ошибка?" рассматриваться на этом форуме не будут и будут закрыты или удалены. Уважайте труд и время других, кто будет читать это. Хотите помощи? Потратьте время на детальное пояснение проблемы, код который к этому приводит, исходники вашего кода, а лучше прикрепить пустой проект, содержащий минимум, необходимый для воспроизведения ошибки.
  20. Извиняюсь, с датой выхода перепутал. Если со своей стороны заведете в QC известные вам ошибки с внятным объяснением шагов для воспроизведения, я со своей стороны поспособствую, чтобы они были подтверждены и попали на исправление. Если их введете, киньте мне личным сообщением ссылки на них.
  21. После запуска приложения. В любом месте на форме запрашиваем класс канвы: Canvas.ClassName Далее по классу определяем канву: TCanvasD2D - Direct 2D (Win) TCanvasGdiPlus - GDI + (Win) TCanvasGpu - GPU (Все платормы) TCanvasQuartz - Quartz (iOS, OSX)
×
×
  • Создать...