ActionScript3.0の記述が長い・・・
お世話になっています。
最近Flashを始めました初心者です。
現在FlashCS5である値を計算する計算機のようなFlashを制作しています。
・・・と、やりたいことは実現できましたので、
このことは質問と直接関係ないのですが。。
質問は、スクリプトのまとめ方(?)についてです。
というのも、初心者だけに知っていることしかできないので、
絶対に一緒に出来るだろうと言うような、同じような記述がたくさん出てきます。
それを配列や演算子を使用し、ソースをすっきりさせたいのです。
無理なものもあるかもしれませんが、
以下のまとめ方をお教えください。
-- (1) --
a.restrict = "0-9";
b.restrict = "0-9";
c.restrict = "0-9";
d.restrict = "0-9";
e.restrict = "0-9";
-- (2) --
var A:Number = Number(a.text);
var B:Number = Number(b.text);
var C:Number = Number(c.text);
var D:Number = Number(d.text);
var E:Number = Number(e.text);
-- (3) --
var A = B - 100
if(A < 0){
A = 0;
};
var C = A / B
if(C < 0){
C = 0;
};
var D = C * B
if(D < 0){
D = 0;
}
if(D > 0){
D = Math.round(D);
};
-- (3) --
F.text = String(A);
G.text = String(B);
H.text = String(C);
I.text = String(D);
J.text = String(E);
変数は適当に当てはめています。
お分かりになる方がいらっしゃいましたらご教授ください。
よろしくお願い致します。
No.2
- 回答日時:
失敗しました…
2のやり方はプリミティブな型の変数ではダメですね
ASでは数とか文字列なんかのプリミティブな型は
配列にいれても参照にならないので
こういうやり方で巡回しても
ダメなんでした、すいません
var A,B,C,D,E:Number
var varArr=["A","B","C","D","E"]
for(var i in varArr){
this[varArr[i]]=parseFloat([a,b,c,d,e][i].text)
}
ってことで3も同じようなカンジですね
何度もご回答ありがとうございました。
ですが、またエラーが出てしましました。
「Number のプロパティ text を作成できません。」
というエラーです。。。
今回は単純に「そのような記述法があるのかなぁ」と思いご質問させていただき
実装できていないというわけではないので、諦めます・・・
勉強して出直してきます。
H240S18B73様
どうしようもないようなご質問に何度もお付き合いいただきましてありがとうございました!
No.1ベストアンサー
- 回答日時:
(1)
for each(var item in [a,b,c,d,e]){
item.restrict="0-9"
}
(2)
var A,B,C,D,E:Number
for(var i in [A,B,C,D,E]){
[A,B,C,D.E][i]=Number([a,b,c,d,e][i].text)
}
(3)a
何がしたいかよくわかりません
ほしいのはDだけなので
ACを作らずにすむ方法が知りたいってことですか?
とするとCの所のくだりって必要ない気がするんですが…
(Cが負になるのはAかBのどちらか片方が負ってことだけど
Aはまず負にならないようにされてるし
Bが負ならAは0になるからA/Bも当然0になる)
むしろBが0だったりしたらエラーになって邪魔
なので結局 D=A/B*B で D=A
var D=Math.round(Math.max(B-100,0))
こういうことではなく?
(3)b
2と同じ
この回答への補足
ご回答ありがとうございます。
(1)は出来ました。
ありがとうございます。
(2)、(3)b(間違えて(3)が2つありました。。)はエラーになってしまいます・・・
「シンタックスエラー:identifierがassignの前に必要です。」
「メタデータ属性が複数のエレメントを持つことはできません。」
と出てきてしまいます。
恥ずかしながらこのエラーの意味もよくわかっていないので、
ご教授お願い致します。
(3)a は、
「A < 0」「B < 0」「D < 0」の時に「A = 0」「B = 0」「D = 0」
という記述を一緒に出来ないかという意味でした。
絡んでくる実際の変数はABCDEの5つではなく、
必ずしもH240S18B73様の仰っていた結果にならないのです。
お手数をお掛け致しますが、よろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript javascriptでテーブルに追加した項目のid追加してローカルストレージを操作したい 5 2023/01/01 15:52
- JavaScript 定積分の近似値を計算する関数composite_newton_cotesをつくりたい 1 2023/01/18 14:09
- JavaScript GoogleChart 階層ごとのブロックの長さを個別に設定したい 1 2022/07/06 14:27
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- オープンソース Coinmarketcap api 1 2022/05/30 15:47
- JavaScript 台形公式 2 2022/12/21 18:38
- C言語・C++・C# C# で、あるフォルダー内にあるすべてのテキストファイルを別のフォルダーにコピーする。 4 2022/11/21 13:23
- その他(パソコン・スマホ・電化製品) pthonのframeに演算結果(数値)を表示したい 1 2023/06/05 22:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
uwscでExcelに自動記入
-
potplayerについて質問です
-
フラッシュゲームアーカイブ2
-
VBAのコンボボックスの年月表示...
-
キャラクター設定について
-
レジリエンス 変換キーが作動し...
-
arduino プログラムについて
-
iPhoneです。 Adobeフラッシュ...
-
FLASH MX で作成した、flashやA...
-
アメブロで音声ファイルを貼る方法
-
何種類の値があるかを調べる方...
-
この曲はなんでしょう?
-
laptop go2からの買い替え、lap...
-
スクリップト
-
私のコンピューター上のファイ...
-
chrome flash
-
FLASHの再生はできないのでしょ...
-
ウェブサイトで Flash が事実上...
-
Flashコンテンツを使ったWebサイト
-
Flash Playerのサポートが終了
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スマホでサイトの画像を長押し→...
-
フラッシュゲームアーカイブ2
-
uwscでExcelに自動記入
-
potplayerについて質問です
-
arduino プログラムについて
-
私のコンピューター上のファイ...
-
アメブロで音声ファイルを貼る方法
-
VBAのコンボボックスの年月表示...
-
この曲はなんでしょう?
-
Windows10重い
-
iPhoneです。 Adobeフラッシュ...
-
ad or script について
-
パソコンのリカバリーについて
-
chrome flash
-
Flashコンテンツを使ったWebサイト
-
Form内のselectを連動させるに...
-
FLASH MX で作成した、flashやA...
-
キャラクター設定について
-
Flashplayerの運用について
-
laptop go2からの買い替え、lap...
おすすめ情報