当前位置: 首页 > 知识库问答 >
问题:

保存一个简单的Flash游戏的关卡?

顾嘉德
2023-03-14

特别感谢JoãoCésar,这段as3代码创建了一个函数来生成SWF加载器。他使用增量值(count)在存储每个加载器动态信息的数组中循环迭代。在这种情况下,计数%SWFS.Length将导致0,1,0,1....在循环序列中有效地加载SWF。

这是一个想法:

代码如下:

import com.greensock.*;  
import com.greensock.loading.*;  
import com.greensock.events.LoaderEvent;  
import flash.display.DisplayObjectContainer;  
import flash.events.Event;  

var count:uint = 0;  
var currentSWFLoader:SWFLoader;  
var swf:Object = {};  
var swfs:Array =   
[  
    {path:"child1.swf", container:this},  
    {path:"child2.swf", container:this}  
]  

function generateSWFLoader(path:String, container:DisplayObjectContainer):SWFLoader  
{  
    return new SWFLoader  
    (  
        path,  
        {  
            container: container,  
            y:         100,  
            onProgress:progressHandler,  
            onComplete:completeHandler,  
            autoPlay:  false  
        }  
    );  
}  

function loadSWF(index:uint):void  
{  
    if (currentSWFLoader)  
        currentSWFLoader.dispose(true);  

    swf = swfs[index];  
    currentSWFLoader = generateSWFLoader(swf.path, swf.container);  
    currentSWFLoader.load();  
}  

function progressHandler(e:LoaderEvent):void  
{  
    bar.scaleX = e.target.progress;  
}  

function completeHandler(e:LoaderEvent):void  
{  
    e.target.rawContent.play();  
    addEventListener(Event.ENTER_FRAME, checkFrame);  
}  

function checkFrame(e:Event):void  
{  
    if (currentSWFLoader.rawContent.currentFrame == currentSWFLoader.rawContent.totalFrames)  
    {  
        trace("swf done playing");  
        removeEventListener(Event.ENTER_FRAME, checkFrame);  
        loadSWF(++count % swfs.length);      
    }  
}  

bar.scaleX = 0;  
loadSWF(count % swfs.length); 

共有1个答案

姜嘉荣
2023-03-14

下面是一些关于如何在共享对象中保存变量的一般信息。

package
{
    import flash.display.Sprite;
    //import the shared object
    import flash.net.SharedObject;

    public class Main extends Sprite 
    {
        //create and store the shared object
        var my_so:SharedObject = SharedObject.getLocal("yourNameOfSharedObject");

        public function Main() 
        {
            //un-comment to save or load
            //save();
            //load();


        }

        function save(){
            //save the number 2 to the shared object in a variable called swfNumber
            my_so.data.swfNumber = 2;
        }

        function load(){
            //load the the number stored in swfNumber
            var swfNumber = my_so.data.swfNumber;
            trace(swfNumber);
        }
    }
}
 类似资料:
  • 我正在创建一个骰子游戏,其中2个玩家有他们自己的骰子,每个人都有自己的轮到扔他的骰子,玩家可以完全失去分数或获得分数取决于他们站在窗口的位置,游戏结束时,任何一个玩家首先站在终点车道上,获胜者是得分最高的玩家,我已经在游戏的设计到目前为止,但还没有在逻辑上工作。 这个链接是游戏应该是什么样子的图片: 我想知道我如何才能添加球员1和球员2在每个瓷砖上面的照片,所以基本上每次当一个球员玩他的回合,我希

  • 我可以阻止吃豆人通过墙的一种方式,但他可以通过墙时去在另一个方向,我使用的代码是: } 我需要他在任何方向上都不要穿过墙!提前谢谢

  • 本文向大家介绍JQuery做的一个简单的点灯游戏分享,包括了JQuery做的一个简单的点灯游戏分享的使用技巧和注意事项,需要的朋友参考一下 最近屌丝被迫学习TypeScript(不学就会被开除,5555),所以得先学JavaScript,这下可好,所有网页相关的东西都得要有所了解,否则没法忽悠BOSS。 今天学了一小会JavaScript,这里先做了一个简单的点灯游戏,算是练手吧。其中用到了JQu

  • 简单的推箱子游戏,纯Objective-C代码完成。边界检测,碰撞检测,全部底层代码完成。游戏规则是控制超级玛丽,将炸弹推到怪物的方格里面。

  • 我很难把我的心思放在这件事上。每当玩家猜错时,它应该从最初的余额中减去他/她的赌注。由于它是在一个循环中,它总是从一开始就取初始平衡,每次都吐出相同的平衡。(很明显)我试过分配不同的变量,但似乎无法找到答案。 我已经省略了中等难度和难难度的方法,因为它们现在是没有用的,直到我弄清楚这个。