سوال: تعیین موقعیت در صفحه

flat_00

Member
سلام
من یک عکس از نوع movie clip دارم که میخوام در پایین صفحه و وسط قرار بگیره وقتی هم که فول اسکرین شد جاش تغییر نکنه
الان در وسط قرار داره

مشکلش هم در اینجاست
کد:
  mySampleMC.x = (mySampleMC.stage.stageWidth / 2) - (mySampleMC.width / 2);
  mySampleMC.y = (mySampleMC.stage.stageHeight / 2) - (mySampleMC.height / 2);

به جای 2 در کد بالا چه عددی بزارم که پایین وسط قرار بگیره
این هم کد کاملش
کد:
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;

function resizeHandler(e:Event):void
{
  mySampleMC.x = (mySampleMC.stage.stageWidth / 2) - (mySampleMC.width / 2);
  mySampleMC.y = (mySampleMC.stage.stageHeight / 2) - (mySampleMC.height / 2);
}

stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.addEventListener(Event.RESIZE, resizeHandler);

stage.dispatchEvent(new Event(Event.RESIZE));

اگر شما کدی دارید که راحت تر از این هست بدید لطفا.

ممنون
 
آخرین ویرایش:

flat_00

Member
ممنون ولی من نمی خوام اینطوری باشه
ساده تر بگم
من میخوام همزمان هر دوی اینها استفاده کنم
کد:
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.scaleMode = StageScaleMode.SHOW_ALL;
یعنی میخوام پروژم در حالت SHOW_ALL دیده بشه ولی محتویات درون stage بصورت NO_SCALE

یعنی میخوام یه یک عکس که instance name اش مثلاpic1 هست بگم که تو NO_SCALE دیده شو.

ضمنا من این کد رو پیدا کردن آیا این همینی هست که من می خوام؟
اگر میشه از این کد یک مثال برای درست کنید
کد:
var actualScale :Number;
var actualStageWidth :Number;
var actualStageHeight :Number;

private function collectDimensions () :void
{
    stage.scaleMode = StageScaleMode.NO_SCALE;
    actualStageWidth = stage.stageWidth;
    actualStageHeight = stage.stageHeight;
    var contentWidth :Number = yourVisibleContent.width;
    var contentHeight :Number = yourVisibleContent.height;
    var canvasAspectRatio :Number = actualStageWidth / actualStageHeight;
    var contentAspectRatio :Number = contentWidth / contentHeight;
    if (canvasAspectRatio > contentAspectRatio) {
        actualScale = actualStageHeight / contentHeight;
    } else {
        actualScale = actualStageWidth / contentWidth;
    }
    stage.scaleMode = StageScaleMode.SHOW_ALL;
}

public function createBitmap (clip :MovieClip) :Bitmap
{
    var bitmapData :BitmapData = new BitmapData(clip.width, clip.height);
    var matrix :Matrix = new Matrix();
    matrix.scale(actualScale, actualScale);
    bitmapData.draw(clip, matrix);
    var bitmap :Bitmap = new Bitmap(bitmapData);
    bitmap.scaleX = bitmap.scaleY = 1/actualScale;
    bitmap.smoothing = true;
    return bitmap;
}
 
آخرین ویرایش:

جدیدترین ارسال ها

بالا