本页面由 Flash 保存计划 从 Internet Archive 存档还原 · 快照 2004-12-09 · 原址 http://bbs.flash8.net/forums/1786707/ShowPost.aspx ← Flash 保存计划
欢迎光临 闪吧论坛 登录 | 注册 | FAQ | 搜索
Print Search
帖子排序:    
帖子发起人:阿玲1   发起时间:2005-12-31 10:10 上午   回复:10
阿玲1 离线,最后访问时间:2005-12-31 17:37:00 阿玲1

等级:Flash1

等级:FLASH1
注册:2005-12-31
发贴:4
积分:0
2005-12-31, 10:10 上午   IP 地址:已记录  报告  收藏  楼主
这种电子相册,是用程序做出来的吗?

  • http://www.heiheiclub.com/gallery/04/index.html 这种电子相册,是用程序做出来的吗?
    gegei 离线,最后访问时间:2006-5-22 23:49:49 gegei

    等级:Flash 2

    等级:FLASH 2
    注册:2003-07-16
    发贴:143
    积分:0
    2005-12-31, 19:17 下午   IP 地址:已记录  报告  收藏  第2楼

  • easy! 所设计程序不多,最主要的是缓冲设计,也就是弹性设计
    sWinge 离线,最后访问时间:2006-1-12 17:54:15 sWinge

    等级:Flash1

    等级:FLASH1
    注册:2003-10-25
    发贴:14
    积分:0
    访问我的Blog
    2006-01-12, 17:49 下午   IP 地址:已记录  报告  收藏  第3楼
    Re:这种电子相册,是用程序做出来的吗?

  • 怎样?有教程吗?
    ly2274 离线,最后访问时间:2006-3-4 17:26:48 ly2274

    等级:Flash1

    等级:FLASH1
    注册:2005-05-15
    发贴:94
    积分:0
    2006-02-04, 11:55 上午   IP 地址:已记录  报告  收藏  第4楼
    Re:这种电子相册,是用程序做出来的吗?

  • 我觉得不要程序也应该可以做得出来吧
    龙之介 离线,最后访问时间:2006-3-27 18:59:04 龙之介

    等级:Flash1

    等级:FLASH1
    注册:2001-10-04
    发贴:82
    积分:6
    访问我的Blog
    2006-02-07, 12:21 下午   IP 地址:已记录  报告  收藏  第5楼
    Re:这种电子相册,是用程序做出来的吗?

  • 说容易的人就丢个源代码上来吧!
    headoff 离线,最后访问时间:2006-4-6 17:16:17 headoff

    等级:Flash1

    等级:FLASH1
    注册:2006-01-30
    发贴:14
    积分:0
    2006-02-11, 14:43 下午   IP 地址:已记录  报告  收藏  第6楼
    这是我decompiler反编译后查出的教本 蛋我觉得这是程序做的把 因为无论用flash的as1和2都不应该这么复杂 我觉得

  • function doLayout () {
    if (gStageWidth == undefined) {
    stageWidth = Stage.width
    stageHeight = Stage.height
    } else {
    stageWidth = gStageWidth
    stageHeight = gStageHeight
    }
    mcLoader._x = Math.ceil(stageWidth / 2)
    mcLoader._y = Math.ceil(stageHeight / 2)
    }
    _global.gShowDownloadLink = true
    Stage.align = "TL"
    Stage.scaleMode = "noScale"
    _global.gmcMain = this
    stop()
    lstnRez = new Object ()
    Stage.addListener(lstnRez)
    RESIZE_INTERVAL = 300
    lstnRez.onResize = function () {
    this
    if (!this.resizeIntervalId) {
    this["$onResize"] = function () {
    doLayout ()
    clearInterval (this.resizeIntervalId)
    delete(this.resizeIntervalId)
    }
    }
    }
    doLayout ()


    // Frame 19 actions...

    function doTween (mcId,frames,property,target,propertyB,targetB) {
    mcId.t = 0
    mcId.b = mcId[property]
    mcId.c = target - mcId.b
    mcId.d = frames
    mcId.bB = mcId[propertyB]
    mcId.cB = targetB - mcId.bB
    mcId.onEnterFrame = function () {
    if (mcId.t < mcId.d) {
    mcId[property] = easeOutQuint (mcId.t,mcId.b,mcId.c,mcId.d)
    mcId[propertyB] = easeOutQuint (mcId.t,mcId.bB,mcId.cB,mcId.d)
    mcId.t++
    } else {
    mcId.onEnterFrame = undefined
    }
    }
    }
    function init () {
    trace("init")
    trace("gImageCount: " + gImageCount)
    if ((gImagePath == undefined) || (gImagePath == "")) {
    if ((gThumbPath == undefined) || (gThumbPath == "")) {
    trace("gImagePath: " + gImagePath)
    if (isNaN (stageGutter)) {
    if (isNaN (imageBorderWidth)) {
    gmcThumbSliderMask.attachMovie("sDummy","mcMask",gNextLevel++)
    gmcThumbSlider.setMask(gmcThumbSliderMask)
    if (gNavDir == "LTR") {
    } else {
    updateThumbs ()
    if (gNavDir == "LTR") {
    } else {
    if (gShowDownloadLink) {
    colLogo.setRGB(captionColor)
    barCol.setRGB(frameColor)
    selCol.setRGB(frameColor)
    nCol.setRGB(frameColor)
    bCol.setRGB(frameColor)
    inCol.setRGB(frameColor)
    ibCol.setRGB(frameColor)
    if (gThumbPageCount > 0) {
    Math.max(gThumbAreaWidth,170)
    if (gNavDir == "LTR") {
    if (thumbColumnCount == 1) {
    }
    }
    else if (thumbColumnCount == 1) {
    doLayout ()
    initThumbs ()
    Key.addListener(keyListener)
    keyListener.onKeyUp = function () {
    okPress = true
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    function autoShow () {
    doLayout ()
    clearInterval (intStart)
    gPendingImageId = 0
    gaThumbs[0].makeCurrent()
    gaThumbs[0].doRelease()
    }
    function xableImghandCursors () {
    if (gCurrentImageId < gImageCount - 1) {
    gmcImageButtons.mcBack.useHandCursor = true
    } else {
    gmcImageButtons.mcBack.useHandCursor = false
    }
    if (gCurrentImageId > 0) {
    gmcImageButtons.mcNext.useHandCursor = true
    } else {
    gmcImageButtons.mcNext.useHandCursor = false
    }
    }
    function doLayout () {
    trace("doLayout")
    if (gStageWidth == undefined) {
    stageWidth = Stage.width
    stageHeight = Stage.height
    } else {
    stageWidth = gStageWidth
    stageHeight = gStageHeight
    }
    trace("stage width: " + stageWidth)
    if ((navPosition == "left") || (navPosition == "right")) {
    displayWidth = stageWidth - (stageGutter * 3) - gThumbAreaWidth
    displayHeight = stageHeight - (stageGutter * 2)
    } else {
    displayWidth = stageWidth - (stageGutter * 2)
    displayHeight = stageHeight - (stageGutter * 3) - gThumbAreaHeight
    }
    if (displayWidth < displayHeight) {
    displayDim = displayWidth
    } else {
    displayDim = displayHeight
    }
    MaxDisplayDim = gImageMaxDim + (imageBorderWidth * 2)
    if (MaxDisplayDim < displayDim) {
    displayDim = MaxDisplayDim
    }
    displayDim = Math.floor(displayDim)
    UIWidth = displayDim + gThumbAreaWidth + stageGutter
    UIHeight = displayDim + gThumbAreaHeight + stageGutter
    switch(navPosition){
    case top :
    thumbAreaY = Math.floor((stageHeight - UIHeight) / 2)
    displayAreaY = Math.floor(thumbAreaY + stageGutter + gThumbAreaHeight)
    displayAreaX = Math.floor((stageWidth - displayDim) / 2)
    thumbAreaX = Math.floor((stageWidth - gThumbAreaWidth) / 2) + gThumbAreaWidth
    break //Goto(1891)
    case bottom :
    displayAreaY = Math.floor((stageHeight - UIHeight) / 2)
    displayAreaX = Math.floor((stageWidth - displayDim) / 2)
    thumbAreaY = Math.floor(displayAreaY + displayDim + stageGutter)
    thumbAreaX = Math.floor((stageWidth - gThumbAreaWidth) / 2) + gThumbAreaWidth
    break //Goto(1891)
    case left :
    displayAreaY = Math.floor((stageHeight - displayDim) / 2)
    thumbAreaX = Math.floor((stageWidth - UIWidth) / 2 + gThumbAreaWidth)
    thumbAreaY = Math.floor((stageHeight - gThumbAreaHeight) / 2)
    displayAreaX = Math.floor(thumbAreaX + stageGutter)
    break //Goto(1891)
    default :
    displayAreaY = Math.floor((stageHeight - displayDim) / 2)
    thumbAreaX = stageWidth - Math.floor((stageWidth - UIWidth) / 2)
    thumbAreaY = Math.floor((stageHeight - gThumbAreaHeight) / 2)
    displayAreaX = Math.floor(thumbAreaX - (stageGutter + displayDim + gThumbAreaWidth))
    }
    gmcThumbArea._x = thumbAreaX
    gmcThumbArea._y = thumbAreaY
    gmcDisplayArea._x = displayAreaX
    gmcDisplayArea._y = displayAreaY
    gmcDisplayArea._width = displayDim
    gmcDisplayArea._height = displayDim
    gmcImageLoadBar._x = Math.floor(displayAreaX + (gmcDisplayArea._width / 2))
    gmcImageLoadBar._y = Math.floor(displayAreaY + (gmcDisplayArea._height / 2))
    gmcCaption._x = thumbAreaX + 4 - gThumbAreaWidth
    gmcCaption._y = thumbAreaY + gThumbAreaHeight
    gmcTitle._x = thumbAreaX + 4 - gThumbAreaWidth
    gmcTitle._y = thumbAreaY - gTitleHeight
    gaImages[gCurrentImageId].centerImage()
    gmcLogo._x = Math.floor(stageWidth - gmcLogo._width - 10)
    gmcLogo._y = Math.floor(stageHeight - gmcLogo._height - 10)
    }
    function updateThumbs () {
    if (gNavDir == "LTR") {
    gThumbGotoX = (0 - gThumbAreaWidth) * gThumbPageId - gThumbAreaWidth
    } else {
    gThumbGotoX = gThumbAreaWidth * gThumbPageId - gThumbAreaWidth
    }
    if (gThumbGotoX != gmcThumbSlider._x) {
    doTween (gmcThumbSlider,20,"_x",gThumbGotoX)
    }
    if (gThumbPageId == 0) {
    gmcNextThumbsBtn._visible = false
    } else {
    gmcNextThumbsBtn._visible = true
    }
    if (gThumbPageId == gThumbPageCount) {
    gmcBackThumbsBtn._visible = false
    } else {
    gmcBackThumbsBtn._visible = true
    }
    }
    function initThumbs () {
    gmcMain.createEmptyMovieClip("mcBodge",-1)
    0
    while (0 < gImageCount){
    if (gNavDir == "LTR") {
    } else {
    0++
    }
    }
    gaThumbs[0]._x = gThumbAreaWidth - (THUMBMAXDIM * ((Math.floor((0) / thumbRowCount) + 1)))
    _Error_Reg_1_Read
    }
    function Thumb () {
    this
    trace("creating Thumb:" + this.id)
    this.createEmptyMovieClip("mcThumbListener",1)
    colFrame.setRGB(frameColor)
    colBar.setRGB(frameColor)
    colViewedBar.setRGB(frameColor)
    colSquare.setRGB(frameColor)
    colSquare = new Color (this.mcSquare)
    _Error_Reg_2_Read
    _Error_Reg_1_Read
    }
    function Image () {
    colFrame = new Color (this.mcImage.mcBkgnd)
    colFrame.setRGB(frameColor)
    }
    trace("com.qlod.LoaderClass.as loaded")
    if (typeof(_global.com) != "object") {
    _global.com = new Object ()
    }
    if (typeof(com.qlod) != "object") {
    com.qlod = new Object ()
    }
    o = com.qlod.LoaderClass = function (piTimeoutMs,piIntervalMs,piMinSteps) {
    this
    arguments[0] != "NO_INIT" ? :
    }
    o.DEFAULT_TIMEOUT_MS = 2000
    o.DEFAULT_INTERVAL_MS = 100
    o.DEFAULT_MIN_STEPS = 1
    o = o.prototype
    o.load = function (pLoc,psUrl,poListener) {
    this.observe.apply(this,arguments)
    !(this.observe.apply(this,arguments)) ? (this.observe.apply(this,arguments)) undefined : false
    _Error_Reg_1_Read
    return !(this.observe.apply(this,arguments)) ? (this.observe.apply(this,arguments)) undefined : false
    }
    o.observe = function (pLoc,psUrl,poListener) {
    this
    pLoc
    arguments
    this.target != null ? this.enqueue(arguments.caller == this.load,arguments.slice(3)) undefined : false
    this.oListener = poListener
    _Error_Reg_2_Read
    _Error_Reg_1_Read
    return this.target != null ? this.enqueue(arguments.caller == this.load,arguments.slice(3)) undefined : false
    }
    o.clear = function () {
    this.aQueue.length = 0
    this.removeCurrent()
    }
    o.go = function () {
    ASBroadcaster.initialize(this)
    }
    o.removeCurrent = function () {
    this
    if (this.isLoading()) {
    this.targetToLoc()
    if (this.checkLocation(this.targetToLoc())) {
    this.targetToLoc().unloadMovie()
    }
    this.endTimeout()
    this.endLoading()
    }
    _Error_Reg_2_Read
    _Error_Reg_1_Read
    }
    o.remove = function (pId) {
    this
    pId
    this.oCurrentItem.iId != pId ? true false undefined : true
    _Error_Reg_3_Read
    _Error_Reg_2_Read
    _Error_Reg_1_Read
    return this.oCurrentItem.iId != pId ? true false undefined : true
    }
    o.makeCurrent = function (pId) {
    this
    pId
    this.oCurrentItem.iId != pId ? true false undefined : true
    _Error_Reg_3_Read
    _Error_Reg_2_Read
    _Error_Reg_1_Read
    return this.oCurrentItem.iId != pId ? true false undefined : true
    }
    o.getTimeoutMs = function () {
    return this.iTimeoutMs
    }
    o.setTimeoutMs = function (piMilliseconds) {
    this
    if (this.iTimeoutIntervalId != -1) {
    this.startTimeout()
    }
    break //Goto(3198)
    undefined
    this.iTimeoutMs
    return undefined
    }
    o.disableTimeout = function () {
    this.endTimeout()
    this.bTimeoutEnabled = 0
    }
    o.enableTimeout = function () {
    this.bTimeoutEnabled = 1
    this.startTimeout()
    }
    o.getIntervalMs = function () {
    return this.iIntervalMs
    }
    o.setIntervalMs = function (piMilliseconds) {
    this
    if (this.isLoading()) {
    clearInterval (this.iIntervalId)
    this.startInterval()
    }
    break //Goto(3297)
    undefined
    this.iIntervalMs
    return undefined
    }
    o.getMinSteps = function () {
    return this.iMinSteps
    }
    o.setMinSteps = function (piMinSteps) {
    this
    break //Goto(3341)
    undefined
    this.iMinSteps = this.checkIntGreaterZero(piMinSteps,this.constructor.DEFAULT_MIN_STEPS)
    return undefined
    }
    o.isLoading = function () {
    return this.iIntervalId != -1
    }
    o.getBytesLoaded = function () {
    this
    Math.min(this.iBytesLoaded,Math.floor(this.iBytesTotal * this.iCurrentStep / this.iMinSteps))
    if (!(isNaN (Math.min(this.iBytesLoaded,Math.floor(this.iBytesTotal * this.iCurrentStep / this.iMinSteps))))) {
    } else {
    break //Goto(3407)
    undefined
    0
    }
    Math.min(this.iBytesLoaded,Math.floor(this.iBytesTotal * this.iCurrentStep / this.iMinSteps))
    return undefined
    }
    o.getBytesTotal = function () {
    return this.iBytesTotal
    }
    o.getKBLoaded = function () {
    return this.getBytesLoaded() >> 10
    }
    o.getKBTotal = function () {
    return this.getBytesTotal() >> 10
    }
    o.getPercent = function () {
    return this.getBytesLoaded() * 100 / this.iBytesTotal
    }
    o.getDuration = function () {
    return getTimer() - this.iStartTimeMs
    }
    o.getSpeed = function () {
    return Math.floor(this.getBytesLoaded() * 1000 / this.getDuration())
    }
    o.getEstimatedTotalTime = function () {
    return Math.floor(this.getBytesTotal() / this.getSpeed())
    }
    o.getTarget = function () {
    return this.oCurrentItem.target
    }
    o.getTargetObj = function () {
    if (!(typeof(this.oCurrentItem.target) == "object")) {
    } else {
    return this.oCurrentItem.target
    }
    }
    o.getUrl = function () {
    return this.oCurrentItem.sUrl
    }
    o.broadcastOnQueueStart = function () {
    this.broadcastMessage("onQueueStart",this)
    }
    o.broadcastOnQueueStop = function () {
    this.broadcastMessage("onQueueStop",this)
    }
    o.broadcastOnLoadStart = function () {
    this.broadcastMessage("onLoadStart",this)
    }
    o.broadcastOnLoadComplete = function (pbResult) {
    this.broadcastMessage("onLoadComplete",pbResult,this)
    }
    o.broadcastOnLoadTimeout = function () {
    this.broadcastMessage("onLoadTimeout",this)
    }
    o.broadcastOnLoadProgress = function () {
    this.broadcastMessage("onLoadProgress",this)
    }
    o._load = function () {
    this
    this.oCurrentItem.target
    this.startTimeout()
    typeof(this.oCurrentItem.target.load) != "function" ? :
    _Error_Reg_2_Read
    }
    o._observe = function () {
    this
    if (typeof(this.oCurrentItem.oListener) == "object") {
    this.addListener(this.oCurrentItem.oListener)
    }
    this.broadcastOnLoadStart()
    this.broadcastOnLoadProgress()
    if (this.oCurrentItem.bDoLoad) {
    this._load()
    }
    this.funcWaitUntil = null
    }
    o.enqueue = function (pbDoLoad,paArgs) {
    this
    ++this.iId
    this.aQueue.push({target: this.target,sUrl: this.sUrl,bDoLoad: pbDoLoad,aArgs: paArgs,iId: ++this.iId,oListener: this.oListener})
    if (!this.isLoading()) {
    this.startLoading()
    }
    break //Goto(3955)
    undefined
    ++this.iId
    _Error_Reg_2_Read
    return undefined
    }
    o.isQueueEmpty = function () {
    return this.aQueue.length == 0
    }
    o.loadNext = function () {
    this
    this._observe()
    this.oCurrentItem = this.aQueue.shift()
    }
    o.startLoading = function () {
    this
    this.broadcastOnQueueStart()
    this.startInterval()
    this.loadNext()
    _Error_Reg_1_Read
    }
    o.stopLoading = function () {
    this.endInterval()
    this.endTimeout()
    }
    o.startTimeout = function () {
    this
    if (this.iTimeoutIntervalId != -1) {
    clearInterval (this.iTimeoutIntervalId)
    }
    if (this.bTimeoutEnabled) {
    this.iTimeoutIntervalId = setInterval (this,"onTimeout",this.iTimeoutMs)
    }
    }
    o.endTimeout = function () {
    this
    if (this.iTimeoutIntervalId != -1) {
    clearInterval (this.iTimeoutIntervalId)
    this.iTimeoutIntervalId = -1
    }
    }
    o.onTimeout = function () {
    this
    this.endTimeout()
    this.broadcastOnLoadTimeout()
    this.endLoading(false)
    _Error_Reg_1_Read
    }
    o.locToTarget = function (loc) {
    loc
    this
    !this.locIsNumber(loc) ? (loc) (loc) targetPath(loc) (loc) null undefined : ("_level" + (loc))
    _Error_Reg_2_Read
    _Error_Reg_1_Read
    return !this.locIsNumber(loc) ? (loc) (loc) targetPath(loc) (loc) null undefined : ("_level" + (loc))
    }
    o.targetToLoc = function () {
    if (!(typeof(this.oCurrentItem.target) == "string")) {
    } else {
    return this.oCurrentItem.target
    }
    }
    o.locIsNumber = function (loc) {
    return typeof(loc) == "number"
    }
    o.locIsPath = function (loc) {
    return (typeof(loc) == "string") && (typeof(eval(loc)) == "movieclip") && ((eval(loc) != _level0) || (loc == "_level0"))
    }
    o.locIsLevel = function (loc) {
    return (loc.indexOf("_level") == 0) && (!isNaN (loc.substring(6)))
    }
    o.locIsMovieClip = function (loc) {
    return typeof(loc) == "movieclip"
    }
    o.locIsLoadableObject = function (loc) {
    return (typeof(loc.getBytesTotal) == "function") && (typeof(loc.getBytesLoaded) == "function")
    }
    o.startInterval = function () {
    this
    if (this.iIntervalId != -1) {
    this.endInterval()
    }
    this.iIntervalId = setInterval (this,"onInterval",this.iIntervalMs)
    }
    o.endInterval = function () {
    this
    if (this.iIntervalId != -1) {
    clearInterval (this.iIntervalId)
    this.iIntervalId = -1
    }
    }
    o.onInterval = function () {
    this
    this.targetToLoc()
    !this.checkLocation(this.targetToLoc()) ? :
    _Error_Reg_2_Read
    }
    o.checkLocation = function (poCurrentLoc) {
    if (poCurrentLoc == undefined) {
    this.broadcastOnLoadProgress()
    return false
    }
    return true
    }
    o.checkBytesTotal = function (poCurrentLoc) {
    poCurrentLoc.getBytesTotal()
    poCurrentLoc.getBytesTotal() >= 4 ? true undefined : false
    _Error_Reg_1_Read
    return poCurrentLoc.getBytesTotal() >= 4 ? true undefined : false
    }
    o.checkBytesLoaded = function (poCurrentLoc) {
    poCurrentLoc.getBytesLoaded()
    poCurrentLoc.getBytesLoaded() >= 1 ? true undefined : false
    _Error_Reg_1_Read
    return poCurrentLoc.getBytesLoaded() >= 1 ? true undefined : false
    }
    o.checkComplete = function (poCurrentLoc) {
    this
    !((this.iBytesTotal > 10) && (this.iBytesTotal - this.iBytesLoaded < 10) && (this.iCurrentStep >= this.iMinSteps) && ((this.funcWaitUntil == null) || this.funcWaitUntil(poCurrentLoc))) ? false undefined : true
    _Error_Reg_1_Read
    return !((this.iBytesTotal > 10) && (this.iBytesTotal - this.iBytesLoaded < 10) && (this.iCurrentStep >= this.iMinSteps) && ((this.funcWaitUntil == null) || this.funcWaitUntil(poCurrentLoc))) ? false undefined : true
    }
    o.waitUntilPropertiesAreInitialized = function (pMc) {
    pMc
    break //Goto(4730)
    undefined
    (pMc._width != undefined) && (pMc._height != undefined) && (pMc._visible != undefined) && (pMc._url != undefined)
    return undefined
    }
    o.endCurrentLoading = function (pbResult) {
    this
    this.broadcastOnLoadComplete(pbResult)
    if (typeof(this.oCurrentItem.oListener) == "object") {
    this.removeListener(this.oCurrentItem.oListener)
    }
    _Error_Reg_1_Read
    }
    o.endLoading = function (pbResult) {
    this
    this.endCurrentLoading(pbResult)
    !this.isQueueEmpty() ? :
    }
    o.checkIntGreaterZero = function (piValue,piDefaultValue) {
    piValue
    !((piValue == undefined) || (isNaN (piValue)) || (piValue <= 0)) ? (piValue) undefined : piDefaultValue
    _Error_Reg_1_Read
    return !((piValue == undefined) || (isNaN (piValue)) || (piValue <= 0)) ? (piValue) undefined : piDefaultValue
    }
    delete("o")
    easeOutQuint = function (t,b,c,d) {
    t
    break //Goto(4893)
    undefined
    c * ((((t) / d - 1) * ((t) / d - 1) * ((t) / d - 1) * ((t) / d - 1) * ((t) / d - 1) + 1)) + b
    return undefined
    }
    Color.prototype.setTint = function (color_num,amount) {
    var r = (color_num & 16711680) >> 16
    var g = (color_num & 65280) >> 8
    color_num & 255
    new Object ()
    amount / 100
    this.setTransform(new Object ())
    new Object ().bb = (color_num & 255) * (amount / 100)
    _Error_Reg_2_Read
    _Error_Reg_1_Read
    }
    Thumb.prototype = new MovieClip ()
    Object.registerClass("sThumb",Thumb)
    Thumb.prototype.onThumbLoaded = function () {
    this
    trace("thumb loaded: " + this.id)
    this.centerThumb()
    this.gotoAndPlay("thumbLoaded")
    this.loadImage()
    this.onRelease = this.doRelease
    }
    Thumb.prototype.doRollOver = function () {
    this
    if (this.thumbLoaded) {
    this.gotoAndPlay("_over")
    gmcCaption.txtCap.textColor = captionColor
    }
    }
    Thumb.prototype.doRollOut = function () {
    if (this.thumbLoaded) {
    gmcCaption.txtCap.htmlText = gaThumbs[gCurrentImageId].XMLData.childNodes[1].firstChild.nodeValue
    gmcCaption.txtCap.textColor = captionColor
    }
    }
    Thumb.prototype.doRelease = function () {
    this
    if (this.thumbLoaded) {
    if (!this.imageLoaded) {
    this.makeCurrent()
    } else {
    gaImages[this.id].showImage()
    }
    }
    updateThumbs ()
    gThumbPageId = Math.floor(this.id / thumbnailDisplayCount)
    }
    Thumb.prototype.makeCurrent = function () {
    this
    imageLoader.makeCurrent(this.imageLoadId)
    gmcImageLoadBar.onEnterFrame = function () {
    this
    if (this.p == 100) {
    this.onEnterFrame = undefined
    }
    }
    }
    Thumb.prototype.loadImage = function () {
    this
    this.createEmptyMovieClip("mcImageListener",2)
    gaImages[this.id].mcImage.createEmptyMovieClip("mcLoader",1)
    this.imageLoadId = imageLoader.load(gaImages[this.id].mcImage.mcImage,gImagePath + this.XMLData.firstChild.firstChild.nodeValue)
    _Error_Reg_2_Read
    _Error_Reg_1_Read
    }
    Thumb.prototype.centerThumb = function () {
    this
    mcInner._y = mcOuter._height - mcInner._height
    }
    Image.prototype = new MovieClip ()
    Object.registerClass("sImage",Image)
    Image.prototype.fadeOut = function () {
    this.gotoAndPlay("fadeOut")
    }
    Image.prototype.onFadeOutDone = function () {
    this._visible = false
    }
    Image.prototype.fadeIn = function () {
    this._visible = true
    this.gotoAndPlay("fadeIn")
    }
    Image.prototype.onImageLoaded = function () {
    if (gPendingImageId == this.id) {
    this.showImage()
    }
    }
    Image.prototype.showImage = function () {
    this
    trace("SHOWIMAGE")
    gaImages[gCurrentImageId].fadeOut()
    this.fadeIn()
    this.centerImage()
    xableImghandCursors ()
    !gShownFirstImage ? :
    }
    Image.prototype.centerImage = function () {
    this
    if (mcInner._width > mcInner._height) {
    if (mcInner._width >= mcOuter._width) {
    }
    mcInner._width
    }
    else if (mcInner._height >= mcOuter._height) {
    mcInner._height
    trace("centerImage WIDTH: " + mcInner._width)
    if (gNavDir == "LTR") {
    } else {
    gmcImgNextIcon._y = gmcImgBackIcon._y = this._y + mcInner._y + mcInner._height - THUMB_WIDTH
    }
    }
    _Error_Reg_2_Read
    _Error_Reg_1_Read
    }
    init ()
    stop()


    // 子图形 10 ('mcLoader')


    // Frame 1 actions...

    stop()


    // 子图形 11 ('mcLoader')


    // Frame 9 actions...

    stop()
    mcLoader.onEnterFrame = function () {
    this
    !((gImgBytesLoaded > 16) && (gImgBytesLoaded == gImgBytesTotal)) ? :
    }

    // Frame 16 actions...

    function xmlLoaded (success) {
    trace("Loaded XML: " + success)
    if (success) {
    gmcMain.mcLoader.gotoAndPlay("done")
    } else {
    trace("Load XML failed")
    }
    }
    mcLoader.gotoAndStop(2)
    if (_root.xmlDataPath == undefined) {
    gXmlDataPath = "imageData.xml"
    } else {
    gXmlDataPath = _root.xmlDataPath
    }
    trace("gXmlDataPath: " + gXmlDataPath)
    _global.gImageData_xml = new XML ()
    gImageData_xml.onLoad = xmlLoaded
    gImageData_xml.ignoreWhite = true
    gImageData_xml.load(gXmlDataPath)
    mcLoader.onEnterFrame = function () {
    gImgBytesLoaded = gImageData_xml.getBytesLoaded()
    gImgBytesTotal = gImageData_xml.getBytesTotal()
    loadWidth = Math.round(gImgBytesLoaded / gImgBytesTotal * 106)
    loadWidth = Math.min(106,loadWidth)
    this.mcBar._width = Math.ceil(loadWidth)
    }
    stop()

    // Frame 32 actions...

    gmcMain.gotoAndPlay("main")
    stop()


    // 子图形 16


    // Frame 1 actions...

    mcImage._visible = false
    myCol = new Color (mcImage)

    // Frame 5 actions...

    mcImage._visible = false

    // Frame 11 actions...

    mcImage._visible = true
    t = 100
    myCol.setTint(Number(gmcMain.bgColor),100)
    mcImage.onEnterFrame = function () {
    myCol.setTint(Number(gmcMain.bgColor),t)
    t = t - 20
    if (t < 0) {
    this.onEnterFrame = undefined
    }
    }

    // Frame 17 actions...

    stop()
    myCol.setTransform({ra: 100,ga: 100,ba: 100,rb: 0,gb: 0,bb: 0})

    // Frame 18 actions...

    mcImage._visible = true
    t = 0
    mcImage.onEnterFrame = function () {
    myCol.setTint(Number(gmcMain.bgColor),t)
    t = t + 20
    if (t > 100) {
    this.onEnterFrame = undefined
    }
    }

    // Frame 24 actions...

    this.onFadeOutDone()
    stop()


    // 子图形 23


    // Frame 1 actions...

    mcButton.onRollOver = function () {
    gotoAndPlay(2)
    }
    mcButton.onRollOut = function () {
    gotoAndStop(1)
    }
    mcButton.onRelease = function () {
    getURL("http://www.airtightinteractive.com/simpleviewer","_blank")
    }
    stop()

    // Frame 10 actions...

    stop()


    // 子图形 29 ('mcThumb')


    // Frame 1 actions...

    stop()

    // Frame 2 actions...

    play()

    // Frame 7 actions...

    stop()


    // 子图形 34


    // Frame 2 actions...

    stop()

    // Frame 6 actions...

    stop()
    mcThumb.gotoAndStop(1)

    // Frame 13 actions...

    mcThumb.gotoAndPlay("roll")

    // Frame 23 actions...

    stop()

    // Frame 37 actions...

    stop()

    // Frame 47 actions...

    stop()

    // Frame 60 actions...

    stop()


    // 子图形 37


    // Frame 1 actions...

    stop()

    // Frame 11 actions...

    play()

    // Frame 16 actions...

    stop()


    // 子图形 38


    // Frame 1 actions...

    stop()

    // Frame 11 actions...

    play()

    // Frame 16 actions...

    stop()


    // 子图形 42 ('mcArrow')


    // Frame 55 actions...

    stop()
    headoff 离线,最后访问时间:2006-4-6 17:16:17 headoff

    等级:Flash1

    等级:FLASH1
    注册:2006-01-30
    发贴:14
    积分:0
    2006-02-11, 14:47 下午   IP 地址:已记录  报告  收藏  第7楼
    改swf同级目录里再有个js我看不懂

  • // Flash Version Detector v1.1.5
    // http://www.dithered.com/javascript/flash_detect/index.html
    // code by Chris Nott (chris@NOSPAMdithered.com - remove NOSPAM)
    // with VBScript code from Alastair Hamilton

    var flashVersion = 0;
    function getFlashVersion() {
    var agent = navigator.userAgent.toLowerCase();

    // NS3 needs flashVersion to be a local variable
    if (agent.indexOf("mozilla/3") != -1 && agent.indexOf("msie") == -1) {
    flashVersion = 0;
    }

    // NS3+, Opera3+, IE5+ Mac (support plugin array): check for Flash plugin in plugin array
    if (navigator.plugins != null && navigator.plugins.length > 0) {
    var flashPlugin = navigator.plugins['Shockwave Flash'];
    if (typeof flashPlugin == 'object') {
    if (flashPlugin.description.indexOf('7.') != -1) flashVersion = 7;
    else if (flashPlugin.description.indexOf('6.') != -1) flashVersion = 6;
    else if (flashPlugin.description.indexOf('5.') != -1) flashVersion = 5;
    else if (flashPlugin.description.indexOf('4.') != -1) flashVersion = 4;
    else if (flashPlugin.description.indexOf('3.') != -1) flashVersion = 3;
    }
    }

    // IE4+ Win32: attempt to create an ActiveX object using VBScript
    else if (agent.indexOf("msie") != -1 && parseInt(navigator.appVersion) >= 4 && agent.indexOf("win")!=-1 && agent.indexOf("16bit")==-1) {
    document.write('<scr' + 'ipt language="VBScript"\> \n');
    document.write('on error resume next \n');
    document.write('dim obFlash \n');
    document.write('set obFlash = CreateObject("ShockwaveFlash.ShockwaveFlash.7") \n');
    document.write('if IsObject(obFlash) then \n');
    document.write('flashVersion = 7 \n');
    document.write('else set obFlash = CreateObject("ShockwaveFlash.ShockwaveFlash.6") end if \n');
    document.write('if flashVersion < 7 and IsObject(obFlash) then \n');
    document.write('flashVersion = 6 \n');
    document.write('else set obFlash = CreateObject("ShockwaveFlash.ShockwaveFlash.5") end if \n');
    document.write('if flashVersion < 6 and IsObject(obFlash) then \n');
    document.write('flashVersion = 5 \n');
    document.write('else set obFlash = CreateObject("ShockwaveFlash.ShockwaveFlash.4") end if \n');
    document.write('if flashVersion < 5 and IsObject(obFlash) then \n');
    document.write('flashVersion = 4 \n');
    document.write('else set obFlash = CreateObject("ShockwaveFlash.ShockwaveFlash.3") end if \n');
    document.write('if flashVersion < 4 and IsObject(obFlash) then \n');
    document.write('flashVersion = 3 \n');
    document.write('end if');
    document.write('</scr' + 'ipt\> \n');
    }

    // WebTV 2.5 supports flash 3
    else if (agent.indexOf("webtv/2.5") != -1) flashVersion = 3;

    // older WebTV supports flash 2
    else if (agent.indexOf("webtv") != -1) flashVersion = 2;

    // Can't detect in all other cases
    else {
    flashVersion = flashVersion_DONTKNOW;
    }

    return flashVersion;
    }

    flashVersion_DONTKNOW = -1;
    3sliang 离线,最后访问时间:2006-5-23 13:45:41 3sliang

    等级:Flash 2

    等级:FLASH 2
    注册:2004-12-02
    发贴:115
    积分:0
    2006-03-18, 01:44 上午   IP 地址:已记录  报告  收藏  第8楼
    Re:这种电子相册,是用程序做出来的吗?

  • 晕,太长了吧
    Eglantine0516 离线,最后访问时间:2006-3-22 22:17:46 言童の言舌

    等级:Flash1

    等级:FLASH1
    注册:2006-03-16
    发贴:2
    积分:0
    2006-03-22, 22:17 下午   IP 地址:已记录  报告  收藏  第9楼
    Re:这种电子相册,是用程序做出来的吗?

  • 高手!!!!!!!!!!!!!!
    winning11 离线,最后访问时间:2006-4-5 13:55:45 瞎子踢实况

    等级:Flash1

    等级:FLASH1
    注册:2006-03-15
    发贴:5
    积分:0
    2006-03-31, 23:02 下午   IP 地址:已记录  报告  收藏  第10楼
    Re:这种电子相册,是用程序做出来的吗?

  • 看着头晕
    headoff 离线,最后访问时间:2006-4-6 17:16:17 headoff

    等级:Flash1

    等级:FLASH1
    注册:2006-01-30
    发贴:14
    积分:0
    2006-04-06, 02:21 上午   IP 地址:已记录  报告  收藏  第11楼
    Re:这种电子相册,是用程序做出来的吗?

  • 现在回答 是 就是写歌程序做的 还有比这更好的效果 我前些日子模仿这个做的时候朋友给我看了一个比这更好的 nnd 模仿的 我也直接懒得完成了 郁闷in'

    这个问题 根本不是难事 只是它层级比较多 显得复杂费时间而已

    没什么太强的技术 或非常巧妙的构思 就是多分析行了
    快速回复帖子

     




    标题: