Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Правильно определить ширину и высоту векторного рисунка. (http://www.flasher.ru/forum/showthread.php?t=175056)

windrunner31 08.02.2012 21:13

Правильно определить ширину и высоту векторного рисунка.
 
У меня есть векторный рисунок,который состоит из нескольких частей,также имеет несколько анимаций,где отдельные его части меняют положение по y.
Теперь вопрос,как мне сделать так,чтобы с помощью
Код AS3:

sprite.getRect(sprite).y

Выдавался y правильно,не учитывая положение каждого сегмента по отдельности,а учитывая положение всего рисунка как одного объекта.

Inet_PC 08.02.2012 22:00

Положите Ваш векторный рисунок в контейнер и у него "y" меняться не будет.

windrunner31 08.02.2012 22:04

Как его положить в контейнер?

Inet_PC 08.02.2012 22:08

Код AS3:

var s:Sprite = new Sprite();
s.addChild(mc);

mc как раз Ваша анимация

windrunner31 08.02.2012 22:12

А как-нибудь без кода это можно сделать?
И мне всеже нужно,чтобы изменения "y" учитывались,но мне нужно,чтобы они рассчитывались для моего рисунка как единого обьекта,а не как совокупности составных частей.
Это мне нужно для корректной растеризации.

Inet_PC 08.02.2012 22:14

Ну создайте символ и положите в него вашу анимацию. И получится что внутри анимации все учитывается и весь символ целиком можно сдвигать.

elder_Nosferatu 08.02.2012 22:22

А зачем getRect()? Ваш Спрайт имеет свою систему координат, к которой привязаны его дети. А его собственное положение в его родителе (контейнере, котором он содержится, например, root) определяется положением его собственной нулевой точки. Так что как бы вы не разместили внутри Спрайта его детей, Спрайт.х и Спрайт.у от этого не изменятся

windrunner31 08.02.2012 23:01

Цитата:

Сообщение от Inet_PC (Сообщение 1061739)
Ну создайте символ и положите в него вашу анимацию. И получится что внутри анимации все учитывается и весь символ целиком можно сдвигать.

Так и сделал,но все равно игра учитывает положение каждой составной отдельно.
elder_Nosferatu,я не очень понял,что вы имели в виду.
Как мне следует поступить?

elder_Nosferatu 08.02.2012 23:23

Вложений: 1
Вложение 27554

elder_Nosferatu 08.02.2012 23:29

child1 и child2 - дети для Sprite. Красные линии обозначают оси координат внутри Sprite, относительно которых вы и меняете положение детей. Пересечение координат Sprite есть его точкой регистрации. Положение этой точки указывает положение Sprite внутри родителя (root).
Sprite.getRect(...) возвращает вам прямоугольник, который очватывает весь контент(читай детей) Sprite. На рисунке - светло-серая область.


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

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