Я начинаю использовать Haxe. После выполнения всех настроек я должен быть готов к работе, но когда я запускаю любой проект, он открывает Flash Player с пустым экраном. Ни прелоадера, ни текста, только экран любого цвета, указанного в Project.xml.

Я потратил день на поиски решения, но пока не повезло.

  • Я дважды проверил, что все обновлено.

  • Я запустил проект из нескольких IDE и командной строки.

  • Я пробовал запускать свои собственные проекты, демонстрации, HelloWorld и т. Д.

  • Другие проекты Flash работают нормально. У меня эта проблема только с проектами Haxe.

Все дает один и тот же результат: пустой Flash Player.

Потратив столько времени на поиски решения, я почти уверен, что это должно быть что-то чрезвычайно глупое, что я не замечаю.

Вот Project.xml:

<?xml version="1.0" encoding="utf-8"?>
<app title="HelloWorld" file="HelloWorld" main="Main" version="0.0.1" company="HaxeFlixel" />

<!--The flixel preloader is not accurate in Chrome. You can use it regularly if you embed the swf into a html file
<!--or you can set the actual size of your file manually at "FlxPreloaderBase-onUpdate-bytesTotal"!-->
<app preloader="flixel.system.FlxPreloader" />

<!--Minimum without FLX_NO_GAMEPAD: 11.8, without FLX_NO_NATIVE_CURSOR: 11.2 -->
<set name="SWF_VERSION" value="11.8" />

<!--------------------------------WINDOW SETTINGS------------------------------->

<!--These window settings apply to all targets-->
<window width="640" height="480" fps="60" background="#000000" hardware="true" vsync="true" />

<!--Web-specific-->
<window if="web" orientation="portrait"  />

<!--Desktop-specific-->
<window if="desktop" orientation="landscape" fullscreen="false" resizable="true" />

<!--Mobile-specific-->
<window if="mobile" orientation="landscape" fullscreen="true" width="0" height="0" />

<!--------------------------------PATHS SETTINGS-------------------------------->

<set name="BUILD_DIR" value="export" />
<classpath name="source" />
<assets path="assets" />

<!--------------------------------LIBRARIES------------------------------------->

<haxelib name="flixel"/>

<!--In case you want to use the addons package-->
<!--haxelib name="flixel-addons" /-->

<!--In case you want to use the ui package-->
<!--haxelib name="flixel-ui"/-->

<!--In case you want to use nape with flixel-->
<!--haxelib name="nape" /-->

<!--------------------------------HAXEDEFINES----------------------------------->

<!--Enable the Flixel core recording system-->
<!--haxedef name="FLX_RECORD" /-->

<!--Disable the right and middle mouse buttons-->
<!--haxedef name="FLX_NO_MOUSE_ADVANCED" /-->

<!--Disable the Native cursor api for Flash target-->
<!--haxedef name="FLX_NO_NATIVE_CURSOR" /-->

<!--Optimise inputs, be careful you will get null errors if you don't use conditionals in your game-->
<!--haxedef name="FLX_NO_MOUSE" if="mobile" /-->
<!--haxedef name="FLX_NO_KEYBOARD" if="mobile" /-->
<!--haxedef name="FLX_NO_TOUCH" if="desktop" /-->
<!--haxedef name="FLX_NO_GAMEPAD" /-->

<!--Disable the Flixel core sound tray-->
<!--haxedef name="FLX_NO_SOUND_TRAY" /-->

<!--Disable the Flixel sound management code-->
<!--haxedef name="FLX_NO_SOUND_SYSTEM" /-->

<!--Disable the Flixel core focus lost screen-->
<!--haxedef name="FLX_NO_FOCUS_LOST_SCREEN" /-->

<!--Disable the Flixel core debugger. Automatically gets set whenever you compile in release mode!-->
<haxedef name="FLX_NO_DEBUG" unless="debug" />

<!--Enable this for Nape release builds for a serious peformance improvement-->
<haxedef name="NAPE_RELEASE_BUILD" unless="debug" />

<!--------------------------------CUSTOM---------------------------------------->

<!--Place custom nodes like icons here (higher priority to override the HaxeFlixel icon)-->

ИСПРАВЛЕНИЕ: В Windows был другой проигрыватель по умолчанию для файлов .swf. Я изменил это на правильную версию, и все работает нормально.

2
adamSrgnt 7 Июн 2014 в 16:28

3 ответа

Лучший ответ

Это вызвано несколькими причинами:

  1. FlashDevelop использует неправильный проигрыватель Flash.
  2. При вызове FlashDevelop проигрывателя Flash передается аргумент командной строки «/ c», который не нравится автономному проигрывателю Flash Player Projector.

Вот как заставить его работать:

  1. Загрузите отладчик содержимого проектора Flash Player со страницы https://www.adobe.com/support/ flashplayer / downloads.html. Обязательно установите версию отладчика . Это может немного сбивать с толку; в то время, когда я скачал, это была ссылка «для браузеров, совместимых с Netscape», хотя это и был автономный исполняемый файл. Я скачал файл flashplayer_14_sa_debug.exe . Поместите этот файл в удобное место.

  2. Там же, где вы сохранили проигрыватель отладки, создайте новый командный файл с именем play.bat и сделайте его содержимое, как показано ниже. Введите правильное имя исполняемого файла Flash Player Projector, если ваше отличается от flashplayer_14_sa_debug.exe (часть после %~dp0):

    @"%~dp0flashplayer_14_sa_debug.exe" "%2"
    
  3. В FlashDevelop мы скажем ему использовать play.bat в качестве проигрывателя Flash. В меню Инструменты выберите Настройки программы ... , затем выберите элемент FlashViewer в разделе Плагины . В правой части панели щелкните область пути Путь к внешнему проигрывателю , а затем нажмите кнопку с многоточием (...), чтобы найти игрока. Найдите файл play.bat , созданный на предыдущем шаге, затем нажмите кнопку Открыть . Затем Закройте диалоговое окно.

FlashViewer settings page

Теперь у вас должна быть возможность играть и отлаживать из FlashDevelop. Ключевым моментом является использование play.bat для удаления параметра «/ c», который FlashDevelop пытается передать проигрывателю Flash Player, что является причиной пустого экрана.

0
Chuck Batson 27 Июн 2014 в 21:51

Похоже, вы используете FlashDevelop.

Можете ли вы опубликовать содержимое вашего Project.xml и любых файлов сборки .hxml, которые у вас есть?

Вероятно, вы захотите использовать свой собственный файл compile.hxml, так как это позволит вам использовать больше параметров компиляции. Для этого перейдите в проект -> свойства -> включите «без вывода». Это полностью отключит компиляцию. Затем просто перейдите в командную строку build -> pre-build и вставьте "path \ to \ haxe \ haxe.exe" "path \ tohxml \ compile.hxml". Щелкните ОК. Всякий раз, когда вы компилируете, тестируете или запускаете, FlashDevelop будет использовать ваш hxml-файл. Вы даже можете редактировать свой hxml-файл в FlashDevelop.

0
theRemix 8 Июн 2014 в 09:13

Если вы используете обычную и старую версию Flash Player, а не версию отладчика, могут появиться пустые окна проигрывателя Flash. Если есть какое-то исключение, вы его не увидите.

Проверьте версию Flash Player и убедитесь, что вы тоже используете версию отладчика. Он должен быть 11.8+, чтобы поддерживать геймпады, собственные курсоры и т. Д.

Проверьте эту страницу на наличие последней версии и убедитесь, что вы загружаете Отладчик содержимого проектора для вашей ОС

0
Justo Delgado 18 Июн 2014 в 01:51