Воскресенье, 22 Декабря 2024, 16:32

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Импорт svg и fxg в проект на FlashDevelop
AndreyMust19Дата: Суббота, 13 Декабря 2014, 18:15 | Сообщение # 1
был не раз
Сейчас нет на сайте
Решил разобраться во флеше, касательно создания игры с векторными изображениями.
Поставил FlashDevelop, подключил Flex 4.6. Также поставил Flash Player 16 debug чтобы SWF через него открывался, а не через браузер.
Создал AS3-проект. Как мне импортировать в него svg или fxg? Весь инет облазил, ничего толком на этот вопрос не нашел.

Везде предлагаемый вариант
Код
[Embed(source = '../res/library.fxg', mimeType = "application/octet-stream")]
public var libClass:Class;
public var libImage:Bitmap = new libClass();

Не работает. В логе пишет
Цитата
[Fault] exception, information=TypeError: Error #1034: Type Coercion failed: cannot convert Main_libClass@2566041 to flash.display.Bitmap.


C svg-тоже самое. C png - без проблем, но он мне не нужен.
Картинку рисовал в Inkscape, экспортировал в fxg через плагин. Вот они:
library.svg
library.fxg

И посоветуйте какую-нибудь библиотеку для FlashDevelop. Везде пишут что флеш поддерживает векторные изображения, однако у всех библиотек, к-е я встречал - с этим проблемы.
И вообще расскажите - как именно вы пишете Flash-игры, какие программы используете и как. Интересует именно создание игр с векторной графикой и ее быстрым импортом из редактора в движок. Пиксельной и в обычных конструкторах предостаточно.
inventrixДата: Суббота, 13 Декабря 2014, 23:12 | Сообщение # 2
участник
Сейчас нет на сайте
Если рисуешь во adobe flash то проблем не будет, просто при создании символа экспортируй его в as3. И затем библиотеку с символами сохраняй в swc. И уже во flashDevelop нажимай на swc'шку ПКМ и выбирай add to library. И тогда используй изображения примерно так var spr:Sprite = new ИМЯ_СИМВОЛА();. Со звуками в принципе тоже самое. А вот с svg я как то не разобрался. Вроде как либа есть, погугли.

Добавлено (13 декабря 2014, 23:12)
---------------------------------------------
А вообще бери haxe, он круче.

AndreyMust19Дата: Суббота, 13 Декабря 2014, 23:56 | Сообщение # 3
был не раз
Сейчас нет на сайте
Цитата
Если рисуешь во adobe flash

Ты про adobe flash professional? Так это платная программа. А пробная версия работает всего 30 дней.
Цитата
при создании символа экспортируй его в as3

Не понял, как это может картинка в код превратиться? В as3 вроде код на as3 хранится, нет?
Цитата
И затем библиотеку с символами сохраняй в swc.

Боже как все сложно! Почему нельзя просто сохранить рисунок в файл, в скрипте написать что-то "ссылка = ЗагрузитьКартинку(путь_к_файлу)".
Цитата
А вот с svg я как то не разобрался. Вроде как либа есть, погугли.

В сети пишут что и так должно все работать:
Код
[Embed(source="logo.svg")]   
[Bindable]   
public var imgCls:Class;

Но только не работает.
Дайте хоть swc-файл какой-нибудь, попробую его загрузить.


Сообщение отредактировал AndreyMust19 - Воскресенье, 14 Декабря 2014, 00:08
inventrixДата: Воскресенье, 14 Декабря 2014, 01:03 | Сообщение # 4
участник
Сейчас нет на сайте
я тебе так бегло рассказал потому что сам рисую в inkscape, экспортирую в png. И уже png использую. Adobe flash professional пришлось воспользоваться только для импорта в swc звука, т.к. через as3 просто можно только mp3 грузить, как я понял. В общем гугли про создание символов и swc в adobe flash professional
AndreyMust19Дата: Воскресенье, 14 Декабря 2014, 14:48 | Сообщение # 5
был не раз
Сейчас нет на сайте
Цитата
я тебе так бегло рассказал потому что сам рисую в inkscape, экспортирую в png.

Какой тогда смысле рисовать в векторе, если вся это векторность в игре теряется? Рисуйте тогда в растровом редакторе, оперируя примитивами.
Не нужен мне adobe flash professional, слишком дорого. Я пока просто хочу познакомиться с флешем, сделать что-то простенькое. А тут такие грабли на каждом шагу. Неужели все это только ради того чтобы игра запускалась в браузере?

Добавлено (14 декабря 2014, 13:40)
---------------------------------------------
Нашел парсер в сети. Но он работает в svg только с путями.

Код
package  
{
  import flash.events.Event;
  import flash.display.Graphics;
  import flash.text.TextField;
  import flash.display.Sprite;
  import flash.utils.ByteArray;
   
  import com.zavoo.svg.SvgPaths;
  import com.zavoo.svg.SvgPath;

  [Frame(factoryClass="Preloader")]
  public class Main extends Sprite  
  {

   private var str:String;
    
   public function Main():void  
   {
    if (stage) init();
    else addEventListener(Event.ADDED_TO_STAGE, init);
   }

   [Embed(source = "assets/coloredtoucan.svg", mimeType = "application/octet-stream")]
   private const embedded_text:Class;
   private var text:String = new embedded_text();
    
   private var paths:SvgPaths;
   private var canvas:Sprite;
    
   private function init(e:Event = null):void  
   {
    removeEventListener(Event.ADDED_TO_STAGE, init);
    // entry point
    canvas = new Sprite();
    paths = new SvgPaths(text.toString());
    paths.drawToGraphics(canvas.graphics, 1, 10, 10);
    addChild(canvas);
   }

  }

}


Рисует попугая из примера к этому коду. На любых моих SVG - крашится.

Добавлено (14 декабря 2014, 14:48)
---------------------------------------------
Через два дня мучений наконец получилось.



Во-первых, скачал плагин для Inkscape для экспорта в fxg. Другая сторонняя прога для конвертации svg2fxg выдает совсем какой-то другой файл (не текстовой, а бинарный), не понятный флешу.
Во-вторых, чтобы картинка была доступна коду через import как класс, надо ее положить в ту же папку, откуда грузятся исходные файлы. Почти нигде об этом не сказано.
В-третьих, флеш не дружит с текстом, вставленным в svg. Флеш-плеер крашится. Его пришлось превратить в патчи.

Через [embed] не работает.

Сообщение отредактировал AndreyMust19 - Воскресенье, 14 Декабря 2014, 11:28
jamboskaДата: Вторник, 07 Апреля 2015, 16:09 | Сообщение # 6
частый гость
Сейчас нет на сайте
AndreyMust19, плагин можешь подсказать?

Добавлено (07 апреля 2015, 16:09)
---------------------------------------------
AndreyMust19, а все не надо. Его добавили в последнюю версию инскейпа


:))
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг