تبدیل به as 3.0

aloke

Member
سلام
من یک چند خط کد AS 2.0 نوشتم می خواستم به AS 3.0 تبدیل کنم ولی هر کار می کنم دو تا خطا میده . خود فایل AS 2.0 را داخل پیوست قرار می دم . کد AS 3.0 را هم همین جا کپی می کنم . اگه امکانش بود یک نگاه بندازید و بهم کمک کنید .

ممنون

HTML:
// ----------------------- AS 3.0 code

var rb=400;
var lb=0;
var bb=370;
var tb=0;
import flash.events.MouseEvent;

this.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
this.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);


function onMouseDown(e:MouseEvent):void
{
	this.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
	var xm:Number = mouseX;
	var ym:Number = mouseY;
	if( xm >= rb){ xm = rb; }
	if( xm <= lb){ xm = lb+1; }
	if( ym >= bb){ ym = bb; }
	if( ym <= tb){ ym = tb+1; }
	canvas_mc.graphics.lineStyle(2);
	canvas_mc.graphics.moveTo( xm, ym);
	draw();
}


function draw():void
{
	var xm:Number = mouseX;
	var ym:Number = mouseY;
	if( xm >= rb){ xm = rb; }
	if( xm <= lb){ xm = lb+1; }
	if( ym >= bb){ ym = bb; }
	if( ym <= tb){ ym = tb+1; }
	canvas_mc.graphics.lineTo( xm, ym);
}


function onMouseUp(e:MouseEvent):void
{
	this.removeEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
}
 

پیوست ها

  • draw.rar
    5.6 کیلوبایت · بازدیدها: 4

arashtavoosi

Active Member
1 convas_mc تو فایلت نبود
2 handler ی که برای event حرکت موس قرار داده بودی تابع تعریف نشده onMouseMove بود که با توجه به برنامه ای که نوشتی باید تابع draw باشه.
 

پیوست ها

  • draw.zip
    5 کیلوبایت · بازدیدها: 3

ma30h

Member
سلام و درود!!!
آقا شکر میون کلامتون حالا که کار این رفیقمونم راه انداختید میشه یه حالیم به ما بدید!!!!!
من معادل دستور load movie از as2 به as3 رو می خواستم خودم اسکریپت(as3)رو نوشتم ارور نمی ده ولی کاریم نمی کنه...:shock:
این اسکریپت as2 :
PHP:
_root.ss_mc.loadMovie("a.swf");

as3?:)
 

aloke

Member
سلام و درود!!!
آقا شکر میون کلامتون حالا که کار این رفیقمونم راه انداختید میشه یه حالیم به ما بدید!!!!!
من معادل دستور load movie از as2 به as3 رو می خواستم خودم اسکریپت(as3)رو نوشتم ارور نمی ده ولی کاریم نمی کنه...:shock:
این اسکریپت as2 :
PHP:
_root.ss_mc.loadmovie("a.swf");

as3?:)


انشاء الله با این کد درست می شه :

HTML:
import flash.events.*;
import flash.net.*;


var rect:Shape = new Shape();
rect.graphics.beginFill(0xFFFFFF);
rect.graphics.drawRect(15, 100, 510, 410);
rect.graphics.endFill();
addChild(rect);

var myLoader:Loader=new Loader();
addChild(myLoader);
var url:URLRequest=new URLRequest("Writting.swf");
myLoader.load(url);
myLoader.mask = rect;
 
آخرین ویرایش:

ma30h

Member
:shock::shock::shock::shock::shock::shock::shock::shock::shock::shock::shock::shock::shock:
آقا اول از همه دستت درد نکنه من نیم خط کد نوشتم نیم کیلو کد تحویل گرفتم!!!
فقط یه چیزی کوجولو....
من می خوام همونطور که تو کدم نوشتم مووی که لود می کنم تو یه movie clipe که مثلا یه مربع تو خالی لود بشه (ss_mc( که البته همونجور که تو اسکریپت as2 من هست به نظر راحت میاد(البته امیدوارم 40 صفحه کد نشه!) و دوم اینکه فکر می کنم شما سایز مووی که لود می شه رو دست کاری کردید چون من swf که لود می شه رو از کمر به پایین می بینم!!!!:D

بازم ممنون از راهنماییت..!
 

aloke

Member
این فقط نمونه بود دوست من چون اولا من اصلا نمی دونم که فایل فلشه شما اندازش چقدره دوما اگه AS 3 هم مثل AS 2 بود کد زدنش که فرقی نمی کرد سوما به جای این شیء rect شما اسم موی کلیپه خودت را بزار
 

aloke

Member
1 convas_mc تو فایلت نبود
2 handler ی که برای event حرکت موس قرار داده بودی تابع تعریف نشده onmousemove بود که با توجه به برنامه ای که نوشتی باید تابع draw باشه.

سلام
برای اینکه یک دکمه داشته باشیم که خطی که کشیده شده را با هر بار فشار دادن یک مرحله ببره عقب باید چه کار کرد .
آیا راهی داره

بازم ممنون
 

++Hadi++

Active Member
سلام
برای اینکه یک دکمه داشته باشیم که خطی که کشیده شده را با هر بار فشار دادن یک مرحله ببره عقب باید چه کار کرد .
آیا راهی داره

بازم ممنون

مجبوری یه چیزی مثل آرایه یا چند تا متغیر مووی کلیپ برای ذخیره حالات مووی داشته باشی که هر وقت موس MOUSE_DOWN شد و عمل کشیدن نقاشی شروع شد بیرون از تابع ENTER_FRAME مقادیر ذخیره شده در متغیر مووی کلیپ 5 در متغیر مووی کلیپ 6 جایگزین شه و مووی کلیپ 4 در 5 جایگزین شه و مووی کلیپ 3 در 4 و الی اول شکل کامل شد و بعد از تکمیل شکل و MOUSE_UP شدن یا بهتر بگم آزاد شدن موس از حالت درگ یا به قول اکشن دویی ها release شدن موس ، جدیدترین شکل در مووی کلیپ 1 ذخیره شه. هر بار که دکمه مورد نظر Undo کلیک می شه این جابجایی ها از آخر به اول اتفاق می افته یعنی برعکس حالت قبل مووی کلیپ 2 در 1 و 3در 2 و 4 در 3 و 5 در 4،ترجیحا اگه از آرایه برای ذخیره آرایه مووی کلیپ ها استفاده کنی بیشتر می تونی عمل ذخیره رو داشته باشی و این کار واسه بهبود برنامه و سازماندهی تر شدن برنامه ات بهتره .
چون می شه آرایه ای از مووی کلیپ ها رو در یه متغیر آرایه قرار داد و محدودیت تعداد ذخیره شده رو کمتر کرد.
فقط کافیه تو اون حالت با شماره درایه های آرایه و length یا طول آرایه بازی کنی و جابجایی ها رو داینامیک تر انجام بدی
این دستور روش مناسبی می تونه برا عمل UNDO باشه البته هر مبحثی در اکشن کد خاص خودش و کلاس خاص خودشو داره که می یاد و عملکرد شما رو خلاصه می کنه ولی نمی دونم که آیا واسه Undo یا یه همچین چیزی کد خاصی هست یا نه .!!!؟؟؟
بای ...
 
بالا