問答収集 カテゴリ:Flashプログラミング
現在のスレッド一覧 / 新規に質問を投稿
1 名前:madder 日付:2010/12/17(金)02:22:28 ID:poU7g5Sq8fnc
こんにちは。はじめまして。flashアクションスクリプト初心者です。
いつも本などを見ながらシンボルを置き換えて制作しているのですが、
今回やりたいことの手本になるスクリプトのベースを見つけられなかったのでこちらでお世話になろうと思いました。

やりたいことは、
7つのムービーがあります。
はじめは真っ暗な画面の状態です。
これをテンキーの1を押し続けているとムービー1が再生。
キーボードを離すと、ムービーは停止され、真っ暗な画面になる。
(ムービー1の途中でも指を離した瞬間、真っ暗な画面になる。)
(また、最後までキーボードを押し続け、ムービー1が全て再生された場合、繰り返さず、ムービー1の最後で停止)
またテンキーの1を押し続けると、次はムービー2が再生。
指を離すと停止、リセットされる。
次にまたキーボードを押すと、ムービ−3が再生…というように、ムービーが7つ順にキーボード1を押し続けている間のみ再生されるようにしたいです。
ムービー7の次はまたムービー1になり、繰り返されます。
つかう押すキーボードは1のみです。

ちなみにムービーは7つともどれも1分前後のQuickTime形式です。
Flashに読み込んで、シンボル化、ムービークリップにしようと思っています。

どなたかアドバイスありましたらよろしくお願いします。

2 名前:madder 日付:2010/12/17(金)02:29:02 ID:poU7g5Sq8fnc
追加です。
使用しているのはflashCS3
パソコンはmac OSⅩ10.4です
3 日付:2010/12/20(月)19:39:08 ID:PCZN.8//kWPU
ムービーの再生や停止などのタイミングを再現してみました。

----------------------------------------------------------------------

// テンキー1の押下状態
var ten1_down:Boolean = false;

// テンキー1の前回の押下状態
var ten1_down_old:Boolean = false;


// キーボードが押された
stage.addEventListener(KeyboardEvent.KEY_DOWN, function(e:KeyboardEvent):void{
if(e.keyCode == 97){
ten1_down = true;
}

});

// キーボードが離された
stage.addEventListener(KeyboardEvent.KEY_UP, function(e:KeyboardEvent):void{
if(e.keyCode == 97){
ten1_down = false;
}
});

// 毎フレーム実行されるイベント
stage.addEventListener(Event.ENTER_FRAME, function(e:Event):void{

// 押された瞬間
if((ten1_down) && (!ten1_down_old)){
VideoPlayRequest();
}

// 離された瞬間
if((!ten1_down) && (ten1_down_old)){
VideoStopRequest();
}

ten1_down_old = ten1_down;

});
4 日付:2010/12/20(月)19:39:58 ID:PCZN.8//kWPU
// ビデオの再生番号
var video_number:int = 0;

// ビデオの再生状態
var video_play:Boolean = false;

// ビデオ名
var video_name:Array = [
"ビデオ1",
"ビデオ2",
"ビデオ3",
"ビデオ4",
"ビデオ5",
"ビデオ6",
"ビデオ7"
];

// ビデオ再生要求
function VideoPlayRequest(){
if(video_play)return;
video_play = true;
VideoPlay(video_name[video_number]);
}

// ビデオ停止要求
function VideoStopRequest(){
if(!video_play)return;
video_play = false;

VideoStop();

// ビデオの再生番号を進める
video_number ++;

// 登録数を超えたら 0 に戻す
if(video_name.length <= video_number){
video_number = 0;
}
}

// ビデオ再生
function VideoPlay(name){
trace("ビデオ再生:" + name);
}

// ビデオ停止
function VideoStop(){
trace("ビデオ停止");
}
このスレッドについて
質問の状態 :
未解決
投稿開始日 :
2010/12/17(金)02:22:28
投稿終了日 :
2010/12/20(月)19:39:58
投稿者 :
madder
レス総数 :
4
スレッド番号 :
86
MondoCollectionSystem ver.0x00020000 by Hakuhin