ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
フォーラム一覧   -   トピック一覧
   ActionScript 2.0
     ActionScript3.0 時間計測について
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
mocchi
投稿日時: 2013-1-6 19:39
一見さん
登録日: 2013-1-6
居住地:
投稿: 1
ActionScript3.0 時間計測について
こんにちは、
初めて投稿させていただきます。

只今、flash professionalで実験用データを作っています。
全くの初心者です。
今、エラーに悩まされています。。
どこが悪いのか、何か分かることがありましたら教えていただけませんか?

実験の流れとしては

1. 最初の画面に指示文と、スタートボタンがある。スタートボタンを押すと実験画面へ移動。押さずに2秒経っても実験画面へ移動。また、スタートボタンを押すと時間計測開始。

2. 実験画面下には2つのボタン(ここでは『青いキャンセル』と『普通の確定』)

3. 『青いキャンセル』ボタンを押すと、画面が変わり、かかった時間が表示される。

4. 『普通の確定』ボタンを押すと、画面が変わり、かかった時間が表示される。

という感じです。


actionscriptについて、

●ボタンによる画面移動は、
gotoAndPlay(フレーム番号) で次の画面のフレームまで飛ばしています。

●時間計測は、
WEBで載っているのを元に、少し作り替えてやりました。
ここのを参考にさせていただきました。http://allabout.co.jp/gm/gc/66813/

上記ふたつの機能は、バラバラにだと問題なくできたのですが
組み合わせると、時間計測の部分で「未定義のプロパティ〜へのアクセスです。」とエラーが出てしまいます。

actionscript
□□□□□□□□□□□□□□□□□□□□□□□□□

//時間計測のためのアクション
time2.text = "00:00:00";
startFlag = false;
firstFlag = false;
nowTime = 0
startTime = 0;
dispBaseTime = 0;
function display2Update(){
_root.nowTime = getTimer();
_root.dispBaseTime = _root.nowTime - _root.startTime;

milliSecond = Math.floor(dispBaseTime/10);
milliSecond = ("00" + milliSecond).substr(-2, 2);

second = Math.floor(dispBaseTime/1000%60);
if(second < 10){
second = "0" + second;
}
minutae = Math.floor(dispBaseTime/1000/60);
if(minutae < 10){
minutae = "0" + minutae;
}
time2.text = minutae + ":" + second + ":" + milliSecond;
}
startbtn.onRelease = function(){
_root.startTime = getTimer() - _root.dispBaseTime;
_root.onEnterFrame = display2Update;
}
n_kakutei.onRelease = function(){
_root.onEnterFrame = null;
}
//
//時間計測のためのアクション
time1.text = "00:00:00";
startFlag = false;
firstFlag = false;
nowTime = 0
startTime = 0;
dispBaseTime = 0;
function display1Update(){
_root.nowTime = getTimer();
_root.dispBaseTime = _root.nowTime - _root.startTime;

milliSecond = Math.floor(dispBaseTime/10);
milliSecond = ("00" + milliSecond).substr(-2, 2);

second = Math.floor(dispBaseTime/1000%60);
if(second < 10){
second = "0" + second;
}
minutae = Math.floor(dispBaseTime/1000/60);
if(minutae < 10){
minutae = "0" + minutae;
}
time1.text = minutae + ":" + second + ":" + milliSecond;
}
startbtn.onRelease = function(){
_root.startTime = getTimer() - _root.dispBaseTime;
_root.onEnterFrame = display1Update;
}
b_cancel.onRelease = function(){
_root.onEnterFrame = null;
}
//
//スタートボタンクリック時のアクション
startbtn.addEventListener( MouseEvent.CLICK, startTest );

function startTest( event:MouseEvent ):void
{
gotoAndPlay(49);
}

//誤ったボタンクリック時のアクション
b_cancel.addEventListener( MouseEvent.CLICK, time1Up );
function time1Up( event:MouseEvent ):void
{
gotoAndStop(97);
}
//
n_kakutei.addEventListener( MouseEvent.CLICK, time2Up );
function time2Up( event:MouseEvent ):void
{
gotoAndStop(98);
}


□□□□□□□□□□□□□□□□□□□□□□

よろしくお願いします!
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を