快速业务通道

Flash制作音乐频谱的效果

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-07
ar m:int=0; m<256; m++) {
  • var temp2:Column = _show2.getChildByName("column_"+m.toString()) as Column;
  • temp2.getSpectrum((_spectrum[m]+_spectrum[m+256])*50);
  • }
  • //将频谱数据传送给波形的精灵实例
  • _waveform.getSpectrum(_spectrum);
  • }
  • //创建柱状的精灵对象
  • private function createColumn(f_num:int,f_width:int,f_space:int,target:Sprite):void {
  • for (var i:int=0; i<f_num; i++) {
  • _column = new Column();
  • _column.name = "column_"+i.toString();
  • _column.width = f_width;
  • _column.x = i*(f_width+f_space);
  • target.addChild(_column);
  • }
  • }
  • //更改样式(type 为 0 时显示柱形,为 1 时显示波浪,为 2 时显示波形)
  • public function changeType(type:int):void {
  • switch (type) {
  • case 0 :
  • if (_showSpectrum.contains(_show1)) {
  • _showSpectrum.removeChild(_show1);
  • }
  • if (_showSpectrum.contains(_show2)) {
  • _showSpectrum.removeChild(_show2);
  • }
  • if (_showSpectrum.contains(_show3)) {
  • _showSpectrum.removeChild(_show3);
  • }
  • _showSpectrum.addChild(_show1);
  • break;
  • case 1 :
  • if (_showSpectrum.contains(_show1)) {
  • _showSpectrum.removeChild(_show1);
  • }
  • if (_showSpectrum.contains(_show2)) {
  • _showSpectrum.removeChild(_show2);
  • }
  • if (_showSpectrum.contains(_show3)) {
  • _showSpectrum.removeChild(_show3);
  • }
  • _showSpectrum.addChild(_show2);
  • break;
  • case 2 :
  • if (_showSpectrum.contains(_show1)) {
  • _showSpectrum.removeChild(_show1);
  • }
  • if (_showSpectrum.contains(_show2)) {
  • _showSpectrum.removeChild(_show2);
  • }
  • if (_showSpectrum.contains(_show3)) {
  • _showSpectrum.removeChild(_show3);
  • }
  • _showSpectrum.addChild(_show3);
  • break;
  • }
  • }
  • }
  • }
  • Column类,条形的频谱类,在Spectrum类里柱状样式中创建了 64 个,而波浪样式中创建了 256 个。
    1. /*
    2. 类功能:柱状的频谱。
    3. */
    4. package net.cdipan.spectrum{
    5. import flash.display.*;
    6. import flash.geom.*;
    7. import flash.events.Event;
    8. import flash.utils.Timer;
    9. import flash.events.TimerEvent;
    10. public class Column extends Sprite {
    11. //顶部小方块颜色
    12. private const square_color:uint = 0xffffff;
    13. //顶部颜色
    14. private const top_color:uint = 0xffffff;
    15. //中间颜色
    16. private const middle_color:uint = 0x8cdcff;
    17. //底部颜色
    18. private const bottom_color:uint = 0x07f7ff;
    19. //背景精灵对象
    20. private var BG_Sp:Sprite;
    21. //遮罩精灵对象
    22. private var mask_Sp:Sprite;
    23. //小方块精灵对象
    24. private var square_Sp:Sprite;
    25. //记录上次的频谱的值,如果比这次的高就减一,否则将这次的设为此值
    26. private var oldNum:Number;
    27. //计时器对象
    28. private var myTimer:Timer;
    29. //记录小方块是否可以下落
    30. private var canDrop:Boolean;
    31. public function Column():void {
    32. BG_Sp = new Sprite();
    33. drawGradualRect();
    34. addChild(BG_Sp);
    35. mask

    凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

    分享到: 更多

    Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

    地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

    电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

    《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号