0

横スクロール プラットフォーマーを作成し、ステージ全体ではなく四角形のみをレンダリングするため、scrollRect がメモリに最適であると判断しました。私はそれを私のヒーローの中心に置き、彼と一緒にスクロールしています。私の問題は、長方形の外側の境界を作成することです。if(view.x < 0) は簡単です。x と y の原点がロックされています。問題があるのは他のエッジです。ENTER_FRAME で実行されます。これが私のコードです:

    public function ScrollWithHero()
    {
        var stageW2:Number = stage.stageWidth/2;
        var stageH2:Number = stage.stageHeight/2;
        var view:Rectangle = new Rectangle(0,0,stage.stageWidth,stage.stageHeight);

        if(hero.x - stageW2 > 0){ view.x = hero.x - stageW2; }

        if(hero.x + stageW2 > levelWidth){ // stop scrolling the rect }

        if(hero.y - stageH2 > 0){ view.y = hero.y - stageH2; }

        if(hero.y + stageH2 < levelHeight){ // stop scrolling the rect }

        scrollRect = view;
    }
4

1 に答える 1

0
    public function ScrollWithHero()
    {
        var stageW2:Number = stage.stageWidth/2;
        var stageH2:Number = stage.stageHeight/2;
        var view:Rectangle = new Rectangle(0,0,stage.stageWidth,stage.stageHeight);

        if(hero.x - stageW2 > 0)
        { 
            view.x = hero.x - stageW2; 

            if(hero.x + stageW2 > levelWidth)
            {
                view.x = levelWidth - stage.stageWidth;
            }
        }
        if(hero.y - stageH2 > 0)
        { 
            view.y = hero.y - stageH2; 

            if(hero.y + stageH2 > levelHeight)
            {
                view.y = levelHeight - stage.stageHeight;
            }
        }
        scrollRect = view;
    }
于 2015-12-27T22:16:42.863 に答える