Wednesday, January 13, 2010

Improving the Quizmaker Matching Drag and Drop question type


Problem:

Articulate's Quizmaker only allows for Right to Left drag drop question types. Meaning the user must drag the rightmost items onto the leftmost. I personally have always felt that users are more comfortable and inclined to go the opposite direction.

Solution:

Unfortunetly there is no magic option in Articulate to solve this for us. So we write our own Actionscript to insert into the question in the form of a SWF file, this SWF file goes into the Quizmaker code and sets things straight.

Directions: (I am not hosting the swf file as of yet so you're gonna need to create it, hopefully I can get it online soon)

1. Create a new SWF 550 by 400 pixels and using Actionscript 2.0

2. The Code: Put this on frame one layer one


ddswitchObjects();

function ddfindObject()
{

var checkObj = this._parent._parent._parent;

for(i in checkObj)
{
trace(i);
if(checkObj[i]._x == 30)
return checkObj[i];
}
return null;
}

function ddswitchObjects()
{
var cur:MovieClip = ddfindObject();
cur.mcScrollContentMask._width = 1000;
cur = cur.mcScrollContent;

for(var i in cur)
{
trace(i + " " + cur[i]._x);
if(cur[i]._x == 16)
{
cur[i]._x = 212;
}
else if(cur[i]._x >= 200)
{
cur[i]._x = 16;
cur[i].startingY = cur[i]._y;
cur[i].onEnterFrame = function()
{
if(this._x == 212){
this._x = 16;
this._y = this.startingY;
}
}
}
}
}



3. Publish your swf!

4. Create a new quiz and a new matching question type.

5. In form view (NOT slide view) select Media -> Flash Movie -> and insert your published swf.

6. Publish Quiz

NOTES:

Obviously there is a flicker problem, meaning when the question loads, first the options are all in their original Quizmaker position before being switched around by our code, this is because of how the Quiz loads the question before the external swf we make, still thinking of a way to fix this...

There is also limitations on the size of the text you can enter for now. My testing and developing has all been done with small words, and the location of the drag items are hardcoded in my code which means to hack the Quizmaker I look specifically for items in certain positions, meaning if the items were longer or bigger than Quizmaker's defaults this code would fail (although I'm working on improving this as well)

That's all, hope someone else uses this, cause i'm putting into a course today!

2 comments:

  1. I always wanted to drag them the other way as well. I'll have to try this code tomorrow. Thanks!
    Here's a link to an article I did earlier this week on basic Quizmaker tips. Not code like you did but stuff around various quiz settings. (Ever thought that Articulate products have way too many settings spread out in 10 different places of the software? Especially Presenter.)

    ReplyDelete
  2. Unbelievably cool.

    I am looking at doing some other QM modifications. If you are interested in some contract work send me an email simon_puleo@ yahoo.com .

    ReplyDelete