• 締切済み

flashlite1.1で制作しているのですが

A=1のときB=1 A=2のときB=2 A=3のときB=3 A=4のときB=4 A=5のときB=5 A=6のときB=1 A=7のときB=2 A=8のときB=3 A=9のときB=4 A=10のときB=5 A=11のときB=1 A=12のときB=2 A=13のときB=3 A=14のときB=4 A=15のときB=5 ・ ・ ・ A=20のときB=5 (Aは1,2,3,4,5,6,7,8,9,10,11,12,13,14,15…20) (Bは1,2,3,4,5,1,2,3,4,5,1,2,3,4,5…5) というようにしたい場合、 if(A == 1) {  B=1; } if(A == 2) {  B=2; } if(A == 3) {  B=3; } if(A == 4) {  B=4; } if(A == 5) {  B=5; } if(A == 6) {  B=1; } if(A == 7) {  B=2; } ・ ・ ・ if(A == 20) {  B=5; } というようにスクリプトを書けばよいと思うのですが、 もっと簡潔に書く方法はないでしょうか? 説明がヘタで分かりにくいかもしれませんが、 よろしくお願いします。

みんなの回答

  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

Flash Lite 1.x (Flash 4) には配列がないので eval関数で配列もどきを作って対処することがあります。 書かれていらっしゃるスクリプトを その配列もどきを使ってする方法例↓ //--------------------------------- for (i=0; i<=4; i++) { for (j=1; j<=5; j++) { eval("fakeArr" add (5*i+j)) = j; } } A = 20; B = eval("fakeArr" add A); //--------------------------------- 最初の for文 で fakeArr1 = 1 fakeArr2 = 2 fakeArr3 = 3 fakeArr4 = 4 fakeArr5 = 5 fakeArr6 = 1 fakeArr7 = 2 fakeArr8 = 3 fakeArr9 = 4 fakeArr10 = 5 ~略~ fakeArr19 = 4 fakeArr20 = 5 になります。 A = 20 のとき B = eval("fakeArr" add A); は B = eval("fakeArr" add 20); になりますから B = fakeArr20; で B = 5 になります。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセル IF関数について

    エクセルのIF関数で困っています。 A1のセルは、他のセル(B1)から飛ぶような設定をしている(=B1) B1に入力しない事があるで、A1の「0」に表示しないようにユーザー設定で「#,##0;"△ "#,##0; 」としている。 A2のセルには、A1に文字が表示されたときのみ「日」と表示するようにIF関数を入れた。「=IF(A1="","","日")」 しかし、A1に何も表示されていないのに、「日」が表示されてしまう。 試しに「=IF(A1="0","","日")」としたが、これでも「日」が表示されてしまう。 このような場合、IF関数はどうすればいいのでしょうか。 説明が下手ですいません。 どうか教えてください。

  • C言語 if文

    C言語のif文についての質問なのですが、ifを使い、条件Aの時は1のプログラムを実行、条件Bの時は2のプログラムを実行するようにしたとき、1と2のプログラム自体にもif文が使われています。その場合は、AとBの時のifと1と2に使われているifをどのように区別するのですか?(ちなみに1と2のif文については、それぞれ実行してみたところ動作可能でした。)説明が下手ですいません。初心者ですので、分かりやすく教えていただけると有難いです。

  • 条件分岐(if)について

    条件分岐(if)についてお聞きしたことがあります。 例えば if($a == 'A' || $a == 'B'){ 処理 }else if($a == 'C' || $a == 'D' || $a == 'E'){ 処理 }............... といった条件分岐があったとて、お聞きしたいことが2点あります。 ・条件分岐この後も数十個続いたとします。その場合もelse ifで一つ一つ 条件を書かなければならないのでしょうか? ・条件式if($a == 'A' || $a == 'B'....)が長くなる場合プログラムが見にくくなるので 別途に条件式を書いておいてif文の所では($a == ◯)といったように簡潔に書くことは できないのでしょうか? 宜しくお願いします。

    • ベストアンサー
    • PHP
  • 条件が複数ある場合のif文の書き方

    条件が一つだけの時は上手く動いたのですが、条件を複数にした場合はどう書いたらいいのかわからず、質問させていただきました。 『おしえて!!ACTION SCRIPT』という本を見ながら、Flashを作っています。 その中ではif文の書き方は if(条件式が正しかったら){  実行するスクリプト; } となっていますが、変数が複数あって、そのすべてが合致しないと指定のフレームに飛べないようにするためにはどう書いたらいいでしょうか? if(a==1){ gotoAndPlay(2); } if(b==1){ gotoAndPlay(2); } if(c==1){ gotoAndPlay(2); } と、続けて書くとa=1の時点でフレーム2に進んでしまうことになりますよね? そうでなく、a.b.c全ての変数が1の場合に、フレーム2に飛ぶようにしたいのです。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • IF関数

    エクセル2013使用です IF関数について教えて下さい A1×A2 という数式と B1×B2 という数式があり A1に数字を入力していない場合はB1×B2の答えを A1に数字を入力している場合は “B1×B2に数字が入っていても” A1×A2の答えを、C1に表示させたいです 答えの欄はC1ひとつだけで A1×A2とB1×B2の答えが足されないようにしたいです 説明が下手で申し訳ございません よろしくお願い致します

  • エクセルの関数で悩んでいます

    たとえばA列に5,10,15,20…と5の倍数を置いて A1=<B1<A2のときC1は1 A2=<B1<A3のときC1は2 というように Ax=<B1<Ax+1のとき、C1にxが表示されるような式を作りたいと思っていますが、どうしたらいいのでしょうか? IF関数を使っていたのですが、上手くいきませんでした わかる方がいましたら、どうぞよろしくお願いします! 説明下手ですみません

  • 間に空白がある場合の連番作成について

    文章だと説明が難しいので図で説明します。 ..A..B 1.1..a 2..... 3.2..b 4.3..c 5..... 6.4..d 上記のようにB列には値があったりなかったりします。 その場合にA列に同じ行のB列の値が入ってるセルに例のように連番を振りたいです。 現状はA列の1は数字を入れて、A2以降は下記のような関数を入れて、セルの端っこをドラッグしてコピーしています。(実際はIFの中にIFとネストして作っています) =IF(B2="","",IF(A1="","NG",A1+1)) 流石にこれでは綺麗じゃないので、スマートな方法を教えてください。

  • (MS-Excel数式) 複数の対応を簡潔にしたい

    例:参照セルの値が数値Aであれば=数値Bを返す A=B→2=1,5=2,6=3,11=4,・・・ 数値Aが、たとえば1,2,3…とか2,4,6…なら2で割ればCHOOSE関数が、A=Bが少ない場合はIF文が、それぞれ有用だと思いますが、1,2,3…にならなくて数が多い場合は数式が長くなるのを、簡潔にしたいというか、何か単一または組み合わせて、簡潔になる関数や数式がありそうな気がして質問しました。 実際に作りたい数式は、上記で1,2,3…となったものを、CHOOSE関数で括ろうと考えています。 言い方を変えれば、例えば=CHOOSE(A1,,A,,B,C,,,,D…)または=CHOOSE(長い数式,A,B,C,D…)となるのを、=CHOOSE(短い数式,A,B,C,D…)にしたいということです。 ただし、複数のセルを使って行程的に1,2,3…を導く方法はナシでお願いします。 いくつものセルに、それぞれA=Bの対応が異なる数式を入れる必要があるので、手間とミスの可能性で困っています。 よろしく、お願いします。

  • これはエクセルのIF関数を使ってできますか?

    こんばんは。 エクセルで悩んでいます。 A列に、"大学"・"高校"をオートフィルタで選べるようにして、 B列に、大学なら1~4の数字、高校なら1~3の数字を入力します。 そして、C列に、A1="大学"かつB1=1なら30(ポイント)、         A1="大学"かつB1=2なら40、         A1="高校"かつB1=1なら20、         それ以外は空白 というような自動計算式を作りたいと考えています。 この場合、IF関数とAND関数で作成すればできますでしょうか。下記のような式を作成しましたが、うまくいきません。 =IF(AND(A1="大学",1),30,IF(AND(A1="大学",2),40,IF(AND(A1="高校",1),20,""))) 説明が下手で申し訳ありませんが、 なんとかアドバイスいただければ幸いです。 よろしくお願いします。

  • Excel If関数について

    こんばんわ。 IF関数の使い方がわからずに困っています。 a b c d e f g 2 1 1 2 2 1 ?? abと一致している数字をgの欄に1か0の数字を入れたいんです。 もしabの数字と一致している場合は0 違っている場合は1 abと比較するのはcd,efの数字と比較をしたいんです。 aとc bとdみたいに1つずつ比較するIf文はできるのですが ab,cd ab,efと比較するIF文が作成できなく・・・。 説明が下手ですいませんが、どうぞ宜しくお願いいたします。

ZEROの製品に関する質問
このQ&Aのポイント
  • ZEROの製品に関する質問について、回答をお願いします。
  • 遠隔操作でパソコンが見られた状況について、どう対処すればよいのかご教示ください。
  • ソースネクスト株式会社の製品・サービスについての質問です。
回答を見る