Sat 15 Nov 2008 09:28:33 AM UTC, comment #1:
Gnash displays the bitmap if you click twice (should be on first click), and doesn't hide them again if you pick two different ones. After selecting six squares twice, you win.
It makes the game a bit unsatisfying.
Using listswf_d from ming, it's easy to see how the SWF is programmed.
if( (this._name=='btn2') ) {
/btn2._visible = 0; // I don't see what this is for.
_root.step++;
_root.step = _root.step; // Odd disassembly
_root.checking++;
_root.checking = _root.checking;
if( (_root.checking==1) ) {
_root.option1 = _root.img2[1];
_root.firstbtn = 'btn2';
} else {
if( (_root.checking>=2) ) {
_root.option2 = _root.img2[1];
_root.checking = 0;
_root.secondbtn = 'btn2';
_root.gotoAndPlay(4);
}
}
}
Each click should increment _root.checking. If this value is 1, it sets _root.option1. If it's 2, it sets _root.option2 and goes to frame 4, resetting _root.checking to 0. I guess frame 4 is supposed to check whether they are the same.
Frame 4 is probably:
Mouse.hide();
if( (_root.option1==_root.option2) ) {
++pair;
eval(firstbtn)._x = 1000;
eval(secondbtn)._x = 1000;
}
You probably win when pair has reached 6.
So the problem appears to be that Gnash is interpreting clicking twice on the same square as a pair and it's not displaying the bitmap on the first click. One of them might follow from the other.
|