![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
質問させて下さい。
function restartTimer() {
hours = "00";
minutes = "00";
seconds = "00";
milli = "00";
buttonPressTime = getTimer()/1000-pauseLength;
pause();
}
//
function pause() {
pauseTime = getTimer()/1000;
timing = false;
}
//
function unpause() {
unpauseTime = getTimer()/1000;
pauseLength = (unpauseTime-pauseTime)+pauseLength;
timing = true;
}
//
_root.onEnterFrame = function() {
totalTime = getTimer()/1000-pauseLength;
goTime = totalTime-buttonPressTime;
//
if (timing) {
hours = Math.floor(goTime/3600);
minutes = Math.floor((goTime/3600-hours)*60);
seconds = Math.floor(((goTime/3600-hours)*60-minutes)*60);
milli = Math.floor((gotime-(seconds+(minutes*60)+(hours*3600)))*100);
}
};
unpausebutton.onRelease = function() {
unpause();
pausebutton._visible = 1;
unpausebutton._visible = 0;
result._visible = 0;
};
ソースが長くて申し訳ありません。
このスクリプトをあるサンプルからもらいつかっていたのですが、
テキストエリアにスクロールバーをとりつけるため、パブリッシュの設定でプレイヤーのバージョンを6から7にあげたところ、ストップウォッチが作動しなくなりました。
一体どういう理由によるものなのでしょうか?
お答えいただければ幸いです。
私がつかっているのは、
Windows XP
Flash MX 2004
です。
よろしくお願いします。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_10.png?5a7ff87)
No.1ベストアンサー
- 回答日時:
>> ソースが長くて申し訳ありません。
こういう場合は長い方が良いです。
勝手に予想して,付け足す部分を考える必要がなくなりますから。
次のスクリプト↓でうまく行くのではないでしょうか?
(他に原因があるかもしれないので自信なしですが。)
----------------------------------------------------
function restartTimer() {
hours = "00";
minutes = "00";
seconds = "00";
milli = "00";
// ★↓この初期値が必要です。
pauseLength = 0;
buttonPressTime = getTimer()/1000-pauseLength;
pause();
}
// ★↓restartTimer を1回実行しないと,
// 初期値定まりません。
restartTimer();
//
function pause() {
pauseTime = getTimer()/1000;
timing = false;
}
//
function unpause() {
unpauseTime = getTimer()/1000;
pauseLength = (unpauseTime-pauseTime)+pauseLength;
timing = true;
}
//
_root.onEnterFrame = function() {
totalTime = getTimer()/1000-pauseLength;
goTime = totalTime-buttonPressTime;
//
if (timing) {
hours = Math.floor(goTime/3600);
minutes = Math.floor((goTime/3600-hours)*60);
seconds = Math.floor(((goTime/3600-hours)*60-minutes)*60);
// ★大文字小文字↓に注意(goTime の T)
milli = Math.floor((goTime-(seconds+(minutes*60)+(hours*3600)))*100);
}
};
unpausebutton.onRelease = function() {
unpause();
pausebutton._visible = 1;
unpausebutton._visible = 0;
result._visible = 0;
};
// (↓勝手に予想して付け足しました)
pausebutton.onRelease = function() {
pause();
pausebutton._visible = 0;
unpausebutton._visible = 1;
result._visible = 1;
};
------------------------------------------------
★印が付いて射いる部分が,訂正部分です。
訂正部分の大半は初期値の設定に関することで,
1箇所だけが大文字小文字のケアレスミスです。
Flash Player 7 からは,
加算後代入などや IF判定する場合, 変数に初期値が必要です。
未定義の変数は,何も加算できませんし,falseでもありません。
例えば,
A = A+5;
trace(A);
FlashPlayer6では,
デフォルトで初期値のない変数の初期値は 0 になりますから,
A = A + 5; は A = 0 + 5; となり,
trace(A); は 5 になります。
FlashPlayer7では,
デフォルトで初期値のない変数の初期値は undefined (見つからず)ですから,
A = A + 5; は A = undefined + 5; となり,
trace(A); は NaN (非数) となります。
あと,最初の関数
function restartTimer()
は,スクリプトからはいつ実行されるのかわかりませんが,
これを実行しないと,初期値の大前提が定まりませんから,
すぐ下に,
// ★↓restartTimer を1回実行しないと,
// 初期値定まりません。
restartTimer();
を入れました。
その他,大文字小文字も区別(別のもの)とされますから,要注意です。
簡単に言うと,
「ないものはない!(決して0ではない)」,「大文字と小文字は違う!」
という当たり前のことが当たり前になったということです。
返事が遅くなって大変申し訳ありません。
アドバイスいただいた通りにやってみたところ、ストップウォッチが作動しました。
本当にありがとうございます。
わかりやすい説明もいれて下さって、本当にありがとうございます。理解する事ができました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- JavaScript javascriptで移動ボタンを押した際に遷移するボタンを追記したい 1 2022/11/29 03:02
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- JavaScript ソースコードのいじる場所が分かりません。 1 2022/12/23 02:06
- 英語 Osseointegration has been suggested to represent a 3 2022/06/10 08:22
- JavaScript 追加ボタンを押した際に ok ボタンを押した場合のみ入力値が追記されるようにしたいです 6 2022/05/29 09:57
- オープンソース Coinmarketcap api 1 2022/05/30 15:47
- 英語 【 論・表 英訳 】 問題 次の文を英訳せよ。ただし、その文は単独であり、前後に文はないとする。 父 1 2022/07/25 17:03
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スクリプトが何に記述されてい...
-
外部テキスト読み込み、横スク...
-
流星が流れるような感じにした...
-
Flash4でloadMovieの完了を知る...
-
音楽を止めたい><
-
Flashでの連打ゲームの作成方法...
-
WEBブラウザの重複起動の禁止
-
ブルーレイドライブとブルーレ...
-
ドキュメントサイズの変更
-
○秒後にフレーム移動
-
マスクをかけると文字が乱れる
-
メガネのフレームが半分に折れ...
-
ハードディスク DVD 読み...
-
ActiveBasic 音楽のループ再生
-
再読み込みが可能なPDFビューワ...
-
めくれるカードの作成方法
-
エクセルで通知音
-
vbscriptでウィンドウズメディ...
-
フラッシュ初心者ですが
-
外部画像と音楽(MP3)の取り入れ方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FLASHでパブリッシュのswfが重...
-
ムービークリップの位置と角度...
-
スクリプトが何に記述されてい...
-
Flash4でloadMovieの完了を知る...
-
flashからflash lite
-
ActionScript 2.0 再生・停止
-
フラッシュプレイヤーのバージ...
-
外部JPG読み込みでのLoading
-
プリローダーで、画像を下から...
-
フレーム内に移動したい
-
phpで音を鳴らす
-
Flashで右クリックメニューにつ...
-
C言語 バッファについて。
-
【C#】wavファイルの複数同時再生
-
Access2010でサブフォームのフ...
-
#1009: null のオブジェクト参...
-
車の運転時のメガネ 縁なし(...
-
VBで動的に作成したパネルの上...
-
WEBブラウザの重複起動の禁止
-
GetPrivateProfileString変値
おすすめ情報