Форум Flasher.ru

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

ilia64 13.01.2009 20:47

as3isolib неправильно рендерит
 
Вложений: 1
Всем привет!
Решил попробовать as3isolib

Простой пример, но depth строится неверно!!!
Это у меня ошибка или библиотеку еще не дописали?
Подскажите пожалуйста.
swf во вложении

Код:

package
{
        import as3isolib.display.primitive.IsoBox;
        import as3isolib.display.scene.IsoScene;
        import flash.display.Sprite;
        import flash.events.Event;
               
        public class Main  extends Sprite
        {
                private var _scene:IsoScene;
                private var _hero1:IsoBox;
                private var _hero2:IsoBox;
                private var _hero3:IsoBox;
                private var _hero4:IsoBox;
               
                public function Main()
                {
                        _scene = new IsoScene();
                        _scene.hostContainer = this;
                        _scene.container.x = 200, _scene.container.y = 40;
                               
                        _scene.addChild( addBox(2, 2, 30, 30) );
                        _scene.addChild( addBox(1, 3, 70, 30) );
                        _scene.addChild( addBox(1, 4, 20, 20) );
                       
                        _hero1 = addBox(5, 5, 10, 10, 10);
                        _hero2 = addBox(1, 5, 10, 10, 10);
                        _hero3 = addBox(5, 1, 10, 10, 10);
                        _hero4 = addBox(5, 3, 10, 10, 10);
                       
                        _scene.addChild(_hero1);
                        _scene.addChild(_hero2);
                        _scene.addChild(_hero3);
                        _scene.addChild(_hero4);
                       
                        addEventListener(Event.ENTER_FRAME, enterFrameHandler);
                }
               
                private function addBox(x:uint, y:uint, w:uint=40, l:uint=40, h:uint=40):IsoBox
                {
                        var box:IsoBox = new IsoBox();
                        box.setSize(w, l, h);
                        box.moveTo(x * 40, y * 40, 0);
                        return box;
                }
               
                private function enterFrameHandler(event:Event):void
                {
                        roundTween(_hero1);       
                        roundTween(_hero2);       
                        roundTween(_hero3);       
                        roundTween(_hero4);       
                        _scene.render();
                }
               
                private function roundTween(box:IsoBox):void
                {
                        if (box.y == 200 && box.x>20)
                                box.x -= 5;
                        else if (box.x == 20 && box.y>20)
                                box.y -= 5;
                        else if (box.y == 20 && box.x < 200)
                                box.x += 5;
                        else if (box.x == 200 && box.y < 200)
                                box.y += 5;
                }
        }
}

(swn revision 146)

AL.exe 14.01.2009 03:04

Библиотека действительно не дописана, но проблем с z-сортировкой у нее, вроде бы, никогда не было, о чем говорят многочисленные демонстрации, доступные со страницы проекта.

Хотя, в то же время, ошибок в коде, которые могли привести к такому эффекту, я не наблюдаю...


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

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