⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 textdump.java

📁 利用opensource的开源jar实现生成flash文件
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
            boolean decoded = false;
            
            // Flash 1 
            switch (type)
            {
                case ShowFrame:
                    decodeShowFrame(coder);
                    decoded = true;
                    break;
                case DefineShape:
                    decodeDefineShape(coder);
                    decoded = true;
                    break;
                case PlaceObject:
                    decodePlaceObject(coder);
                    decoded = true;
                    break;
                case RemoveObject:
                    decodeRemoveObject(coder);
                    decoded = true;
                    break;
                case DefineJPEGImage:
                    decodeDefineJPEGImage(coder);
                    decoded = true;
                    break;
                case DefineButton:
                    decodeDefineButton(coder);
                    decoded = true;
                    break;
                case JPEGTables:
                    decodeJPEGEncodingTable(coder);
                    decoded = true;
                    break;
                case SetBackgroundColor:
                    decodeSetBackgroundColor(coder);
                    decoded = true;
                    break;
                case DefineFont:
                    decodeDefineFont(coder);
                    decoded = true;
                    break;
                case DefineText:
                    decodeDefineText(coder);
                    decoded = true;
                    break;
                case DoAction:
                    decodeDoAction(coder);
                    decoded = true;
                    break;
                case FontInfo:
                    decodeFontInfo(coder);
                    decoded = true;
                    break;
                case DefineSound:
                    decodeDefineSound(coder);
                    decoded = true;
                    break;
                case StartSound:
                    decodeStartSound(coder);
                    decoded = true;
                    break;
                case SoundStreamHead:
                    decodeSoundStreamHead(coder);
                    decoded = true;
                    break;
                case SoundStreamBlock:
                    decodeSoundStreamBlock(coder);
                    decoded = true;
                    break;
                // Flash 2
                case ButtonSound:
                    decodeButtonSound(coder);
                    decoded = true;
                    break;
                case DefineImage:
                    decodeDefineImage(coder);
                    decoded = true;
                    break;
                case DefineJPEGImage2:
                    decodeDefineJPEGImage2(coder);
                    decoded = true;
                    break;
                case DefineShape2:
                    decodeDefineShape2(coder);
                    decoded = true;
                    break;
                case ButtonColorTransform:
                    decodeButtonColorTransform(coder);
                    decoded = true;
                    break;
                case Protect:
                    decodeProtect(coder);
                    decoded = true;
                    break;
                    // Flash 3
                case Free:
                    decodeFree(coder);
                    decoded = true;
                    break;
                case PlaceObject2:
                    decodePlaceObject2(coder);
                    decoded = true;
                    break;
                case RemoveObject2:
                    decodeRemoveObject2(coder);
                    decoded = true;
                    break;
                case DefineShape3:
                    decodeDefineShape3(coder);
                    decoded = true;
                    break;
                case DefineText2:
                    decodeDefineText2(coder);
                    decoded = true;
                    break;
                case DefineButton2:
                    decodeDefineButton2(coder);
                    decoded = true;
                    break;
                case DefineJPEGImage3:
                    decodeDefineJPEGImage3(coder);
                    decoded = true;
                    break;
                case DefineImage2:
                    decodeDefineImage2(coder);
                    decoded = true;
                    break;
                case DefineMovieClip:
                    decodeDefineMovieClip(coder);
                    decoded = true;
                    break;
                case FrameLabel:
                    decodeFrameLabel(coder);
                    decoded = true;
                    break;
                case SoundStreamHead2:
                    decodeSoundStreamHead2(coder);
                    decoded = true;
                    break;
                case DefineMorphShape:
                    decodeDefineMorphShape(coder);
                    decoded = true;
                    break;
                case DefineFont2:
                    decodeDefineFont2(coder);
                    decoded = true;
                    break;
                    // Flash 4
                case PathsArePostscript:
                    decodePathsArePostscript(coder);
                    decoded = true;
                    break;
                case DefineTextField:
                    decodeDefineTextField(coder);
                    decoded = true;
                    break;
                case QuicktimeMovie:
                    decodeQuicktimeMovie(coder);
                    decoded = true;
                    break;
                case SerialNumber:
                    decodeSerialNumber(coder);
                    decoded = true;
                    break;
                case DefineBitsPtr:
                    decodePointer(coder);
                    decoded = true;
                    break;
                    // Flash 5
                case EnableDebugger:
                    decodeEnableDebugger(coder);
                    decoded = true;
                    break;
                case Export:
                    decodeExport(coder);
                    decoded = true;
                    break;
                case Import:
                    decodeImport(coder);
                    decoded = true;
                    break;
                    // Flash 6
                case DefineVideo:
                    decodeDefineVideo(coder);
                    decoded = true;
                    break;
                case VideoFrame:
                    decodeVideoFrame(coder);
                    decoded = true;
                    break;
                case EnableDebugger2:
                    decodeEnableDebugger2(coder);
                    decoded = true;
                    break;
                case Initialize:
                    decodeInitialize(coder);
                    decoded = true;
                    break;
                case FontInfo2:
                    decodeFontInfo2(coder);
                    decoded = true;
                    break;
                    // Flash 7
                case LimitScript:
                    decodeLimitScript(coder);
                    decoded = true;
                    break;
                case TabOrder:
                    decodeTabOrder(coder);
                    decoded = true;
                    break;
                default:
                    break;
            }
            
            if (decoded == false)
                decodeUnknownObject(coder);

            int delta = (next - coder.getPointer()) >> 3;

            if (delta < 0)
                coder.logError("ObjectOverflow", next, -delta);
            else if (delta > 0)
                coder.logError("ObjectUnderflow", next, delta);
                
            coder.setPointer(next);
            
            return true;
        }

        void decodeBounds(String name, SWFDecoder coder)
        {
            coder.beginObject(name, "Bounds");
            coder.alignToByte();
            
            int fieldSize = coder.readBits("size", 5, false);
            
            coder.readBits("minX", fieldSize, true);
            coder.readBits("maxX", fieldSize, true);
            coder.readBits("minY", fieldSize, true);
            coder.readBits("maxY", fieldSize, true);
            
            coder.alignToByte();

            coder.endObject();
        }

        void decodeColor(String name, SWFDecoder coder)
        {
            coder.beginObject(name, "Color");

            coder.readWord("red", 1, false);
            coder.readWord("green", 1, false);
            coder.readWord("blue", 1, false);
            
            if (coder.context[SWFDecoder.TransparentColors] != 0)
                coder.readWord("alpha", 1, false);

            coder.endObject();
        }

        void decodeColorTransform(String name, SWFDecoder coder)
        {
            coder.beginObject(name, "ColorTransform");
            coder.alignToByte();

            boolean containsAddTerms = coder.readBool("hasAddTerms");
            boolean containsMultiplyTerms = coder.readBool("hasMultiplyTerms");
            int fieldSize = coder.readBits("size", 4, false);
            
            if (containsMultiplyTerms)
            {
                coder.readShortFixed("multiplyRed", fieldSize);
                coder.readShortFixed("multiplyGreen", fieldSize);
                coder.readShortFixed("multiplyBlue", fieldSize);
                
                if (coder.context[SWFDecoder.TransparentColors] != 0)
                    coder.readShortFixed("multiplyAlpha", fieldSize);
            }
            
            if (containsAddTerms)
            {
                coder.readBits("addRed", fieldSize, true);
                coder.readBits("addGreen", fieldSize, true);
                coder.readBits("addBlue", fieldSize, true);
                
                if (coder.context[SWFDecoder.TransparentColors] != 0)
                    coder.readBits("addAlpha", fieldSize, true);
            }
            coder.alignToByte();
            coder.endObject();
        }

        void decodeCoordTransform(String name, SWFDecoder coder)
        {
            coder.beginObject(name, "CoordTransform");
            coder.alignToByte();

            if (coder.readBool("hasScaling"))
            {
                int scaleFieldSize = coder.readBits("scalingFieldSize", 5, false);
                coder.readFixed("scale0", scaleFieldSize);
                coder.readFixed("scale1", scaleFieldSize);
            }
        
            if (coder.readBool("hasRotation"))
            {
                int rotateFieldSize = coder.readBits("rotationFieldSize", 5, false);
                coder.readFixed("rotate0", rotateFieldSize);
                coder.readFixed("rotate1", rotateFieldSize);
            }
        
            int translateFieldSize = coder.readBits("translationFieldSize", 5, false);
            coder.readBits("translateX", translateFieldSize, true);
            coder.readBits("translateY", translateFieldSize, true);
            
            coder.alignToByte();
            coder.endObject();
        }

        void decodeSound(SWFDecoder coder)
        {
            coder.beginObject("sound", "Sound");

            coder.readWord("identifier", 2, false);
            coder.readBits("mode", 4, false);
            
            boolean _containsEnvelopes = coder.readBool("hasEnvelopes");
            boolean _containsLoopCount = coder.readBool("hasLoopCount");
            boolean _containsOutPoint = coder.readBool("hasOutPoint");
            boolean _containsInPoint = coder.readBool("hasInPoint");
        
            if (_containsInPoint)
                coder.readWord("inPoint", 4, false);
            
            if (_containsOutPoint)
                coder.readWord("outPoint", 4, false);
            
            if (_containsLoopCount)
                coder.readWord("loopCount", 2, false);
                
            if (_containsEnvelopes)
            {
                int envelopeCount = coder.readWord("envelopeCount", 1, false);

                coder.beginArray("envelopes");
                    
                for (int i=0; i<envelopeCount; i++)
                    decodeEnvelope(coder);
                
                coder.endObject();
            }
            coder.endObject();
        }

        void decodeEnvelope(SWFDecoder coder)
        {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -