0

助けてくれてありがとう。100% フラッシュ バックグラウンド ストレッチを作成しました...これは main.as のコードです。

package {

import flash.display.MovieClip;
import flash.text.TextField;
import flash.events.Event;
import flash.net.navigateToURL;
    import flash.net.URLRequest;
import flash.events.MouseEvent;


public class Main extends MovieClip

{
    public function Main()
    {
        init();

        checkResize();

    clip_mc.addEventListener(MouseEvent.CLICK, siteNav1);

    clip_amministra.addEventListener(MouseEvent.CLICK, siteNav2);


    clip_chisiamo.addEventListener(MouseEvent.CLICK, siteNav4);

    }

    function siteNav1(e:MouseEvent):void {
    navigateToURL(new URLRequest("http://www.amicolibro.org/index.php"), "_self");

    }

    function siteNav2(e:MouseEvent):void {
    navigateToURL(new URLRequest("http://www.amicolibro.org/log-in-amministratore.php"), "_self");

    }


    function siteNav4(e:MouseEvent):void {
    navigateToURL(new URLRequest("http://www.amicolibro.org/chi-siamo.php"), "_self");

    }                           

    private function init():void
    {
        stage.frameRate=31;

        bg_mc.x=0;
        bg_mc.y=0;
        bg_mc.width=stage.stageWidth;
        bg_mc.height=stage.stageHeight;

        clip_mc.x=stage.stageWidth/6.3;
        clip_mc.y=stage.stageHeight/2.2;

        clip_amministra.x=stage.stageWidth/1.3;
        clip_amministra.y=stage.stageHeight/2;


              clip_chisiamo.x=stage.stageWidth/10;
        clip_chisiamo.y=stage.stageHeight/1.19; 

    }

    private function checkResize():void
    {
        stage.addEventListener(Event.RESIZE, resizeStage);
    }

    private function resizeStage(event:Event):void 
    {
        init();
    }

}
}

ボタン clip_mc、clip_amministra、clip_chisiamo の比例的なサイズ変更は可能ですか?

ありがとう

4

2 に答える 2

0

オブジェクトが近すぎたり重なったりしている場合に、オブジェクトのサイズを変更する方法が必要だと思いませんか?

これについて考えられる方法の 1 つを次に示します。より手間のかかるより良い方法がありますが、これが最も簡単です。

