واضح آرشیو وب فارسی:سایت ریسک: سوال در رابطه با loadVariables mobinzk 04 اسفند 1386, 19:59سلام و خسته نباشید من مشکلی در رابطه با loadVariables دارم ٬ ممنون می شم جواب بدین. من از طریق دستور زیر فایل text.txt را آوردم توی فلش: _root.loadVariables("text.txt"); توی فایل text.txt هم نوشتم num=1 تا اینجای کار مشکلی نیست و برای نمایشش در فلش به راحتی میشه از dynamic text استفاده کرد و مقدار var اون رو num قرار داد. ولی حالا سوال من این است که چطوری می تونم از num=1 در action script استفاده کنم؟ یعنی در action مقدار num رو قرار بدم؟ marSoul 04 اسفند 1386, 20:40از این روش استفاده کن myvars = new LoadVars(); myvars.load("data.txt"); myvars.onLoad = function() { _root.vartext.text = myvars.num; var myvar:Number = myvars.num; trace(myvar); }; اینطوری می تونی num را که در data.txt تعریف شده رو در متغیر myvar قرار بدی... mobinzk 04 اسفند 1386, 21:16از این روش استفاده کن myvars = new LoadVars(); myvars.load("data.txt"); myvars.onLoad = function() { _root.vartext.text = myvars.num; var myvar:Number = myvars.num; trace(myvar); }; اینطوری می تونی num را که در data.txt تعریف شده رو در متغیر myvar قرار بدی... ممنونم جواب میده . Helen_Farhani 15 تير 1387, 20:37کد بالا را وقتی به شکل زیر تغییر دادم، بجای مقدار متغیر "undefined" نمایش میده. myvars = new LoadVars(); myvars.load("data.txt"); myvars.onLoad = function() { _root.vartext.text = myvars.num; var myvar:Number = myvars.num; }; trace(myvar); marSoul 15 تير 1387, 22:05به این خاطره که myvar درون function تعریف شده و خارج scope این function قابل دسترسی نیست Helen_Farhani 16 تير 1387, 08:04من میخوام از مقدار myvar در جاهای دیگه استفاه کنم. مثلا در یک frame و یا در لایه ای دیگر. باید چکار کرد؟ royal200x 17 تير 1387, 10:06من میخوام از مقدار myvar در جاهای دیگه استفاه کنم. مثلا در یک frame و یا در لایه ای دیگر. باید چکار کرد؟ خب ببین ؛ فانکشن شما چه زمانی اجرا میشه ؟ در حالت onLoad یعنی اینکه اطلاعات اول بارگذاری بشه بعد onLoad اتفاق میافته و تابع اجرا میشه . علت اینکه undefined میشه ، یکی همین بحث محدوده ی متغیرهاست و دوم اینکه شما قبل از اینکه اطلاعاتت بارگذاری بشه خواستی که نمایش بده چیزی رو که هنوز بارگذاری نشده ! گرفتی چی شد ؟ این یک راهشه ، خودت نکته ش رو بگیر و برا کار خودت استفاده کن : myvars = new LoadVars (); myvars.load ("data.txt"); var myvar:Number; myvars.onLoad = function () { _root.vartext.text = myvars.num; _root.myvar = myvars.num;;//myvars.num; _root.trc ();// is function }; function trc () { trace (_root.myvar); } موفق باشی ... Helen_Farhani 17 تير 1387, 11:03خب ببین ؛ فانکشن شما چه زمانی اجرا میشه ؟ در حالت onLoad یعنی اینکه اطلاعات اول بارگذاری بشه بعد onLoad اتفاق میافته و تابع اجرا میشه . علت اینکه undefined میشه ، یکی همین بحث محدوده ی متغیرهاست و دوم اینکه شما قبل از اینکه اطلاعاتت بارگذاری بشه خواستی که نمایش بده چیزی رو که هنوز بارگذاری نشده ! گرفتی چی شد ؟ این یک راهشه ، خودت نکته ش رو بگیر و برا کار خودت استفاده کن : myvars = new LoadVars (); myvars.load ("data.txt"); var myvar:Number; myvars.onLoad = function () { _root.vartext.text = myvars.num; _root.myvar = myvars.num;;//myvars.num; _root.trc ();// is function }; function trc () { trace (_root.myvar); } موفق باشی ... تا حدودی متوجه شدم اما به دلیل اینکه syntax اکشن اسکریپت را نمیدونم نمیتونم ازش استفاده کنم. فکر میکنم اگر به این سوالم پاسخ بدید، مشکلم حل میشه. اگر بخوام مقدار myvar را در یک شرط بکار ببرم در کد زیر بجای VVV باید چطوری اسم متغیر myvar را بنویسم. myvars = new LoadVars (); myvars.load ("data.txt"); var myvar:Number; myvars.onLoad = function () { _root.vartext.text = myvars.num; _root.myvar = myvars.num;;//myvars.num; _root.trc ();// is function }; function trc () { trace (_root.myvar); } if(VVV == 1){ ... } marSoul 24 تير 1387, 18:18اگه درست متوجه شده باشم منظورتون اینه : if (_root.myvar==1) .... } Helen_Farhani 24 تير 1387, 23:36اگه درست متوجه شده باشم منظورتون اینه : if (_root.myvar==1) .... } درسته. میخوام مقدار متغیر فوق را از داخل function به بیرون از function انتقال بدهم تا بتوانم از مقدار آن در قسمتهای دیگر اسکریپت استفاده کنم. اما در مثال بالا اگر که متغیر myvar را trace کنم با پیغام "undefined" روبرو میشوم. marSoul 25 تير 1387, 00:55از این روش استفاده کنید : init(); function init() { myvar = 3; } trace(myvar); Helen_Farhani 25 تير 1387, 09:17ببخشید که دارم خنگ بازی در میارم. :sad: نمیدونم این روشی را که شما معرفی کردید را به چه شکل درباره این کد اجرا کنم! myvars = new LoadVars (); myvars.load ("data.txt"); var myvar:Number; myvars.onLoad = function () { _root.vartext.text = myvars.num; _root.myvar = myvars.num;//myvars.num; }; marSoul 25 تير 1387, 11:44شما لطفا دقیقا بگین می خواین چیکار بکنین ؟ royal200x 29 تير 1387, 16:01ببخشید که دارم خنگ بازی در میارم. :sad: نمیدونم این روشی را که شما معرفی کردید را به چه شکل درباره این کد اجرا کنم! myvars = new LoadVars (); myvars.load ("data.txt"); var myvar:Number; myvars.onLoad = function () { _root.vartext.text = myvars.num; _root.myvar = myvars.num;//myvars.num; }; سلام . شما هر کاری رو که قصد داری با متغیر انجام بدی ، کافیه داخل یک تابع بنویسی ، و داخل رویداد onLoad اون تابع رو فراخوانی کنی . myvars = new LoadVars (); myvars.load ("data.txt"); var myvar:Number; myvars.onLoad = function () { _root.vartext.text = myvars.num; _root.myvar = myvars.num;//myvars.num; yourFunction(); }; فرض کنیم می خوایم متغیر myvar رو بعد از اینکه لاود شد ، یعنی onLoad رخ داد ؛ یک واحد اضافه کنیم ؛ پس داخل تابع yourFunction() می نویسیم : function yourFunction() { _root.myvar++; trace(_root.myva); } بازم اگه به جواب نرسیدی ، بگو دقیقا قصد داری چه کاری انجام بدی . موفق باشی ...
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 423]