请选择 进入手机版 | 继续访问电脑版

TQ官方网站

 找回密码
 立即注册
查看: 3740|回复: 0

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

[复制链接]

4

主题

4

帖子

49

积分

新手上路

Rank: 1

积分
49
发表于 2015-12-19 17:33:46 | 显示全部楼层 |阅读模式
《沐风课堂》腾讯课堂
如何在Flashas3.0)文件中添加SCORM标准?
本教程详细讲解了如何在flash as3.0文件中,添加基本的SCORM功能。
重要提示:本教程使用ActionScript3SCORM 1.2,但同样的原则适用于ActionScript 2SCORM2004
直接进入具体步骤:
1.    在HTML文件的<head>标签中添加SCORM的 javascriptAPI 类;
  1. <script type="text/javascript" src="SCORM_API_wrapper.js"></script>
复制代码
2.      在Flash文件中使用import引入SCORM类;
  1. import com.pipwerks.SCORM;
复制代码
3.      在flash中创建SCORM的实例;
a.我们先声明一些变量:
  1. import fl.controls.Button;
  2. import flash.events.MouseEvent;
  3. import com.pipwerks.SCORM;
  4. var lessonStatus:String;
  5. var lmsConnected:Boolean;
  6. var success:Boolean;
复制代码
         b. 接下来,我们需要使用pipwerks.SCORM类创建一个新的SCORM的实例,代码如下:
              
  1. import fl.controls.Button;
  2. import flash.events.MouseEvent;
  3. import com.pipwerks.SCORM;
  4. var lessonStatus:String;
  5. var lmsConnected:Boolean;
  6. var success:Boolean;
  7. var scorm:SCORM = new SCORM();
复制代码
4.      课程完成前核对初始化SCORM的连接;
添加一个scorm.connect() call,返回一个布尔值,指示是否成功。
  1. import fl.controls.Button;
  2. import flash.events.MouseEvent;
  3. import pipwerks.SCORM;
  4. var lessonStatus:String;
  5. var lmsConnected:Boolean;
  6. var success:Boolean;
  7. var scorm:SCORM = new SCORM();
  8. lmsConnected = scorm.connect();
复制代码
如果连接成功,lmsConnected则返回true,这意味着我们可以开始从LMS请求数据,从请求当前完成状态开始。
需要注意:如果课程的状态是“完成”( completed)或“通过”( passed),我们不需要保持LMS连接是激活的,我们需要小心不要覆盖之前完成的。所以,如果课程已经完成,我们会断开连接,并称之为一天。
如果完成状态没有“完成”( completed)或“通过”( passed),我们需要明确规定“未完全”( incomplete)的过程。代码如下:
  1. import fl.controls.Button;
  2. import flash.events.MouseEvent;
  3. import pipwerks.SCORM;
  4. var lessonStatus:String;
  5. var lmsConnected:Boolean;
  6. var success:Boolean;
  7. var scorm:SCORM = new SCORM();
  8. lmsConnected = scorm.connect();
  9. if(lmsConnected){
  10.    lessonStatus = scorm.get("cmi.core.lesson_status");
  11.    if(lessonStatus == "completed"){
  12.       //Course has already been completed.
  13.       scorm.disconnect();
  14.    } else {
  15.       //Must tell LMS course has not been completed yet.
  16.       success = scorm.set("cmi.core.lesson_status", "incomplete");
  17.    }
  18. } else {
  19.    trace("Could not connect to LMS.");
  20. }
复制代码
5.      添加SCORM 完成的代码;
在我们的flash适当的位置来call完成代码,这个位置就是我们认为学习完成(结束)的位置。在本例中,当所有四个planets被访问时,我们将调用这个完成函数resetPlanets,代码如下:
  1. function resetPlanets():void {
  2. if(visitedMercury && visitedVenus && visitedEarth && visitedMars){
  3.    success = scorm.set("cmi.core.lesson_status", "completed");
  4.    scorm.disconnect();
  5.    lmsConnected = false;
  6.    gotoAndPlay("end");
  7. } else {
  8. //[ ... ]
复制代码
6.      发布Flash;
发布flash(一定要关掉“HTML”选项,因为我们使用我们自己的HTML文件)。因为本文代码为as3.0,所以请使用flash9及更高版本的flash进行发布。
7.      修改清单文件。
所有符合SCORM标准的课程都需要有一个清单文件imsmanifest.xml,包含课程重要的元数据。对于本例,我们选取一个现成的简单的imsmanifest.xml清单文件为了我们的课程。
a.     在文本编辑器中打开imsmanifest.xml清单文件;
b.      更改清单元素的标识符属性(在文件顶部的顶部),以适合本课程(不许有空格):
  1. identifier="MyPlanetsCourse"
复制代码
c.      在15行开始查找organizations 元素 (和 organization 子元素),修改“default” and “identifier”属性,以便适合我们的课程。我们将使用“pipwerks”。一定要避免空格和非法字符,如标点符号(除下划线“_”)。
d.      在17行开始查找两个title元素,修改两者以便适合我们的课程。在本例中,把他们都改为“Planets!”。
e.      你需要在resource节点中使用这个课程清单文件。对于本例,我们要确保“href”指向“index.html”,然后我们需要使用file元素来列出其他文件:
  1. <resource identifier="SCO_Resource_01" type="webcontent" adlcp:scormtype="sco" href="index.html">
  2.    <file href="index.html"/>
  3.    <file href="planets.swf"/>
  4.    <file href="SCORM_API_wrapper.js"/>
  5.    <file href="swfobject.js"/>
  6. </resource>
复制代码
f.       保存并关闭imsmanifest.xml文件。
总结:
正如大家所看到的,添加简单的SCORM的代码比许多人想象的更容易,总结起来就是三个步骤:
1.HTML文件<head>标签中引入SCORMjavascript API文件;
2.flash中添加一些actionscript脚本的变量和函数;
3.编辑imsmanifest.xml文件(编辑几个ID和文件链接)。

              >>更多源码分享,好文推荐,技术讲解,请关注微信号:haodaima。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ:201205898 201205898|关于我们|友情链接|Archiver|手机版|小黑屋|RSS订阅|TQStudio ( 京ICP备12035064号 GitHub

GMT+8, 2018-2-23 20:40 , Processed in 0.100332 second(s), 23 queries .

Powered by Discuz! X3.2

© 2008-2028 tqtqtq.com

快速回复 返回顶部 返回列表