単純な相対サイズを実行します。これはあまり正確ではありませんが、非常に迅速であり、必要に応じて機能する可能性があります。400x500 (例として、適切な量が得られるまでこれらの値を調整します) が、オーバーラップし始める前にステージがネイティブ ボタン サイズで実行できる最小値であるとします。次に、これを init() メソッドとして使用します (2 つの新しいグローバル:

    private function init():void
    {
        var minWidth:Number = 400; //change this number to be whatever works best
        var minHeight:Number = 500; //change this number to be whatever works best

        stage.frameRate=31;

        bg_mc.x=0;
        bg_mc.y=0;
        bg_mc.width=stage.stageWidth;
        bg_mc.height=stage.stageHeight;

        clip_mc.x=stage.stageWidth/6.3;
        clip_mc.y=stage.stageHeight/2.2;

        clip_amministra.x=stage.stageWidth/1.3;
        clip_amministra.y=stage.stageHeight/2;

        clip_chisiamo.x=stage.stageWidth/10;
        clip_chisiamo.y = stage.stageHeight / 1.19; 

    //this is the new stuff
        var scaleAmount:Number = 1;
        if (stage.stageWidth < minWidth || stage.stageHeight < minHeight) {
            if (minWidth / stage.stageWidth < minHeight / stage.stageHeight) {
                scaleAmount = (minWidth / stage.stageWidth);
            }else{
                scaleAmount = minHeight / stage.stageHeight;
            }
        }

        //do this for all your buttons scaleX and scaleY properties, i'm assuming clip_mc, clip_amministra and clip_chisiamo are some of your button instances.
        clip_mc.scaleX = scaleAmount;
        clip_mc.scaleY = scaleAmount;

        clip_amministra.scaleX = scaleAmount;
        clip_amministra.scaleY = scaleAmount;

        clip_chisiamo.scaleX = scaleAmount;
        clip_chisiamo.scaleY = scaleAmount;
    }
于 2012-07-25T17:13:01.063 に答える
0

私はこのように解決しました:

パッケージ {

import flash.display.MovieClip;
import flash.text.TextField;
import flash.events.Event;
import flash.net.navigateToURL;
    import flash.net.URLRequest;
import flash.events.MouseEvent;


public class Main extends MovieClip

{
    public function Main()
    {
        init();

        resizeHandler();

        checkResize();

    clip_mc.addEventListener(MouseEvent.CLICK, siteNav1); 

    clip_amministra.addEventListener(MouseEvent.CLICK, siteNav2);

    clip_chisiamo.addEventListener(MouseEvent.CLICK, siteNav4);


    }

    function siteNav1(e:MouseEvent):void {                                       
    navigateToURL(new URLRequest("http://www.amicolibro.org/index.php"), "_self");

    }

    function siteNav2(e:MouseEvent):void {
    navigateToURL(new URLRequest("http://www.amicolibro.org/log-in-amministratore.php"), "_self");

           }

    function siteNav4(e:MouseEvent):void {
    navigateToURL(new URLRequest("http://www.amicolibro.org/chi-siamo.php"), "_self");

    }


    private function init():void
    {
        stage.frameRate=31;

        bg_mc.x=0;                           
        bg_mc.y=0;
        bg_mc.width=stage.stageWidth;
        bg_mc.height=stage.stageHeight;

        clip_mc.x=stage.stageWidth/6.3;  
        clip_mc.y=stage.stageHeight/2.2;  

        clip_amministra.x=stage.stageWidth/2.7; 
        clip_amministra.y=stage.stageHeight/4.9; 


            clip_chisiamo.x=stage.stageWidth/10;
        clip_chisiamo.y=stage.stageHeight/1.19;

        }       


    private function resizeHandler(event:Event=null):void  //resize buttons

          {

           var sw:Number = stage.stageWidth;
           var sh:Number = stage.stageHeight;



          clip_mc.width = sw /8;         // clip_mc is 1/8 as wide as the stage..can change this number to be whatever works best
      clip_mc.height = sh /8;    // clip_mc is 1/8 as high as the stage..can change this number to be whatever works best

          clip_amministra.width = sw /10;     // clip_amministra is 1/10 as wide as the stage..can change this number to be whatever works best
      clip_amministra.height = sw /10;    // clip_amministra is 1/10 as high as the stage..can change this number to be whatever works best


      clip_chisiamo.width = sw /6;        //clip_chisiamo is 1/6 as wide as the stage..can change this number to be whatever works best
      clip_chisiamo.height = sh /6;     // clip_chisiamo is 1/6 as high as the stage..can change this number to be whatever works best



      clip_mc.scaleX <= clip_mc.scaleY ? (clip_mc.scaleX = clip_mc.scaleY) : (clip_mc.scaleY = clip_mc.scaleX); // keeps clip_mc proportional 

      clip_amministra.scaleX <= clip_amministra.scaleY ? (clip_amministra.scaleX = clip_amministra.scaleY) : (clip_amministra.scaleY = clip_amministra.scaleX); // keeps clip_amministra proportional

      clip_chisiamo.scaleX <= clip_chisiamo.scaleY ? (clip_chisiamo.scaleX = clip_chisiamo.scaleY) : (clip_chisiamo.scaleY = clip_chisiamo.scaleX); // keeps clip_chisiamo proportional


                 }

      private function checkResize():void
    {
        stage.addEventListener(Event.RESIZE, resizeStage);
    }

      private function resizeStage(event:Event):void 
    {
        init();
    }
    }
}

ありがとう

于 2012-07-28T11:46:49.960 に答える