如何在Flash(as3.0)文件中添加SCORM标准?

来源:互联网 发布:新网域名续费价格 编辑:程序博客网 时间:2024/05/14 15:11


如何在Flash(as3.0)文件中添加SCORM标准?

本教程详细讲解了如何在flash as3.0文件中,添加基本的SCORM功能。

重要提示:本教程使用ActionScript 3和SCORM 1.2,但同样的原则适用于ActionScript 2和SCORM 2004。

直接进入具体步骤:

一、在HTML文件的<head>标签中添加SCORM的 javascript API 类;

<script type="text/javascript" src="SCORM_API_wrapper.js"></script>

二、在Flash文件中使用import引入SCORM类;

import com.pipwerks.SCORM;

三、在flash中创建SCORM的实例;

a.我们先声明一些变量:

import fl.controls.Button;import flash.events.MouseEvent;import com.pipwerks.SCORM;var lessonStatus:String;var lmsConnected:Boolean;var success:Boolean;

b. 接下来,我们需要使用pipwerks.SCORM类创建一个新的SCORM的实例,代码如下:

import fl.controls.Button;import flash.events.MouseEvent;import com.pipwerks.SCORM;var lessonStatus:String;var lmsConnected:Boolean;var success:Boolean;var scorm:SCORM = new SCORM();

四、课程完成前核对初始化SCORM的连接;

添加一个scorm.connect() call,返回一个布尔值,指示是否成功。

import fl.controls.Button;import flash.events.MouseEvent;import pipwerks.SCORM;var lessonStatus:String;var lmsConnected:Boolean;var success:Boolean;var scorm:SCORM = new SCORM();lmsConnected = scorm.connect();

如果连接成功,lmsConnected则返回true,这意味着我们可以开始从LMS请求数据,从请求当前完成状态开始。
需要注意:如果课程的状态是“完成”( completed)或“通过”( passed),我们不需要保持LMS连接是激活的,我们需要小心不要覆盖之前完成的。所以,如果课程已经完成,我们会断开连接,并称之为一天。
如果完成状态没有“完成”( completed)或“通过”( passed),我们需要明确规定“未完全”( incomplete)的过程。代码如下:

import fl.controls.Button;import flash.events.MouseEvent;import pipwerks.SCORM;var lessonStatus:String;var lmsConnected:Boolean;var success:Boolean;var scorm:SCORM = new SCORM();lmsConnected = scorm.connect();if(lmsConnected){   lessonStatus = scorm.get("cmi.core.lesson_status");   if(lessonStatus == "completed"){      //Course has already been completed.      scorm.disconnect();   } else {      //Must tell LMS course has not been completed yet.      success = scorm.set("cmi.core.lesson_status", "incomplete");   }} else {   trace("Could not connect to LMS.");}


五、添加SCORM 完成的代码;

在我们的flash适当的位置来call完成代码,这个位置就是我们认为学习完成(结束)的位置。在本例中,当所有四个planets被访问时,我们将调用这个完成函数resetPlanets,代码如下:

function resetPlanets():void {if(visitedMercury && visitedVenus && visitedEarth && visitedMars){   success = scorm.set("cmi.core.lesson_status", "completed");   scorm.disconnect();   lmsConnected = false;   gotoAndPlay("end");} else {//[ ... ]}


六、发布Flash;
发布flash(一定要关掉“HTML”选项,因为我们使用我们自己的HTML文件)。因为本文代码为as3.0,所以请使用flash9及更高版本的flash进行发布。


七、修改清单文件。

所有符合SCORM标准的课程都需要有一个清单文件imsmanifest.xml,包含课程重要的元数据。对于本例,我们选取一个现成的简单的imsmanifest.xml清单文件为了我们的课程。
a. 在文本编辑器中打开imsmanifest.xml清单文件;
b. 更改清单元素的标识符属性(在文件顶部的顶部),以适合本课程(不许有空格):
identifier="MyPlanetsCourse"
c. 在15行开始查找organizations 元素 (和 organization 子元素),修改“default” and “identifier”属性,以便适合我们的课程。我们将使用“pipwerks”。一定要避免空格和非法字符,如标点符号(除下划线“_”)。
d. 在17行开始查找两个title元素,修改两者以便适合我们的课程。在本例中,把他们都改为“Planets!”。
e. 你需要在resource节点中使用这个课程清单文件。对于本例,我们要确保“href”指向“index.html”,然后我们需要使用file元素来列出其他文件:

<resource identifier="SCO_Resource_01" type="webcontent" adlcp:scormtype="sco" href="index.html">   <file href="index.html"/>   <file href="planets.swf"/>   <file href="SCORM_API_wrapper.js"/>   <file href="swfobject.js"/></resource>

f. 保存并关闭imsmanifest.xml文件。


总结:
本教程转载自微信:haodaima,正如大家所看到的,添加简单的SCORM的代码比许多人想象的更容易,总结起来就是三个步骤:
1.在HTML文件<head>标签中引入SCORM javascript API文件;
2.在flash中添加一些action script脚本的变量和函数;
3.编辑imsmanifest.xml文件(编辑几个ID和文件链接)。





1 0
原创粉丝点击