تغییر نقطه ثقل یک شی TLFtextField که با کد ایجاد شده؟

سلام من چنین س<الی را قبلا هم مطرح کردم ولی جواب نگرفتم و این مشکل خیلی اذیتم می کنه و گاه گیج کننده میشه.
میخام بدونم یک شی مثلا TLFTextField ، چه جوری میشه نقطه ثقلش را که مختصات بر اساس اون تعریف میشه تغییر داد. مثلا معمولا این نقطه گوشه بالا و چپ شی می باشد ولی میخام از طریق کد این را تغییر بدم مثلا بیاد مرکز شی!!!
 

triton

کاربر فعال
شی خودت را درون یک کانتینر مثلا یک Sprite بریز و مختصات را تعیین کن و سپس از اون کانتینر برای جابجایی استفاده کن.
 
مشکل من اینه که نمیدونم با اشیائی مثل sprite و textField که با کدهایی تعریف میشن چگونه میتونم نقطه ثقل اونو تغییر بدم مثلا از گوشه بالا و چپ بیارم در مرکز شی تعریف کنم.
 

triton

کاربر فعال
پس دوست عزیز به این موضوع سری بزنید تا اول با این مفاهیم و موضوعات اولیه آشنا بشوید! آخه اگه نمی تونی از اشیاو موجود در AS3 استفاده کنی، من چی بگم!!!
 
دوست من، من یک کتاب دو سال پیش گرفتم فکر می کنم مفاهیمی که شما به من پیشنهاد میدی را قبلا خوندم ولی این مورد را ندیدم اگه اینقدر پیچیده هست که شما نمی تونی راحت توضیح بدی که پس من حق دارم ندونم و اگر اینقدر راحته که چرا خودتون را اذیت می کنید دو خط کد بگذار تا ما هم یاد بگیریم. چرا پیچ و خمش میدی؟
اون چیزهایی که من قبلا خوندم همه پارامترهایی بود که مثلا موقعیت x - Y - rotation - alpha - visible و ... را تغییر میداد ولی پارامتری که مثلا من بتونم بگم مثلا بر اساس مرکز شی من rotation انجام بشه و ... پیدا نکردم. البته میتونم یک کلاس یا تابع درست کنم که این کار را برام انجام بده ولی گفتم بعیده مسأله ای به این مهمی را قبلا حل نکرده باشن. و من الکی دوباره وقت نگذارم.
لطفا این سؤال منو جواب بدین: چرا وقتی یک شی ایجاد می کنیم با کد مثلا addChild() به طور پیش فرض گوشه چپ و بالایی اش مبنای x و y و چرخش و ... می باشد. آخه این نقطه را چه جوری میتونیم با یک دستور تغییر بدم.
 

triton

کاربر فعال
دوست عزیر شما فقط کتاب را مطالعه کردید و یاد نگرفتید ... ببین من می تونم همون اول کدها را بنویسم و خودم را راحت کنم ولی دوست دارم که شما واقعا یاد بگیری، بهترین روش یادگیری هم پیگری توسط خود کسی هست که دنبال یادگیریه و اینکه خودش به نتیجه برسه. اگه هم به نتیجه نرسه زمانی که راه حل نهایی را ببینه اشتباهاتش را که انجام داده یاد میگیره و یا اینکه در کنار موضوعی که دنبالش بوده مطالب دیگری را هم یاد گرفته ...
این هم یک برنامه کامل (همون لقمه آماده!!!) ... استفاده کن:

[JSS]
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.text.TextField;
import flash.text.TextFormat;

public class Main extends Sprite
{
[Embed(source="TAHOMA.TTF", embedAsCFF="false", fontFamily="tahoma")]
private static const Tahoma:Class;

private var s:Sprite;

public function Main()
{
var tf:TextFormat = new TextFormat();
tf.font = (new Tahoma()).fontName;

var t:TextField = new TextField();
t.defaultTextFormat = tf;
t.embedFonts = true;
t.text = "Hello World!";
t.x = -t.textWidth;
t.y = -t.textHeight/2;

s = new Sprite();

s.x = stage.stageWidth /2;
s.y = stage.stageHeight /2;
s.addChild(t);
this.addChild( s);
this.addEventListener(Event.ENTER_FRAME, loop);
}

protected function loop(event:Event):void
{
s.rotation ++;
}

}
}
[/JSS]
 

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

بالا