ایجاد مالتی مدیای دو زبانه در as3

1365311

New Member
با سلام
بنده می خواستم مالتی مدیای دوزبانه طراحی کنم البته با اضافه کردن Scene جدید می تونم زبان دوم رو اضافه کنم ولی من می خواهم مثلا کاربر در صفحه تماس با ما وقتی زبان دوم رو زد همون صفحه تغییر پیدا کنه و به صفحه اول بر نگرده؟!
با سپاس
 

++Hadi++

Active Member
این کار بهینه نیست چون معمولا تو ساختار هایی که باید به صورت On Time زبون صفحه عوض بشه ،ترتیب اطلاعاتی که باید فارسی و انگلیش باشه مهم باشه.برای بهتر متوجه شدنش ،مثلا بیست نفر دارید به اسامی A تا ... اینا پرسنل هاتونن ،حالا باید مشخصاتشون رو به فارسی و انگلیش وارد کنید.پس مجبورید دقیقا به همون ترتیبی که اسامیشون رو وارد دیتابیس یا ایکسمل فارسی کردید ،وارد دیتابیس یا ایکسمل انگلیش هم کنید مگر اینکه برا هر کدوم یه آی دی خاص بدین که اونم در هر صورت باید برا هر فرد در مورد هر دو زبون وجود داشته باشه و اگه برا فرد مثلا B تو زبون فارسی با آی دی خاصش ،مشخصاتشو زدید و تو انگلیش برا اون آی دی یا ایندکس (در مورد ترتیبی) نزدید ،مشکل پیش می یاد،برا همین لود شدن نو صفحه و نمایش اون افرادی که اونا رو فقط تو فارسی یا فقط تو انگلیش گذاشتین برا سی ام اس نویستون راحت تره و دست کاربر رو هم تو ورود اطلاعات متناسب با زبون خاص مثل معرفی افراد خاص برا فارسی زبونها یا انگلیش زبونها باز می زاره و ورودش هم برا کاربر کم درد سر تره...ولی اگه خواستید همون عوض شدن آنیشو انجام بدین ،بگید تا توضیح بیشتر بدم...
 

1365311

New Member
با سلام
دوست عزیز بابت جوابتون تشکر می کنم ولی این سوالی که بنده پرسیدم به خاطر طراحی سی دی مالتی مدیا می باشد!!
 
خوب ایشونم ( هادی جان ) دقیقا فهمیدند که شما میخواید مالتی مدیا بسازید .. در هر صورت با توجه به قابلیت اکشن 3 و ارتباط خوب با ایکس ام ال و پشتیبانی زبان و قونت های فارسی شما باید به صورت runtime زبان برنامتو عوض کنی که با یک ساختار مشخصی که توی طراحی فلشت برای نمایش متنها استفاده میکنی فقط با زدن یک دکمه فایل ایکس ام ال انگلیسی لود میشه و تک تک تگسباک هات رو عوض کنه ... این کاری نیست که فقط روی سی دی توصیه بشه بلکه روی طراحی وب هم از همین سیستم استفاده شده سالها و بسیار هم علمی و تست شده است ... وسلام
 

1365311

New Member
حسین آقا بنده به این خاطر تعجب کردم که آقا هادی اصطلاح سی ام اس رو بکار بردند حالا بماند که سیستم های مدیریت محتوایی هستند که با فلش پیاده سازی می شن ! البته من نمی خواهم از فایل های xml برای طراحی استفاده کنم حالا به نظر دوستان با چه روش دیگه ای می تونم این کار رو انجام بدم که راحترین روش باشه البته بنده آشنایی چندانی با AS3 ندارم ممنون می شم بیشتر راهنمایی بفرمایید!
 
