Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   различие програмного рисования в MacromediaFlash и flashPlayr'e (http://www.flasher.ru/forum/showthread.php?t=95027)

Blind Garret 26.04.2007 10:07

различие програмного рисования в MacromediaFlash и flashPlayr'e
 
наблюдаю следующую странность:

есть скрипт рисования прямоугольника

Код:

var w:Number = this.Width / Config.scale;                               
var x:Number = Global.XGrid.CoordFromNode(this.EdXS) - Global.XGrid.CoordFromNode(this.StXS);
var y:Number = Global.YGrid.CoordFromNode(this.EdYS) - Global.YGrid.CoordFromNode(this.StYS);
var cP:Number = Math.sqrt(Math.pow(x,2) + Math.pow(y,2)) / w;

this.beginFill(0x000000);
this.lineTo(x,y);
this.lineTo(x - y/cP,x/cP + y);
this.lineTo(0 - y/cP,x/cP);
this.lineTo(0,0);
this.endFill();

внутри Macromedia Flash MX Professional 2004 все рисуется правильно (после компиляции в окошке ролика), если это же ролик открыт в FlashPlayer'e (v.8) ничего не рисуется. :umnik2:

Если в this.lineTo(); написать просто координаты (this.lineTo(100,200); и т.д.) и во Flash и в плеере все нарисовано, одинаковая картинка.

Подскажите, пожалуйста, что не так.

CorC 26.04.2007 10:20

Может дело не в рисовании, а в определении x,y,cP?
Вы бы их потрейсили в 8, может что то undefined.

Blind Garret 26.04.2007 10:25

проверял x,y,cP,w (typeof() для всех выдал number, все числа не undefined)

CorC 26.04.2007 10:45

Хм, тогда чем это отличается от просто чисел для lineTo?
А endFill имеется? Может из-за дробности...

Blind Garret 26.04.2007 10:53

по логике ни в чем
да имеется, скопировал не весь кусок, поправил

Жень Шень 26.04.2007 11:58

Привет!
А как насчет синтаксиса?
Имеем Width, в 8-ке надо width
Config.scale - что это?
Имеем Global, надо _global.
И т.д.
Возможно представлен не весь код...

Blind Garret 26.04.2007 12:36

Далеко не весь.
Config.scale - общий делитель (масштаб), свойство класса Config
Width - наследуемое свойство класса текущего mc
Global - класс, который заводит экземпляры других классов в глобальной области видимости

Грабли удалось выявить! Спасибо всем, кто ответил.
А дело было в том, что рисование проходило от осевой (this.lineTo(x,y)) влево (this.lineTo(x - y/cP,x/cP + y)), т.е. в "минус", за координатную сетку.
Вобщем пришельцы не виноваты. :) Тему можно удалить.


Часовой пояс GMT +4, время: 17:23.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.