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

📄 textdump.java

📁 利用opensource的开源jar实现生成flash文件
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
                case SetTarget:
                    decodeSetTarget(coder);
                    decoded = true;
                    break;
                case WaitForFrame:
                    decodeWaitForFrame(coder);
                    decoded = true;
                    break;
                    // Flash 4
                case IntegerAdd:
                case Subtract:
                case IntegerEquals:
                case IntegerLess:
                case Multiply:
                case Divide:
                case And:
                case Or:
                case Not:
                case StringEquals:
                case StringLength:
                case StringExtract:
                case Pop:
                case ToInteger:
                case GetVariable:
                case SetVariable:
                case SetTarget2:
                case StringAdd:
                case GetProperty:
                case SetProperty:
                case CloneSprite:
                case RemoveSprite:
                case Trace:
                case StartDrag:
                case EndDrag:
                case StringLess:
                case RandomNumber:
                case MBStringLength:
                case CharToAscii:
                case AsciiToChar:
                case GetTime:
                case MBStringExtract:
                case MBCharToAscii:
                case MBAsciiToChar:
                    decodeActionCode(coder);
                    decoded = true;
                    break;
                case Call:
                    decodeCall(coder);
                    decoded = true;
                    break;
                case Push:
                    decodePush(coder);
                    decoded = true;
                    break;
                case WaitForFrame2:
                    decodeWaitForFrame2(coder);
                    decoded = true;
                    break;
                case Jump:
                    decodeJump(coder);
                    decoded = true;
                    break;
                case If:
                    decodeIf(coder);
                    decoded = true;
                    break;
                case GetUrl2:
                    decodeGetUrl2(coder);
                    decoded = true;
                    break;
                case GotoFrame2:
                    decodeGotoFrame2(coder);
                    decoded = true;
                    break;
                    // Flash 5
                case Add:
                case Equals:
                case Less:
                case Modulo:
                case Enumerate:
                case Duplicate:
                case Swap:
                case ExecuteMethod:
                case NewMethod:
                case ExecuteFunction:
                case GetAttribute:
                case SetAttribute:
                case Increment:
                case Decrement:
                case LogicalShiftLeft:
                case LogicalShiftRight:
                case ArithmeticShiftRight:
                case BitwiseAnd:
                case BitwiseOr:
                case BitwiseXOr:
                case NamedObject:
                case NewArray:
                case NewObject:
                case DeleteVariable:
                case Delete:
                case Return:
                case ToNumber:
                case ToString:
                case GetType:
                case GetTarget:
                case NewVariable:
                case InitVariable:
                    decodeActionCode(coder);
                    decoded = true;
                    break;
                case Table:
                    decodeTable(coder);
                    decoded = true;
                    break;
                case RegisterCopy:
                    decodeRegisterCopy(coder);
                    decoded = true;
                    break;
                case NewFunction:
                    length = decodeNewFunction(coder);
                    next = start + (length << 3);
                    decoded = true;
                    break;
                case With:
                    decodeWith(coder);
                    decoded = true;
                    break;
                    // Flash 6
                case InstanceOf:
                case EnumerateObject:
                case Greater:
                case StringGreater:
                case StrictEquals:
                    decodeActionCode(coder);
                    decoded = true;
                    break;
                    // Flash 7
                case Cast:
                case Extends:
                case Implements:
                case Throw:
                    decodeActionCode(coder);
                    decoded = true;
                    break;
                case ExceptionHandler:
                    decodeExceptionHandler(coder);
                    decoded = true;
                    break;
                case NewFunction2:
                    length = decodeNewFunction2(coder);
                    next = start + (length << 3);
                    decoded = true;
                    break;
            }
            
            if (decoded == false)
                decodeUnknownAction(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 (type >= 128) ? length + 3 : length + 1;
        }

        void decodeClipEvent(SWFDecoder coder)
        {
            coder.beginObject("clipEvent", "ClipEvent");
            
            coder.readBool("keyUp");
            coder.readBool("keyDown");
            coder.readBool("mouseUp");
            coder.readBool("mouseDown");
            coder.readBool("mouseMove");
            coder.readBool("unload");
            coder.readBool("enterFrame");
            coder.readBool("load");
            
            if (coder.context[SWFDecoder.Version] > 5)
            {
                coder.readBool("dragOver");
                coder.readBool("rollOut");
                coder.readBool("rollOver");
                coder.readBool("releaseOutside");
                coder.readBool("release");
                coder.readBool("press");
                coder.readBool("initialize");
            }
            else
            {
                coder.readBits("reserved", 7, false);
            }
            coder.readBool("data");
            
            boolean keyPress = false;

            if (coder.context[SWFDecoder.Version] > 5)
            {
                coder.readBits("reserved", 5, false);
                coder.readBool("construct");
                keyPress = coder.readBool("keyPress");
                coder.readBool("dragOut");
                coder.readBits("reserved", 8, false);
            }

            coder.readWord("offset", 4, false);
            
            if (keyPress)
                coder.readWord("keyCode", 1, false);
            
            coder.beginArray("actions");

            while (decodeAction(coder) != 0);

            coder.endObject();
            coder.endObject();
        }
        
        void decodeMorphSolidLine(SWFDecoder coder)
        {
            coder.beginObject("morphSolidLine", "MorphSolidLine");
            coder.readWord("startWidth", 2, false);
            coder.readWord("endWidth", 2, false);
            decodeColor("startColor", coder);
            decodeColor("endColor", coder);
            coder.endObject();
        }

        void decodeMorphSolidFill(SWFDecoder coder)
        {
            coder.beginObject("morphSolidFill", "MorphSolidFill");
            coder.readWord("type", 1, false);
            decodeColor("startColor", coder);
            decodeColor("endColor", coder);
            coder.endObject();
        }
        
        void decodeMorphGradientFill(SWFDecoder coder)
        {
            coder.beginObject("morphGradientFill", "MorphGradientFill");
            coder.readWord("type", 1, false);
            decodeCoordTransform("startTransform", coder);
            decodeCoordTransform("endTransform", coder);
            
            int count = coder.readWord("gradientCount", 1, false);
                                
            coder.beginArray("gradients");
                
            for (int i=0; i<count; i++)
                decodeMorphGradient(coder);
            
            coder.endObject();
            coder.endObject();
        }

        void decodeMorphGradient(SWFDecoder coder)
        {
            coder.beginObject("morphGradient", "MorphGradient");
            coder.readWord("startRatio", 1, false);
            decodeColor("startColor", coder);
            coder.readWord("endRatio", 1, false);
            decodeColor("endColor", coder);
            coder.endObject();
        }

        void decodeMorphBitmapFill(SWFDecoder coder)
        {
            coder.beginObject("morphBitmapFill", "MorphBitmapFill");
            coder.readWord("type", 1, false); // 
            coder.readWord("identifier", 2, false); // 
            decodeCoordTransform("startTransform", coder);
            decodeCoordTransform("endTransform", coder);
            coder.endObject();
        }
        
        void decodeButtonColorTransform(SWFDecoder coder)
        {
            coder.beginObject("buttonColorTransform", "ButtonColorTransform");
            decodeMovieObject(coder);
            coder.readWord("identifier", 2, false);
            decodeColorTransform("colorTransform", coder);
            coder.endObject();
        }
        
        void decodeButtonSound(SWFDecoder coder)
        {
            coder.beginObject("buttonSound", "ButtonSound");
            decodeMovieObject(coder);
            coder.readWord("identifier", 2, false);

            for (int i=0; i<4; i++)
            {
                if (coder.scanWord(2, false) > 0)
                    decodeSound(coder);
                else
                    coder.readWord("none", 2, false);
            }
            coder.endObject();
        }

        void decodeEnableDebugger(SWFDecoder coder)
        {
            coder.beginObject("enableDebugger", "EnableDebugger");
            decodeMovieObject(coder);
            coder.readString("password");
            coder.endObject();
        }

        void decodeEnableDebugger2(SWFDecoder coder)
        {
            coder.beginObject("EnableDebugger2", "EnableDebugger2");
            decodeMovieObject(coder);
            coder.readWord("reserved", 2, false);
            coder.readString("password");
            coder.endObject();
        }
        
        void decodeExport(SWFDecoder coder)
        {
            coder.beginObject("export", "Export");
            decodeMovieObject(coder);
            
            int count = coder.readWord("count", 2, false);

            coder.beginArray("objects");
            for (int i=0; i<count; i++)
            {
                coder.beginObject("exports", "Object");
                coder.readWord("identifier", 2, false);
                coder.readString("name");
                coder.endObject();
            }
            coder.endObject();
            coder.endObject();
        }
        
        void decodeFontInfo2(SWFDecoder coder)
        {
            coder.beginObject("fontInfo2", "FontInfo2");
            int length = decodeMovieObject(coder);
            
            coder.readWord("identifier", 2, false); 
            int nameLength = coder.readWord("nameLength", 1, false);
            coder.readString("name", nameLength);
            coder.readBits("reserved", 2, false);
            coder.readBool("isSmall");
            coder.readBits("encoding", 2, false);
     

⌨️ 快捷键说明

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