3 راه دیگه هم داری به طور کلی
1- از هر نسخه ایت چه فارسی چه انگلیسی یک فایل swf بسازی .. زمانی که کاربر در نسخه فارسی هست روی انگلیسی که کلیک کنه فایل های انگلیسی رو براش باز میکنی که این خود مزایا و بیشتر معایبی داره ... کلا شیوه ای که پدرآدمو در میاره چون مجبوری دو نسخه درست کنی !
2- به فرض مثال هرچی متن داری داخل یک مووی کلیپ با دو فریم قرار بدی که فریم اول فریم متن فارسی باشه و فریم دوم فریم متن انگلیسی هر وقت رو انگلیسی زد کاربر همه مموی کلیپ هایی که متن فارسی دارن باید gootAndStop(2) بشوند و زمانی که روی انگلیش هست روی فریم 1 باید مووی کلیپ هات بایسته
3- از آرایه استفاده کنی و دو آرایه فارسی و انگلیسی نسبت بدی و هر بار که روی انگلیسی به فرض کلیک میشه تمامی متن ها رو از آرایه انکلیسی بخونی و جایگزین متن های فارسی بکنی

اما کلا با توجه به قابلیت اکشن 3 به نظرم یکم وقت بذاری مقاله های همین سایت مخصوصا بحث کلاس ها و نمونه گارهای مدیر انجمن رو یک هفته وقت بذاری ! جونت واسه همیشه راحت مبشه تو این قضایا و با اکشن 3 کاراتو راحت میکنی ....
 

1365311

New Member
آقا حسین ممنون از پاسخ تون البته بنده قبلا یک پروژه مالتی مدیا دیده بودم که با استفاده از روش دوم پیاده سازی شده بود ولی با توجه به فرمایشات شما فکر کنم بهترین و اصولی ترین روش گزینه سومه! در صورت امکان در مورد نحوه نسبت دادن آرایه به زبان های پروژه بیشتر توضیح بدید ممنون می شم.
 
کد:
var arr:Array = new array

توضیحش خیلی زیاده در این حد بدون که دو تا آرایه درست کنی و مقدار دهی کنی ! دیگه این کاری نداره که بعدش هم متنو با متنی که داخل هر اندیس آرایه هست ست میکنی

کد:
t_txt.text=arr[0]
 

1365311

New Member
آقا حسین ممنون بابت توضیحی که فرمودید البته من یه مقاله دیدم در مورد ساخت آرایه ولی متاسفانه چیز زیادی دستگیرم نشد اگه امکانش هست با یه مثال توضیح بدید! سپاس گذارم
 
اولا که اگه بلد نیستی اکشن 3 اینو بدون که این کاری که میخوای بکنی یکم سخته پس حالا من هرچیم راهنمایی کنم ولی به قول بچا گفتنی توباغ نباشی ! فایده ای نداره ولی من روند کلی رو یکبار توضیح میدم با فرض اینکه بلدی
1- دو تا آرایه تعریغف میکنی با نام های Fa و ٍEng و توش دونه به دونه به موازات هم کلمه فارسی و در آرای انگلیسی کلمه هم معنی فارسی اش رو به انگلیش مینویسی
2-تکسباکس هات رو از نوع tlf انخاب میکنی و همیشه برای نشان دادن متن از tlf استفاده میکنی .. به هر tlf یک اسم بده که هروقت میخوای صداش بزنی مشکلی نباشه , و مقدارشو عوض کنی ... از خونه آرایه میخونی و به داخل تکست باکس میریزی
همین
وقتی رو دکمه فارسی میزنه تمانی تکست باکس ها از خونه آرایه فارسی میخونه و وقتی انگلیش بالعکس

کد:
var Eng:array= new array(home,about us,contact)
var Fa:array= new array("خانه","درباره ما","ارتباط با ما"(

Fa.addEventListener(MouseEvent.Click,fafunction)
funtion fa function(e:event)
{
Tlftext1.text=Fa[0]
Tlftext2.text=Fa[1]
Tlftext3.text=Fa[2]
}

نمونه کد بالا دلیل بر این نیست که به درستی کار کند .. این یک روال کلی از کاریه که باید بکنی ...
 

1365311

New Member
خیلی ممنون آقا حسین بابت پاسختون فقط یه سوال من می خوام دوتا
Scene ایجاد کنم که در Scene1 قسمت اینترو باشه با دو تا دکمه فارسی و انگلیسی تا هر کدام از زبانها وقتی انتخاب میشه مالتی مدیا که در Scene2 هست با همون زبان نمایش داده بشه ؟ البته واقعا از شما عذر می خوام که این بحث اینقدر طولانی شده !
با سپاس
 

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

بالا