レス数:4 / 状態:解決済み / No:75 / ATOM
1
名前:YH
日付:2010/11/13(土)02:50:07
ID:so9d79DTkyLI
http://hakuhin.jp/as/key.html#KEY_02
http://hakuhin.jp/as/key.html#KEY_03
キーボードが離された瞬間、および押された瞬間を検知するプログラミングはAS2.0の講座に記されてありますが、
AS3.0でこれと同じようなことを実現することは可能でしょうか。
キーが押された瞬間を検知し、サウンドが何度も流れるのを防ぎたいと考えています。
var a_sound:oto1 = new oto1();
var b_sound:oto2 = new oto2();
//左から出る音をoto1、右から出る音をoto2と指定
var a_sndTr:SoundTransform = new SoundTransform ;
a_sndTr.volume = 1;
a_sndTr.pan = -1.0;
//oto1の設定
var b_sndTr:SoundTransform = new SoundTransform ;
b_sndTr.volume = 1;
b_sndTr.pan = 1.0;
//oto2の設定
stage.addEventListener(KeyboardEvent.KEY_DOWN, KeyDownFunc);
function KeyDownFunc(event:KeyboardEvent):void
{
if (event.keyCode == Keyboard.SPACE)
{
a_sound.play(0, 1, a_sndTr);
trace("スペースキーが押された");
}
}
//スペースキーが押されるとoto1を再生
stage.addEventListener(KeyboardEvent.KEY_DOWN, KeyDownFunc2);
function KeyDownFunc2(event:KeyboardEvent):void
{
if (event.keyCode == 65)
{
b_sound.play(0, 1, b_sndTr);
trace("Aキーが離された");
}
}
//Aキーが押されるとoto2を再生
ご存知の方、伝授していただければ幸いです。
http://hakuhin.jp/as/key.html#KEY_03
キーボードが離された瞬間、および押された瞬間を検知するプログラミングはAS2.0の講座に記されてありますが、
AS3.0でこれと同じようなことを実現することは可能でしょうか。
キーが押された瞬間を検知し、サウンドが何度も流れるのを防ぎたいと考えています。
var a_sound:oto1 = new oto1();
var b_sound:oto2 = new oto2();
//左から出る音をoto1、右から出る音をoto2と指定
var a_sndTr:SoundTransform = new SoundTransform ;
a_sndTr.volume = 1;
a_sndTr.pan = -1.0;
//oto1の設定
var b_sndTr:SoundTransform = new SoundTransform ;
b_sndTr.volume = 1;
b_sndTr.pan = 1.0;
//oto2の設定
stage.addEventListener(KeyboardEvent.KEY_DOWN, KeyDownFunc);
function KeyDownFunc(event:KeyboardEvent):void
{
if (event.keyCode == Keyboard.SPACE)
{
a_sound.play(0, 1, a_sndTr);
trace("スペースキーが押された");
}
}
//スペースキーが押されるとoto1を再生
stage.addEventListener(KeyboardEvent.KEY_DOWN, KeyDownFunc2);
function KeyDownFunc2(event:KeyboardEvent):void
{
if (event.keyCode == 65)
{
b_sound.play(0, 1, b_sndTr);
trace("Aキーが離された");
}
}
//Aキーが押されるとoto2を再生
ご存知の方、伝授していただければ幸いです。
2
日付:2010/11/17(水)02:04:57
ID:8d7uAYrQHgxE
>AS3.0でこれと同じようなことを実現することは可能でしょうか。
可能です。
http://hakuhin.jp/as3/key_board.html#KEY_BOARD_02
KeyboardEvent.KEY_DOWN イベント
KeyboardEvent.KEY_UP イベント
…でキーボードが押された瞬間と離された瞬間が取得できるので
何らかの変数にキーの押下状態を残しておきます。
後は、Event.ENTER_FRAME イベント中で変数の値を確認すると
毎フレームごとにキーの押下状態を知ることが出来るので
1フレーム前の押下状態と、現在のフレームの押下状態を比較して判別できます。
可能です。
http://hakuhin.jp/as3/key_board.html#KEY_BOARD_02
KeyboardEvent.KEY_DOWN イベント
KeyboardEvent.KEY_UP イベント
…でキーボードが押された瞬間と離された瞬間が取得できるので
何らかの変数にキーの押下状態を残しておきます。
後は、Event.ENTER_FRAME イベント中で変数の値を確認すると
毎フレームごとにキーの押下状態を知ることが出来るので
1フレーム前の押下状態と、現在のフレームの押下状態を比較して判別できます。
3
名前:YH
日付:2010/11/18(木)02:03:28
ID:so9d79DTkyLI
回答ありがとうございます。
お答えいただいたことを自分なりに試してみます。
お答えいただいたことを自分なりに試してみます。
4
名前:状態変更
日付:2010/11/18(木)02:03:41
ID:so9d79DTkyLI
この質問の状態を『解決』に変更しました。
このスレッドについて
質問の状態 : | 解決済み |
投稿開始日 : | 2010/11/13(土)02:50:07 |
投稿終了日 : | 2010/11/18(木)02:03:41 |
投稿者 : | YH |
レス総数 : | 4 |
スレッド番号 : | 75 |