トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     アクションスクリプトのエラー
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
田中
Åê¹ÆNo.50001
投稿日時: 2013-8-7 16:25
新米
居住地: 関西
投稿: 13
使用環境:
WinVISTA Flash cs5.5
アクションスクリプトのエラー
質問させていただきます。よろしくお願いいたします。
Flash5のアクションスクリプトです。
内容は簡単にしてあります。

ルート画面にある1,2,3,4,5の数字の書かれたボタン(数字は見えない)をそれぞれ続けてクリックして2,3 、 2、1のように連続した数字をクリックすれば1ポイント+になるゲームです。2回クリックすると3回目のクリックは前回のクリックがリセットされるまでできません。5ポイントになるとゲームクリアーです。


番号のついたボタンのムービークリップを5つ作ります。
各ボタンにbutton1, button2, button3, button4, button5,
と名前をつけます。この各ボタンにそれぞれ1,2,3,4,5の値を入れます。
ボタンに数字を書いてそれを見えないようにカバーをかけるか、裏返しにしておきます。
2フレームにbutton1、3フレームにbutton2・・・・6フレームにbutton5の絵を配置します。
ルート画面には各ボタンをランダムに配置しておきます。

ルート画面でボタンがクリックされたら
_root.SelectContents = contents; //ボタンの値Contentsをメインステージの変数SelectContentsに入れる
_root.SelectName = _name; //ボタンの名前をメインステージの変数SelectNameに入れる

途中 省略
//1つ目のボタンクリック
SelectName1 = SelectName; //今クリックしたボタンの名前をSelectName1に入れる
SelectContents1 = SelectContents; //今クリックしたボタンの値をSelectContents1に入れる
//2つ目のボタンクリック
SelectName2 = SelectName; //今クリックしたボタンの名前をSelectName2に入れる
SelectContents2 = SelectContents; //今クリックしたボタンの値をSelectContents2に入れる

-----------ここからエラーになります-----------------------
エラー表示「*印の行に')'が必要です。」

//例としてクリックしたボタンの数字が3,4または4,3のようになったら
*if (((SelectContents1 == 2i-1) && (SelectContents2 == 2i)) ||((SelectContents1 == 2i) && (SelectContents2 == 2i-1))) {
point = point+1;     //1ポイント追加  
if (point=5) {
gotoAndStop(“clear”);   //ゲームクリアー
} else {
gotoAndPlay(“nextbutton”); //次組のボタンを押す処理に移る
}
} else { //選択したボタンの番号が1,3や4,2のように連続していないなら
play();           //しばらく再生する。}
}
//その後選んだ組をリセット
ひろゆき
Åê¹ÆNo.50002
投稿日時: 2013-8-8 0:31
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: アクションスクリプトのエラー
読みづらいです。
せめて、スクリプトは[code][/code]で囲んでください。
また、余計なコメントはスクリプトが読みづらくなるだけなので、外してください。

まず、" が半角になっていない。
次に、数学で使われるような 2i などのような表記はしない。
あと、( が足りないとか。
適当にスクリプトを記述するのではなく、基礎的なことを学習すべきでは?

if (((SelectContents1 == 2*i -1) && (SelectContents2 == 2*i)) || ((SelectContents1 == 2*i) && (SelectContents2 == 2*i-1))) {
	point = point + 1;
	if (point == 5) {
		gotoAndStop("clear");
	} else { 
		gotoAndPlay("nextbutton");
	}
} else {
	play();
}


----------------
質問する際は、回答者に具体的な情報を与えてください。

田中
Åê¹ÆNo.50004
投稿日時: 2013-8-8 17:41
新米
居住地: 関西
投稿: 13
使用環境:
WinVISTA Flash cs5.5
Re: アクションスクリプトのエラー
ひろゆき様
そうでした2iではなく2*iでしたね(~~;
スクリプトも若干変えて解決いたしました。
ありがとうございました。
野中文雄
Åê¹ÆNo.50005
投稿日時: 2013-8-8 22:32
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: アクションスクリプトのエラー
ご質問の本論から外れますけど。連続した整数かどうかは、引き算して±1(あるいは絶対値が1)になればよいのではありませんか。
引用:
wakannneさんは書きました:
ルート画面にある1,2,3,4,5の数字の書かれたボタン(数字は見えない)をそれぞれ続けてクリックして2,3 、 2、1のように連続した数字をクリックすれば1ポイント+になるゲームです。2回クリックすると3回目のクリックは前回のクリックがリセットされるまでできません。5ポイントになるとゲームクリアーです。
...[中略]...
-----------ここからエラーになります-----------------------
エラー表示「*印の行に')'が必要です。」
//例としてクリックしたボタンの数字が3,4または4,3のようになったら
*if (((SelectContents1 == 2i-1) && (SelectContents2 == 2i)) ||((SelectContents1 == 2i) && (SelectContents2 == 2i-1))) {


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

田中
Åê¹ÆNo.50019
投稿日時: 2013-8-20 16:19
新米
居住地: 関西
投稿: 13
使用環境:
WinVISTA Flash cs5.5
Re: アクションスクリプトのエラー
ごもっともです。
ありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops