![]() |
|
||||||||||
|
|||||
|
Регистрация: Jul 2009
Сообщений: 4
|
Здравствуйте!Я совсем недавно заинтересовался ActionScript!Естественно взялся сразу за AS3.
Возникли 2 вопроса: 1)компилирую исходный код примера: package { import flash.display.MovieClip; import flash.display.Shape; import flash.display.Graphics; import flash.events.Event; import flash.geom.*; public class ZAxisExample1 extends MovieClip { private var ellipse1Back:int = 1; private var ellipse2Back:int = 1; private var depth:int = 1000; public function ZAxisExample1():void { var ellipse1 = drawEllipse((this.stage.stageWidth / 2) - 100, (this.stage.stageHeight / 2), 100, 80, 10); var ellipse2 = drawEllipse((this.stage.stageWidth / 2) + 100, (this.stage.stageHeight / 2), 100, 80, 300); this.addChild(ellipse1); this.addChild(ellipse2); ellipse1.addEventListener(Event.ENTER_FRAME, ellipse1FrameHandler); ellipse2.addEventListener(Event.ENTER_FRAME, ellipse2FrameHandler); } private function drawEllipse(x:Number, y:Number, w:Number, h:Number, z:Number):Shape { var s:Shape = new Shape(); s.z = z; s.graphics.beginFill(0xFF0000); s.graphics.lineStyle(2); s.graphics.drawEllipse(x, y, w, h); s.graphics.endFill(); return s; } private function ellipse1FrameHandler(e:Event):void { ellipse1Back = setDepth(e, ellipse1Back); e.currentTarget.z += ellipse1Back * 10; } private function ellipse2FrameHandler(e:Event):void { ellipse2Back = setDepth(e, ellipse2Back); e.currentTarget.z += ellipse2Back * 20; } private function setDepth(e:Event, d:int):int { if(e.currentTarget.z > depth) { e.currentTarget.z = depth; d = -1; }else if (e.currentTarget.z < 0) { e.currentTarget.z = 0; d = 1; } return d; } } } где я так понял проблемма в том,что у объекта(класса!?)shape нет параметра 'z'. Точно немогу привести текст ошибки,т.к. "пояснение к ошибке" выводится в ввиде иероглифов!И собственно второй вопрос,может не в той теме,как заставить его- mxmlc- выводить информацию об ошибках на латинице в коммандной строке!? Заранее спасибо! |
|
|||||
|
Регистрация: Feb 2009
Сообщений: 1,195
|
А почему вы решили, что у Shape должен быть параметр z?
Насколько я помню, для изменения языка сообщений надо исправить локаль в flex-config.xml. |
|
|||||
|
Регистрация: Jul 2009
Сообщений: 4
|
Вобщем открываю "Adobe Flex 3.2 language reference" и там в описании класса Shape есть унаследованное от родителя свойство Z
z : Number . Indicates the z coordinate position along the z-axis of the DisplayObject instance relative to the 3D parent container. Причем это pablic property и пример не я выдумал!Он из официальной документации. |
|
|||||
|
Регистрация: Jul 2009
Сообщений: 4
|
Кстати сейчас просматриваю flex-config.xml!
У меня стоит американо-английская локаль(en-US).А консоль винды(да поглотит ее бездна...) попрежнему ругается иероглифами.Кроме слов латиницы!Они отображаются нормально. |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
|
|
|||||
|
Регистрация: Feb 2009
Сообщений: 1,195
|
Да, раз это свойство появилось только в 10-ом плеере, надо либо изменить версию плеера в flex-config.xml, либо при компиляции указывать -target-player 10.
Про смену языка забыл уже, на самом деле надо больше менять: http://garbage-collector.ru/2008/06/...le_flex_3_sdk/ |
|
|||||
|
Регистрация: Jul 2009
Сообщений: 4
|
А вот разобрался!Всем О-громное спасибо за участие!
Для тех кто столкнется с этой проблемой: несмотря на то что у меня стоят сама-свежие FlashPlayer(10.0.22.87) и SDK - в файле flex-config.xml в секции <target-player>xxx.xxx.xxx</target-player> -указана версия flashPlayer'a - 9.0.124 Причем в описание сказано - что тут прописана минимальная версия плеера которая сможет проигрывать мой .SWF.Но судя потому -что небыл воспринят API более поздней версии...Это не совсем так.Одним словом поменяв это значение на мое - 10.0.22.87 -у меня все заработало.Еще раз всем спасибо! |
![]() |
![]() |
Часовой пояс GMT +4, время: 18:43. |
|
|
« Предыдущая тема | Следующая тема » |
|
|