PHP+mingで質問です。

FlashLite1.1なのでバージョンは4です。
ming_useswfversion(4);

以下のようにフレーム毎に0~9まで連続で表示した際に、
各フレームでstop()をかけてキーを押したら次のフレームに進むようにしたいと思います。
キーを押したらgotoFrame();などで次のフレームへと思ったのですが、
そのやり方がわかりません。
SWFDisplayItem->addActionで第二引数にSWFACTION_KEYDOWNを使うなどと試したのですが、
動作しないようです。

<?
ming_useswfversion(4);
$swf = new SWFMovie();

for($i=0;$i<10;$i++){
$textField = new SWFTextField(SWFTEXTFIELD_NOEDIT|SWFTEXTFIELD_WORDWRAP );
$textField->setFont(new SWFFont(""));
$textField->addString($i);
$obj = $swf->add($textField);
$obj->moveTo(0,10*$i);
//各フレームで停止する
$stopScript = "stop();";
$stopAction = new SWFAction($stopScript);
$swf->add($stopAction);
$swf->nextFrame();

}
$swf->save("test.swf");

ずばりな回答が出た場合には一番早い人に300ptお支払いします。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2011/11/05 14:53:20
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:pacochi No.1

回答回数247ベストアンサー獲得回数113

ポイント300pt

以下のようなボタンを作って配置すると、キーに反応してくれました。

<?
ming_useswfversion(4);
$swf = new SWFMovie();

$button = new SWFButton();
$button->addAction(new SWFAction('nextFrame();'), ming_keypress('0'));
$swf->add($button);

ming_keypress('0')」の「0」は、押して欲しいキーの文字にして下さい。

どんなキーでも反応させる方法は分かりませんでした。


回答にあたって、以下の過去質問を参考にしました。

mingのSWFBUTTON_KEYPRESSが使えません。 環境は OS:WindowsXP PHP:Version 5.1.6 ming:Version 0.3beta1 です。 使用すると Fatal error: Call to undefined function SWFBUTTON_KEYPRESS() in .... というエラーが表示されてしまいます。 解決方法などがありましたら教えてください。

id:hyoga_h

ありがとうございました。

実際には次のフレームでは無いのでgotoAndPlay()にしました。

ming_keypress('0')

は知りませんでしたので使わせて頂きます。

2011/11/05 14:58:10

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません