初めまして。
モバイル版のflashで3択の時間制限付きのクイズを作成しております。
仕様としては、
1フレーム目:スタート画面
5フレーム目:時間制限・問題・3択答え部分
9フレーム目:正解画面
14フレーム目:不正解画面
19フレーム目:終了画面
現在タイマーは60秒からカウントダウンしており、
答えを選択し、正解又は不正解の表示後
次の質問に戻るのですが、
タイマーがまた60秒からカウントダウンになります。
1問目で60・59・58秒で答えボタンを押したとし、正解・不正解部分でいったん秒数が止まり、2問目でまた58・57・56・55・・・となるようにするにはどのようにすればよいか教えて下さい。
宜しくお願い致します。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
#1&#2です。
シンタックスエラーは,#2のものをコピペしたからではないでしょうか?
ここのサイトは TAB や 半角スペース を行の先頭に使えないのです。
使っても,すべて消えてしまうので,#2ではわかりやすいように,インデントを全角空白文字で入れたのです。
コピペするのでしたら,
#1のものをコピペして使ってください。
#1のスクリプトの説明を,#2でしただけですから,そのままのコピペでは使えません。
#2のものを使う場合は,
アクションパネルの置換機能で,
全角空白文字を半角空白文字に置換して使用してください。
こんばんは。
シンタックスエラーはsassakunさんのおっしゃる通りでした。
以前にもこんなエラーが出た事があり、理由がわからなかったので勉強になりました。
ありがとうございます。
再度、正解画面の最後のフレーム、不正解画面の最後のフレームに
// _root.countMC に命令
tellTarget ("/countMC") {
play();
}
// countMC内の変数 mytime1 に 現在の時間を代入
/countMC/:mytime1 = getTimer();
を入れなおしてみたのですが、なぜかカウントが動きませんでした。
次の問題の最初にフレームにも試しましたがやはりカウントは止まったままでした。
// _root.countMC に命令
tellTarget ("/countMC") {
play();
}
// countMC内の変数 mytime1 に 現在の時間を代入
/countMC/:mytime1 = getTimer();
こちらのスクリプトはコピペするだけではいけないと言う事でしょうか?
No.2
- 回答日時:
#1です。
やはりわけがわかりません。
#1では,
カウントダウンををストップさせたいときに,
// _root.countMC に命令
tellTarget ("/countMC") {
// フレーム2 へ行ってストップ
gotoAndStop(2);
}
// countMC内の変数 starttime に counter を代入
/countMC/:starttime = /countMC/:counter;
を実行して,
カウントダウンを再開したいときに,
// _root.countMC に命令
tellTarget ("/countMC") {
play();
}
// countMC内の変数 mytime1 に 現在の時間を代入
/countMC/:mytime1 = getTimer();
を実行してくださいと言う意味のことを書いたのです。
いつカウントダウンを止めたいのか,
いつカウントガウンを再開したいのか,
こちらとしてはわからないのです。
-----------------------------------------------
> 1問目で60・59・58秒で答えボタンを押したとし、
> 正解・不正解部分でいったん秒数が止まり、
この↑ときに,
// _root.countMC に命令
tellTarget ("/countMC") {
// フレーム2 へ行ってストップ
gotoAndStop(2);
}
// countMC内の変数 starttime に counter を代入
/countMC/:starttime = /countMC/:counter;
を実行し,
> 答えを選択し、正解又は不正解の表示後
> 次の質問に戻るのですが、
この↑ときに,
// _root.countMC に命令
tellTarget ("/countMC") {
play();
}
// countMC内の変数 mytime1 に 現在の時間を代入
/countMC/:mytime1 = getTimer();
を実行してくださいと言う意味のことを,
>> こういったスクリプトを,
>> フレームやボタンに書けば良いと思います。
と書いたのです。
とにかく,スクリプトを形通りにコピペするのではなく,
どういったタイミングで,
どのスクリプトを実行すればいいのかを考えて,
実際にしたいことを実現してください。
どういったタイミングで何をしたいのかなどわかりません。
ボタンで次の問題に行くのでしたら,
その次の問題に行くボタンに,
カウントダウン再開スクリプトを書くべきでしょう。
次の問題に勝手に進むのでしたら,
次の問題の最初にフレーム,
もしくは,
前の問題の「正解」や「不正解」フレーム最後のフレームに,
カウントダウン再開スクリプトを書くべきでしょう。
その辺のところは,書かれていませんし,
仮に書いてくださっても,そのルールを変えたいときに変えるでしょう。
どんなルールでありのかわかりませんし,
どんなルールであっても良いですが,
カウントダウンストップのときにカウントダウンストップのスクリプト。
カウントダウン再開のときにカウントダウン再開のスクリプト。
それぞれを書いてくださいということです。
-----------------------------------
なお,
#1に書いた参考URLで,
その URL の#2の方が,
同じスクリプトを毎回書くのではなく,
call() 関数 を使えば,ファイル容量の節約にもなりますよと回答してくださっています。
call() 関数 を使わずに一々同じ「ストップ」「再開」スクリプトで作ってみて,
さらに容量オーバーでうまく動かない場合は,call() 関数 を使って,
無駄を減らしてください。
ありがとうございました。
正解・不正解画面の部分でカウントを止める事はできました。
意味がわかっておらず、そのままペーストしていたのが問題だったようです。
しかし、正解・不正解後のカウントの再開でエラーが出てしまいました。
正解・不正解後は自動的にクイズに飛ぶ仕様となっています。
前の問題の「正解」や「不正解」フレーム最後のフレームに
// _root.countMC に命令
tellTarget ("/countMC") {
play();
}
// countMC内の変数 mytime1 に 現在の時間を代入
/countMC/:mytime1 = getTimer();
を記入すると
**エラー** シーン = シーン 1, レイヤー = 各場面, フレーム = 13 :行 2:シンタックスエラー
tellTarget ("/countMC") {
**エラー** シーン = シーン 1, レイヤー = 各場面, フレーム = 18 :行 2:シンタックスエラー
tellTarget ("/countMC") {
ActionScript エラー数 :2 報告済みエラー :2
と出てしまいました。
また次の問題の最初にフレームにも試しましたがやはり同じエラーが出ました。
正解・不正解の表示のさせ方がアクションフレームの中に
tellTarget("/"){ gotoAndStop("question");
questionCount++;
if(questionCount > questionToal){
gotoAndPlay("result");
}else{
gotoAndStop("question");
}
}
を使っているのが問題なのでしょうか?
No.1
- 回答日時:
> どのようにすればよいか教えて下さい。
と書かれましても,
肝心な,カウントダウンのスクリプトやその仕組みが書かれていないので,
どのようにもこのようにも回答できません。
したがって,
勝手に作ったものの回答でよろしいでしょうか。
勝手に作ったものの作り方を初めから説明します。
こちらで基本的な部分は回答しています。
↓↓↓
Flash lite1.0で カウントダウン
http://oshiete1.goo.ne.jp/qa2402811.html
↑教えて!goo ↓OKWave(同じです)
http://okwave.jp/qa2402811.html
以下の説明でわからなければ,参考にしてみてください。
---------------------------------------
上の URL と重複する部分が多いですが,
一応,この回答用に書き直しさらにカウント停止と再開のスクリプトを追加回答します。
今作られているものでは,
どうなっているのかさっぱりわからいので,
新規ドキュメントを作成して次のサンプルを作成してみてください。
まず,
_root(メインムービー)のステージ上に ダイナミックテキスト のテキストフィールドを作成し,
例えば 「counter」 という "変数名" を付けます。
この「counter」 という変数名のテキストフィールドを選択して,
ムービークリップに変換します。
そして,その 「counter」 という変数名のテキストフィールド入りのムービークリップに
"インスタンス名" を付けます。
例えば「countMC」というインスタンス名にしておきます。
次に,この「countMC」をダブルクリックして,
ムービークリップ内の編集に入ります。
ムービークリップ内は1フレーム1レイヤーだと思うので,
これを3フレーム2レイヤーにします。
そして,
新しく作成した方のレイヤーの,フレーム1 と フレーム3 をキーフレームにします。
1 3
□ レイヤー 筆・・|○ []|○| ←スクリプト用レイヤー
□ レイヤー 筆・・|●/// []| ←counter のレイヤー
そして,スクリプト用レイヤーのフレーム1 には次のように書きます。
-----------------------------------------
// タイマー(カウンター)の初期値を設定(※可変)
starttime = 60;
// mytime1 に最初の タイム を記録
mytime1 = getTimer();
-----------------------------------------
そして,フレーム3 には次のように書きます。
-----------------------------------------
// mytime2 に随時タイムを取得
mytime2 = getTimer();
// タイマー(カウンター) にカウントダウンを表示
counter = starttime-int((mytime2-mytime1)/1000);
// もし タイマー(カウンター)が 0 以下になれば
if (counter<=0) {
// タイマー(カウンター)の値を 0 に固定
counter = 0;
// ムービークリップ内をフレーム1に戻す
gotoAndStop(1);
// タイマー(カウンター)が 0 より大きいとき
} else {
// ムービークリップ内をフレーム2に戻す(ループ)
gotoAndPlay(2);
}
-----------------------------------------
int は小数点以下を切り捨てる関数です。
これで,
カウント表示用のムービークリップは完成です。
何もない任意の位置をダブルクリックするか,
「編集」→「ドキュメントの編集」で,
_root の編集に戻ってください。
ボタンを(ボタンシンボルのインスタンスを)
どこか2つ適当に作成します。
そして,カウントダウンストップボタンには,
-----------------------------------------
on (release) {
// _root.countMC に命令
tellTarget ("/countMC") {
// フレーム2 へ行ってストップ
gotoAndStop(2);
}
// countMC内の変数 starttime に counter を代入
/countMC/:starttime = /countMC/:counter;
}
-----------------------------------------
ストップ解除(再カウント開始)ボタンには
-----------------------------------------
on (release) {
// _root.countMC に命令
tellTarget ("/countMC") {
play();
}
// countMC内の変数 mytime1 に 現在の時間を代入
/countMC/:mytime1 = getTimer();
}
-----------------------------------------
と書くと,
カウントダウンが止まったり再開したりします。
こういったスクリプトを,
フレームやボタンに書けば良いと思います。
sassakunさん、ご回答ありがとうございます。
また、説明不足で申し訳ございません。
sassakunさんの方法で一度試し、
カウンターの方はできたのですが
やはり、質問の答えを選択後、正解・不正解画面へ飛び、
また60秒からカウントされてしまいます。
カウントダウンストップボタンとストップ解除(再カウント開始)ボタンの入れる場所が違っているのでしょうか・・・。
私が入れた所は質問部分の個所にボタンを作成し、カウントダウンストップを入れ
正解フレームと不正解フレーム部分にストップ解除(再カウント開始)を入れました。
また回答ボタンの場所にカウントダウンストップを入れてもみましたがやはりストップされませんでした。
スクリプトは以下の通りです。
on (release) {
// _root.countMC に命令
tellTarget ("/countMC") {
// フレーム2 へ行ってストップ
gotoAndStop(2);
}
// countMC内の変数 starttime に counter を代入
/countMC/:starttime = /countMC/:counter;
}
on (keyPress "1") {
if(correctNum == 1){
gotoAndStop("correct");
}else{
gotoAndStop("incorrect");
}
}
on (keyPress "2") {
if(correctNum == 2){
gotoAndStop("correct");
}else{
gotoAndStop("incorrect");
}
}
on (keyPress "3") {
if(correctNum == 3){
gotoAndStop("correct");
}else{
gotoAndStop("incorrect");
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAで早押しゲームを作りたい 4 2022/05/12 13:46
- 画像編集・動画編集・音楽編集 動画をディスク作成すると画像が乱れる。 4 2022/06/24 07:49
- C言語・C++・C# 【C++】IDirect3DSurfaceのディープコピーは可能ですか? 1 2022/07/06 02:47
- 物理学 物理学の質問です。 あなたの車が9.8m/s^2で加速できる場合、0から時速60マイルまでどのくらい 2 2022/09/19 09:50
- 医療・介護・福祉 点滴の計算問題についての質問です。 多分、普通の算数の問題だと思うんですけど ネットの解説がわからな 2 2022/11/30 18:25
- その他(教育・科学・学問) 技術のテストの問題です。やり方を教えてください! 間1.7バイトは何ビットか。 間2.5ビットで表現 4 2023/02/27 00:09
- 防犯カメラ・監視カメラ・小型カメラ Windowsのカメラ機能。設定した通りのfpsでの撮影ができず、コマ落ち動画になる。修正するには? 2 2023/01/29 09:50
- 物理学 物理学 質問 2 2023/07/06 19:37
- Java 問題作成のWebアプリの作り方を教えてください 1 2022/11/26 22:01
- 英語 問題 : I visit the ( ) with my mom every week. 3 2022/08/15 23:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ムービークリップの位置と角度...
-
C言語 バッファについて。
-
VB6のスクロールバー付きフレー...
-
画面全体にマスク
-
フレーム内のオプションボタン...
-
GetPrivateProfileString変値
-
フレームでのResponse.Redirect
-
Flash再生中につぎのフレームを...
-
A.S 3.0 キーボードでのフレー...
-
FLASH上でインラインフレームみ...
-
Flash lite1.0で カウントダウン
-
ハードディスク DVD 読み...
-
Directshowを使って動画を画像...
-
VBで動的に作成したパネルの上...
-
Flash Liteで作成したFlash待ち...
-
2Dゲーム作成する際、アニメー...
-
phpで音を鳴らす
-
Access2010でサブフォームのフ...
-
シンクライアントとMetaFrameの...
-
フレーム内に移動したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ActionScriptで決めた時間だけ...
-
流星が流れるような感じにした...
-
外部テキスト読み込み、横スク...
-
AS3.0です。外部ページへのリン...
-
Flash4でloadMovieの完了を知る...
-
Flashで右クリックメニューにつ...
-
フレーム内に移動したい
-
ソーラーパネルのアルミフレー...
-
HPを作りたい
-
【C#】wavファイルの複数同時再生
-
phpで音を鳴らす
-
ドロップフレームの計算をエク...
-
フレーム内のオプションボタン...
-
車の運転時のメガネ 縁なし(...
-
C#でDLLファイル読み込みを行う...
-
オプションボタンを矢印キーで...
-
WEBブラウザの重複起動の禁止
-
VBで動的に作成したパネルの上...
-
Access2010でサブフォームのフ...
-
webサイトに動画をはりつけ、ク...
おすすめ情報