AS2を効果的に使用して、フォーカスされているムービークリップに関係なく、.swf全体でスペースバーが押されたことを検出する方法をかなり探しています。AS3またはAS2のいずれかであるが、必要なことを正確に実行していない、主張されているソリューションをいくつか見つけました。私が見つけたものを適応させた後、これまでのところ、単一の検出されたスペースバープレスを生成したものはありません。誰かが代替案を提案できますか?私はそれが本当に明白な何かであるように感じます、そして私はそれを逃しています!
これまでに試したことは次のとおりです(タイムラインの最初で唯一のフレーム内にあります):1)
var stageListener:Object = new Object();
stageListener.onKeyUp = function() {
if(Key.getAscii() == 32){
trace("spaceup");
dostuff;
}
};
Stage.addListener(stageListener);
2)
stage.onKeyUp = function() {
if(Key.getAscii() == 32){
trace("spaceup");
dostuff;
}
};
3)
_root.onKeyUp = function() {
if(Key.getAscii() == 32){
trace("spaceup");
dostuff;
}
};
4)
Main.stage.onKeyUp = function() {
if(Key.getAscii() == 32){
trace("spaceup");
dostuff;
}
};
5)これらの1つを、swf内のすべてのディスプレイレベルのインタラクティブムービークリップに添付しました。まだ何もありません!
this.onKeyUp = function() {
if(Key.getAscii() == 32){
trace("spaceup");
dostuff;
}
};
助けてくれてありがとう!