<html> <head> <title>K.G Script3D 3.00 - 霓虹灯(字库滚动屏)</title> </head> <body bgcolor="#000000" text="#FFFFFF"> <p id="idText" style="color:rgb(255,255,255)"></p> <p id="idInsertObject"></p> </body> <script language="VBScript" type="text/VBScript"> '优快云 KiteGirl 原创 Dim uSP_x, uSP_y, uSP_z Dim uSP_cr, uSP_cg, uSP_cb Dim uD_Mx, uD_My, uD_Mz Dim uD_Rx, uD_Ry, uD_Rz Dim uD_Mtx_Mx, uD_Mtx_Mr Dim uD_Pix_x, uD_Pix_y, uD_Pix_z, uD_Pix_s Dim uF_Va, uF_Vd Dim uV_Vx, uV_Vy, uV_Vz, uV_Sc Dim uV_Mtx_Mx, uV_Mtx_Mr Dim uV_Pix_x, uV_Pix_y, uV_Pix_z Dim uElm, uElm_Len Dim uWeb_Tv, uWeb_Tw Dim uWeb_WW, uWeb_WH Dim uWeb_FontSize Dim uLg Dim uR, uG, uB Dim uOR, uOG, uOB Dim uFTS, uSt, uSi Sub window_onload() uSt = "10! 9! 8! 7! 6! 5! 4! 3! 2! 1! 优快云 Happy New Year! KiteGirl 2009.1.1 " WFontSet : MakeModule With document.body uWeb_WW = .clientWidth uWeb_WH = .clientHeight End With uD_Rz = 0 : uD_Rx = 0 : uD_Ry = 0 uF_Va = 15 : uF_Vd = 40 uV_Vx = uWeb_WW / 2 : uV_Vy = uWeb_WH / 2 uV_Vz = 0 : uV_Sc = 15 uWeb_Tw = 33 : uWeb_FontSize = 5 uD_Mx = -30 : uD_My = 0 : uD_Mz = 0 MTX_3DMixV uV_Vx, uV_Vy, uV_Vz, uV_Sc, uV_Mtx_Mx, uV_Mtx_Mr uD_Rz = 0 : uD_Rx = 45 : uD_Ry = 20 Web_TimeLoop End Sub Sub MakeModule tWC = 10 : tWH = 12 : tWW = 6 tVW = (tWC * tWW) uElm_Len = tWH * tVW - 1 uElm = ELM_Create(uElm_Len) ReDim uSP_x(uElm_Len), uSP_y(uElm_Len), uSP_z(uElm_Len) ReDim uSP_cr(uElm_Len), uSP_cg(uElm_Len), uSP_cb(uElm_Len) ReDim uD_Pix_x(uElm_Len), uD_Pix_y(uElm_Len), uD_Pix_z(uElm_Len) ReDim uD_Pix_s(uElm_Len), uLg(uElm_Len) ReDim uV_Pix_x(uElm_Len), uV_Pix_y(uElm_Len), uV_Pix_z(uElm_Len) For tI = 0 To uElm_Len tX = tI Mod tVW tZ = tI / tVW : tA = tX * 360 / tVW tR = tX * 10 / tVW tRY = tR * Sin(Radian(tA)) uSP_x(tI) = tX : uSP_y(tI) = tRY : uSP_z(tI) = tZ uSP_cr(tI) = 0 : uSP_cg(tI) = 0 : uSP_cb(tI) = 0 uLg(tI) = 1 - WPGet(tX + uSi, tZ) * 0.7 Next End Sub Sub WFontSet() ReDim tDCT(255) : tECT = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" For tI = 0 To 63 tDCT(Asc(Mid(tECT, tI + 1, 1))) = tI Next tFTS = "AAAAAAAAAAAAAAEEEEEEAEAAAUKKAAAAAAAAAAUU/UK/KKAAAEeVFGMUVPEAAASVNKUsqSAAAAEKKeVVJ2AAACCBAAAAAAAAAgQIIIIIIQgAACEIIIIIIECAAAAEVOOVEAAAAAEEEfEEEAAAAAAAAAAAACCBAAAAAfAAAAAAAAAAAAAAACAAAQIIIEECCCBAAAORRRRRROAAAAEGEEEEEOAAAAORRIECBfAAAAORQMQQROAAAAIMKKJeIYAAAAfBBPQQROAAAAOJBPRRROAAAAfJIEEEEEAAAAORRORRROAAAAORRReQSOAAAAAAEAAAAEAAAAAAAEAAAEEAAgQIECEIQgAAAAAAfAAfAAAAACEIQgQIECAAAAORRIEEAEAAAAORZVVdBeAAAAEEMKKeSzAAAAPSSOSSSPAAAAeRBBBBROAAAAPSSSSSSPAAAAfSKOKCSfAAAAfSKOKCCHAAAAcSBB5RSMAAAAzSSeSSSzAAAAfEEEEEEfAAAA+IIIIIIJHAAA3SKGKKS3AAAAHCCCCCi/AAAAbbbbVVVVAAAA7SWWaaSXAAAAORRRRRROAAAAPSSOCCCHAAAAORRRRXZOYAAAPSSOKSS3AAAAeRBGIQRPAAAAfVEEEEEOAAAAzSSSSSSMAAAAzSSKKMEEAAAAVVVOKKKKAAAAbKKEEKKbAAAAbKKEEEEOAAAAfJIEECSfAAAcEEEEEEEEcAACCCEEIIIQAAAOIIIIIIIIOAAEKAAAAAAAAAAAAAAAAAAAA/AEAAAAAAAAAAAAAAAMScS8AAAADCCOSSSOAAAAAAAcSCCcAAAAYQQcSSS8AAAAAAAMSeCcAAAA4EEeEEEeAAAAAAA8SMCeicAADCCOSSS3AAAAEAAGEEEOAAAAIAAMIIIIIHAADCC6KOS3AAAAHEEEEEEfAAAAAAAPVVVVAAAAAAAPSSS3AAAAAAAMSSSMAAAAAAAPSSSOCHAAAAAcSSScQ4AAAAAbGCCHAAAAAAAeCMQeAAAAAEEOEEEYAAAAAAAbSSS8AAAAAAA3SKMEAAAAAAAVVOKKAAAAAAAbKEKbAAAAAAA3SKMEEDAAAAAeIEEeAAAYIIIEIIIIYAIIIIIIIIIIIIAGEEEIEEEEGAClYAAAAAAAAAAAAAAAAAAAAA" ReDim uFTS(1151) For tI = 0 To 1151 uFTS(tI) = tDCT(Asc(Mid(tFTS,tI + 1, 1))) Next End Sub Function WPGet(pL, pY) tSl = Len(uSt) tSi = (pL / 6) Mod tSl tX = pL Mod 6 tCd = Asc(Mid(uSt, tSi + 1, 1)) - 32 tBa = tCd * 72 tBi = pY * 6 + tX + tBa tBy = tBi / 6 : tBp = tBi Mod 6 tBm = 2 ^ tBp WPGet = CBool(uFTS(tBy) And tBm) And 1 End Function Sub Web_TimeLoop() MTX_3DMixD uD_Mx, uD_My, uD_Mz, uD_Rx, uD_Ry, uD_Rz, uD_Mtx_Mx, uD_Mtx_Mr PXE_MTXTram3D uSP_x, uSP_y, uSP_z, uD_Mtx_Mx, uD_Mtx_Mr, uD_Pix_x, uD_Pix_y, uD_Pix_z FIT_PSV uD_Pix_x, uD_Pix_y, uD_Pix_z, uF_Va, uF_Vd, uD_Pix_x, uD_Pix_y, uD_Pix_z, uD_Pix_s PXE_MTXTram3D uD_Pix_x, uD_Pix_y, uD_Pix_z, uV_Mtx_Mx, uV_Mtx_Mr, uV_Pix_x, uV_Pix_y, uV_Pix_z uSi = (uSi + 1) Mod Len(uSt) * 6 tSize = 20 tWC = 10 : tWH = 12 : tWW = 6 tVW = (tWC * tWW) ValuesMove uR, uG, uB, uOR, uOG, uOB If uR = uOR And uB = uOB And uG = uOG Then uOR = Int(Rnd * 16) + 16 uOG = Int(Rnd * 16) + 16 uOB = Int(Rnd * 16) + 16 End If For tI = 0 To uElm_Len tX = tI Mod tVW tZ = tI / tVW : tA = tX * 360 / tVW tR = tX * 10 / tVW tRY = tR * Sin(Radian(tA)) If Not tX = (tVW - 1) Then tPi = tZ * tVW + tX + 1 uSP_cr(tI) = uSP_cr(tPi) : uSP_cg(tI) = uSP_cg(tPi) : uSP_cb(tI) = uSP_cb(tPi) Else uSP_cr(tI) = uR * 8 : uSP_cg(tI) = uG * 8 : uSP_cb(tI) = uB * 8 End If uLg(tI) = 1 - WPGet(tX + uSi, tZ) * 0.7 Next ELM_Show uElm, uV_Pix_x, uV_Pix_y, uV_Pix_z, uD_Pix_s, uSP_cr, uSP_cg, uSP_cb, uLg, uWeb_FontSize uWeb_Tv = window.setTimeout("Web_TimeLoop", uWeb_Tw) End Sub Sub ValuesMove(pA, pB, pC, pOA, pOB, pOC) ValueMove pA, pOA ValueMove pB, pOB ValueMove pC, pOC End Sub Sub ValueMove(pV, pVo) If pV < pVo Then pV = pV + 1 If pV > pVo Then pV = pV - 1 End Sub Sub ELM_Show(pEl(), pVx(), pVy(), pVz(), pVs(), pSr(), pSg(), pSb(), pLg(), pFs) tEn = UBound(pEl) For tEi = 0 To tEn With uElm(tEi).style .left = pVx(tEi) .top = pVy(tEi) .zindex = pVz(tEi) + 100 .backgroundcolor = rgb(pSr(tEi) * pLg(tEi), pSg(tEi) * pLg(tEi), pSb(tEi) * pLg(tEi)) .width = pVs(tEi) * pFs & "px" .height = .width End With Next End Sub Function ELM_Create(pEn) ReDim tElms(pEn) For tEi = 0 To pEn With document Set tElms(tEi) = .createElement("DIV") .body.insertAdjacentElement "beForeEnd", tElms(tEi) End With With tElms(tEi).style .position = "absolute" .backgroundcolor = rgb(255,255,255) .fontsize = 0 .width = 10 .height = 10 End With Next ELM_Create = tElms End Function Sub PXE_MTXTram3D(pPx(), pPy(), pPz(), pM(), pMr(), oPx(), oPy(), oPz()) tPe = UBound(pPx) For tPi = 0 To tPe oPx(tPi) = pPx(tPi) * pM(0) + pPy(tPi) * pM(1) + pPz(tPi) * pM(2) + pM(3) oPy(tPi) = pPx(tPi) * pM(4) + pPy(tPi) * pM(5) + pPz(tPi) * pM(6) + pM(7) oPz(tPi) = pPx(tPi) * pM(8) + pPy(tPi) * pM(9) + pPz(tPi) * pM(10) + pM(11) Next End Sub Sub FIT_PSV(iPx, iPy, iPz, iVa, iVd, oPx, oPy, oPz, oPs) tPe = UBound(iPx) For tPi = 0 To tPe tZ = iPz(tPi) + iVd oPs(tPi) = tZ / iVd oPx(tPi) = iPx(tPi) * oPs(tPi) oPy(tPi) = iPy(tPi) * oPs(tPi) oPz(tPi) = iPz(tPi) Next End Sub Sub MTX_3DMixD(iMx, iMy, iMz, iRx, iRy, iRz, oMx, oMr) MTX_3DPixMove tMtx_MV, oMr, iMx, iMy, iMz MTX_3DPixRotZ tMtx_RTz, oMr, iRz MTX_3DPixRotX tMtx_RTx, oMr, iRx MTX_3DPixRotY tMtx_RTy, oMr, iRy MTX_Multi tMtx_MV, oMr, tMtx_RTz, oMr, tMx, oMr : oMx = tMx MTX_Multi oMx, oMr, tMtx_RTx, oMr, tMx, oMr : oMx = tMx MTX_Multi oMx, oMr, tMtx_RTy, oMr, tMx, oMr : oMx = tMx End Sub Sub MTX_3DMixV(iVx, iVy, iVz, iSc, oMx, oMr) MTX_3DPixMulti tMtx_SC, oMr, iSc MTX_3DPixMove tMtx_VM, oMr, iVx, iVy, iVz MTX_Multi tMtx_SC, oMr, tMtx_VM, oMr, tMx, oMr : oMx = tMx End Sub Sub MTX_3DPixMulti(oM(), oMr, iSc) oMr = 4 ReDim oM(15) oM = Array(iSc, 0, 0, 0, 0, iSc, 0, 0, 0, 0, iSc, 0, 0, 0, 0, 1) End Sub Sub MTX_3DPixMove(oM(), oMr, iMx, iMy, iMz) oMr = 4 ReDim oM(15) oM = Array(1, 0, 0, iMx, 0, 1, 0, iMy, 0, 0, 1, iMz, 0, 0, 0, 1) End Sub Sub MTX_3DPixRotZ(oM(), oMr, iA) oMr = 4 ReDim oM(15) tR = Radian(iA) : tSin = sin(tR) : tCos = cos(tR) oM = Array(tCos, -tSin, 0, 0, tSin, tCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1) End Sub Sub MTX_3DPixRotY(oM(), oMr, iA) oMr = 4 ReDim oM(15) tR = Radian(iA) : tSin = sin(tR) : tCos = cos(tR) oM = Array(tCos, 0, tSin, 0, 0, 1, 0, 0, -tSin, 0, tCos, 0, 0, 0, 0, 1) End Sub Sub MTX_3DPixRotX(oM(), oMr, iA) oMr = 4 tR = Radian(iA) : tSin = sin(tR) : tCos = cos(tR) oM = Array(1, 0, 0, 0, 0, tCos, tSin, 0, 0, -tSin, tCos, 0, 0, 0, 0, 1) End Sub Sub MTX_Multi(iMa(), iMar, iMb(), iMbr, oMc(), oMcr) tN = (iMar = ((UBound(iMb) / iMbr) + 1)) And (iMar - 1) If CBool(tN) Then tM = Ubound(iMa) / iMar tP = iMbr - 1 oMcr = tP + 1 ReDim oMc(oMcr * (tM + 1) - 1) For tMi = 0 To tM For tPi = 0 To tP For tNi = 0 To tN tMv = MTX_VGet(oMc, oMcr, tMi, tPi) + MTX_VGet(iMa, iMar, tMi, tNi) * MTX_VGet(iMb, iMbr, tNi, tPi) MTX_VSet oMc, oMcr, tMi, tPi, tMv Next Next Next End If End Sub Sub MTX_VSet(pM(), pMr, pX, pY, pMv) tMi = pY * pMr + pX pM(tMi) = pMv End Sub Function MTX_VGet(pM(), pMr, pX, pY) tMi = pY * pMr + pX MTX_VGet = pM(tMi) End Function Function Radian(pA) Radian = pA * 71 / 4068 End Function </script> </html>