واضح آرشیو وب فارسی:سایت ریسک: آموزش ساخت ویژوالیزاسیون! (Visualization) shirini_forush 29 ارديبهشت 1386, 07:43این نمونه رو با Flash CS3 و اکشن اسکریپت 3 نوشتم. نمونه ی خیلی خوبی شده. اگر تو سرعت AS گیر نکنیم و ریاضیتون هم در حد oOps باشه میشه Visualization های Windows Media Player رو هم ساخت... آموزش این رو حتما میزارم. برای استفاده ی نمونه فقط کافیه اون رو با WinRAR باز کنید و یه جا کپی کنید. بعد درست کنارش یه فایل mp3 به نام Nimkat (!) بذارید تا پخش و Visualate کنه. mfsh_1369 29 ارديبهشت 1386, 21:04خیلی خوب بود ! بهتر بود Exe می زاشتی چون همه پلیر 9 ندارن. shirini_forush 30 ارديبهشت 1386, 09:38عزیز جون exe کردم 1 مگ شد. فکر اینترنت ذغالی ما رو هم بکنید:cry: فلش پلیرم که مفته... دانلود بفرمایید. برای آموزش هم همینجا سر بزنید... Avang2005 01 خرداد 1386, 13:51خیلی خوب بود shirini_forush 10 خرداد 1386, 14:52ببخشید که این همه طول کشید... آخه فصل امتحاناته دیگه... فعلا آموزشش رو شروع میکنم تا ببینیم کی تموم میشه. اول یه فایل فلش میسازیم! دقت کنید که فایل AS3 باشه. بعد 32 تا نوار مشابه با نام های i0,i1,...,i31 میسازید و ردیفشون میکنید... حالا یه آبجکت صدا میسازید. اینجوری: var so:Sound = new Sound(); بعد یه متغیر step میسازیم که بعدا توضیح میدم به چه کاری میاد (البته این اختیاریه) var step:Number = 0.05; حالا یه sound channel تعریف میکنیم. این از کلاس های جدید as3 هست که میتونه صدا هایی که تو فلش استریم میشن رو بدست بگیره. هر صدایی که تو فلش پلیر پخش میشه دست یه ساند چنله. میتونید هر ساند چنل رو جدا گانه stop کنید یا به left و right ش دسترسی داشته باشید و... var sc:SoundChannel; حالا یه byte array تعریف میکنیم. اینم یکی از کلاس های توپ و حرفه ای توی as3 هست که برای دسترسی به byte level کولاکه. و... var ba:ByteArray = new ByteArray(); یه Array هم تعریف میکنیم که مقدار نهایی رو برای هم فرکانس توش داشته باشیم. var i:Array = new Array(32); حالا صدای مورد نظر رو لود میکنیم. دقت کنید توی as3 دیگه همینجوری کشکی یه string نمیسازیم توش url رو بگیم. البته این کارم یه جورایی میشه کرد. ولی درستش اینه که با url request این کار رو بکنیم: so.load(new URLRequest("Nimkat.mp3")); حالا به ساند چنلمون میگیم که این so رو بگیره و پخش کنه: sc = so.play(0,-1); و به فلش میگیم که ایونت enterframe رو به تابع render اختصاص بده. باز هم یه دقت بفرمایید. event ها یکم manage شدن. دیگه نمیگیم: addEventListener("click",...); میایم از یه constant توی object ه event استفاده میکنیم... اینجوری: this.addEventListener(Event.ENTER_FRAME, render); راستی یه متغیر هم فعلا به نام a درست کنید تا بعد... var a:Number = 0; تا اینجا کدمون اینجوری شد: var so:Sound = new Sound(); var step:Number = 0.05; var sc:SoundChannel; var ba:ByteArray = new ByteArray(); var i:Array = new Array(32); so.load(new URLRequest("Nimkat.mp3")); sc = so.play(0,-1); this.addEventListener(Event.ENTER_FRAME, render); var a:Number = 0; AMiR 10 خرداد 1386, 18:14خيلي جالب بود فقط يه ذره از موسيقي عقب نيست ؟ shirini_forush 11 خرداد 1386, 11:31والا من یکم دستگاهم فضائیه (بر خلاف اینترنتم)... توش خیلی از این مشکلات ندارم. اگر همچین مشکلی هست میتونم یکم کار رو سبکتر کنم. البته کلا سرعت اکشن اسکریپت پایین هستا... مثلا این کاری که من کردم یکی از ساده ترین ویژوالاسیون های ممکنه. شما تصور کنید بخوام یکی از ویژوالاسیون های آلچمی (Alchemy) رو تو as پیاده کنم... AMiR 11 خرداد 1386, 19:30يه كاري كن حداقل سرعت پايين اومدن barها رو بيشتر كن shirini_forush 11 خرداد 1386, 19:34برای این کار کافیه به متغیر step عدد بیشتری بدیم...
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 671]