|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
ну а там с привлечением байт кода или ЯВА?
типа сформировать свф и чем-то разобрать на запчасти? есть такие утилитки? я уже придумал извращённый способ, но он всё таки требует ручную работу. хотелось бы максимально автоматизировать |
|
|||||
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
|
|||||
Отлично! то что нужно!
парсит так: [SWF] Header: Version: 17 Compression: None FileLength: 202237 FileLengthCompressed: 202237 FrameSize: (278.95,259.4) FrameRate: 24 FrameCount: 1 Tags: [69:FileAttributes] AS3: true, HasMetadata: false, UseDirectBlit: false, UseGPU: false, UseNetwork: false [09:SetBackgroundColor] Color: #ffffff [86:DefineSceneAndFrameLabelData] Scenes: [0] Frame: 0, Name: Scene 1 [32:DefineShape3] ID: 1, Bounds: (0,5579,0,5188) FillStyles: [1] [SWFFillStyle] Type: 00 (solid), Color: #ff9933(b1) [2] [SWFFillStyle] Type: 00 (solid), Color: #ff9933(33) [3] [SWFFillStyle] Type: 00 (solid), Color: #ff9933(66) [4] [SWFFillStyle] Type: 00 (solid), Color: #3399ff(33) [5] [SWFFillStyle] Type: 00 (solid), Color: #3399ff(b1) LineStyles: [1] [SWFLineStyle] Width: 1 Color: #666666(33) [2] [SWFLineStyle] Width: 1 Color: #666666(ff) [3] [SWFLineStyle] Width: 1 Color: #000000(33) [4] [SWFLineStyle] Width: 1 Color: #000000(ff) ShapeRecords: [0] [SWFShapeRecordStyleChange] MoveTo: 4283,2182, FillStyle0: 2, FillStyle1: 2, LineStyle: 1 [1] [SWFShapeRecordStraightEdge] Vertical: 600 [2] [SWFShapeRecordStraightEdge] General: -385,1119 [3] [SWFShapeRecordStraightEdge] General: -1679,-578 [4] [SWFShapeRecordStraightEdge] Vertical: -600 [5] [SWFShapeRecordStyleChange] FillStyle1: 1, LineStyle: 2 [6] [SWFShapeRecordStraightEdge] General: 385,-1119 [7] [SWFShapeRecordStraightEdge] General: 1679,578 [8] [SWFShapeRecordStraightEdge] General: -184,537 [9] [SWFShapeRecordStyleChange] FillStyle1: 2, LineStyle: 1 [10] [SWFShapeRecordStraightEdge] General: 184,63 [11] [SWFShapeRecordStyleChange] MoveTo: 3898,3301 [12] [SWFShapeRecordStraightEdge] Vertical: 600 [13] [SWFShapeRecordStyleChange] MoveTo: 4099,2719, FillStyle1: 0, LineStyle: 2 [14] [SWFShapeRecordStraightEdge] General: -201,582 [15] [SWFShapeRecordStraightEdge] General: -1494,-514 [16] [SWFShapeRecordStyleChange] FillStyle1: 2, LineStyle: 1 [17] [SWFShapeRecordStraightEdge] General: -185,536 [18] [SWFShapeRecordStyleChange] MoveTo: 5395,2100, FillStyle0: 1, FillStyle1: 1 [19] [SWFShapeRecordStraightEdge] General: 184,63 [20] [SWFShapeRecordStyleChange] FillStyle1: 0, LineStyle: 2 [21] [SWFShapeRecordStraightEdge] Vertical: -600 [22] [SWFShapeRecordStyleChange] FillStyle1: 2 [23] [SWFShapeRecordStraightEdge] General: -184,537 [24] [SWFShapeRecordStyleChange] FillStyle0: 2, LineStyle: 1 [25] [SWFShapeRecordStraightEdge] General: -4354,-1500 [26] [SWFShapeRecordStraightEdge] General: -856,2489 [27] [SWFShapeRecordStyleChange] FillStyle1: 1, LineStyle: 2 [28] [SWFShapeRecordStraightEdge] General: 4353,1499 [29] [SWFShapeRecordStraightEdge] General: 857,-2488 [30] [SWFShapeRecordStyleChange] MoveTo: 1041,0, FillStyle1: 2, LineStyle: 1 [31] [SWFShapeRecordStraightEdge] Vertical: 600 [32] [SWFShapeRecordStyleChange] MoveTo: 0,3625, FillStyle0: 1, FillStyle1: 1 [33] [SWFShapeRecordStraightEdge] General: 185,-536 [34] [SWFShapeRecordStyleChange] FillStyle1: 2, LineStyle: 2 [35] [SWFShapeRecordStraightEdge] General: -185,-64 [36] [SWFShapeRecordStyleChange] FillStyle1: 0 [37] [SWFShapeRecordStraightEdge] Vertical: 600 [38] [SWFShapeRecordStraightEdge] General: 4538,1563 [39] [SWFShapeRecordStyleChange] FillStyle1: 1 [40] [SWFShapeRecordStraightEdge] Vertical: -600 [41] [SWFShapeRecordStyleChange] MoveTo: 2404,2787, FillStyle0: 2 [42] [SWFShapeRecordStraightEdge] General: -185,-64 [43] [SWFShapeRecordStyleChange] MoveTo: 2404,2787, FillStyle0: 1, FillStyle1: 0 [44] [SWFShapeRecordStraightEdge] General: 200,-583 [45] [SWFShapeRecordStyleChange] FillStyle1: 1 [46] [SWFShapeRecordStraightEdge] Vertical: -600 [47] [SWFShapeRecordStyleChange] MoveTo: 0,3025, FillStyle0: 0, FillStyle1: 2 [48] [SWFShapeRecordStraightEdge] General: 1041,-3025 [49] [SWFShapeRecordStraightEdge] General: 4538,1563 [50] [SWFShapeRecordStyleChange] MoveTo: 2604,2204, FillStyle0: 1, FillStyle1: 0 [51] [SWFShapeRecordStraightEdge] General: 1495,515 [52] [SWFShapeRecordStyleChange] MoveTo: 5579,2163, FillStyle0: 0, FillStyle1: 1 [53] [SWFShapeRecordStraightEdge] General: -1041,3025 [54] [SWFShapeRecordEnd] [26:PlaceObject2] Depth: 1, CharacterID: 1, Matrix: (1,1,0,0,0,0) [82:DoABC] Lazy: true, Length: 201892 [76:SymbolClass] Symbols: [0] TagID: 0, Name: Generator [01:ShowFrame] [00:End] Scenes: Name: Scene 1, Frame: 0 Frames: [0] Start: 0, Length: 8 Defined CharacterIDs: 1 Depth: 1, CharacterId: 1, PlacedAt: 4, IsKeyframe |
|
|||||
Регистрация: Aug 2012
Сообщений: 77
|
Не могли бы Вы дать пояснения, что это за набор данных "Парсинга", как он получен и как его использовать?
Может подскажете, как рисовать на Шейпе мышкой и регистрировать события на нем? |
|
|||||
подключайте вышеуказанную библиотеку и пользуйте так:
package { import flash.display.MovieClip; import com.codeazur.as3swf.SWF; public class Generator extends MovieClip { public function Generator() { var swf:SWF = new SWF(root.loaderInfo.bytes); var txt:String = swf.toString(); trace(txt); } } } координаты странные, но понять можно. во первых каждая следующая прибавляется к предыдущей, во вторых каждое число надо разделить на 20.... почему так не знаю, но выяснил методом научного тыка |
|
|||||
Регистрация: Aug 2012
Сообщений: 77
|
Ну, мне в общем то не нужен текст свф'ки. Можно каким-то образом повесить события на Shape'овскую область? Как задать размер шейповской области?
Привожу код, правильно ли я на шейпе рисую и ищу нужный мне цвет? В принципе работает, но мне кажется, что я на сцене рисую... import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.MovieClip; import flash.display.Shape; import flash.events.Event; import flash.events.MouseEvent; import flash.geom.Point; public class PaintBall extends MovieClip { var child:Shape = new Shape(); var bmd:BitmapData; public function PaintBall() { addChild(child); stage.addEventListener(MouseEvent.MOUSE_DOWN, onMD); stage.addEventListener(MouseEvent.MOUSE_UP, onMU); } public function onMD (e:MouseEvent):void{ var to_x = e.localX; var to_y = e.localY; child.graphics.lineStyle(2, 0x000000, 100, true, "normal", "none"); child.graphics.moveTo(to_x,to_y) stage.addEventListener(Event.ENTER_FRAME, enterFrameHandler); } public function enterFrameHandler(event:Event):void { var m_x:Number = stage.mouseX; var m_y:Number = stage.mouseY; if((m_x>5 && m_x<200) && (m_y>5 && m_y<200)){ child.graphics.lineTo(child.mouseX, child.mouseY); } } public function onMU(event:MouseEvent):void { stage.removeEventListener("enterFrame", enterFrameHandler); bmd = new BitmapData (200, 200); bmd.draw(child); var coords:Point = null; for (var i:uint = 0; i<bmd.width; i++){ for (var j:uint = 0; j<bmd.height; j++){ if (bmd.getPixel(i,j) == 0x000000){ coords = new Point(i, j); trace('черный цвет найден по адресу:' + coords); } } } } } } Дабы мою тему не загружать этим вопросом, попробую здесь разобраться |
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
1. Не на сцене. "child.graphics.lineTo(child.mouseX, child.mouseY);". Вы собственный код не понимаете? Вы не выучите язык, нажимая "копировать" и "вставить".
2. Как задать размер шейповской области? Никак. Нет никакой области. Сколько нарисуете, столько и будет "область". 3. "Повесить на шейп события" нельзя. Шейп не наследует InteractiveObject, то есть не слушает мышь и клавиатуру. Используйте Sprite, что может быть проще? 4. Я, признаться, думал, что Вами движет просто любопытство. Потому что всерьез искать через битмапдату координаты, по которым САМ ЖЕ только что рисовал графиксом — такое даже во сне не приснится.
__________________
Reality.getBounds(this); |
|
|||||
Регистрация: Aug 2012
Сообщений: 77
|
Цитата:
Мне интересно с чего Вы начинали.. Я понимаю, что тут полно таких же как я, новичков, не дочитавших как следует теорию и рвущихся уже программировать, но не судите строго, я стараюсь практиковать не забывая читать теорию (Колин Мук). Надеюсь через Вас, старших товарищей по программированию, с подсказками и тумаками, выйти на уровень программирования, а не переписывания, хоть и лепить код с разных справок и источников - это уже не переписывание, кое что я всетаки понимаю. Цитата:
Цитата:
Да и вообще, спасибо за внимание, радует что есть люди, которые могут дать грамотные ответы на глупые вопросы. |
|
|||||
самый грамотный само-ответ - будет прочитать любую книгу по АС3 или ФЛЭШ для того чтобы хотя бы базовые понятия знать. поищите в инете. их там много
|
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Цитата:
Цитата:
Цитата:
Вот и попробуйте сами написать код. Это гораздо полезней, чем собирать свою Войну и мир из чужих строчек.
__________________
Reality.getBounds(this); Последний раз редактировалось Wolsh; 03.11.2012 в 02:51. |
Часовой пояс GMT +4, время: 17:48. |
|
« Предыдущая тема | Следующая тема » |
|
|