ActionScript質問に誰かが兆速で答えるスレ1フレーム目

このエントリーをはてなブックマークに追加
1Now_loading...774KB
ここでは、Action Script に関する質問を受け付けます。

【注意事項】
・まずは、自分で調べてみて下さい。それでもわからなければここへ質問してください。
・回答があったら必ずお礼をしましょう。
・必要があればAction ScriptのバージョンやFlash Playerのバージョンを書きましょう。




【りんく (*^ _^*)ノ】

Flash ActionScript講座 - Flash
http://www.game3rd.com/flash/action/

Flash ActionScript2.0入門ノート
http://oshige.com/flash/note/

Flash 8 LiveDocs ※actionscript2.0の学習とリファレンスがある
http://livedocs.macromedia.com/flash/8_jp/

Flashの超基本的な質問はここでしろ! part32
http://pc8.2ch.net/test/read.cgi/swf/1162018067/

Flashの製作に関する質問はここで♪その9
http://pc8.2ch.net/test/read.cgi
2Now_loading...774KB:2006/12/20(水) 21:25:26 ID:7R6MdvvR
じゃぁ2getしておくよ
3Now_loading...774KB:2006/12/20(水) 21:29:34 ID:AfPFlFy1
さっそく質問です。
変数に代入したテキストデータの文字数を取得するにはどうすればよいでしょうか?
教えてください!
43:2006/12/20(水) 21:36:28 ID:AfPFlFy1
自己完結しますた。
53:2006/12/20(水) 22:15:10 ID:AfPFlFy1
また質問します。次のスクリプトは外部ファイルから読み込んだ文字列を一文字ずつMCに設定して表示するスクリプトなんですが、
Flashプレイヤー6までだと正常に表示されるのですが、それ以降(Flashプレイヤー8など)になると文字列が32文字になっても改行されず、
最初の文字に重なって表示されてしまいます。
どうすれば解決できるでしょうか。教えてください。
(このスクリプトが記述された次のフレームでこの関数を繰り返し呼び出しています。)
_x = 220;
_y = 150;
a = 0;
function Typo() {
if (a%32 == 0) {
Y += 15;
X = 0;
} else {
X++;
}
this.LoadVariables("typo.txt");
this.attachMovie("typo00", "typoG"+a, a);
this["typoG"+a].typoMc.typotext = txt.charAt(a);
this["typoG"+a]._x = X*11;
this["typoG"+a]._y = Y;
a++;
}
63:2006/12/21(木) 00:48:33 ID:CbUtBQX2
>>5
のFlashプレイヤー6までだと・・・・と言ってますが、
正確にはFlashプレイヤー6用にパブリッシュすると正常に動作します。
それ以降でパブリッシュすると正常に動作しません。
7Now_loading...774KB:2006/12/21(木) 07:20:28 ID:1gb5DjTF
>>5

Y += 15;
trace(Y);

ってやってみ。
83:2006/12/21(木) 08:01:07 ID:CbUtBQX2
>>7
「Nan」うっひょー数字だと認識されてねー
原因解明してくれてありがとうございます。
93:2006/12/21(木) 08:03:20 ID:CbUtBQX2
解決しました!!
ありがとうございます!!
10Now_loading...774KB:2006/12/24(日) 01:08:05 ID:TkU3VEK2
karaage
11Now_loading...774KB:2006/12/24(日) 01:39:11 ID:Hy0+JaaL
tattaage
12Now_loading...774KB:2006/12/24(日) 12:11:03 ID:TkU3VEK2
christmas age
13Now_loading...774KB:2006/12/25(月) 01:39:23 ID:rxq7qlLD
重複スレ立てんなボケ。
14Now_loading...774KB:2007/01/03(水) 14:06:22 ID:1VF7y19w
外部から変数読み込むFlash作ったんだけど、
外部ファイルの値が変わっても、Flashで表示される値は変わらない。

これはIEのキャッシュ読んでるんですか。
それとも、ファイルの更新日付とか見てるからですか?

解決する方法を教えてください

技術スレは誤爆です。
15Now_loading...774KB:2007/01/04(木) 15:29:05 ID:fWV6flqW
>>14
キャッシュクリアしてみればいいじゃん
16Now_loading...774KB:2007/01/12(金) 09:24:19 ID:jkZ3iHnw
actionscriptとJavascriptってどちらから学んでも問題ないんですか?
どうせならasからと思ってるんですけど。

あとおすすめの教本あったら教えてください。
17Now_loading...774KB:2007/01/15(月) 21:25:18 ID:pocTT+jU
>>16
今必要か興味のある方からで桶。本は「おしえて〜」シリーズから入るといいかな。
18Now_loading...774KB:2007/01/15(月) 21:35:55 ID:Gt1v/PDy
function textLoad(url) {
System.useCodepage = true;
my_lv = new LoadVars();
my_lv.onData = function(src) {
src = src.split(String.fromCharCode(10)).join("");
src = src.split(String.fromCharCode(13));
dat = new Array();
for (i=0; i<src.length; i++) {
dat[i] = src[i].split(",");
}
};
my_lv.load(url);
return dat;
}

こういうのつくってね。配列を返してもらおうと思ったですよ。でもうまくいかないんです><
19Now_loading...774KB:2007/01/16(火) 06:07:34 ID:8zCAPzqT
>>18
textLoad関数を最後まで実行した段階ではmy_lvの読み込みは終わってないです。
処理の流れとしてはこうなります。

・textLoad関数に入る
・my_lvの初期化、データの読み込みを開始
・textLoad関数を抜ける。データの読み込みは終わってないし、
 そもそもdatって変数はtextLoad関数の中に存在しないのでundefinedを返す

 ↓ Flash Playerが1MBあるかもしれないデータを読み込もうと息巻く
  (回線状況が悪ければこの間に何フレームか経過するかもしれない)

・my_lvのデータの読み込みが終了、onData関数に入る
・dat配列を作成し、中身を設定する
・onData関数を抜ける、しかし何も返さない。そもそも値を返す先なんてない

読み込みが終わるまでASの実行を一時停止するなんて便利な機能はないです。
onData関数の中で配列をどこかの外部変数に保存するとか画面表示を更新するとか
次の画面に進むとかするようにしてください。
20Now_loading...774KB:2007/01/16(火) 08:34:45 ID:cFtSR98T
>>17
ありがとうございます。参考にしてみます。
2118:2007/01/16(火) 21:25:32 ID:VUIKFBnJ
>>19
めちゃんこためになりました。><
22Now_loading...774KB:2007/01/20(土) 15:11:00 ID:Wn518KKT
キーフレームとフレームの違いが分からないんで教えてください><
23Now_loading...774KB:2007/01/20(土) 16:22:30 ID:ads0DFxD
>>22
にわかな私が回答します。

キーフレーム=オブジェクトの配置を行ったり、フレームアクションを記入することができるフレーム。
フレーム=上記以外のノーマルフレーム。
24Now_loading...774KB:2007/01/20(土) 19:17:00 ID:Wn518KKT
ようするにただのフレームは通過するだけでActionScriptを書いたりできないって
ことですか。
てことはただのフレームは何に使うんですか?
25Now_loading...774KB:2007/01/20(土) 21:29:34 ID:ads0DFxD
>>24
にわかな私が回答します。

通過するために使用します。
26Now_loading...774KB:2007/01/31(水) 23:12:48 ID:GvuFWcbC
Flash8 です。
超初心者です。

ラベル名を変えるにはどうしたらいいのでしょうか?

調べましたがわからないので教えてくださいm(_ _)m

2726:2007/02/01(木) 02:18:46 ID:0ubRl58B
自己解決しました。お騒がせしました。
28Now_loading...774KB:2007/02/01(木) 18:01:42 ID:jKKZOc8/
Flashにxmlファイル(update.xml)を読み込んでダイナミックテキストエリア(update_text)に表示させたいんだけど

up_xml = new XML();//XMLオブジェクトを作る
up_xml.onLoad = update;//イベントハンドラ指定
up_xml.load("update.xml");//xmlファイルを読み込む
up_xml.ignoreWhite = true;//タグなど空白を無視

で、表示させるにはどうすればいいんですかね?

29Now_loading...774KB:2007/02/02(金) 17:44:59 ID:vhGv/Czl
基礎的なことだとは思うのですが、質問させてください。
1.loadVarsを使用して、[1,2,3,4,5,6〜]と記述されているファイルを読み込みます
2.読み込んだファイルを、split[","]を使用して、配列pointに代入します
  このとき、trace(point[1])を行えば、きちんと[2]が表示されます
3.適当な変数cnt = 0を宣言し、cntの値とpoint[x]の値を合計したい

cnt += point[1]と行うと、[02]と表示されてしまいます
同じように、cnt += point[2]を行うと[023]と追記されます
本来は、0+2や2+3を行いたいのですが、どうしたらよいでしょうか?
恐らく、pointの型が違うのだと思うのですが、どうでしょうか…
30Now_loading...774KB:2007/02/02(金) 20:37:38 ID:wRlyxXiZ
>>28
表示させるだけならtextに指定すればおk
XMLの構造を解析したいならXMLNode.firstChildやXMLNode.nextSiblingとか
XMLNode.nodeValueやXMLNode.attributesを調べてみる

>>29
推測の通り、split()した段階ではpointの中身は全部文字列
文字列のpoint[x]を数値に変換するのはNumber(point[x])
だから
cnt += Number(point[2])
な感じで
他にparseInt()とかparseFloat()な関数もあるから用途に応じて使い分けてみて
31Now_loading...774KB:2007/02/03(土) 22:43:05 ID:2hdcXLFS
>>30
遅れてしまいましたが、出来ました
ありがとうございます
32Now_loading...774KB:2007/02/14(水) 11:57:16 ID:VnrFtPCY
ムービークリップxx_mcにロールオーバーした時にalpha値が増え、だんだんと表示されるようにしたいのですが

on (rollOver) {
for(xxalp = 1 ; xxalp < 100 ; xxalp++ ) {
       xx_mc._alpha = itemalp;
}
}

このような自分のスクリプトでは一瞬でalpha100のような状態に表示されてしまいます
どのように改良すれば良いのでしょうか
できればイーズインしているような効果にもしたいです
33Now_loading...774KB:2007/02/15(木) 02:13:14 ID:U+3T5Tk4
リンケージ設定が面倒臭ス……
細かい画像(マップチップ)大量に読み込ませたいのですが、
外部ファイル読み込みだと細かいコネクション増え過ぎちまうので
ライブラリに読ませたのですが、全てにリンケージ設定すんのが
死にそうです

ファイル名リストはXMLで出してるからループ回せば終了なのですが、
上記手順を簡素化する手法などありますでしょうか。

481個*4セット……まあ今回限りならガンガレルにしても、今後の拡張などの汎用性で言うと皆無に等しい作業であります
34Now_loading...774KB:2007/02/15(木) 09:33:58 ID:uUSBg9kD
>33
遅いかも試練が
ヒストリウィンドウを出す
1つリンケージ設定
残りを全部選択
ヒストリでリンケージプロパティを選択
再生
35Now_loading...774KB:2007/02/15(木) 14:14:38 ID:GMQrFRc0
試してみるthx
36Now_loading...774KB:2007/02/15(木) 15:30:56 ID:GMQrFRc0
ぬ、

ヒストリから「リンケージプロパティ」だけを選択して実行したところ
「setItemProperty:引数番号1は無効です。」
だそうで。
「ライブラリアイテムの選択」を含めると、当然先に選択したライブラリアイテムしか操作されない模様。

ヒストリウィンドウオプションの「パネル内のJavaScriptを表示」をやるとコマンド見れて面白いですな。知らなかった
これ直接弄る方法調べてみます。まずはthxですた
37Now_loading...774KB:2007/02/15(木) 15:33:10 ID:GMQrFRc0
連投スマソ
ドキュメントの「Flashの拡張機能」にあるのがこれですな
なんとかなりそうだ。習熟してきます
勉強不足お詫び申し上げます
38Now_loading...774KB:2007/02/16(金) 11:09:34 ID:XUlvOLJq
すみません。あるボタンを押した後、
処理1をしてから3秒タイマー、タイマーが切れたら処理2をしてまた3秒タイマー
というふうにしたいのですが…

on(press){

 〜処理1〜

 //3秒待つ
 st = getTimer();
 while(getTimer()-st < 3000){
 }

 〜処理2〜

 //3秒待つ
 st = getTimer();
 while(getTimer()-st < 3000){
 }

 〜処理3〜

}

こうしてみたところ、タイマーが二つ合わせて6秒分、処理1の前に発動してしまい、
その後処理1〜3を一気に処理するという現象が起こってしまいますがこれっておかしいのでしょうか?
自由にその場でタイマーを設定できる方法ってありますか?
39Now_loading...774KB:2007/02/16(金) 17:44:36 ID:JhXC2X5S
すいません。質問です。

携帯○
商用○
インタラクティブ再生○

上記の条件を満たしている無料レンタルサーバーってあったりしますか?
虫が良すぎる話っぽいですが。。。
40Now_loading...774KB:2007/02/18(日) 12:11:39 ID:8M0sQTIQ
よろしくお願いします。

myLoad = new LoadVars();
myLoad.onLoad = function(){
  _root.ac=this.countdata;
};
myLoad.load(cgi);

こんな感じで外部CGIファイルから変数読み込むスクリプト作ったんですが、
オブジェクト内でグローバル変数って使えないですか?

4140です><:2007/02/18(日) 12:12:40 ID:8M0sQTIQ
ごめんなさい。

myLoad = new LoadVars();
myLoad.onLoad = function(){
  _global.ac=this.countdata;
};
myLoad.load(cgi);

でした。
42Now_loading...774KB:2007/02/24(土) 13:32:40 ID:Ubz8ussb
ムービークリップなどのオブジェクトをステージ上から消すことができる関数ってありますよね?
教えてください。
4342:2007/02/25(日) 12:49:05 ID:M87Axc39
自己完結しますた^^
44Now_loading...774KB:2007/02/26(月) 19:48:38 ID:VKKanrhv
複数のBGMが流れているFlashを作っているのですが
複数の中のBGM“A”を●フレームから×フレームまでActionScriptを使って音量を下げたいのですが
どのようにすればいいのでしょうか?
45Now_loading...774KB:2007/02/26(月) 21:03:28 ID:VKKanrhv
>>44
別の類似スレにて質問を投稿しました|ω・`) (このスレは活気が無い様なので…
4646:2007/05/14(月) 18:25:02 ID:GWcYwpLP
自己解決しました^^
47Now_loading...774KB:2007/07/12(木) 23:26:18 ID:bRcL7MOA
Flashは、ver4のころに喜んで使っていましたが、最近は
全くさわっていません。
いつのまにadoveになっていたなんて…!

ところで、教えていただきたいことですが、flashを
CD-ROMで配布するために、exeファイルにして、
そのexeファイルから、ヘルプファイルを呼びたいのですが、
それは可能でしょうか。

トップ画面をflashで作成してexeファイルに変換。
その画面にボタンをつける。そのボタンから、
1.HTMLヘルプのファイルを呼び出す
2.別のexeファイルを呼び出す
以上のことをしたいのです。
ver.4では、2.はできましたが、1.はできなかったと思います。
flashの最新版ではどうなんでしょうか。

それとも、別のソフトで上記のことができる(初心者にも簡単な)
ソフトがあればお教えください。
よろしくお願いいたします。
48Now_loading...774KB:2007/07/14(土) 17:45:21 ID:1JfnVguH
>>47
getURL()にHTMLヘルプファイルへの相対パスを渡すんじゃダメなの?
49Now_loading...774KB:2007/07/15(日) 13:54:26 ID:BtnCBxJy
>>48
え、それで大丈夫なんですか。
getURL()は、本当にwebのURLのためのものだと思っていました。
それなら昔のver4でもありましたよね。
まだ、Flashがインストールして無いので、後ほど試して
みます。
ありがとうございました。
50Now_loading...774KB:2007/07/15(日) 15:35:14 ID:EJJROcPw
質問です。
FlashMXで数字の入った配列を昇順にソートしたいのですが、
通常のソートでは文字列としてソートしてしまいます。

1→11→23→・・・ のように数字としてソートするにはどのようにすればよいのでしょうか?

FlashMX2004では配列名.(Array.NUMERIC);でできる内容と同じものです。
51Now_loading...774KB:2007/07/17(火) 22:49:25 ID:hI1XoQ4h
>>50
この機会に「ソート アルゴリズム」辺りでぐぐっとく事を勧める

数値のソートは用途に応じて様々なアルゴリズムが考案されてるが
具体的に何の数値の配列かによって使い分けるのが本来のあり方だぜ

急いでるならコレを拾ってけ、Webのどこかで見つけた。
但し遅いかもしれんから覚悟しろよな
ttp://www.dreamincode.net/code/snippet128.htm
52エロエロ大魔神:2007/08/06(月) 02:48:31 ID:tIgMikMW
メニューボタン(menu_mc)をロールオーバーさせると、ボタンに簡単なメニューアニメーション(target_mc)をさせ、
そのメニューアニメーションが10フレーム進むとサブメニュー(s_menu_mc)が現れるというようなメニューを作りたいと思います。

メニューボタンは複数あり
メニューアニメーションの動きはすべて同じです。
サブメニューはメニューボタンの数だけあります。

MC構造
「---」親子関係をしめしてます。
root
+(menu1_mc)---(target1_mc)
+(menu2_mc)---(target2_mc)
+(menu3_mc)---(target3_mc)
+(menu4_mc)---(target4_mc)
+(menu5_mc)---(target5_mc)
+(s_menu1_mc)
+(s_menu2_mc)
+(s_menu3_mc)
+(s_menu4_mc)
+(s_menu5_mc)

今まではメニューボタンの数だけ、(target_mc)をMCごと複製し(target_mc)の
10フレームにて、それぞれの(s_menu_mc)を呼び出すメソッドを書いていました。

この作り方ですと、(target_mc)のアニメーションを修正しようものなら、すべての
(target_mc)を修正しなければなりません。
53エロエロ大魔神:2007/08/06(月) 02:49:25 ID:tIgMikMW

そこで、メニューボタン(menu_mc)をロールオーバーしたときに変数をつくり、メニューアニメーション(target_mc)
が変数を読み取り変数にあった、(s_menu_mc)を出現させる方法。

MC構造
root
+(menu1_mc):変数1---(target_mc):10フレーム目にs_menu1_mcを呼び出す
+(menu2_mc):変数2---(target_mc):10フレーム目にs_menu2_mcを呼び出す
+(menu3_mc):変数3---(target_mc):10フレーム目にs_menu3_mcを呼び出す
+(menu4_mc):変数4---(target_mc):10フレーム目にs_menu4_mcを呼び出す
+(menu5_mc):変数5---(target_mc):10フレーム目にs_menu5_mcを呼び出す
+(s_menu1_mc)
+(s_menu2_mc)
+(s_menu3_mc)
+(s_menu4_mc)
+(s_menu5_mc)

:::::::
54エロエロ大魔神:2007/08/06(月) 02:50:02 ID:tIgMikMW
B
もしくは、メニューアニメーション(target_mc)が10フレーム進んだことをメニューボタン(menu_mc)に知らせ、
メニューボタン(menu_mc)から、サブメニュー(s_menu_mc)を呼び出す方法。

MC構造
root
+(menu1_mc):フラグAならs_menu1_mcを呼び出す---(target_mc):10フレーム目にフラグA
+(menu2_mc):フラグAならs_menu1_mcを呼び出す---(target_mc):10フレーム目にフラグA
+(menu3_mc):フラグAならs_menu1_mcを呼び出す---(target_mc):10フレーム目にフラグA
+(menu4_mc):フラグAならs_menu1_mcを呼び出す---(target_mc):10フレーム目にフラグA
+(menu5_mc):フラグAならs_menu1_mcを呼び出す---(target_mc):10フレーム目にフラグA
+(s_menu1_mc)
+(s_menu2_mc)
+(s_menu3_mc)
+(s_menu4_mc)
+(s_menu5_mc)

:::::::

以上、2つの方法があると思います。まだよい方法があるかもしれませんが。
同じ動きをするならばできることなら、同じオブジェクトを使いたいと思います。

どのような方法がベストでしょうか?
お教えください。
55Now_loading...774KB:2007/09/26(水) 16:45:14 ID:QP1n8dlu
開かれてるSWFのファイル名を取得するのってどうやれば良いのでしょう?
要は自分自身のファイル名って事なのですが。
分かる方いたら教えてください。
56Now_loading...774KB:2007/09/27(木) 00:14:42 ID:gFkjG6Le
>>55
_url
57Now_loading...774KB:2007/09/27(木) 10:57:02 ID:cbs3bENE
>>56
サンキュー!助かった
58Now_loading...774KB:2007/10/03(水) 00:13:16 ID:2Sq31qea
オブジェクトのパス(?よく分かってないですごめんなさい)を指定する際に 
変数を用意して以下のように指定できるのですが

Name="test"
_root[Name]

次のように複数のオブジェクトを生成したあとに、

for (i=1; i<=10; i++) {
Name = "test"+i;
this.attachMovie("test", Name, i);
}

↓のようにまとめてパス指定する方法はないのでしょうか?

root[ /*"test"を名前に含むオブジェクト*/ ]

よろしくお願いします
59Now_loading...774KB:2007/10/03(水) 01:02:12 ID:QIQDAb8i
>>58
無いのでループで処理してください
60Now_loading...774KB:2007/10/03(水) 01:15:22 ID:2Sq31qea
助かりました、これで迷わず前に進めます
ありがとうございました。 m(_ _)m
61Now_loading...774KB:2007/10/08(月) 09:25:12 ID:ZWhMmZQV
ActionScript2.0として書かれたスクリプトから、ActionScript3.0で書かれたスクリプトを呼び出すことは出来ますか?
62Now_loading...774KB:2007/10/10(水) 04:26:04 ID:jOfoaiHe
>>61
不可能
63Now_loading...774KB:2007/10/12(金) 09:56:28 ID:Rk1TTk3v
ありゃりゃ。。。無理でしたか。ご教示ありがとうございました。
64Now_loading...774KB:2007/10/13(土) 18:50:32 ID:L410J1Dt
AS3でXpathを使おうと思って
↓をダウンロードしたんだけど
ttp://code.google.com/p/xpath-as3/

全然使い方がわかんね
65Now_loading...774KB:2007/10/14(日) 07:42:43 ID:3YICADUz
SWF4で例えば5キーと6キーのどちらかを押したら処理(どちらも同じ処理)…のような記述はできますか?
それとも
on(keyPress"5") {
}
-
on(keyPress"6") {
}
のように複数記述するしかないのでしょうか。
お願いします。
66Now_loading...774KB:2007/10/14(日) 13:32:47 ID:RvYDXbGA
マルチすんなボケ
67Now_loading...774KB:2007/10/15(月) 01:50:04 ID:1DlYUNpS
スレ違いかもしれんがちょっと質問。
いまだにAS2使ってるんだが、
FLASH OOPって本は今読んでも役に立つ?
ASしか書けないユーザーが読んでも理解できる?
68Now_loading...774KB:2007/10/15(月) 15:06:33 ID:Hf9pGaC/
携帯の待ち受けFlash作りたいのですが
アラームのONOFFやバイブのONOFFを表示させる
スクリプトってあるんでしょうか?
69Now_loading...774KB:2007/10/21(日) 17:37:51 ID:Z8fH2NXn
this.attachMovie("○",△, 深度)

で、深度の設定をしますが、
最初からシーンに置いてある(自分で書いたりした)オブジェクトの深度は;
固定値かなんかが決まっているのでしょうか?
70Now_loading...774KB:2007/10/21(日) 17:47:11 ID:jBT9Iizq
うん
71Now_loading...774KB:2007/10/21(日) 21:08:15 ID:MZ6bCI92
技術交換スレから誘導したされたものです
as3で下のようなコードを書いてみたんですが
実行しても何も表示されません
リファレンスと睨めっこしてもさっぱり原因がわからないんで誰かご教授ください

package {
import flash.display.*;
import flash.geom.*;

public class Etude extends Sprite {
public function Etude() {
addChild(new BgShape());
}}}

import flash.geom.*;
import flash.display.*;
class BgShape extends Shape {
public function BgShape(){
//背景タイル
var tile:BitmapData = new BitmapData(20,20,true,0xffffffff);
tile.fillRect( new Rectangle(0,0,10,10),0xffcccccc);
tile.fillRect( new Rectangle(10,10,10,10),0xffcccccc);

// 描画してるはずなのに?
graphics.beginBitmapFill(tile);
graphics.endFill();
}}
72Now_loading...774KB:2007/10/21(日) 23:28:54 ID:oIgWX43v
>>71
graphics.beginBitmapFill(tile);
graphics.drawRect(0, 0, tile.width, tile.height);
graphics.endFill();
73Now_loading...774KB:2007/10/21(日) 23:41:10 ID:MZ6bCI92
>>72
うわわありがとうございます!
わかりました!
beginBitmapfillの使い方を完全に勘違いしてた様です
74Now_loading...774KB:2007/10/22(月) 02:37:11 ID:VZO8dxyb
すいませんまた質問です

addEventListener( MouseEvent.CLICK, start);

addEventListener( 'click', start);
って上みたいに書く方(MouseEventなんたら)を推奨されてるみたいなんですけど
これってなんででしょうか?
面倒なんで下のほうみたいに書きたいんですけど
75Now_loading...774KB:2007/10/22(月) 03:00:20 ID:U2i9LtCD
>>74
trace(MouseEvent.CLICK);
76Now_loading...774KB:2007/10/22(月) 03:58:59 ID:vWQ7fGKU
>70
なるほど-16325 あたりになっとるんですな
うーむ、めんどくさいけど、ゲーム作る上では当然意識しないといけませんね

どもです
77_:2007/10/22(月) 10:50:34 ID:FdRHu379
質問です.

ActionScriptでフレームレートの値を変動させるには
どうすればよいのでしょうか?
78Now_loading...774KB:2007/10/22(月) 15:22:36 ID:V2Q0zGDc
すみません教えてください
私自体はCプログラマです。現在Flashとの連携を
考えております。そこで以下の事ができるか教えてください。
インストーラー的な事です

1、特定のサーバーからEXEを含むファイルを読み込んで
2、PCのローカルに書き込み
3、書き込んだEXEを起動

現在 ActiveX+ベリサインを考えいますが
Flashでできるんでしたらと思いまして

よろしくお願いします
79Now_loading...774KB:2007/10/22(月) 15:52:38 ID:MLLh9Prc
MovieClipLoaderについて質問です。
例えば、
_root
 -testMC
 -loadingMC

という構成でMCを2個置くとします。
testMCには単純に矩形を描画して、とりあえず試しに
this.onEnterFrame = function(){
 this._rotation += 10;
}
とか書いて回しとくとします。

で、loadingMC内でMovieClipLoaderを使い、
jpgやswfを何かのタイミングで読み込むと、
ファイルのロード中(onLoadProgressが呼ばれている間)に
testMCの回転も止まってしまうのですが、自分の環境だけでしょうか?
ロードが終わればtestMCの回転も再開します。

onLoadProgress以外の処理が全てストップしているように見えるのですが…
読み込むswfやjpgのファイルサイズが小さい場合には気にならないのですが、
大きくなると止まっているのがよく分かる状態です…。

どなたかこの対処法などご存知ないでしょうか…?
80Now_loading...774KB:2007/10/22(月) 15:59:12 ID:ngY/iKlP
ActionScript 誰かが物凄い勢いで解答するスレ 17
http://pc11.2ch.net/test/read.cgi/swf/1187394529/
81Now_loading...774KB:2007/10/24(水) 01:58:40 ID:2VhgWVSn
>>78
Flash単品の場合
1.はAS3なら可能
2.が無理。
3.もブラウザ経由なら恐らく無理
82Now_loading...774KB:2007/10/28(日) 18:54:28 ID:qj0S80ZQ
>>74
腐れMSがよくやるがマイナーバージョンアップだけで
定数の仕様をコロコロ変えまくる事があるから
83Now_loading...774KB:2007/11/01(木) 13:16:05 ID:XoSmjCFY
ActionScriptを使ってDBからCGIを介して得た情報をLoadVarsを使って
やりとりするようなコンテンツを作ろうと思っています。

Adobeのツールを買うと10万近くするのがザラなので
日曜プログラミングの趣味のサイトにそこまで出すのはちょっと気が引ける。
廉価版として安く出回っているFlash作成ソフトで検討していますが、
オススメのソフトがあればお教えください。
84Now_loading...774KB:2007/11/01(木) 17:25:16 ID:gYdwPSgY
>>83

AS用のIDEとして、FlashDevelop
※最新バージョンは、Java6対応なので気をつける。

とてもおすすめ!

AS2で開発なら、mtascやswfmillなどのフリーのコンパイラが同梱されているから、
直ぐに開発に入れる。

AS3で開発なら、adobeで Flex2-SDKを取ってくる(フリー)。

FlashDevelopからもFlex2-SDKでコンパイルできるのでOK!
85Now_loading...774KB:2007/11/05(月) 03:06:14 ID:JrCeFWRJ
onEnterFrameを使ったあとに、未使用状態になったら
delete this.onEnterFrame;をすることで、処理が軽くなる
と言う話を見たのでdelete文を挿入したのですが・・

実際に問題なく動くのですが、deleteしてるのを確認する方法ってあるのでしょうか

あれば御教授お願いします
86Now_loading...774KB:2007/11/05(月) 03:20:46 ID:va5U5HQD
traceしてみな
87Now_loading...774KB:2007/11/05(月) 04:24:01 ID:JrCeFWRJ
そいやそうですね orz
と、いうわけで以下の用にtrace文をいれたのですが

this.onEnterFrame = function(){
this.FirstMove();
trace("test")
}
this.stop();


てっきり、deleteが必要ってことはonEnterFrameは、他フレームに行った場合でも
なにか残ってるのかなー とか思ってたのですが、
他フレームに行った場合はtrace文の出力は終了してました。

と、いうことはdeleteを入れるのは使いようによっては不要なのでしょうか?
(他フレームに行くならflash側で勝手に消してくれる?)
それともメモリかなんかの関係でやっぱりこまめにdeleteを実行すべきなのでしょうか?

重ね重ねすみませんがよろしくお願いします
88Now_loading...774KB:2007/11/05(月) 06:31:28 ID:is9LP47m
その「this」がどこの部分にあたるのか知らないが、
MovieClipにenterframeイベントを適用させるわけだから、
そのMovieClipがなくなればイベント事体が起こらなくなるはず。

たとえば、createEmptyMovieClipで作成した場合は、フレーム移動しても
残ってるわけだから、deleteするかremoveするかしないとダメでしょう。
8987:2007/11/05(月) 22:01:35 ID:JrCeFWRJ
なるほど、納得です

丁寧にありがとうございました m(_ _)m
90Now_loading...774KB:2007/11/11(日) 08:40:19 ID:y3so4qhY
FlashMX2004を使用しています。
テンプレートを下敷きにクイズを製作しているのですが、

・ドラッグしたシンボルをターゲットに重ねるクイズ
・シンボルとターゲットは各四つずつ
・コントロールボタンを押す事で「正解」か「不正解」かが判明する

という手順までは出来ているのですが、
今の段階ではただ全体として間違っているか正解かという判別しかできないので、
コントロールボタンで答え合わせをした後に「どれが正解でどれが不正解か」を、
各ターゲットの上に大きな○か×で判別させたいと思っています。

○と×のシンボルは出来ているので、合否を反映させてそれらを表示させればいいんじゃないかとは思っているのですが、
どのようにして答えの合否をASで区別・表現すればいいのかさっぱりな上、
シンボルをターゲットにドラッグしていない(問題に答えていない)状態まで加味しなければならない為、
もう何をどうしていいのか全く分かりません。

どなたかご教授お願い申し上げます。
91Now_loading...774KB:2007/11/11(日) 08:50:43 ID:R6dqpA3B
if文を使えばいいと思うよ
92Now_loading...774KB:2007/11/14(水) 23:19:25 ID:p2nU7uos
マイクの入力を受けて
音量だけの数値を
0-255
とかでとれたりってできませんかね。。
9390:2007/11/15(木) 11:04:14 ID:S3kdmskH
>>91
ありがとうございます。
ですが、if文を使って何をどうすればいいのかさっぱりです・・・。
94Now_loading...774KB:2007/11/15(木) 13:29:35 ID:de8OeuSw
その様子じゃ作れないと思うよ。
95Now_loading...774KB:2007/11/16(金) 01:03:38 ID:hT81sgBG

ttp://www.updown-hiroba.com/common/swf/music.swf


これってデコンパイルできますかね。。
96Now_loading...774KB:2007/11/16(金) 09:15:01 ID:k/dyy0VR
できるよ
97Now_loading...774KB:2007/11/16(金) 10:07:26 ID:pdBbk3nW
flareでできるんすかね。。
98Now_loading...774KB:2007/11/16(金) 10:50:16 ID:k/dyy0VR
やってみればいいじゃない
99Now_loading...774KB:2007/11/16(金) 11:06:33 ID:pdBbk3nW

frame 1 {
gotoAndStop(1);
}

button 10 {

on (press) {
nextFrame();
}
}

すみませんできました。。
これってmxmlにできますか。。
100Now_loading...774KB:2007/11/16(金) 11:10:29 ID:k/dyy0VR
できるよ。
で、元々おまえはなにをしたいんだよ。
101Now_loading...774KB:2007/11/16(金) 11:47:48 ID:pdBbk3nW
絵と音を替えてつくりたいんです、
mxmlのサンプルコードが欲しいです。。
102Now_loading...774KB:2007/11/16(金) 13:10:01 ID:k/dyy0VR
デコンパイラで生成されるコードはわかりにくいから、ある程度の知識がないならオススメしないぞ
上のコードでわからないようならなおさら
ボタン生成とか音楽再生のサンプルコードなら普通に探せばあるだろ。
103Now_loading...774KB:2007/11/17(土) 19:22:23 ID:MO+FkvDh
なるほどー>デコン

検索が苦手でして^^;
コードを検索するときのtipsなどありますでしょうか・・
104Now_loading...774KB:2007/11/20(火) 05:37:29 ID:1l9TpFdD
WebからJPEGファイルを大量に読み込んでパラパラアニメを表示するソフトを作っています。
JPEGファイルの一覧はXMLファイルから与えられ、個数は可変です。

現在は、
1フレーム目のASが実行された瞬間に、まず再生を止めて、
XMLファイル、JPEGファイルを読み、ムービークリップをどんどん重ねていってます。

JPEGファイルを読み込み終わった後、再生開始、2フレーム目は1フレーム目に戻るだけの処理を書いています。
1フレーム目に戻ったときに、1フレーム目の変数で読み込み終了したことがわかっているので、
表示用インデックス(何枚目のムービークリップを表示するか)をインクリメントして、
あるムービークリップ以外のムービークリップの_visibleをfalseにしています。

ですが、この方法だと、ムービークリップが100枚くらい重なることになり、いくら_visibleを
falseにしたところで、枚数が増えるとどんどん遅くなっていってしまいます。

JPEGのデータだけロードしておいて、1枚のMCの表示内容をどんどん切り替える…みたいな
先にキャッシングを行っておくような処理はできないものでしょうか?
105Now_loading...774KB:2007/11/20(火) 05:38:29 ID:1l9TpFdD
すみません。使ってるのはAS2です。
106Now_loading...774KB:2007/12/07(金) 10:41:16 ID:oQxxlYMk
初歩的な質問なんですが
ランダムな数をテキストボックスに100個表示させるものを作っているんですが
1つのテキストボックスに100個表示させるにはどうしたらいいんでしょうか。

on (release){

for (i=1 ; i<=100 ; i++){

box = Math.floor(Math.random() * 100) + 1;

}
}
なんとなくこのような感じかとは思ったんですが…
107Now_loading...774KB:2007/12/07(金) 13:07:31 ID:4SvyV5Fn
>>106
ステージにダイナミックテキストボックスを作って、
インスタンス名を txtBox にする。

下記のコードをルートのタイムライン上にペーストする。



var cnt:Number = 0;
var timeID:Number;

function Execute( c:Number ):Void {
//乱数発生
var n:Number = Math.floor(Math.random() * 100) + 1;
//テキストボックスに入力
_root.txtBox.text += n;
//カウンタを更新
cnt++;
//指定回数実行したら、スクリプト終了
if( cnt == c ){
clearInterval( timeID );
}
}
//指定回数実行する:最後の '100' が指定回数
timeID = setInterval( _root, 'Execute', 200, 100 );
108Now_loading...774KB:2007/12/07(金) 16:37:37 ID:vDX+hkZp
AS2の初歩的な質問です。
ASで作ったTextFieldを消したいのですが

_root.createTextField("test_txt",_root.getNextHighestDepth(),150,0+i*20,200, 30);
test_txt.text="testtest";
_root.test_txt.removeTextField();

こういったスクリプトを書いたのですが、実行してもtest_txtが消えません。
申し訳ありませんがどこか間違っている方いましたらお答え願えないでしょうか?




109Now_loading...774KB:2007/12/07(金) 16:59:09 ID:4SvyV5Fn
>>108

参照がズレているのでしょう。

MCでもテキストフィールドでも、クリエートする時は、素直に戻り値を参照に使った方が良い

例)
var SANSHO:TextField = _root.createTextField("test_txt",_root.getNextHighestDepth(),150,0+i*20,200, 30);
SANSHO.text="testtest";
SANSHO.removeTextField();
110Now_loading...774KB:2007/12/08(土) 00:56:39 ID:93X9uE8Z
>>107
考えていた物よりずいぶんと違ったいたので驚きました。
じっくりと勉強させてもらいます。

ありがとうございました。
111Now_loading...774KB:2007/12/09(日) 01:12:54 ID:znKpjuiS
質問です。2秒ごとにy方向に10ずつ動くようにしたいのですが、
開始2秒までは良いのですが動き始めると止まりません。何がいけ
ないんでしょう・・・

onClipEvent(load){
y = 10;
}
onClipEvent(enterFrame){
timer = Math.round(getTimer()/1000);
if(timer >= 2){
this._y += y;
timer = 0;
}
}
112Now_loading...774KB:2007/12/09(日) 01:44:42 ID:WcL0gObo
timer = 0;
ってかいても、変数timerに0を代入するだけで、getTimer()で得られる
値が0に巻き戻される訳ではないのです。
timer = Math.round(getTimer()/1000);の次の行に
trace("timer = " + timer);
って書いてみるとよくわかります。
113Now_loading...774KB:2007/12/09(日) 02:16:41 ID:BMSLVnkv
>>111

getTimerで時間を計るのあまり正確ではないと思う。

簡単にやりたい場合は、setInterval()を使ったほうが簡単。
でも、setInterval()での時間の扱いは、正確ではないらしいので、
正確にしょりしたいのならば、1フレーム毎に確実に処理をしてくれる、onEnterFrameを使って、
フレームレートで処理したほうがいい。

onClipeEvent(load){
//カウンター
var cnt = 0;

//待ちフレーム数:フレームレート X 秒
var fm = 30 * 2;
}

onClipeEvent( enterFrame ){
cnt++;
if ( cnt % fm == 0 ){ //カウンターが待ちフレーム数で割り切れるとき処理をする
this._y += 10;
}
}

※このままでは、変数 cnt がオーバーフローしてしまうので、適当に初期化する条件文を追加してください。



114Now_loading...774KB:2007/12/11(火) 07:50:12 ID:fJLoJQNI
>>113
ちなみに、AS2のNumber型は整数ではなくて倍精度実数なので、
問題になるのはオーバーフローではなく桁落ち。
AS3でint型のcntを使う場合は30FPSで2年間はリセット不要で開きっぱなしにできるし、
そうじゃない場合は倍精度実数の精度は52ビットなので、数百年間は大丈夫。
どうしても心配なら、動かすたびにcntを初期化した方がいい。

以下参考のために、getTimer()でやりたい人のための例

onClipEvent (load) {
 var lastmove = getTimer(); //最後に動かした時間を保存
 var waittime = 1000*2; //動かす間隔(2秒×1000)
}

onClipEvent ( enterFrame ) {
 var time = getTimer();
 if ( (time-lastmove) > waittime ) {
  this._y += 10;
  lastmove += waittime; //lastmove = timer;と書いた場合との違いを考えてみよう
 }
}
115Now_loading...774KB:2007/12/13(木) 23:39:18 ID:Qt9eZP4O
質問させてください

FLASH8を使っています。
DataGridで表示まではできたのですが
各列のヘッダーをクリックして並び替えを行うと
数値まで文字列順になってしまいます。
「1,2,3,4,5,10,20」のはずが「1,10,2,20,3,4,5」となってしまいます。
ttp://www.adobe.com/support/documentation/jp/flex/1_5/asdocs_jp/mx/controls/DataGrid.html
でそれらしい設定を探してみましたが力不足で見つかりませんでした。
どこかでスタイルを定義してやる必要があるのでしょうか。
もしくは値の受け渡し方がまずいのでしょうか。
116Now_loading...774KB:2007/12/17(月) 01:50:01 ID:HKXx0Oyp
質問です

配列のas文はどういう使い方をするもんなんでしょうか?

117Now_loading...774KB:2007/12/17(月) 11:51:33 ID:62McV/i8
質問です
FlashCS3の描画ツールで描いた絵をSpriteに変換することは出来ないんでしょうか?
118Now_loading...774KB:2007/12/17(月) 16:36:00 ID:wqwsxF3J
FlashDevelopでドキュメントクラスってどうやって設定するの?
119Now_loading...774KB:2007/12/17(月) 16:46:34 ID:sK7FutHP
>>115
ちゃんと並んでるじゃん(w
ファイル名のソートと同じで、先頭文字から判断しての並べ替え。
数字じゃなく、文字で並べると考えましょ。
120Now_loading...774KB:2007/12/17(月) 21:40:47 ID:zs95B9cM
>>117
いってることの意味がよくわかんないけど
Flashで描いた画像を読むには一旦swf書き出して

[Embed(source='image/hoge.swf')]
private var Hoge:Class;

addChild(hoge);

でいける
121Now_loading...774KB:2007/12/18(火) 12:08:20 ID:gdSGb5Q4
AS2 で以下のようにムービークリップの複製を作ろうとしたのですが
複製されたムービークリップの _width と _height が 0 になってしまいます。
使い方を間違えているのでしょうか?教えてください。

import flash.display.BitmapData;

// 元を作る
this.createEmptyMovieClip("mc", this.getNextHighestDepth());
var bmp:BitmapData = new BitmapData(100, 100, false, 0x000000);
mc.attachBitmap(bmp, mc.getNextHighestDepth());

// 元を複製する
var prop:Object = { _x:100, _y:100, _width:50, _height:50 };
var dup:MovieClip = mc.duplicateMovieClip("dup", this.getNextHighestDepth(), prop);
trace(dup._x +", "+ dup._y +", "+ dup._width +", "+ dup._height);
122Now_loading...774KB:2007/12/18(火) 13:09:37 ID:tOZ5+cJT
てst
123Now_loading...774KB:2007/12/18(火) 13:34:46 ID:tOZ5+cJT
>>116
配列の使い方の一例です。概要だけの説明なので、
かなりアバウトな説明になりますがご了承ください…

配列のASを用意
TEST0=["名前",値段","コメント"]
TEST1=["みそラーメン","500円","味噌の味がする!"]
TEST2=["とんこつラーメン","600円","とんこつの味がする!"]
TEST3=["カレーラーメン","600円","本場インドから直輸入!"]

ダイナミックテキストを3つ用意
変数名「RAMEN_NAME」のダイナミックテキスト(ラーメンの名前)
変数名「RAMEN_NEDAN」のダイナミックテキスト(ラーメンの値段)
変数名「RAMEN_COMMENT」のダイナミックテキスト(ラーメンのコメント)

押されたボタンによって表示される文章の内容が変わるASを書く。(AS省略…)

最終的に、ラーメンの画像をクリックしたら
解説の文章が表示されるホームページが出来上がります。
…解説、わかりにくかったらすまん(汗
124Now_loading...774KB:2007/12/19(水) 01:32:21 ID:bCxV60rF
質問です。
アクションスクリプトでキーボードのF5キーを押したいのですが可能でしょうか?
もしくはブラウザをリロードさせるようにしたいのですが何か良い方法あります
でしょうか?
125124:2007/12/19(水) 01:40:51 ID:bCxV60rF
申し訳ございません。
自己解決しました
GETURLでjavascriptのリロードを使用したらできました。
お手数おかけしました。
126Now_loading...774KB:2007/12/20(木) 04:08:24 ID:Y6o46z9O
質問です。
PHPからデータを受け取るスクリプトを作ってるのですが、
どうしてうまくいきません。

【AS側】
System.useCodepage = true;
myVars = new LoadVars();
myVars.load("list.php");
myVars.onLoad = function(success) {
if (success) {
data1 = myVars.data1;
aa.text = data1;
} else {
aa.text = "NO";
}
};

【PHP側】
<?php
echo $data1 = "AAA";
?>

で、aa.textに表示されるのはundefinedとなります。
宜しくお願いします。
127Now_loading...774KB:2007/12/21(金) 03:39:16 ID:3ryGC13b
>>126
<?php
echo "data1=AAA";
?>

で、試してみてください
128Now_loading...774KB:2007/12/21(金) 17:54:53 ID:AiZORCez
AS3の質問です。

Spriteを継承したクラスのインスタンスを
配列やリストのようなものにまとめて管理
したいんですけどどうすればいいですか?
129Now_loading...774KB:2007/12/22(土) 01:22:32 ID:+r7+M4i7
シングルトンクラス作ってDictionaryかなんかに
ストックしておけばよし。

でもお薦めしない。
データモデルをストックするようにすべし。
130Now_loading...774KB:2007/12/23(日) 20:29:19 ID:REvtQhyS
var star:Star = new Star();
addChild(star);
List.push(star);
      
if (List.length > 10)
{
  var del:Star = List.shift();
  removeChild(del);
  delete del;
}

Spriteを継承したStarクラスのインスタンスを作って
そのインスタンスの数が10を超えたら手前から消していくというものですが

※エラー: 固定プロパティ del を削除しようとしています。削除できるのは、動的に定義されたプロパティだけです。

というようなエラーが発生してしまいます。
何か助言をよろしくお願いします。
131Now_loading...774KB:2007/12/23(日) 22:34:46 ID:3RNxmbOB
>>130
deleteはいらない。
オブジェクトのインスタンスは、参照がなくなれば自動的にガベージコレクタの対象になる。
わざわざdelという変数を用意しなくても、次の一文でOK。

removeChild(List.shift());
132Now_loading...774KB:2007/12/23(日) 23:33:32 ID:REvtQhyS
>>131
そ、そうだったんですか!
ありがとうございました。
133Now_loading...774KB:2007/12/24(月) 23:38:08 ID:e35YLx7o
>>131
今までC++などでdelete多様してたんで心配なんだけど

スプライトA、BがあったとしてBに画像をaddChildして貼ってたとする。
AはstageにaddChild
BはAにaddChildされてたとするじゃん?
( [stage] - [A] - [B] - [画像] )
このとき、Bの画像をremoveChildしたら
画面から消えるけど、Aは空っぽのBをChildしたままで
Bクラスのインスタンスは消えないんだよね?

それと
A内でBをremoveChildしたときも気になる。
Bへの参照が失われるからBが消えて、Bが消えたことによって
画像への参照も失われて全消し?
134Now_loading...774KB:2007/12/24(月) 23:43:26 ID:R6wWgkG7
心配もなにも、C++とは違うんだからそれでいいだろ
それでも心配なら自分で検証でもしてみるんだな
135Now_loading...774KB:2007/12/25(火) 00:07:44 ID:D+bGVGH6
>>133
大体そうだけど、BitmapDataはdisposeしないと心配が現実になるよ。
136Now_loading...774KB:2007/12/25(火) 00:18:01 ID:xnsONqrC
BitmapDataってなんで消えないんだろうな
137Now_loading...774KB:2007/12/25(火) 00:29:33 ID:X0dKEYRb
>>133
孫の方は、ほかに参照がなければちゃんと消えてくれるよ。
空っぽの親については残る。

むしろイベントリスナーがつきっぱなしだと
そっちが原因でメモリリークが発生したりするので
そっちを気にした方がいい。

要は「ちゃんと消えてくれるように書け」ということ。
ちゃんと設計しないと、C++のようには軽快に再描画してくれないぞ。
138Now_loading...774KB:2007/12/25(火) 16:46:56 ID:oHGVfb1u
質問です。
下記条件でloadingが正しく動いているかをローカルでテストする良い方法はありませんでしょうか?

・動いているloadingが最低でも2秒以上表示される(理想は表示秒数が任意に設定出来る)
・FTPに何かをアップしてそれを参照するのはNG
・AS1.0、AS2.0どちらでも可

flashのバージョンはflash8を使っています

何卒ご回答をお願いいたします
139Now_loading...774KB:2007/12/25(火) 17:41:31 ID:b1jx0wuJ
ムービープレビュー中のダウンロードのシミュレートではダメなの?
140Now_loading...774KB:2007/12/25(火) 19:35:11 ID:nBfhGU2H
該当スレがなかったのでここで質問します。
FlexBuilder3でAIRを触っているのですが、
任意の拡張子に関連付けされているアプリケーションを
取得することは可能でしょうか?

ActionScriptから直接できないのであれば、
外部コマンドからassoc等を呼び出そうと考えていますが、
外部コマンドが使えるかも分かりません…
よろしくお願いします。
141Now_loading...774KB:2007/12/25(火) 19:45:08 ID:oHGVfb1u
>>139
それだと秒数がどれくらいあるのかが分からないのと、たまにloadingが動かない時があるので厳しいです
142Now_loading...774KB:2007/12/26(水) 08:16:53 ID:1yC1iB9L
ダウンロードのシミュレートで十分だと思うけど

2秒くらいなら別に秒数計らなくても大体見当付くし
秒数よりも体感のほうが重要な気がするんだよね。

ムービーのタイミングとか待てる工夫してれば比較的気にならないサイトもあるし。


というか使い方知らないとか?
プレビューしたあとでもっかいコマンド(コントロール)+リターン押すんだよ?

ダウンロードの設定で回線遅く設定すれば、
どんなに小さいファイルサイズでも動いてるとこ見れるはずだし。


143Now_loading...774KB:2007/12/26(水) 17:49:51 ID:lxUcGkti
package {
import flash.display.*;
import flash.text.*;

//HelloWorld
public class HelloWorld extends Sprite {
public function HelloWorld() {
var textField:TextField=new TextField();
testField.text="HelloWorld!";   ←
textField.autoSize=TextFieldAutoSize.LEFT;
addChild(textField);

}
}
}


矢印のあるところで×がでて、未定義のプロパティtextFieldへのアクセスですって出るんだけどどういうことですか?
本買ってきたのにしょっぱなからつまずいた…
144Now_loading...774KB:2007/12/26(水) 18:44:29 ID:Nihs+P0f
お願いします。
どなたかご存知でしたらたいへん恐縮ですが教えていただきたいのですが。
FLASHのバージョンはFLASH8です。
ムービークリップのカラーを少しずつ変えて行こうと以下のコードを書きました。
カラーチェンジはうまくいったのでキーフレームを挿入し
this.gotoAndPlay(_currentframe-1); と入れました。
そしたら正常に動かなくなってしまいました。
HELP、各サイト、ブログ等で調べましたがどうしても解りません。
もしお解かりでしたら、教えて頂けないでしょうか。
参考になるHPアドレスだけでもけっこうです。
どうしても解らず最後に2chに来ました。
どうかよろしくお願いします。
onClipEvent (load) {
import flash.geom.ColorTransform;
import flash.geom.Transform;
import flash.geom.getTransform;
var gk1:Number =0;
var ak1:Number =0;
var c_timer:Number =5;
}
onClipEvent (enterFrame) {
var trans:Transform = new Transform(this);
var chn:ColorTransform = new ColorTransform(1, 1, 1, 1, 0, gk1, 0, ak1);
trans.colorTransform = chn;
if (c_timer == 0) {
gk1--;
c_timer = 5;
}
c_timer--;
}
145139:2007/12/27(木) 01:24:11 ID:TLxWDUtR
>>140
NativeApplication.getDefaultApplication("ext")ではダメ?
それ以外は今のAIRには無いと思うよ...もちろん外部コマンド実行も無理。

>>141
loadingってgetBytesTotalとgetBytesLoadedであれするヤツだよね?
質問の意図を読み間違えてる?

>>143
志村、綴り綴り!

>>144
どこにActionScript書いて、どこにキーフレームを挿入して、
正常に動かないというのがどんな状態なのか分からないけど、
onClipEvent(load)が何回も呼び出されているとか、そんなん?

ところで>>121、どなたか教えていただけませんか?
とりあえず複製せずにattachMovieClipにして回避してるけど、
謎が残ったままで気持ち悪い...
146143:2007/12/27(木) 07:40:41 ID:BERtyTFa
>>145
おはずかしい… 感謝しますw
147Now_loading...774KB:2007/12/27(木) 11:09:31 ID:bzjkLI89
>>145 & >>121

import flash.display.BitmapData;

// 元を作る
this.createEmptyMovieClip("mc", this.getNextHighestDepth());
var bmp:BitmapData = new BitmapData(100, 100, false, 0x000000);
mc.attachBitmap(bmp, mc.getNextHighestDepth());

// 元を複製する
var prop:Object = { _x:100, _y:100, _width:50, _height:50 };
var dup:MovieClip = mc.duplicateMovieClip("dup", this.getNextHighestDepth(), prop);
dup.attachBitmap(bmp, mc.getNextHighestDepth());
dup._width = prop._width;
dup._height = prop._height;
trace(dup._x +", "+ dup._y +", "+ dup._width +", "+ dup._height);
stop();

こゆことか。次へ続く。
148Now_loading...774KB:2007/12/27(木) 11:10:59 ID:bzjkLI89
>>147 よくわからんが

・duplicateMovieClip()してもbitmapはdupされない?
・createEmptyMovieClip()で作成されるmcの幅高さは共に0で、
mcの中身がからっぽなままだと_width, _heightしても0のまま。それを
初期値を与えてDupしても_width, _heightは0のままになってしまう?

mcにはBitmap入ってて幅高さは100,100だから(表示するとそうなってる)
それをDupしたものも幅高さは100,100になりそうだけど、
BitmapはDupされないから0,0になってしまうんじゃないかなと。

だから、Dupする、BitmapをAttachする、幅と高さを再度、指定すると
いう手順だと表示されるようになるけど、Attachした時点で幅と高さが
書き換わらないのは不思議。

プロパティを一括コピーするメソッドか関数があればいいんだけど。
149144:2007/12/27(木) 11:11:59 ID:9x2vYm8X
>>145
デパッガによるチェックではonClipEvent(load)は一回のみのようです。
ActionScriptは新規シンボルにpngを貼り付け
タイプはムービークリップとしてシーン1に貼り付け
次第に赤くなってくることを確認し、次にシーン2を挿入し
キーフレームにして
this.gotoAndPlay(_currentframe-1); と入れました。
そうしたところまったく色が変化しなくなってしまいました。
デバッガのチェックでは内部の変数は正常に変化しているようです。
150Now_loading...774KB:2007/12/27(木) 15:20:01 ID:B+EBA13s
>>145
いえ、合っています。
loadingってgetBytesTotalとgetBytesLoadedであれするヤツです
151145:2007/12/27(木) 17:55:53 ID:KDWWoaVB
>>147-148
おおー、なるほど。Bitmapへの参照がコピーされないからかぁ。
そこまで考えが及ばなかった...
どうもありがとうございます。すっきりできたよ。

>>149
その通りに作ったとしたら、gotoAndPlayする度に
loadイベントが発生してしまうはず...
チェックの結果を推量で話しているのが気になるんだけど、
デバッグはどの様にやってます?

>>150
?
それなら>>142の言う通りでOKかと。
そもそもの趣旨はローカルでloadingのテストじゃなかったっけ?
152144,149:2007/12/27(木) 20:25:13 ID:LSbl/3D1
>>145
制御→ムービーのデバッグでデバッガを起動させ
onClipEvent (load) {

import flash.geom.ColorTransform;
import flash.geom.Transform;
import flash.geom.getTransform;
○var gk1:Number =0;←ここにブレークポイントを設定して
var ak1:Number =0; 1回のみを確認してます。
var c_timer:Number =5;


}
先ほどまで様々なやりかたを試みましたが
var trans:Transform = new Transform(this);
var chn:ColorTransform = new ColorTransform(1, 1, 1, 1, 0, gk1, 0, ak1);
trans.colorTransform = chn;
1ステップずつ進めていくと、ここの部分ではなく
やはり次のフレームの
this.gotoAndPlay(_currentframe-1);
ここで色が初期化されてしまっているようなんですが……
153145:2007/12/27(木) 22:37:34 ID:KDWWoaVB
うん、gotoAndPlay(_currentframe-1);がある場所は挿入した
シーン2だからシーン1にあったインスタンスは消えて、
gotoAnd(ryでシーン1に戻ったところでムービークリップイベント発生、
のループになるはずだよ。
154Now_loading...774KB:2007/12/28(金) 12:01:05 ID:oeHOX/eD
FlashDevelopでMS ゴシックを使ってたんですが文字化けが起きて
エンコードをUTF-8にしたら直るということで、直ったのですが
フォントが等幅でなくなってしまいました。

UTF-8で等幅フォントを使うにはどうすればいいですか?
155154:2007/12/28(金) 14:13:33 ID:oeHOX/eD
言い忘れました。
FlashDevelopのバージョンは最新の3.0.0 Beta5です。
156144,149,152:2007/12/28(金) 17:29:29 ID:8EbHEy33
>>145
デバッガではブレークしてくれませんが
変数ではない内部の値は初期化されているようです。
もう少しいろいろやってみます。

ありがとうございました。
157Now_loading...774KB:2007/12/28(金) 19:52:01 ID:VSQxhFC/
>>154-155
エンコードがutf-8だと、ScintillaNET.xmlの
<value name="default-font">hoge</value>
のhogeの部分が日本語(2byte)文字のときフォントが無視されるね。
とりあえず、フォント名が日本語じゃなければOKっぽい。
158Now_loading...774KB:2007/12/28(金) 22:26:28 ID:vguaG58W
>>157
神!超サンクス!!
monospaceもなぜか無視されたので色々試した結果
<value name="default-font">DotumChe</value>
で出来た。
ちょっと変なフォントだけどまぁ気にしない。

どうもありがとう!!
159Now_loading...774KB:2007/12/31(月) 00:06:35 ID:ARg7BV2E
AS3について質問です。
root = ドキュメントクラスのインスタンス
ですか?
160Now_loading...774KB:2008/01/02(水) 14:18:16 ID:EAP2t1i5
年明け早々すみません。
getURLで現在のウィンドウを変えずにCGIへ変数を渡すことはできますか?
txtファイルを作るperlの命令だけ実行させたいのですが。
161Now_loading...774KB:2008/01/02(水) 17:05:45 ID:AWotsnYW
>>159
addChildされた表示オブジェクトのrootならそうなるな。addChildされてないとnullだけど

>>160
AS2はあんまり詳しくないけど、できないはず
LoadVarsを使えばいいんじゃなかったかな
162160:2008/01/02(水) 17:19:18 ID:EAP2t1i5
>>161
ありがとうございます。
ニコニコはJavaScriptで書き込んでるのかな。
コメント送信してもすぐ反映されるし。
163157:2008/01/03(木) 00:05:18 ID:Nd5AQ6sn
FlashDevelop3で日本語名のフォントがなんか使えない、を
なんとかしてみるプラグインを作ってみた。
ttp://www11.axfc.net/uploader/20/so/He_60341.zip.html
p=fd
3.0.0b5でしかテストしてないけど。
164157:2008/01/03(木) 00:13:36 ID:Nd5AQ6sn
>>163
違うの上げちゃった...
http://www11.axfc.net/uploader/20/so/He_60347.zip.html
パスは同じです。
165Now_loading...774KB:2008/01/03(木) 20:59:27 ID:IkcTXyB4
>>164
神!
こんなの待ってた。
166Now_loading...774KB:2008/01/05(土) 10:28:25 ID:KkOjXk/P
AS3でガーベッジコレクションされた時に呼ばれるメソッドってありますか?
Javaはfinalize()らしいのですが…。
167Now_loading...774KB:2008/01/06(日) 11:50:08 ID:6vS2M8rz
今、FLASHでホームページのメニューを作ってます。
メニューのサイズは大きく画面中央に配置されてます。
ボタンが6つほどで上辺にそれぞれ幅均等に離れておかれています。
ボタンは押すと、画面にテキストの表示がされる機能を持たせています。
メニュー画面には常に桜が上から散らされているアニメーションが
あるのですが、(ムービクリップは7つほどでstopを200フレームに置いてます)
ボタンを押すと桜のアニメーションが変化してしまいます。
多分これはボタンを押してフレームの位置が変わるためだと思ってます。
アニメーションは持続できてなおかつボタンだけ独立で動かせないでしょうか?
わかりにくくてすみません。
168Now_loading...774KB:2008/01/07(月) 00:33:23 ID:kVc767tM
初めまして。
swf(音声付動画)を外部からよみこんで、再生するようなプログラムを作っています。
動画の音量を調整するには、音声のみのサウンドオブジェクトを作って調整するしかないのでしょうか?
動画と音声を切り離さずに調整できればいいのですが…。
どなたか、ご存知の方がおりましたらお願いします。
169Now_loading...774KB:2008/01/07(月) 03:47:47 ID:YR+kuO12
質問させてください。
ケータイの自作メニュー画面の制作に取り組みたいと思い情報収集から始めているのですが
カメラを起動するスクリプトといった各機能を呼ぶスクリプトはどこで公式に公開されてるのでしょうか。

自分が調べたあるサイトでは
fscommand("launch","camera");
fscommand("launch","df");
fscommand("launch","M");
fscommand("launch","tools");
fscommand("launch","alarm");
fscommand("launch","calendar");
fscommand("launch","mymenu");
fscommand("launch","core/eznaviwalk");
fscommand("launch","modechange");
ここまでは載っていたのですが、赤外線通信やTouchMessageなどを呼ぶスクリプトが載っていませんでした。

どなたかご存じの方が居られましたら教えてください。
170Now_loading...774KB:2008/01/07(月) 18:05:28 ID:PbtuyFX2
>>167
ボタンに書いたscriptが分からないと原因が分からないです。
それと桜のムービークリップの200フレーム目にstop();を付けたらアニメーションはループしないんじゃない?

>>168
音量調節が出来るものは、Soundオブジェクトに読み込んだ物か、flvだけです。
swfに変換した音声付動画の音量はASからはイジれないです。
どうしても動画と音声を切り離さずに音量調節をしたいなら音声付動画をflvに変換して埋め込むのをオヌスメします。
171Now_loading...774KB:2008/01/07(月) 18:14:33 ID:PbtuyFX2
function nunu(a) {
 trace(a);
}
nunu("まんまん");

ってやるとa("まんまん")のパラーメータが渡されてtrace結果が
[ まんまん ]
って出てくれますが、
配列に自作の関数を入れて、それを呼び出したい場合
function_array = new Array();
function_array[0] = function(a) {
 trace(a);
}
function FnCall(a, b) {
 function_array[a].call(b);
}
FnCall(0, "まんまん");
とやってもtrace結果が[ undefined ]になってしまいます。
配列に格納した関数を呼び出してきちんと"まんまん"がtrace結果に表示されるようにするにはどうすればいいでしょうか?

よろしくお願いします。
172Now_loading...774KB:2008/01/07(月) 19:07:12 ID:+MlpkZUU
function_array[a](b);
173171:2008/01/07(月) 20:56:01 ID:PbtuyFX2
>>172
おぉ、動きました!
そういう記述にすればよかったんですね…。ありがとうございましたm(_ _)m
174172:2008/01/07(月) 22:01:51 ID:+MlpkZUU
>>173
もし上記の書きかたが気持ち悪いなら
function_array[a].call(null,b);
あるいは
function_array[a].apply(null,[b]);
callとapplyのマニュアルをちゃんと読もうな。
175Now_loading...774KB:2008/01/08(火) 13:13:31 ID:2HMSZrlK
public function Hoge()
{
  addEventListener(Event.ENTER_FRAME, Loop);
}

private function Loop(event:Event):void
{
  // 処理
}

HogeクラスがEventDispatcherを継承したらLoopが呼ばれないんだけど
HogeクラスがSpriteを継承するとLoopが呼ばれる…。

上記の処理を行うにはSpriteを継承しないとだめなんですか?
176Now_loading...774KB:2008/01/08(火) 15:10:25 ID:HwHAQ6pn
>>175
EventDispatcherは単にイベント管理の仕組みを提供するだけ。
EventDispatcherを継承する場合、
どのイベントに対し、いつイベントを送出するかは自分で記述する必要がある。

ENTER_FRAMEのイベント処理自体はDisplayObjectがしているので、
DisplayObjectを継承したクラスならENTER_FRAMEを使えるよ。
177Now_loading...774KB:2008/01/08(火) 17:19:29 ID:FALIfB8c
DisplayObjectといっても、ENTER_FRAMEを送出してくれるのは
タイムラインのあるMovieClipだけじゃなかったっけ

自分でやりたいなら、フレーム更新のタイミングごとに
dispatchEvent(new Event(Event.ENTER_FRAME))
でイベントを送出する必要がある
178Now_loading...774KB:2008/01/08(火) 18:28:01 ID:2HMSZrlK
>>176-177
なるほど、めんどくさいのでSpriteを継承してやってみます。
ありがとうございましたー。
179Now_loading...774KB:2008/01/10(木) 13:22:39 ID:O9+VP+pG
FlashMX2004 + WindowsXP を使ってます。

以下のようにしてボタンコンポーネントにクリックイベントを設定しました。
ButtonTesterのtestメソッドにブレークポイントを張ってデバッグしてみたのですが、
クリックのイベント自体が来ていません。
どうすればいいのでしょうか?

[flaファイル]
・ステージにボタンコンポーネント(インスタンス名:testButton)を配置
・フレーム1に以下のActionScriptを記述
import mx.utils.Delegate;
import ButtonTester;
var buttonTester = new ButtonTester();
testButton.addEventListener("click", Delegate.create(buttonTester, test));

[ButtonTester.asファイル]
・以下のActionScriptを記述
class ButtonTester
{
var _clickCount:Number;
function ButtonTester()
{
this._clickCount = 0;
trace("コンストラクタ");
}
function test(eventObject:Object)
{
trace(++this._clickCount + "回目のクリック");
}
}
180Now_loading...774KB:2008/01/10(木) 13:51:31 ID:J4Si6Nob
>>179
Delegate の使い方のミス
Delegate.create(buttonTester, test)

Delegate.create(buttonTester, buttonTester.test)
181Now_loading...774KB:2008/01/10(木) 16:14:14 ID:O9+VP+pG
>>180
ふおおお〜〜〜
ありがとうございます、動きました!
182Now_loading...774KB:2008/01/11(金) 01:01:52 ID:7LK1U2jE
[Embed(source='hoge.swf')]
で読み込んだswfのフレーム数とか取得するには
どうすればいいですか?
183Now_loading...774KB:2008/01/11(金) 03:22:54 ID:mCeUUuem
たしか、MovieClipLoaderAssetクラス(MovieClipのサブクラス)のサブクラスになってるだけだから
普通のMovieClip同様に扱えると思う
184Now_loading...774KB:2008/01/11(金) 10:04:09 ID:7LK1U2jE
>>183
[Embed(source='image/hoge.swf')]
private var hoge:Class;
private var mcHoge:MovieClip = new hoge();

public function Test
{
  var frame:uint = mcHoge.totalFrames();
}

これでOK?
185Now_loading...774KB:2008/01/11(金) 15:43:06 ID:RGXdoMg6
>>182
ttp://blog.bk-zen.com/2007/12/27/46/
人のブログだがここが参考になった。

>>184
それじゃ取れない。
186168:2008/01/11(金) 16:54:24 ID:H1ufgMvf
>>170
ありがとうございます。
ではflvに変換してうごかしてみます
187Now_loading...774KB:2008/01/11(金) 23:53:52 ID:5Ux+5y7Q
空のムービークリップは高さや幅の指定はできないのですか?
188Now_loading...774KB:2008/01/12(土) 01:23:06 ID:K8vDaR5d
>>187
もしも何もないものの大きさを測れとかいわれても困るよな。
同様に何もないものを1メートルの幅にしろっていわれてもできないよな。

基本的にMCのサイズは、中身の物のサイズx拡縮比率、で決まってると
思っておいたほうがいい。
0には何をかけようと0、flashの設計的にはそういうこと。

たぶんスペースを確保したいとかだと思うけど、もしやるとしたら透明の
Boxかビットマップを置いて仮のサイズを決めとくくらいかな。
189Now_loading...774KB:2008/01/12(土) 10:17:18 ID:CC/cSWv9
>>185
ありがとう。
ついでに聞きたいんだけど、swfの一番上層のMC(root?)
のフレーム数を取得したいんだけど
var tmp:MovieClip = MovieClip(root);
tmp.totalFlames();
でゼロが帰ってきた。

AS3、Flex 2、FlashDevelopで開発してるんだけど
そもそもrootって何ですか…?
ドキュメントクラスがstageで、それに初めてaddChildされたMCが
rootですか?
190Now_loading...774KB:2008/01/12(土) 11:29:53 ID:jEJi3Ef7
var i:int = 1;
var addtest:String = "testclass" + i;
removeChild(addtest);

などといったように、removeChildの引数に変数を使用することはできないのでしょうか?
191Now_loading...774KB:2008/01/12(土) 13:56:40 ID:K8vDaR5d
>>190
なにから何を消したいんだ?バージョンもわからんし

var addtest:DisplayObject = this["testclass" + i];
あるいは
var addtest:DisplayObject = getChildByName("testclass" + i);
みたいなことなのか?
状況がわからんから↑のはたぶん動かない。
192Now_loading...774KB:2008/01/12(土) 16:33:23 ID:ZHzj1kr2
>>190
文字列はremoveChildできんだろw
配列に参照を格納して使え
193Now_loading...774KB:2008/01/12(土) 17:29:43 ID:VcnRJREe
質問です。action script3.0のエフェクトで玉が残像して追従する記述はないでしょうか?
194Now_loading...774KB:2008/01/13(日) 05:55:40 ID:WlmmEV8P
>>189
前の質問の続きか?
いまいち質問の内容が分からないので整理してみると
Flex か AS3 で作っているプロジェクト(コンパイラはmxmlc)があって
それに Flash CS3 でコンパイルした SWF ファイルを Embed して
その Embed した SWF の root の totalFrames を取得したい。
ってことか?
そもそも root ってのは
ロードされた SWF ファイル内の表示オブジェクトの場合、
root プロパティはその SWF ファイルが表す
表示リストのツリー構造部分の一番上にある表示オブジェクトとなる。
>>185 のブログの内容を見る限りだと、
event.target.content が SWF の root と書いてあるだろ
event.target.content を MovieClip にキャストして
ソイツに対して totalFrames をよこせといえば取得できる。
195Now_loading...774KB:2008/01/13(日) 18:25:37 ID:YCrYIyG8
初歩的な質問というか疑問なのですが、
FlashCSのactionscriptパネルの自動フォーマット機能ですが、
改行が入ってた場合、FlashCS以下では自動的に、改行を省いてくれていたのですが
FlashCSでは、それがなくなったのでしょうか?

たとえば、以下。

on (press) {





gotoAndPlay(1);

}

これを自動フォーマットをかければ、
下記のように処理されていたのですが、

on (press) {
gotoAndPlay(1);
}

なにか設定を施さなくてはならないのでしょうか?

よろしくお願いいたします。
196Now_loading...774KB:2008/01/13(日) 18:38:38 ID:QUurxo2g
今からActionscriptを覚える場合、2.0→3.0と勉強するのと
いきなり3.0を勉強するのとどちらがいいですか?
197Now_loading...774KB:2008/01/14(月) 18:00:48 ID:ezKhm6wW
>>195
ないならないのでしょう
>>196
3.0
198Now_loading...774KB:2008/01/14(月) 18:23:16 ID:vtz3i/k2
195さん。ありがとうございます。
これって、使いにくいと思いませんか?
199Now_loading...774KB:2008/01/15(火) 00:48:06 ID:9TKILx90
AS3 Flex2 FlashDevelopで
Keybord.UPとかできんのにKeybord.Xとかエラるんだけど何故だとおもう?
200Now_loading...774KB:2008/01/15(火) 01:00:07 ID:m7uzOKrb

リファレンスぐらい読みながら作れ
201Now_loading...774KB:2008/01/15(火) 01:29:37 ID:vVmvyrup
AS2.0なんですが、

nu_array = ["c","h","i","m","p","o"];
nunu = "k";

for(i=0; i<nu_array.length; i++) {
 if(nunu == nu_array[i]) {
  trace("(`・ω・´)");
  break;
}
}

上記のようにfor文で回さなくても、配列の中に該当する単語が入っているかをif文ひとつでチェックする方法ってありませんでしたっけ?
ちょっと前に友達に教えてもらって関心した記憶があるんですけど、いざ使うって場面になったらそれを忘れてしまって…
202Now_loading...774KB:2008/01/15(火) 04:28:02 ID:9TKILx90
if( nu_array.indexOf(nunu) != 0 )
{
  trace("(`ω´)");
}
203Now_loading...774KB:2008/01/15(火) 04:28:50 ID:9TKILx90
if( nu_array.indexOf(nunu) != -1 )だった。
いや、ごめんかなり適当。できんかもしれん
204201:2008/01/15(火) 04:41:26 ID:vVmvyrup
>>203
返信ありがとうございました。
if( nu_array.join("").indexOf(nunu, 0) != -1 )
にしたら、ちょっと不完全な気もしますが理想通りに処理出来るようになりました!
やっぱりfor文で回すより若干軽いみたいです。

AS3.0だとindexOfできちんと配列の検索が出来るけど、AS2.0だと配列の検索っていうのはないみたいですね…。
205Now_loading...774KB:2008/01/15(火) 04:54:43 ID:9TKILx90
>>194
あ、すみません
ご返答見過ごしていました。
おかげさまで解決しました!ほんとうに感謝します!

ちなみにrootとstageについてお聞きしたいのですが
stageというのはドキュメントクラスのインスタンスで
それに初めてaddChildされたMCやSpriteがrootになるのですか?

開発環境はAS3 Flex2 Flashdevelopです。
206Now_loading...774KB:2008/01/15(火) 11:49:23 ID:Ulf6671u
>>205
リファレンスを見るということを覚えなさい。
stage は描画領域
root は表示される上では最上位。
stage の下rootがある。
207Now_loading...774KB:2008/01/15(火) 13:00:26 ID:r+U3xb7t
定時(1:00や3:00)に指定フレームに飛ぶAS組みたいんだけど

stop();

_root.onEnterFrame = function():void {
var d:Date = new Date();
var m:Number = d.getMinutes();
}
if(m=0){
gotoAndPlay("A1");
}

じゃダメ?(メタクソなのは解ってる)
話にならん?
208Now_loading...774KB:2008/01/15(火) 13:55:20 ID:bwzo1OI5
>>207
メタクソでも動けばいいならそれでいいんでない?
209Now_loading...774KB:2008/01/15(火) 15:53:41 ID:AJBlOv62
アクセスされた時に、例えば朝なら「おはよう」昼なら「こんにちは」...なら
起動時のDateで判断できる。
ずーっと、起動しっぱなしって話ならsetIntervalで分ごとぐらいにチェック汁。
210Now_loading...774KB:2008/01/15(火) 16:02:54 ID:eQHt6VZ4
Flash CS3でのAS3環境なんですが、
TextArea内のテキストを自動で横にスクロールさせたいです。

要するにHTMLでの「marquee」みたいな事をさせるにはどうしたらいいでしょうか?

配列にテキストを読み込ませて一文字づつ順番にずらしていくような地道な作業をしないとダメですか?
211Now_loading...774KB:2008/01/15(火) 16:29:26 ID:AJBlOv62
地道というかそれが普通だろw
マーキーコンポーネントは無いと思うよw
212Now_loading...774KB:2008/01/15(火) 17:03:39 ID:eQHt6VZ4
そっかあ。
地道に作ります…
213Now_loading...774KB:2008/01/16(水) 09:57:59 ID:Mrvf4I8A
>>206
そ、それだ!オレに足りないのはそれだ!!
ご丁寧にありがとう!!
ちょっちリファレンスをりふぁりふぁしてくるね!
214Now_loading...774KB:2008/01/16(水) 16:11:28 ID:dO8/hHo+
>>14
亀レスなので、既に解決したしてるでしょうが念のため。
cgiなどをかますとキャッシュから読み込まれますので、
以下サンプルのように日付を入れて違うURLだよとだます方法があります。
path = "hoge.cgi?param=123";
path += "&date=" + new Date().getTime() ;
_mc.loadMovie(path);
215Now_loading...774KB:2008/01/18(金) 07:21:43 ID:rxcS4Csg
>>210
addEventListerner(Event.ENTER_FRAME, EnterFrame);
function EnterFrame(event:Event)
{
  if( x < -width )
  {
    x = stage.width;
  }
  else
  {
    x++;
  }
}

おれがやるとしたらこうかなぁ…
216Now_loading...774KB:2008/01/18(金) 07:22:28 ID:rxcS4Csg
x--; だった。
217Now_loading...774KB:2008/01/18(金) 18:14:12 ID:iI/vs/sE
age
218Now_loading...774KB:2008/01/19(土) 00:33:18 ID:rTlC+eqS
>>210
TextAreaってことは複数行?まさかね。

一行だったら、自分ならマスクかけてUITextFieldごと動かす。
文字をループさせるなら二つつくって入れ替える。
219Now_loading...774KB:2008/01/19(土) 02:52:03 ID:cATO4h1R
文字を1文字ごとにばらして配列に入れて
順序を入れ替えればいいんじゃね?
220Now_loading...774KB:2008/01/19(土) 06:37:32 ID:ugpaXtzh
AS2.0の環境です。

FC2の無料ホームページスペースを借りてホームページを公開してるんですが、
フォルダ内にあるJPGの画像枚数を調べるために、
onLoadComplete(またはonLoadInit)とonLoadErrorを使ってフォルダ内の画像枚数を取得しようとしたんですが、
ローカル、または知り合いがレンタルしてる有料サーバでは正常に動くのに
FC2ではonLoadErrorを返してくれません。
(テキストフィールド作ってtraceの真似事してみたらJPG画像がないのにonLoadCompleteまたはonLoadInitを返してきます)

FC2サーバはそういう(?)サーバなんでしょうか?
actionscriptに関しての質問じゃないんですけど、他の板で聞いてきた方がいいですかね…?
221Now_loading...774KB:2008/01/19(土) 09:26:35 ID:zkyE8KlR
>>220
FC2のことはFC2にメールするなりして聞いてください
ASに付いて聞きたいならコードを提示する
どうやって枚数取得してるんだ?普通CGIとか使うけどな
222Now_loading...774KB:2008/01/19(土) 10:42:29 ID:Yl7yedpx
今現在AS3を覚えている最中なんですが、いかんせん素人なもので
記述を一個一個暗記して、なおかつ英語も苦手なので意味も含め覚えていってます。
本気で覚えて行くには、もっとなにか効率のいい方法はないでしょうか?
ちなみにスクリプトを覚えていくのは初めてです。
223Now_loading...774KB:2008/01/19(土) 13:11:13 ID:ydt/ynKt
どういう風に暗記してるかしらないけど、最初の内は大体そんなもんだろう
ある程度慣れたら、暗記せずともやりたいことをリファレンスから探せる力をみにつけると楽だよ
224Now_loading...774KB:2008/01/19(土) 22:45:47 ID:/G8SGduE
>>222
俺が思うに暗記するよりも
ひたすら何かを作ってみることがいいとおもうぞ!

なにもつくれねぇYO!っていっても
hello worldのソースはあちこちにちらばってるし
そのソースこぴぺしていろんな字を出力してみるとか

そしたら何かしらエラーがおきてつまずくから
そしたら調べる物が生まれるってわけさ。
225Now_loading...774KB:2008/01/21(月) 12:50:31 ID:RjjDIpca
>>222

コード入力サポート付きIDEを使うのが吉。

FlashDevelop(フリー)とかお薦め。ぐぐってちょ!
226Now_loading...774KB:2008/01/26(土) 15:10:26 ID:KHvxtudF
sample=new Array(new Array());

と配列を宣言して

sample[0][0]="sample"

と入れられるけど

sample[1][0]="sample"

と入れられないのは何故なのですか?
227Now_loading...774KB:2008/01/26(土) 15:26:32 ID:egiEXRSM
>>226
sample[1][0]="sample";
の前に
sample[1]=new Array();
228Now_loading...774KB:2008/01/26(土) 15:49:42 ID:KHvxtudF
>>227
できましたー
ありがとうございます^^
229Now_loading...774KB:2008/02/06(水) 10:28:00 ID:U1xUbtmA
AS2.0で質問です。
MovieClipLoaderで読み込ませたswfに変数を渡したいのですが、一応今やっている方法が、

//ローダー側
mcLoader.loadClip("imgPage.swf", loader_mc);

for(i=0; i<8; i++) {
loader_mc.currentArray[i] = imgSet[i];
}

//ロードファイル側
var currentArray:Array = new Array();

this.onEnterFrame = function() {
if(currentArray[0] != undefind) {
trace("success");
delete this.onEnterFrame;
}
}

このようにして一応は動くのですが、たまに反応が無かったり不安定な動作です。
もっと確実できちんとした読み込み方法があれば教えて下さい。
230Now_loading...774KB:2008/02/06(水) 10:44:01 ID:oqrA136f
>>229
たまに動作不良って別に原因があるとしか思えないけど。
これでいいんじゃない?
//ローダー側
this.createEmptyMovieClip("main", this.getNextHighestDepth());
var mclListener:Object = new Object();
mclListener.onLoadInit = function(target_mc:MovieClip) {
for (i=0; i<8; i++) {arget_mc.currentArray[i] = "hoge"+i;}
};
var mcl:MovieClipLoader = new MovieClipLoader();
mcl.addListener(mclListener);
mcl.loadClip("test_load.swf", main);
//ロードファイル側
var currentArray:Array = new Array();
this.onEnterFrame = function() {
if (currentArray[0] != undefind) {trace("success");delete this.onEnterFrame;}
};
231Now_loading...774KB:2008/02/06(水) 10:58:00 ID:U1xUbtmA
>>230
詳しいソースありがとうございます。
currentArray[0] != undefindという指定の仕方が、タイミング違いで反応がまちまちになる原因?とも考えてましたが。
他の箇所をもっと見てみた方がいいですね。ありがとうございました。
232Now_loading...774KB:2008/02/07(木) 18:17:54 ID:HZKRqrOD
印刷に関する質問です。
ボタンをクリックして、MC_mainをA4サイズでプリントアウトしたいので、
以下のスクリプトを書きました。

on (release) {
var x = _parent.MC_main._xscale;
var y = _parent.MC_main._yscale;
_parent.MC_main._xscale = 200;
_parent.MC_main._yscale = 200;
my_pj = new PrintJob();
my_pj .start();
myW = my_pj.paperWidth;
my_pj.addPage(_parent.MC_main , {xMin:topLeft, xMax:topRight, yMin:bottomLeft, yMax:bottomRight} , { printAsBitmap : true } , null);
my_pj.send();
}

MC_mainはw250×h350のムービークリップなので、2倍サイズにすると、
A4にはおさまっているのですが、この書き方では、MC_mainの表示も2倍になります。
MC_mainの表示サイズはそのままで、印刷では2倍にするにはどのように
スクリプトを書けばよいでしょうか?
ご存知の方いらっしゃいましたら、よろしくお願いします。
233Now_loading...774KB:2008/02/08(金) 12:03:28 ID:Ogm/uVtm
BGMを鳴らしていて、あるフレームラベルのところへ飛ぶと
そこから徐々に音量を小さくミュートしたいです。
ご教授おねがいいたしまする。
234Now_loading...774KB:2008/02/08(金) 14:15:11 ID:V/XqYNAd
>>233
どうやってBGMを再生していますか?
235Now_loading...774KB:2008/02/09(土) 18:15:00 ID:JnsgUYWW
>>232

addPage前にscaleを2倍にし、addPageした後に1倍に戻せばどう?
236Now_loading...774KB:2008/02/10(日) 17:22:56 ID:iVaZXszS
TextAreaのキャレット位置をActionScriptで設定することはできないのでしょうか。
237Now_loading...774KB:2008/02/10(日) 19:32:08 ID:hrWdN2Q8
>>236
import fl.managers.*;
import fl.controls.*;
var area=new TextArea();
var bt=new Button();
bt.x=100;
var fm=new FocusManager(this);
var field=area.textField;
area.text="aaaaaaaaaaaabbbbbbbbb";
bt.addEventListener(MouseEvent.CLICK, onClick);
function onClick(e){
fm.setFocus(area);
field.setSelection(5,8);
}
addChild(area);
addChild(bt);
238Now_loading...774KB:2008/02/12(火) 12:24:17 ID:jvhz+Hek
>>237
すいません、AS2.0でした。
しかしsetSelectionでできそうです。ありがとうございました。
239Now_loading...774KB:2008/02/14(木) 15:07:11 ID:hk8CRzhN
ActionScript3.0でフォルダの中身って見れるのでしょうか?
240Now_loading...774KB:2008/02/14(木) 15:21:21 ID:sIqtwLjq
見れない
241oteagejotai:2008/02/15(金) 11:13:15 ID:JvCLyU0j
AS 2.0,Flash8です。たったこれだけのコードです。

//▼LV0.message0の値が「1」なのに、if文の条件に合格しない。
if(LV0.message0=='1'){//←ここに合格しない
//次の画面へ
gotoAndStop("top");//(A)
}else{
message0=LV0.message0;//(B)
}

・LV0.message0にphpから「1」の値を返しています(※)。
 ですので、最初のifの条件に合格して次の画面に
 進む(A)はずなのですが、条件に合格しません。

・最初のifに合格しないのでelseに入るわけですが、
 じゃあmessage0には何が入力されているのかと
 画面上に表示させると(B)、「1」が表示されるのです。。。

・ちなみにif文の条件式は、1をシングルクオーテーションや
 ダブルクオーテーションで囲んだり、あるいは囲まない方法も
 試してみましたが、どれもだめでした。
 なぜ最初のifに入らないのか、不思議でなりません。

・1はちゃんと半角です。

どうぞ宜しくお願い致します。
242Now_loading...774KB:2008/02/15(金) 12:29:14 ID:fC1YlaI3
ロードしたときの一番最初 LV0.message0が未定義になっているのでは?

var val = LV0.message0;//この一文を加えて、

if ( val == 1 ){ //条件文をこのように書き換えて

試してください。

失敗したらメンゴ
243Now_loading...774KB:2008/02/15(金) 13:12:26 ID:XHioj2R/
>>241
まず何を使って読み込んでいるのか?
MovieClip.loadVariables、LoadVars、XML等。
それと、ASのバージョンは?
244Now_loading...774KB:2008/02/15(金) 13:22:07 ID:V4CZXX8A
たぶんおなじみの読み込み待ち処理し忘れなんじゃね?
245oteagejotai:2008/02/15(金) 14:30:39 ID:JvCLyU0j
>>243
ありがとうございます。
LoadVarsで、ASのバージョンは2.0です。

無理やりでもifを通したかったのでいろいろ試していたところ、
php側で1を入れたあと、
if(parseInt(LV0.message0)==1)
とparseIntを行うと、やっと通りました。

parseIntがなくてもクォーテーションなどで
うまくいかない理由が分かりません。

そもそもは「""」を返して判定していたのですが、
「""」「''」「null」のどれで判定してもうまくいかなかったため、
数値「1」を入れたという経緯です。宜しくお願い致します。

> //▼LV0.message0の値が「1」なのに、if文の条件に合格しない。
> if(LV0.message0=='1'){//←ここに合格しない
> //次の画面へ
> gotoAndStop("top");//(A)
> }else{
> message0=LV0.message0;//(B)
> }
>
> ・LV0.message0にphpから「1」の値を返しています(※)。
>  ですので、最初のifの条件に合格して次の画面に
>  進む(A)はずなのですが、条件に合格しません。
>
> ・最初のifに合格しないのでelseに入るわけですが、
>  じゃあmessage0には何が入力されているのかと
>  画面上に表示させると(B)、「1」が表示されるのです。。。
246Now_loading...774KB:2008/02/17(日) 01:19:37 ID:C95z5+0o
>>245

数値でも受信したら文字列扱い

<?

echo "&a=1&";

?>

var lv=new LoadVars();
lv.onLoad=function(s){
if(s){
if(this.a=="1"){
trace("OK");
}
}
};
lv.load("echo.php");
247Now_loading...774KB:2008/02/17(日) 17:08:21 ID:/n8XbsYi
CS3の自動フォーマットってなんだありゃ!?
バカすぎて話になんねえ 人の作ったコードを勝手に破壊すんなお!
てめぇは選択した範囲のネスト内の余白だけ調整してりゃいいんだお!!!
248oteagejotai:2008/02/20(水) 22:05:17 ID:VXQx0jqj
>246
ご返信遅くなり失礼致しました。
echo.phpというやり方も、&ではさむやり方も
実はイマイチわかっていないので調べてみます。

しかし数値が文字列になることが分かりました。
ありがとうございました。
249Now_loading...774KB:2008/02/22(金) 16:21:32 ID:QYos1r1h
突然ですが質問です。
今アクションスクリプト2.0を勉強中なのですが・・・
どうもとっつきにくく、悩める日々を送っております。。
皆さんアクションスクリプト2.0はどこで勉強してるんですか?

何かオススメの本とか、サイトとかあったらぜひご教授お願いします。
250Now_loading...774KB:2008/02/22(金) 16:26:32 ID:nTuxXF+k
ヘルプ
251Now_loading...774KB:2008/02/22(金) 16:28:24 ID:3eHZMhhL
Flash板質問スレROM
252Now_loading...774KB:2008/02/26(火) 00:08:39 ID:ZqOQg5tt
ボタンをロールオーバー時に、MCを上下に動かすために

上に動かすためのボタンには
on (rollOver) {
_root.MC._y += 10;
}

on (rollOut) {
_root.MC._y += 0;
}

のような記述をしています。

ロールオーバーしている間中、ずっとMCを動かしたい(ロールアウトで止まる)のですが
どのように記述すればよいのでしょうか。
253Now_loading...774KB:2008/02/26(火) 01:11:58 ID:175auZM8
はじめまして、お教えいただきたいのです
winxp、flash8、As2.0なのですがホームページ用の
フォトアルバムっぽいものを作っています
そこで、本体の軽量化のためサムネイル画像をを外部から読み込んで
ボタン内のmcに表示させようと思っているのですが
思うようにいかなくて泣きそうです。
構造は
_root→本体mc→ボタン類mc→各ボタンmc→ボタン→外部読み込みmc
となっていまして
外部読み込みmcのフレームには
ローディングmcと読み込み先mcがあり、Asはローディングmcに
onClipEvent (load) {
loadMovie("image/BtnImage01.jpg", ImgBoard_mc);
と、とりあえず書いています。
(ImgBoard_mcのターゲットパスがわからないため・・・^^; )
もし、解決方法がおわかりなる方がいらっしゃればお教えいただきたいです。
あと、ローディングmcに書き加えたい
onClipEvent (enterFrame) {
if (100 == Math.floor(getBytesLoaded()/getBytesTotal()*100)) {
this.gotoAndPlay("comp");
という部分もどのように改変すればよいのかお教えいただけると感謝です
ぜひぜひよろしくお願いいたします。
254Now_loading...774KB:2008/02/26(火) 09:40:28 ID:FNUjDV19
>>252
hitTestとenterFrame使えばいんじゃね
255Now_loading...774KB:2008/02/26(火) 09:44:32 ID:FNUjDV19
>>253
>(ImgBoard_mcのターゲットパスがわからないため・・・^^; )
すまんが、問題点がよくわからん
思うようにいかないってところがどうなのかわからんぞw
256Now_loading...774KB:2008/02/26(火) 09:55:51 ID:ZnNrAjJz
>>252
フラグ使うでしょ、普通は。
257Now_loading...774KB:2008/02/26(火) 09:56:13 ID:497CuRTG
AS2のクラスの事で質問させて下さい
タイムラインに
new BottonTEST(g);

クラスファイルに
class BottonTEST {
var bMC:MovieClip;
function BottonTEST(mc:MovieClip) {
bMC = mc;
init();
}
function init() {
bMC.onPress = btnPress;
}
function btnPress() {
trace(this);
this._x += 20;
}

}
これでコンパイルすると「'_x' という名前のプロパティはありません」とエラーが出てしまいます、_alphaとかを指定しても同じです

function init() {
bMC.onPress = btnPress;
function btnPress() {
trace(this);
this._x += 20;
}
}
initの中へbtnPressを移動させると動いたのですが、この違いは何故起こるのでしょうか?
trace(this)ではどちらも「_level0.g」と表示されるのに謎です
258Now_loading...774KB:2008/02/26(火) 10:03:47 ID:FNUjDV19
継承してねーからじゃねーの
259Now_loading...774KB:2008/02/27(水) 12:44:29 ID:Jr0A1vDB
Ajaxのlightwindowを使うためNNだけずれてるので別ウィンドウで開き
その他のブラウザはAjaxで開くようにしたいのですが
asでブラウザ判別することは出来ませんか?
こんな感じかと思ったら出来ませんでした↓(lightwindowの部分は合ってる)

on (press) {
var uAgent = navigator.userAgent;
if (uAgent.indexOf("Netscape") > 0){
getURL("BBB.php",blank);
}
else{
getURL("javascript: myLightWindow.activateWindow({href: \'AAA.php\', width: \'600\', height: \'600\', title: \'NEWS\', author: \'\', caption: \'\'});");
}
}
260Now_loading...774KB:2008/02/27(水) 17:25:51 ID:FvBzAGD7
誰か俺を助けてください

onClipEvent (load) {
loadMovie("image/BtnImage01.jpg", this.sum_01_mc.board);
というコードで外部画像BtnImage01.jpgをboardに読み込ませています
ローカル環境では読み込んでくれるんですが、サーバーにうpすると
board_mcとは切り替わっているみたいで、board_mc自体は
見えなくなっているんですが、画像が表示されなくなっています。

困ってしまいもう頭が禿げそうです
261Now_loading...774KB:2008/02/27(水) 18:46:27 ID:NszfF5+2
htmlとswfの場所と違うとかjpgうpしてねーとかじゃなーの
262Now_loading...774KB:2008/02/28(木) 10:41:18 ID:LHUwOewU
>>260
>ローカル環境では読み込んでくれるんですが
ブラウザで動作確認したかどうか?
プレビューでは問題ないがブラウザで動かない場合>261

>サーバーにうpすると
>board_mcとは切り替わっているみたいで、board_mc自体は
>見えなくなっているんですが、画像が表示されなくなっています。
ごめん意味がわからない。やっぱり>261か
※デレクトリパスはhtml基準になる。htmlとswfの場所が違う場合注意。

jpgファイルを直接呼び出して見る
403が返ってくる場合.htaccessでノーリファラーを禁止している
ブラウザによってはloadMovieが動作しなくなる。
※ごくまれにだがサーバーが禁止してる場合もある。
404等、表示されない場合ファイルの上げ忘れか場所間違えか破損。

onClipEvent (load) じゃなくて他の方法でloadMovieするかどうか試す。
ブラウザによって読み込みの挙動が違う場合があるからASの位置によってはうまく動かない場合もある。
263Now_loading...774KB:2008/03/01(土) 04:51:41 ID:F7Wx3uEh
IEでローディングバーがどうやってもでてこない・・・
全部読み込むまで真っ白なままで表示された瞬間100%表示になる
264263:2008/03/01(土) 05:07:41 ID:F7Wx3uEh
自己解決
htmlのタグをflashが標準で吐き出すobjectとembedの方に戻したらきちんと表示されました
265Now_loading...774KB:2008/03/10(月) 15:54:05 ID:/o0qFzVY
4の倍数がきたときだけラベルok、そのほかはラベルngへ飛ばすにはどうすれば良いでしょうか?

if(a == 4 || a == 8 || a == 12) {
 gotoAndPlay("ok");
} else {
 gotoAndPlay("ng");
}
↑の方法しか思いつきませんorz
266Now_loading...774KB:2008/03/10(月) 15:56:19 ID:dM+7JREa
%
267Now_loading...774KB:2008/03/10(月) 16:26:23 ID:QPdqET1f
>>260

onClipEvent (load) って、rootのSWFで使うと
時々挙動不審になったりする経験がある。

268Now_loading...774KB:2008/03/10(月) 17:51:05 ID:QPdqET1f
>>265
数学?そんなの社会に出たらつかわねーよw
とか言う人っているよね。

というのはさておき、4の倍数かどうかをどうやって調べるかは、
aを4で割って余りが0ならaは4の倍数なので以下略。

aが少数含んでると0との比較は浮動小数点的に不安あるけど、そこんとこどうなんだろ。
269Now_loading...774KB:2008/03/10(月) 17:58:25 ID:/Ne00YlE
こんなんでダメか?
if(!(a%4))gotoAndPlay("ok");
else gotoAndPlay("ng");
270Now_loading...774KB:2008/03/10(月) 21:28:21 ID:/o0qFzVY
皆さんありがとうございます。
%で余りを使うとは考えもしませんでした。
皆さんのお蔭で無事にできました。本当にありがとうございました。
271Now_loading...774KB:2008/03/11(火) 15:12:13 ID:z0d5ffGU
ActionScript3で質問です。

Input.type = TextFieldType.INPUT;
で中に入力したStringの取得ってどうやればいいんですか?
272Now_loading...774KB:2008/03/11(火) 23:20:37 ID:Fl5sb2wr
よくわからんが、処理したいイベントが起きたときに
イベントリスナーで、取得すればいんじゃね
273Now_loading...774KB:2008/03/12(水) 02:35:13 ID:DUCJOv3T
環境:AS2.0
配列でsample.shift()で先頭を消して
一番後ろを常に代入し続けていくとだんだん処理が重くなるのですが
これは別に原因があるのでしょうか?
処理はおそらく下のような感じだと思うのですが・・・

sample[1,2,3]

shift
sample[2,3]
代入
sample[2,3,4]

shift
sample[3,4]
代入
sample[3,4,5]
以下延々とボタンを押すごとに処理をしていく。
274Now_loading...774KB:2008/03/12(水) 03:24:33 ID:73RxMgyo
275Now_loading...774KB:2008/03/12(水) 07:50:41 ID:hmlPE3U8
>>273
ソース書けや
276Now_loading...774KB:2008/03/12(水) 10:11:07 ID:wdj4Q/pt
shiftとpush()を繰り返してるんだろうか、それともsample[2] = n;
なのだろうか、毎回、new array()してるんだろうか。

> 処理はおそらく下のような感じだと思うのですが・・・

自分で書いた処理なんじゃないかと問い詰めたい。
277Now_loading...774KB:2008/03/12(水) 11:45:27 ID:SRdt3h26
お願いします。
環境Flash Pro 8
PC用のFLASHで月と日にちを取得して365日違う絵を表示させるにはどうしたらいいでしょうか。
数字を1桁2桁に分割して1〜9の画像に置き換える方法は分かるんですが…
278Now_loading...774KB:2008/03/12(水) 11:48:49 ID:XhODVAg1
質問です。
クリックした際、ブラウザの「戻る」や「進む」、「ホームページ」などをなくし
フラッシュで作ったサイズだけで表示させたいのですが。
フラッシュだけのスクリーンにするにはどうすればいいでしょうか?
279Now_loading...774KB:2008/03/12(水) 12:50:57 ID:iS3uW2tp
>>278
JavaScript。ちょっとだけ板違い。
280Now_loading...774KB:2008/03/12(水) 12:52:05 ID:iS3uW2tp
>>277
違う絵ってのは、外部JPG?それともSWF埋め込み?
281Now_loading...774KB:2008/03/12(水) 12:58:12 ID:SRdt3h26
>>280
埋め込み式でやりたいです。

月取得してから日にち取得で2階層、
32フレームにそれぞれ32枚画像を持たせたMCを呼び出すような感じで考えているんですが…

//日にち毎の背景設定
go_1 = "bg01"; go_2 = "bg02";go_3 = "bg03";go_4 = "bg04";
go_5 = "bg05"; go_6 = "bg06";go_7 = "bg07";go_8 = "bg08";
go_9 = "bg09"; go_10 = "bg10";go_11 = "bg11";go_12 = "bg12";
go_13 = "bg13"; go_14 = "bg14";go_15 = "bg15";go_16 = "bg16";
go_17 = "bg17"; go_18 = "bg18";go_19 = "bg19";go_20 = "bg20";
go_21 = "bg21"; go_22 = "bg22";go_23 = "bg23";go_24 = "bg24";
go_25 = "bg25"; go_26 = "bg26";go_27 = "bg27";go_28 = "bg28";
go_29 = "bg29"; go_30 = "bg30";go_31 = "bg31";go_32 = "bg32";

goes = eval("go_" add dates);

tellTarget("tsuki01"){
gotoAndPlay(_root.goes);
}

エラーが出ます\(^o^)/
携帯用のASとごっちゃになっててワケが分からなくなってきました。
282Now_loading...774KB:2008/03/12(水) 15:01:34 ID:SRdt3h26
あ、なんか自己解決できたみたいです。すんまそん。
283Now_loading...774KB:2008/03/15(土) 14:10:05 ID:PQRkPZaZ
なんでその日一枚だけの画像のために366枚埋め込むんだよw
284Now_loading...774KB:2008/03/17(月) 01:46:35 ID:arzxdFIJ
ActionScriptが実行時にデータとして保持しているABCファイル(ASのバイトコード)を、
ActionScript Virtual Machineに認識させて実行する方法があると聞いたのですが
ぐぐってもなかなかそれらしき情報にたどり着けません。

その方法をご教示願います。AS2・AS3のどちらの情報でも構いません
285284:2008/03/17(月) 02:35:01 ID:arzxdFIJ
Loader::loadBytesでバイト列として保持されたSWFを読み込めば、所定の目的は達成できそうです。
ありがとうございました。
286Now_loading...774KB:2008/03/17(月) 02:50:15 ID:QKBTmOQM
え?
287Now_loading...774KB:2008/03/17(月) 07:25:40 ID:efNr1v+A
Flashで現行のCRエヴァのようなパチンコゲームを作りたいのですが
スクリプトに疎く、どういう組み方をすれば出来るのか検討もつかないので
色々と自分なりに調べてみました。

しかし、手ごたえのある情報を見つけることが出来ませんでしたので
そういうゲームを作るに足る情報が載っているオススメの本やサイトを
ご存知の方はいらっしゃいませんでしょうか?
288Now_loading...774KB:2008/03/17(月) 16:08:54 ID:dR0ZB/Rw
質問です。
マウスイベントを使用しないで、
例えばタイムライン5で一時停止を10秒間した後、
タイムライン6から再生させる記述はないでしょうか?
289Now_loading...774KB:2008/03/17(月) 16:23:36 ID:i1kcLPQg
>>287
ASを勉強汁
>>288
秒数ポーズならsetIntervalかTimerを使う
290Now_loading...774KB:2008/03/17(月) 21:26:47 ID:euqglyrg
たまにはsetTimeOut()関数のこと、思いだしてあげてください。

以外と知られてないのかな、この関数。
291Now_loading...774KB:2008/03/17(月) 22:40:14 ID:QKBTmOQM
>>290
こんな関数あったんだ・・・
292Now_loading...774KB:2008/03/23(日) 08:50:04 ID:lInwnJJj
おはようございます。

ムービークリップ上に配置したボタンインスタンスに
メインシーンのフレーム1から再生しなおせ、という命令文を置きたいのですが
どうしたらいいでしょうか。
swf自体を再読み込み、みたいな感じなんですが…

tell target〜だとMCしか指定できませんよね。
これ指定先を大元のシーン1にする方法ってあるんでしょうか…
293Now_loading...774KB:2008/03/23(日) 09:01:38 ID:lInwnJJj
すみません、自己解決しました。
キーワード検索したら過去ログが引っかかったw

on(press){
gotoAndPlay("シーン1",1);
}

で、おkでした。
294Now_loading...774KB:2008/03/23(日) 09:13:04 ID:lInwnJJj
と、思ったら…
シーン1の1フレーム目に飛ぶのはいいんだけど、
ゲーム内容がそのまま記憶されたままになっている…orz
これじゃゲームオーバー後に再開だから意味がないorz
295Now_loading...774KB:2008/03/23(日) 10:24:59 ID:Kqqa4Vep
んなもん2フレーム目以降にゲーム配置すればいいだろ
296Now_loading...774KB:2008/03/23(日) 10:59:06 ID:EbLREmzT
>>294
>ゲーム内容がそのまま記憶されたまま
初期化すればいいし、あるいは
>swf自体を再読み込み、みたいな感じ
getURLで実際に再読みこみされりゃいい。
297Now_loading...774KB:2008/03/23(日) 13:55:25 ID:lInwnJJj
>>294
1〜3フレーム目はローディング画面で
実際のゲームは4⇔5フレームで状態受け渡ししながらループしてるみたい。
出来合いのサンプル改良してるだけなんだけど…

>>296
初期化はどうやるんですか?
getURLは分かるんだけど、できればswf内で解決したいです。
298Now_loading...774KB:2008/03/23(日) 15:13:16 ID:Kqqa4Vep
ゲーム部分が1フレーム目から地続きなんじゃないの?
再開地点とゲーム処理の間に空白のフレームを挟んでみなよ
299Now_loading...774KB:2008/03/23(日) 15:47:21 ID:lInwnJJj
>>298
1フレーム目に空フレーム入れて
それぞれのAS内のフレーム指定を1ずつズラしてみたんだけど、
やっぱりゲーム内容が記憶されたまま再開になってしまう/(^o^)\

ちなみに神経衰弱です。
カウントダウンつけてタイムが0になると全画面ダミーボタンで覆われて触れないようになるって感じにしてるんですが…
300Now_loading...774KB:2008/03/23(日) 16:11:05 ID:Kqqa4Vep
>>299
後半のような 問題の本質と関係ない説明をされても分からんよ

まぁ Flash の基礎を勉強していけばある日解決するさ
301Now_loading...774KB:2008/03/23(日) 16:27:43 ID:Kqqa4Vep
投げておいてなんだが
すまん ゲーム部分をメインタイムラインに直に書いてたんだな
ゲーム処理をMCにすればいいと思うよ
んで再開地点から地続きにならなければ大丈夫かと
302Now_loading...774KB:2008/03/23(日) 17:29:51 ID:lInwnJJj
う〜ん、うまく行かないorz
リトライボタンは諦めました。
とりあえずゲームオーバーになったらswf開きなおせばいいや的にw
おさわがせしました。
303Now_loading...774KB:2008/03/28(金) 01:06:58 ID:UIkbm5dp
真剣衰弱ってことは「クリックしたら〜〜する」ってな命令があるんだろ?
AS覗けないからこんな方法しか出せんが、
その命令を初期状態になるよう全ての関数に命令出せば解決するんじゃね
めんどくさいが
304Now_loading...774KB:2008/03/28(金) 12:34:22 ID:yKq+EFm5
>>303
> 真剣衰弱 → ×
神経衰弱 → ◯
305Now_loading...774KB:2008/03/28(金) 17:50:30 ID:3WZcrAFq
閉じてる話題だし 方法もバカス
306Now_loading...774KB:2008/03/30(日) 15:33:51 ID:FZ1kgWls
AS3.0のsharedobjectでリアルタイム共有ができるんですか?
307Now_loading...774KB:2008/03/30(日) 16:09:51 ID:JHP4kDxs
SharedObjectは1.0互換だろJK
308Now_loading...774KB:2008/03/31(月) 00:08:46 ID:7HzONPYe
AS辞書にはできるようなこと書いていたけど・・・気のせいか。
回答thx
309Now_loading...774KB:2008/03/31(月) 00:50:04 ID:SPMSpfMN
気のせいっつーか、AS1.0でもできるからさ
310Now_loading...774KB:2008/03/31(月) 02:20:02 ID:7HzONPYe
mjdk
スマン、てっきりローカルにしか保存できないものばっかりと思ってた・・・
311Now_loading...774KB:2008/03/31(月) 03:20:19 ID:SPMSpfMN
まー2.0以下のドキュメントにはFCSの別書読め位でまともに記載されてないからな。
Adobeに和訳PDFが置いてあったと思うけどURL忘れちまった。悪い。
SharedObject.connect辺りでググればサンプル出てくると思うから適当に調べてみてよ。
AS3.0とも互換してるから3.0用のリファレンスでも参考になるんじゃないかしらね
312Now_loading...774KB:2008/03/31(月) 22:24:36 ID:yWVe/zJz
ActionScriptって物理ができないと習得できない?
313Now_loading...774KB:2008/03/31(月) 23:13:08 ID:dEuI0LM8
>>312
んなわけない
314310:2008/04/01(火) 02:07:57 ID:DxhkcEig
>>311
thx
まァこれからボチボチFlexでAS3.0弄んでみる。
315Now_loading...774KB:2008/04/08(火) 19:01:16 ID:msCOnszu
別スレッドでも質問させてもらっているのですが
反応が薄かったのでこちらでも質問させてください。

FMS3を使い、ログ出力をしたいのですが、
たとえば、FLVの視聴時間、アクセス日時、
IPアドレスなどの情報をビジュアライズ化して表示したいのですが
(csvファイルなどで出力もできるととても嬉しいです。)
標準機能では見当たらないのですが、なにか、チュートリアルやサンプルファイルなど
ご存知でしたらお教えください。
宜しくお願いします
316Now_loading...774KB:2008/04/08(火) 20:01:57 ID:IhpWyw/b
すいません。

PHP上で呼び出されるswfファイル内から
PHP側でセットしたクッキー情報にアクセスする方法って
あるのでしょうか?
317Now_loading...774KB:2008/04/08(火) 21:24:24 ID:0YwSAfrm
>>316
sendAndLoadでクッキー情報を吐き出すPHPにアクセスするか、
swfを準備するとき、あらかじめFlashVarsにクッキー情報の値を入れておくか。
318316:2008/04/09(水) 09:58:49 ID:hN9SyLfZ
>>317
ありがとうございます。
助かりました
319Now_loading...774KB:2008/04/12(土) 17:54:33 ID:ORc1xjRM
質問です。
flashに埋め込んだ音楽のピッチや速度、音程なんかはASで変化させることが出来るのですか?
320Now_loading...774KB:2008/04/12(土) 18:38:29 ID:zGM2ccnv
>>319
できない。
321Now_loading...774KB:2008/04/13(日) 11:49:12 ID:8UC753yS
319です、
ぁー…
やっぱりそうですかぁ、残念ですorz
返答ありがとうございました。
322Now_loading...774KB:2008/04/13(日) 16:17:09 ID:8UC753yS
変数についての質問です、

MCを自由な位置へ移動させそのX,Y座標をダイナミックテキストに表示させようと思うのですが、
座標を知りたいMCのASに、

onClipEvent(){
X座標 = this._x;
Y座標 = this._y;
}

と記述し、ダイナミックテキストの変数部分にそれぞれX座標、Y座標としたのですがうまく行きません

アドバイスよろしくお願いします。
323Now_loading...774KB:2008/04/13(日) 19:49:04 ID:F6XNJ2Vk
>>322

onClipEvent() ← このカッコの中にイベント名を書かなければならない

イベント名

load        MCがインスタンス化されタイムラインに表示されたときに一回だけ実行する
enterFrame    毎フレーム実行する
mouseDown   MCを左マウスボタンを押すと実行する
keyDown      キーを押すと実行する 最後に押されたキーを知るにはKey.getCode()を使う


ほかにもいっぱいあるけど後はリファレンスで調べてね
324Now_loading...774KB:2008/04/13(日) 22:47:03 ID:0bCA5HRZ
配置したムービークリップとは別に、instance1という名の
別のインスタンスが見えないところで動作しているのですが、
これは何でしょう???

そのMCに onMouseDown = function(){ trace(this._name); }
と記述して実行するとインスタンス名が二つ出力されます。

ちなみに作っているのは、いくつかFLVを貼り付けたコンテンツです。
325Now_loading...774KB:2008/04/13(日) 23:12:18 ID:F6XNJ2Vk
>>324

ムービークリップに明示的に名前を宣言せずに配置すると
デフォルトの名前がinstance1、instance2・・・・となります


名前をつけずにMCを配置してませんか?
326Now_loading...774KB:2008/04/14(月) 00:22:29 ID:W9KBR/g2
as3でyahoo apiを利用してみたのですが、
はじめの方にある"xmlns:xsi"の部分のせいでパースできないみたいです。
http://api.search.yahoo.co.jp/ImageSearchService/V1/imageSearch?appid=YahooDemo&query=沖縄&results=2

二カ所ほどあるxmlns:xsiの部分を消してみると解析できました。
as2でxpathを使っていると全く問題ないです。
解決方法ご存知の方がいらっしゃれば教えてください。

327Now_loading...774KB:2008/04/14(月) 06:58:30 ID:ng5zU5oq
>>326↓でセットしてみるとか
if (xml.namespace("") != undefined) {
default xml namespace = xml.namespace("");
}
328Now_loading...774KB:2008/04/14(月) 11:12:28 ID:kkks8s4b
>>325
説明不足でした、すみません・・・。

ええと、インスタンス名 test_mc としてムービーを配置すると、
同じムービーがもうひとつ動いているようなのです。
(つまり、test_mcとinstance1という二つの同じムービーが出現してしまいます)
329Now_loading...774KB:2008/04/14(月) 11:47:29 ID:ng5zU5oq
>>328
どうやってMCを作って配置したのかわからんが、
ウィンドウ-->ムービーエクスプローラーで確認してみるとか。
330326:2008/04/14(月) 16:21:36 ID:6oG57tRd
>>327
ありがとうございます。
namespaceでググったら解決できますた。
331Now_loading...774KB:2008/04/16(水) 17:52:28 ID:K0mrc2OK
AS3.0で一定周期で表示更新していくにはどうすればイイノですか?
今までフレームでしていたのですが
Flex環境になってよくわからなくなりました・・・。
332Now_loading...774KB:2008/04/16(水) 18:16:50 ID:MhbaoWXC
>>331
Event.ENTER_FRAMEもしくはTimer
333Now_loading...774KB:2008/04/16(水) 20:00:53 ID:K0mrc2OK
TimerEventの間隔時間の指定はどうするのですか?
334Now_loading...774KB:2008/04/17(木) 12:41:59 ID:7tzdX3cG
ぁ、自己解決しました。
>>332さんありがとうございました。
335Now_loading...774KB:2008/04/20(日) 14:05:43 ID:r5NuGKSH
教えてやってください。
AIRアプリを作ってます。

NativeApplication.nativeApplication.getDefaultApplication(extension:String);

これでアプリケーションのパスがとれるのですが、
このアプリケーションを起動させることってできますか?

たとえば、getDefaultApplicationでエディタのパスを取得した後、
開きたいファイルのパスを指定してエディタを起動させる

というようなことがやりたいです。
よろしくお願いします。
336Now_loading...774KB:2008/04/20(日) 18:25:18 ID:gWt3kvcB
AS3のマウスイベントについて質問です。

マウスイベントを設定したMC_Aの上にMC_Bが重なっている状態です。
MC_Aにマウスイベント(ROLL_OVER,ROLL_OUT)を設定したのですが
MC_Aにマウスがロールオーバーしている状態で
MC_Bにマウスが重なるとロールアウト判定されてしまします。
MC_Bについてマウスイベントを無視する方法はありませんでしょうか?

よろしくお願いしますm(_ _)m
337Now_loading...774KB:2008/04/20(日) 18:29:38 ID:8VEVDSCZ
>>336
MC_B.mouseEnabled = false;
でどうだろうか
338Now_loading...774KB:2008/04/20(日) 20:27:22 ID:gWt3kvcB
>>337
mouseEnabled = false;
で解決できました。

神速な回答ありがとうござます。
339Now_loading...774KB:2008/04/24(木) 11:02:13 ID:CnL6PBll
textfieldで質問。

textfieldをマルチラン(ワードラップ有効)で設置してるときにtextfieldの見た目の一行目(scrollプロパが返す行)に
書かれているテキストを取得する方法を知りたいです、もし可能であればご教示下さい。

ワードラップが有効なので実際は一行で書かれたテキストが二行に渡って表示されている箇所があり、
単純に textfield.text を "\n" で split して目的の行のテキストを取得しようとしたらズレが生じてしまいました。

見た目の行数によって処理をしたいので

・ ワードラップによる折り返しがある行はその折り返し点までのテキストを取得したい
・ 折り返し点以降のテキストは次の行のテキストとして取得したい

という動作を望んでいます。

環境はwindowsXP、AbodeFlash CS3、Actionscript2.0、exeでパブリッシュ、です、よろしくお願い致しますm(_ _)m
340Now_loading...774KB:2008/04/26(土) 16:48:36 ID:b2/vGOiH
クリックするとstartDragとかでつまんで動かせるMC上にあるボタンが、
お盆に乗って運ばれてきたのに永遠にお預けされた食事のように機能しません。
対処法はありますか?
341Now_loading...774KB:2008/04/26(土) 22:18:36 ID:kC1BtvU0
ボタンが反応していないんですか?ボタンが機能しているがstartDragだけが機能しないのですか?
お盆には直接食べ物が乗っているんですか?
342Now_loading...774KB:2008/04/27(日) 06:22:25 ID:bbCYTd74
>>840
お盆MC.食事BTN
で、お盆がon(press){this.startDrag();}
食事がon(release){}みたいになってるんだろ?
onハンドラが重なってると下層のものは無効になるからね
食事のon(release){}が上になるように工夫汁。
例えば
お盆と同じ形の透明MCを作って
下のレイヤーに配置。そっちにon(press){this.startDrag();}を書いて
お盆MCの座標にenterFrameで透明MCの座標を入れてやる。
onClipEvent(enterFrame){
_root.お盆MC._x=_root.透明MC._x;
_root.お盆MC._y=_root.透明MC._y;
}
みたいな感じでどお?
343Now_loading...774KB:2008/04/27(日) 06:23:47 ID:bbCYTd74
アンカーミスったw
>>340
344Now_loading...774KB:2008/04/27(日) 09:18:15 ID:D4plSMY2
actionscriptで動的に作ったMCがね、_rootが次のフレームに移動すると消えちゃうんだけど、
消えないようにするにはどうしたらいいの?
345Now_loading...774KB:2008/04/27(日) 16:51:48 ID:UOvtjr8Y
>>342
ありがとうございます。
やっと食事にありつけました。
346Now_loading...774KB:2008/04/27(日) 23:26:42 ID:D4plSMY2
>>344は解決しました。 というか消えてませんでした。
347Now_loading...774KB:2008/04/29(火) 14:21:34 ID:wEt66jY2
Flex3です
ImageコントロールにComboBoxのようなドロップダウンリストを持たせるようなことは、簡単にできますか?
348Now_loading...774KB:2008/04/30(水) 07:17:55 ID:4uj89aTc
以下のXMLを読み込むプログラムを作成(・・いろんなサイトを参考にしつつ自分なりに理解)しました。
AS2.0では問題無く動くのですが、AS3.0にすると以下のメッセージがでます

・移行の問題:actionscript3.0ではonLoadイベントハンドラはflash playerによって実行時に
 自動的にトリガされません最初にこのイベントハンドラをaddEventListener("load",callback_handler)を使用して登録する必要があります
・loadはXMLのメソッドじゃないよ

下記のソースをAS3.0に対応するにはaddEventListenerの記述がいるのでしょうが
xmlをロードする場合はどういう記述をすればいいのでしょうか?
3.0である必要性はなく興味本位なのですがよろしくお願いします m(_ _)m


---以下作成プログラム 同一フォルダにある"data.xml"を読み込んで表示する-------
this.RoadXML()

// 外部XMLの読み込み
function RoadXML(){
var objXML:XML = new XML();
objXML.ignoreWhite = true;
objXML.onLoad = function() {
parse(objXML);
}

objXML.load("data.xml")
}

// XML確認
function parse(objXML){
// XMLデータを出力
trace ("\n 読み込んだXML");
trace (objXML.firstChild);
}
349Now_loading...774KB:2008/04/30(水) 08:14:18 ID:mWugrV6O
>>348
↓で参考に。AS3のXMLはE4X準拠になったから、とっても使いやすいよ
http://tasii.com/pw/index.php?as30#ff122d84
350Now_loading...774KB:2008/04/30(水) 13:36:12 ID:Uaa3DdUs
>>348
ここ見れ
http://www.adobeauthorizations.com/livedocs/flex/2_jp/langref/migration.html
AS2とAS3の相違点まとめページ

onLoadはURLLoaderを使うようになった。
興味本位っていう感じだと、敷居高く感じるんじゃないかな
351348:2008/04/30(水) 18:57:09 ID:4uj89aTc
>349,350
どうもありがとうございます。それ用の物ができたんですね
興味本位で新しいAS3にした方がいいんじゃないかな、と思ってたんですがAS2から変更点多いんですね
やっとこさ使い慣れたアンダースコアが消えててショック _x _width  etc

それなりに慣れたAS2でいくか、見栄はってAS3でやってみるか・・ よく考えてみようと思います
ありがとうございました m(_ _)m
352Now_loading...774KB:2008/05/02(金) 17:00:22 ID:1N2a4mRb
AS2で質問です。

振り分け → MC_B.play() or MC_C.play() → 振り分けに戻る(繰り返し)
という流れを作ってるんですが、MC_BやMC_Cが終わったら振り分けに戻って繰り返す部分が判りません。
onClipEvent でムービークリップが終了したら振り分けのメソッド呼ぶようにしたら良いのではないかと思うんですけど
方法を教えてください。
353Now_loading...774KB:2008/05/02(金) 17:27:49 ID:1N2a4mRb
ていうか、ムービークリップが終わってから次の処理をさせたいんだけど。
どうしたら良いのか兆速で教えてください。
354Now_loading...774KB:2008/05/02(金) 17:34:54 ID:XV7pYeJ2
>352
>>onClipEvent でムービークリップが終了したら〜
MC._currentframe==MC._totalframes

MCの最終フレームで振り分けメソッド読んでもいいんじゃない?
355Now_loading...774KB:2008/05/02(金) 17:41:46 ID:1N2a4mRb
>>354
ありがとう。
ちょっと試してみる。
356Now_loading...774KB:2008/05/02(金) 18:07:36 ID:1N2a4mRb
this.attachMovie("MC1",_mc1,10);
_mc1.play();
trace(_mc1._totalframes);

これでplayはできるんですが、undefinedになってしまうんです。なにがマズイんでしょうか?
ちなみにMC1は15フレームです。
357Now_loading...774KB:2008/05/02(金) 18:11:25 ID:1N2a4mRb
あと、これもundefinedです。
trace(_mc1._currentframe);

何かとてつもないミスをしてるんでしょうか?
358Now_loading...774KB:2008/05/02(金) 18:36:27 ID:dxy2yaca
attachMovieの第2引数
359Now_loading...774KB:2008/05/02(金) 21:31:03 ID:ksxT2oIk
AS2で質問です。
画像を拡大/縮小する際、Flash MX上からだと、デフォルトでスムージングが掛かりますが、
コレをプロパティのチェックからではなく、ActionScript側から制御できませんか?
_quality = 'low';
だと他のTextやShapeも荒くなってしまうので、何か方法があると助かります。
(FlashをPHP-mingから生成しいるので、スレ違いだったらすみません;)
360Now_loading...774KB:2008/05/04(日) 18:59:48 ID:+ZCvw4Yf
すいませんが、asファイルを使って外部にasを記述しようとしているのですが、
いいサンプルサイトないでしょうか

.flaのルートから読み込む方法がいまいちピンとこないので・・・ 

どうかよろしくお願いします
361Now_loading...774KB:2008/05/04(日) 19:05:17 ID:RV6eX3NM
F1押せ
362Now_loading...774KB:2008/05/04(日) 19:25:48 ID:MEo4Vl2I
ActionScript3で質問です。
「ボタンを押したら新しいウインドウを開く」という機能のmxmlファイルを作っているのですが、全然動いてくれません(;;)
何か致命的な勘違いをしているのでしょうか…

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="640" height="480">
<mx:Script>
<![CDATA[
public function run():void{

//1.ウインドウオプションを設定します
var windowOptions:NativeWindowInitOptions = new NativeWindowInitOptions();
windowOptions.systemChrome = NativeWindowSystemChrome.NONE;
windowOptions.type = NativeWindowType.LIGHTWEIGHT;

//2.上記オプションを持つ新規ウインドウを作ります
var newWindow:NativeWindow = new NativeWindow(windowOptions);

}
]]>
</mx:Script>
<mx:Button x="387" y="152" label="run" width="179" fontSize="12" click="run()"/>
<mx:TextInput x="97" y="154" width="263" text="http://www.pixiv.net/member_illust.php?mode=medium&illust_id=756313" id="textInput"/>
</mx:WindowedApplication>
363Now_loading...774KB:2008/05/04(日) 19:44:10 ID:+ZCvw4Yf
>>361
ありがとうございます

helpのここにある記述のことを指摘されてるのだと思うのですが・・
・読み込まれたスクリプトおよび書き出されたスクリプトのエンコーディング

ここのように、asファイルの記述を丸々読み込むのでは無く
import 、include(?)を使用する例を探しているのですが何か無いでしょうか
364Now_loading...774KB:2008/05/05(月) 11:01:20 ID:FIzzl4MI
FlashDevelop 3.0.0 b7 を使用しています。

trace()で何もでないのでいろいろと調べたら、FlashConnect.trace() というのがあるとのことで、試して見たのですが、
未定義、見つかりませんとエラーが出てしまうのですが解決策をお願いします。

以下は、ためしに組んで見たスクリプトです。
AS3もプログラムも初めてなもので、何か誤解しているかもしれません。
そのあたり、間違いを指摘していただけると幸いです。

package
{
import org.flashdevelop.utils.FlashConnect

public class NewClass
{
public function NewClass()
{
init();
}
var a:int = 100;
var b:int = 200;
var c:int = 0;
public function init():void
{
c = a + b;
FlashConnect.trace(c);
}
}
}
365Now_loading...774KB:2008/05/05(月) 17:38:35 ID:cp0pGW2z
>>>364

あれ?FlashDevelopはだいぶ前からtraceをサポートしてるはずだけどなぁ

projectはどれを選んでる?
366Now_loading...774KB:2008/05/05(月) 18:51:35 ID:eoSZ3gqx
ActionScript3.0です。
スレッドの実行をn[ms]停止させるには、どう書けばいいですか?
367Now_loading...774KB:2008/05/05(月) 19:19:54 ID:QdGevFcQ
AS3の質問はこっちのがいいお
ttp://pc11.2ch.net/test/read.cgi/swf/1151840424/l50
368Now_loading...774KB:2008/05/05(月) 19:22:26 ID:xCMkREQJ
>>366
スレッドと言われてもわからんぞ
具体的にどういう事をやりたいか書く
369Now_loading...774KB:2008/05/05(月) 19:29:28 ID:eoSZ3gqx
>>367
どもです
読んでみます

>>368
TextAreaを(MARQUEEタグみたいに)自動で横スクロールさせたいと思って、こんなコードを考えてみました。

private function scroll():void{
textArea.width= textArea.length*12;

for(var i:int=0;i<textArea.length;i++){
textArea.x -= textArea.length*12;
//【ここで100msほど待たせたい】
}
}

任意の時間、処理を一時停止させることができれば便利だなあと。
370Now_loading...774KB:2008/05/05(月) 19:36:54 ID:xCMkREQJ
ループ処理の間は画面描画は行われないからそのコードだといきなり
終わりの状態で表示される
TimerかEvent.ENTER_FRAMEを使ってずらす関数(ハンドラ)を呼ぶのがいい
371364:2008/05/05(月) 19:43:44 ID:FIzzl4MI
ディフォルトプロジェクトです。
とりあえず最初の Main.as に以下のように書いて見ましたが、output に出ません。
プレーヤーを変更とかいうようなことが前バージョンでは必要だったようですが、
in new tab , popup , external player のどれを選んでも新しいタブでしか開かれないのですが。

package
{
import flash.display.Sprite;

public class Main extends Sprite
{
public function Main():void
{
var a:int = 100;
trace(a);
}
}
}
372Now_loading...774KB:2008/05/05(月) 20:53:56 ID:eoSZ3gqx
>>370
ありがとうございます。
Timerを使って書いてみました。

こう書くと一応動きますが、Canvasに水平スクロールバーが出てしまいます…
どうすれば水平スクロールバーを非表示にできるでしょうか(;;)

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" backgroundGradientAlphas="[1.0, 1.0]" backgroundGradientColors="[#FFFFFF, #4FC57B]" initialize="scroll()">
<mx:Canvas x="141" y="119" width="482" height="164" borderStyle="solid" borderColor="#41B156" borderThickness="2" cornerRadius="9" autoLayout="false">
<mx:TextArea x="10" y="30" width="930" borderStyle="none" backgroundColor="#FFFFFF" backgroundAlpha="0.0" wordWrap="false" fontSize="14" height="38" editable="false" enabled="true" id="textArea">
<mx:text>スクロールさせる文字列:あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやいゆいぇよらりるれろわゐうゑをん</mx:text>
</mx:TextArea>
</mx:Canvas>
<mx:Script>
<![CDATA[
var delay:uint = 50;
var repeat:uint = 100;
var myTimer:Timer = new Timer(delay, repeat);
public function scroll():void{
textArea.width= textArea.length*20;
373Now_loading...774KB:2008/05/05(月) 20:55:38 ID:eoSZ3gqx


myTimer.start();

myTimer.addEventListener(TimerEvent.TIMER, timerHandler);
myTimer.addEventListener(TimerEvent.TIMER_COMPLETE, completeHandler);
}
private function timerHandler(e:TimerEvent):void{
repeat--;
textArea.x = textArea.x-6;
statusTextField.text = ((delay * repeat) / 1000) + " seconds left.";
}

private function completeHandler(e:TimerEvent):void {
statusTextField.text = "Times Up.";
}
]]>
</mx:Script>
<mx:TextArea x="171" y="366" width="392" id="statusTextField"/>
</mx:Application>
374Now_loading...774KB:2008/05/06(火) 15:19:35 ID:pKdej3Ek
こんにちは、よろしくお願いいたします。
ダイナミックテキストの中身を
サーバーから取った改行区切りのデータで
1ループごとにランダムに変化させたいのですが・・
my_lv = new LoadVars();
my_lv.onData = function( src )
{
str = src.split("\n");
fieldtext = str[ int(Math.random()*400) ];
};
my_lv.load("line_split_html.php");
これだと1ループごとにDBに接続して不可になってしまいますよね?
my_lv.loadをifにして一回だけにして
my_lv.onData = function( src )の配列strを、どうやって外に取り出して参照できるのでしょうか?
375Now_loading...774KB:2008/05/06(火) 19:24:17 ID:ryt6rTYN
質問させていただきます。
AS2.0で、祝祭日や今日は○○の日と表示する絵が変わる物を作りたくて以下のようなスクリプトを作りました。

// 月と日付を取得
t = new Date();/
mm = t.getMonth()+1;
dd = t.getDate();

// 管理しやすいように、月と日を4桁にする(頭に0を付けて下2桁だけ抽出)
today = ("0"+mm).substr(-2,2)+("0"+dd).substr(-2,2);

//日付別にフレームに移動
if (today>=0101 && today<0104) { //正月
Mc.gotoAndStop(1);
} else if (today == 0203) { //節分
Mc.gotoAndStop(2);
} else if (today == 0211) { //建国記念日
}

このように指定日になると、ムービークリップ「Mc」内のフレームに移動指定をしています。
ここまでは問題なく動作します。
しかしある特定の数値、具体的には0429や08xx、09xxを指定すると
「トレーリングガベージが見つかりました」というエラーが出て指定できません。

//エラーが出る例
} else if (today == 0429) { //昭和の日
Mc.gotoAndStop(5);

なぜこれらの数値でのみエラーになるのか理由がわからないので対処法がわからず困っております。
そもそもトレーリングガベージがどんなエラーなのかもわからな(ry
どうか救いの手を…
376Now_loading...774KB:2008/05/06(火) 19:44:12 ID:raQuTIp1
>>375
8進数に8と9がないからとか
377Now_loading...774KB:2008/05/07(水) 00:53:21 ID:Rb/xErrk
todayって文字列なんじゃねーの?
378Now_loading...774KB:2008/05/07(水) 01:33:25 ID:RJ6igO3G
なぜ8進法なんだろうと思って調べてみたら、
0から始まる文字列を数値に変換した際、勝手に8進法として解釈される仕様だそうで…。

エラー出た文を
} else if (today == parseFloat("0429")) {
Mc.gotoAndStop(5);

parseFloatで数値をそのまま返して解決できました。
ホントありがとうございました!
379Now_loading...774KB:2008/05/07(水) 06:03:54 ID:YqwZblj+
376のいうようにtodayは文字列なので、
if (today == "0429"){...}
とか
if (today>="0101"){...}//辞書順比較
じゃねーのかな
380Now_loading...774KB:2008/05/07(水) 06:07:03 ID:YqwZblj+
レス番↑377の間違い
381Now_loading...774KB:2008/05/07(水) 22:47:12 ID:M0KpXvCx
Flash と CGI を連携させる方法がわかりません。
どうか、loadVariablesNum の使い方解る方いませんか?
また、CGI(Perl)でどう受け取れば良いんですか?
382Now_loading...774KB:2008/05/08(木) 00:41:09 ID:CCOQbFbZ
>>381
ASのバージョンとか分からないとなぁ。。。。
Flash Lite2なのかなぁ。。。

とはいえ、CGIへのパラメータの渡し方は主に2種類。
GETなら、
http://hogehoge.com/foo.cgi?param1=data1¶m2=data2
みたいな形でリクエストを投げる。
POSTなら、
http://hogehoge.com/foo.cgi
をリクエストするときのリクエストヘッダにパラメータを書くのだ。
でもそのまま書けるわけじゃないから、
loadVariablesNum()じゃなくて、LoadVarsクラスを使うのがいいと思うなぁ。
で、LoadVars::addRequestHeader()を調べればいいと思うなぁ。

CGI側については、セッション変数とかで調べてみればよいかと。
383Now_loading...774KB:2008/05/08(木) 13:58:12 ID:4foNlqE7
>>382
OK、あり。早速調べてみる。
なんか、ここいら辺は結構入り組んでて、
自分で最適なのを見つけるのが難しい気がするなぁ・・・。
384Now_loading...774KB:2008/05/13(火) 23:45:58 ID:pPZB40uQ
ドキュメントクラスのコンストラクタに記述していくことって、
Flash のルートのフレームにアクションを記述することと同じ、って考えていい?
もちろんFlashにはフレームの概念があるから、Flexなんかだけでつくるのとは
若干違うとして。
385Now_loading...774KB:2008/05/13(火) 23:54:52 ID:m+2/xNFj
同じと思う

flashのルートにMovieClipを直接おいてドキュメントクラスでそれを操作するなんてこともできる
386384:2008/05/15(木) 09:36:23 ID:ztmHezKy
たとえば、Flashのルートに TestTextField ってインスタンスを作って、
ドキュメントクラスのコンストラクタに
TestTextField.x += 100
TestTextField.text = "TESTMESSAGE"
とかやっても TestTextField が未定義って言われちゃうのはなぜ?
ルートのフレームに同じ事を書くと通るんだけど。
ドキュメントクラス = ルートのフレームアクション
って考え方が間違ってるって事?
387Now_loading...774KB:2008/05/15(木) 11:39:04 ID:DmKhDWXh
ドキュメントクラスのソースが出てないので何とも言えないが、
メインタイムラインはドキュメントクラスのインスタンスとして考える。
つまり、メインタイムラインでテキストフィールドとかを使おうと思ったら、
ドキュメントクラスでMovieClipを継承し、テキストフィールドをインポートして
おかないとだめだと思う。
388Now_loading...774KB:2008/05/20(火) 21:24:25 ID:3BLtkeZa
CS3環境AS2.0です。マウスイベントについて質問させて下さい。

ComboBoxと、ボタンクリップを交互に操作していると。
ボタンクリップの反応が遅くなる現象が発生しました。
(連打できてた処理ができなくなる程度)

手順は、
  ・ボタンクリップで操作
     ↓
  ・ComboBoxオブジェクト操作
     ↓ 
  ・ボタンクリップを操作する 

交互に触らない限りは、遅さは感じません。
何か、解放?関係の処理か、マウスのフォーカス辺りで注意すべき事があれば
教えていただけないでしょうか。
389Now_loading...774KB:2008/05/21(水) 10:08:58 ID:jHJvLzA2
遅さを感じるといわれてもわからんw
具体的に何秒待たないと有効にならんとか、理解できる表現で書いてくれw
390388:2008/05/21(水) 13:11:40 ID:H2GQL7ss
>>389
説明不足ですいませんでした。
さらに細かく書くと

・ボタンクリップをクリックすると、特定のムービークリップの座標を動かす
 という処理を行っています。
・ComboBoxオブジェクト操作後、ボタンクリップをクリックすると、
 1回目のクリックは、普通に反応し、
 2回目のクリックは、1秒くらい待たないと反応せず。
 3~4回目以降は、一度ボタンクリップのイメージの範囲内でマウスカーソル
 を動かしてからでないと、反応しませんでした。
・ALT+TABとかで、窓の切り替えを行うと、通常の反応速度に戻りました。

ComboBoxオブジェクトと、ボタンクリップの階層は
_root.AAA.ComboBox
_root.AAA.BBB.CCC.ButtonClip
のような配置になっています(AAA~CCCはすべてMovieClip)

わかりづらくて申し訳ないです。
391Now_loading...774KB:2008/05/23(金) 17:47:28 ID:G69e+Rif
FlashDevelopでBuild Current File をやると、なんかの拍子に、特にちょっとコード書き換えた時に、
swfの出力される場所が初期のsrcフォルダ内だったり、その上だったりするんだけどバグかな?
392Now_loading...774KB:2008/05/31(土) 00:22:06 ID:lmiirBK0
こっちだった・・

ゲーム制作で行き詰っています
画像を沢山使いたいのですがソースが繰り返しで大量になってしまします。

例)
[Embed(source='***001')]
private var ***001:Class;...略(***002〜***100)

private var selectImg:Array=new Array(100);

何か良い方法ありませんか?
よろしくお願いします。
393Now_loading...774KB:2008/05/31(土) 22:03:58 ID:EB2dIDRW
10種類の敵に10種類の玉を当てる場合、hittestは10回書く以外に方法はないのでしょうか?
10種類の敵に1〜10の番号をつけ、for分の中でまわしてみましたが、
上手くいきませんでした。
for、enterFrame、hittestを組み合わせるのは、流石に無茶でしょうか。
394Now_loading...774KB:2008/05/31(土) 22:15:55 ID:BoTwXcSN
>>393
当たり判定がうまくいかないと言っている場合は
その方法でもできるはずです。
というかその方法が一番効率的です。
395Now_loading...774KB:2008/05/31(土) 22:31:17 ID:l7eK+lkN
hairetsu = [0,0,0,0,0];
という風に一つの変数の中に配列で数値が入っているとします。
この入っている数値が全て0かどうかを確かめるには

if (hairetsu[0] == 0){
 if (hairetsu[1] == 0){
  if (hairetsu[2] == 0){
…………(以下略

と記述するしかないのでしょうか?もっと簡略な記述方法があれば是非参考にしたいので教えて頂きたいです。よろしくお願いします。
396Now_loading...774KB:2008/06/01(日) 00:05:08 ID:oemvOqfq
395ですが自己解決しました。すみません。
397Now_loading...774KB:2008/06/03(火) 01:24:33 ID:bi9F+vCT
ASのエディタのスレがありましたら教えてください。
398Now_loading...774KB:2008/06/05(木) 15:27:57 ID:0G52EIAN
検索して無ければ無いのでしょう。自分で立てるかググって他サイト等を捜しましょう。
399Now_loading...774KB:2008/06/06(金) 01:03:56 ID:2nVcNTW7
>>398
ありがとうございます。
400Now_loading...774KB:2008/06/06(金) 17:20:32 ID:FP4+RqPB
AS3でAS2のeval関数みたいな使い方出来るやつってないですか?

for文で一気にムービークリップを連番で宣言したいんですけど、ヘルプ見ても分かりませんでした。

もしくはムービークリップの名前を動的に変えるにはどうしたらいいでしょうか?
401Now_loading...774KB:2008/06/06(金) 17:50:01 ID:KPutSlsJ
無けりゃ自作すりゃいい
402Now_loading...774KB:2008/06/07(土) 04:57:14 ID:JH8xy+Dw
>>401
自作は無理です。
403Now_loading...774KB:2008/06/07(土) 21:19:01 ID:F+ZY8hxU
FlashDevelopというツールを使ってActionScriptで開発することになったんですが
ActionScript3.0の入門用サイトって無いでしょうか?
さっぱりわからないので・・
404Now_loading...774KB:2008/06/07(土) 21:32:48 ID:C9lFCJdY
グーグルっていうところで検索すると見つかると思いますよ。
405Now_loading...774KB:2008/06/07(土) 22:01:41 ID:F+ZY8hxU
>>404
見つけられなかったんで
何というキーワードで検索すれば見つかりますか?
406Now_loading...774KB:2008/06/09(月) 02:23:34 ID:iEK3GKDh
407Now_loading...774KB:2008/06/09(月) 02:30:04 ID:iEK3GKDh
408Now_loading...774KB:2008/06/13(金) 19:33:56 ID:rif3F4bM
大ヒントだ

http://www.adobe.com/jp/
409Now_loading...774KB:2008/06/15(日) 15:53:25 ID:bUWMXaCW
AS3のとあるソースに、外部ファイルをLoaderでロードして、読み込んだイメージを特定のSpriteに表示させる方法に
loaderのデータをdrawで描画したbitmapを作り、それをSpriteにaddChildしてやってるのを見たのですが
これって無駄手間にはならないのでしょうか?自分なら直接loaderインスタンスを特定SpriteにaddChildすると思いますが
描画するという方法と直接addChildする方法で何か違いや利点はあるのでしょうか?
410Now_loading...774KB:2008/06/15(日) 17:22:55 ID:E86FZSaB
さぁねぇBitmapとして扱いたかったのかもねぇ。
でもそれならLoaderのcontentをキャストして取り出せばいいだけなんだが。
とりあえず作った人に聞け、ってとこか
411Now_loading...774KB:2008/06/15(日) 23:19:09 ID:1Ld/+m4d
class controlMc1{
private var mc:MovieClip;
private var cmc:controlMc2;
function controlMc1(base:MovieClip){
mc = base;
cmc = new controlMc2(mc.movieClip2);
cmc.rotateCircle(90);
}
}

class controlMc2{
private var mc:MovieClip;
function controlMc2(base:MovieClip){
mc = base;
}
private function rotateCircle(r:Number):Void{
mc.circle._rotation = r;
}
}

class main{
private var cmc:controlMc1;
function main(){
cmc = new controlMc1(_root.movieClip1);
}
}
_rootにmovieClip1を配置、movieClip1の中にmovieClip2を配置、movieClip2の中にcircleを配置
実行するとcircleが90度回転する

FlashOOP本のP389にあるコードからの引用です
controlMc2の5行目はprivateではなくpublicだと思うのですが(実際privateだと動かない)
誤植なんでしょうか?
412Now_loading...774KB:2008/06/16(月) 01:06:39 ID:TnrMt4Dc
2.0を使ってるんですけど、外部mp3を読み込んでfukidashiっていうmcのplay_bを押すと再生。
そのままfukidashiのフレーム2に移動してボタンの色を変えてます。
stop_bで再生停止。
んでfukidashiの1フレームにもどる。

っていうのをrootに書いてるんですけど、一回は思いどうりの動きをするんですけど
一度再生を停止すると次にplay_bを押しても動作しません。

fukidashiの1フレームには「stop();」と書いてます。
説明へたですいません。なぜなんでしょうか?


_root.mysound = new Sound();
_root.mysound .loadSound("music/lm_01.mp3", false);

fukidashi.play_b.onRelease = function(){
_root.mysound.start(0, 999);
fukidashi.gotoAndStop(2);
}

fukidashi.stop_b.onRelease = function(){
_root.mysound.stop();
fukidashi.gotoAndStop(1);
}
413Now_loading...774KB:2008/06/16(月) 01:41:49 ID:uEfsHHW/
どういう構造になってるかわかんないから原因はわからない
flaファイルをくれたらわかるかも 俺がAS3しかわからないから微妙だけど・・w

あと0秒の位置から無限回音を鳴らしたいなら
_root.mysound.start(0, 999);は省略して
_root.mysound.start();と書けるんじゃない?
414Now_loading...774KB:2008/06/16(月) 01:43:43 ID:uEfsHHW/
>>411
誤植かもねー
privateだと同じクラス内からしかいじれないけどクラス内でいじってるわけでもないしなー
415Now_loading...774KB:2008/06/16(月) 09:54:04 ID:xx6dPvu9
>>414
ありがとうございます
私の知識が足りないだけで、何かやり方があるのかと思っていましたが
やはり誤植なんですね
416Now_loading...774KB:2008/06/17(火) 02:54:51 ID:B+y1cxEy
ウンコな質問だけどいい?

AS組込みのクラスのコードって見る方法あるのかな?
例えばDisplayObjectContainerのaddChildメソッドが
どうやって実装されてるのかとかさー。
417Now_loading...774KB:2008/06/17(火) 12:44:29 ID:yNBC6qLm
クラスファイルを直接エディタで開く
418Now_loading...774KB:2008/06/17(火) 17:13:25 ID:5uNL17PE
フラッシュの描画領域内にマウスポインタが存在するかどうかを
判別するにはどうしたらよいでしょうか?

hitTestだとムービークリップが重なっている場合や、
ムービークリップが描画領域全面を覆っている場合などで
うまくマウスが描画領域外に出たことを検出できないことがあります
419Now_loading...774KB:2008/06/17(火) 17:15:43 ID:SUTNtXhO
まず環境を言ってくれよ
420418:2008/06/17(火) 17:38:08 ID:5uNL17PE
>>419
すみません
FLASHはCS3でactionscriptは2.0もしくは3.0です
421Now_loading...774KB:2008/06/17(火) 17:46:19 ID:SUTNtXhO
もしくはってなんだww
どっちでもいいの?
AS2とAS3じゃ互換はないけど・・・?

AS3なら
flash.events.Event.MOUSE_LEAVE
マウスポインタが Flash Player のウィンドウ領域から離れたときに、Stage オブジェクトによって送出されます。

422Now_loading...774KB:2008/06/17(火) 17:56:20 ID:MVvYvUHn
>>421
いや、これから作るのでどっちでもよかったのです
ありがとうございます
423Now_loading...774KB:2008/06/26(木) 14:20:51 ID:4D3UFWmP
使用ソフト FlashCS3pro
スクリプト AS2.0

rootの1フレーム目に置いたAというムービークリップをボタンにして
rootの5フレーム目に置いたBの画面に移るという処理を扱いたいので、
rootのAというMCに
on(release){
gotoAndPlay(5);
}
と入力し、
AというMCの中に入って _up _overを作り、オンマウスで色が変わるように設定しました。
そしてhit領域のためにflash_movie_hitというMCをつくり、そのMCに

onClipEvent(load){
this._visible=falce;
this.hitArea = flash_movie_hit;
}
そしてAというMCの中の1フレーム目に

this.hitArea=flash_movie_hit;
flash_movie_hit._visible =false;
this.stop();
というASを入力しました。

その後パブリッシュしてみると、_overとhit領域は指示通りきいていて
ボタンの証拠である指カーソルに変化はするのですが、
そのボタンをクリックした時に、5フレーム目にジャンプしないのです。
上記のスクリプト以外に何か入力しなくてはいけないのでしょうか・・・?
424Now_loading...774KB:2008/06/26(木) 15:20:56 ID:9CW7xM1/
使用ソフト FlashCS3pro
スクリプト AS3.0

AS3.0でScrollPane内に読み込んだSWFのMCをコントロールするにはどうしたらいいでしょうか?

たとえば、ScrollPane内に『test.swf』を読み込んで、
その中にあるMC『hoge』のx座標をいじる、みたいなことです。
425Now_loading...774KB:2008/06/26(木) 17:32:04 ID:brxwmQAm
ちょっとまえに、FlashDevelop3.0.0b7 環境をぶち込んでみたんですが、

なぜか、 import org.flashdevelop.utils.* ; で見つからないとほざきやがります。
てめーで持ってるライブラリなのになんで色々やらなくちゃならんだろうと、
半分涙目で、情報を追ってます・・・。

そーいえば、corelib の時も、必死こいてやりましたが、結局どうもならず
srcの隣に置きましたorz...
426Now_loading...774KB:2008/06/27(金) 12:54:12 ID:52XdZTYp
>>425

Global Classpaths(グローバルクラスパス)の設定は何処にしてる?
427423:2008/06/27(金) 17:58:24 ID:TTA1+dsk
酷似したスレッドタイトルでしたので、間違えて投稿してしまいました。
こちらでの質問却下は取り下げさせてください。
428Now_loading...774KB:2008/07/03(木) 00:24:03 ID:3UC5WDjc
XMLやXMLListの扱いとかが超解りにくい…メニューとかツリーとかで使おうと
思ったんだが、説明あっさり過ぎです。

どこかにいい資料ありませんか?
429Now_loading...774KB:2008/07/03(木) 03:12:01 ID:iUPSXpOA
自分もXMLでメニュー作ろうとしてるとこ
ここらへんを参考にしてがんばっとります


Flashゲーム講座 & アクションスクリプトサンプル集 XMLファイルを読み込みたい
ttp://hakuhin.hp.infoseek.co.jp/main/as/import.html#IMPORT_02

XMLで管理したプルダウンメニュー
ttp://www.project-nya.jp/modules/weblog/details.php?blog_id=405

ActionScript 3.0メモ XMLの解析 ※AS3.0
ttp://www.saturn.dti.ne.jp/~npaka/flash/as30/XMLEx/index.html

AdobeR Flex? 2 リファレンスガイド Class XML ※AS3.0
ttp://livedocs.adobe.com/flex/2_jp/langref/XML.html


自分はAS3なんですが、AS3でのサンプルは少ないのでAS2.0のサンプル見ながらぽちぽちやってます
役に立たなかったらごめんなさい
430Now_loading...774KB:2008/07/03(木) 07:52:37 ID:3UC5WDjc
>>429
変わってる所はあるけど、AS2用でも全然役に立ちますよ。ありがとう!!
431Now_loading...774KB:2008/07/09(水) 13:15:11 ID:T9g9zW+u
ダイナミックテキストに文字を表示させたいときに、
テキストエリアに対して、縦に中央表示することはできますか?

「 ̄ ̄ ̄ ̄ ̄ ̄]
|          | ←こういうかんじです
|   あああ   | 
|          | 
[______」
432Now_loading...774KB:2008/07/09(水) 16:33:36 ID:McBQSycx
質問させてください。
アナログのカウントダウンタイマーを作成したいと考えています。
できれば、タイマーの設定時間はその時によって変えられるようにしたいですが、
どうすれば可能でしょうか?
時間の設定は、→キーで10分くらいまで行えると楽かな?と思っています。
よろしくお願いします。


















433Now_loading...774KB:2008/07/12(土) 02:58:15 ID:xvQ8BxIe
いくつかのシーンに分かれているアニメーションをBGMとシンクロさせようとしています。

bgm.swfという外部ファイルを読み込もうとしています。

1シーン目の2フレーム目に以下のasを記述するとシンタックスエラーが出てしまいます。

loadMovieNum ("bgm.swf", 1);

bgm.swfの方ではサウンドをストリーミング再生、繰り返し1で再生させています。
書いてあるとおりに記述しているのにどうしてなのかわかりません。

使用ソフトはFlash 8 Basicです。

解答お願いします。

434Now_loading...774KB:2008/07/12(土) 03:50:50 ID:havPppXA
マルチバイト文字が一個混じってるように見えます
435Now_loading...774KB:2008/07/12(土) 04:18:37 ID:tl6cg8BG
これは酷い
436433:2008/07/12(土) 04:33:29 ID:xvQ8BxIe
解決しました。
死にます。
437433:2008/07/12(土) 04:36:19 ID:xvQ8BxIe
どうもありがとうございました!
438Now_loading...774KB:2008/07/20(日) 03:22:10 ID:TQNYLDqA
すみません。質問です。
FlashMediaServer3のアプリケーションディレクトリ内に置いてあるxmlファイルを
クライアントから取得するにはどうすればよろしいでしょうか。

439Now_loading...774KB:2008/07/20(日) 04:03:19 ID:BHgeAa9o
SharedObjectに垂れ流してみたら?
440Now_loading...774KB:2008/07/22(火) 10:47:38 ID:b6U20t6n
初歩的な質問ですが

ダイナミックテキストに文字を表示させたいのですが、やり方がどうもわかりません……
やり方を教えていただけると凄くうれしいです。

それと、動画を表示することって出来ますか?
441Now_loading...774KB:2008/07/23(水) 03:25:44 ID:vr3cDhYh
>>440
ダイナミックテキストに仮にaというインスタンス名をつけたら
a.text = "文字";
で、文字を表示させることができる。

動画を表示させるなら、ステージにflvファイルをドラッグ&ドロップして埋め込みにするか、
FLVPlayBack、またはMediaDisplayコンポーネントからflvファイルのパスを指定して
ストリーミング再生にするかの方法がある。
442Now_loading...774KB:2008/07/23(水) 14:17:24 ID:Hrl8buGM
>>441
なるほど、ありがとうございます!
テキストエリアに入力した値をダイナミックテキストに表示させたいのですが(掲示板のような感じで)
それをするにはどういった事をしたら良いのでしょうか?
続けての初心者的な質問ですみません。教えていただければ幸いです。

動画の表示方法は…わからない事が多すぎて理解が追いつきませんでした。勉強してきます。
443Now_loading...774KB:2008/07/23(水) 14:38:09 ID:88gzyJTs
その程度のレベルならここで逐一聞くよりも入門書一冊買った方が余程早いと思うが
444Now_loading...774KB:2008/07/23(水) 16:43:15 ID:FFiEfRvF
0〜14の数字があって、その中から n個を重複しないように選んで取り出す
↑こういうのを作りたいんですけど、今のところ

array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14];
for (i=0; i<100; i++) {
a = Math.floor(Math.random()*15);
b = Math.floor(Math.random()*15);
c = array[a];
array[a] = array[b];
array[b] = c;
}

こういう風にして arrayの前から n個を取り出すようにしてるんですが
もっと効率的な方法ってありませんか?
445Now_loading...774KB:2008/07/23(水) 17:20:23 ID:88gzyJTs
arrayをコピーしといて、コピーから取り出すたびに詰めていけばいいんじゃないの?
446Now_loading...774KB:2008/07/23(水) 17:29:43 ID:88gzyJTs
あとそれシャッフルのつもりなんだろうけど、
for (i=0; i<array.length; i++) {
a = Math.floor(Math.random()*array.length);
tmp = array[a];
array[a] = array[i];
array[i] = tmp;
}
で十分だと思うよ
447Now_loading...774KB:2008/07/23(水) 20:23:29 ID:IWw5Vdke
っ splice
448444:2008/07/23(水) 20:40:22 ID:FFiEfRvF
>>445-446
ありがとうございます

for (i=0; i<array.length; i++) {
a = Math.floor(Math.random()*array.length);
array.splice(i,1, array[a])
}
これでシャッフルすればいいんですね
シャッフルの方法が非効率だと思っていたので助かりました
449Now_loading...774KB:2008/07/23(水) 21:17:05 ID:88gzyJTs
>>448
それじゃ配列を破壊してるだけじゃないかい?
変に効率を求めて自分でよくわからないコードにしたら意味がないから、
シャッフル部分を>>446に置き換えるだけで、あとは今までどおり書いた方がいいよ
450Now_loading...774KB:2008/07/23(水) 21:23:47 ID:FFiEfRvF
よく考えてませんでした
テストしてから配列壊してるのに気づきました
>>449
そうします
451Now_loading...774KB:2008/07/29(火) 22:16:13 ID:T6tl2KPN
すごい漠然としてて初歩的な質問で申し訳ないんだけど、
ActionScript(というかFLASHだろうか)でこれはできない!ってことってどんなのがある?
452Now_loading...774KB:2008/07/29(火) 22:47:17 ID:8Oo70cdP
ActionScriptで世界を平和にすることはできない
453Now_loading...774KB:2008/07/29(火) 23:29:30 ID:cNKkuf4/
>>451
そういうのは自分で触れてみて答えを出すもんだ
454Now_loading...774KB:2008/07/29(火) 23:42:54 ID:eFxXT2RK
漠然というのを前提とするなら、CだろうがJavaだろうがASだろうが、
できることよりもできないことの方が比べ物にならないくらい多いよ
だからできることを聞いた方が早いと思うよ
455どしろうと:2008/08/02(土) 17:41:27 ID:fZhs/XFP
Flash CS3で作成したアニメーションがActionScriptでどういう実装になっているのか
見たい時、何か方法ありますか?
Flashに「ActionScript出力」の様なメニューがあったりするのでしょうか?
教えてください。そして無知な私を罵ってください。
456Now_loading...774KB:2008/08/05(火) 18:16:46 ID:dzqAgjN0
はじめまして、actionscript2.0の勉強をしています。

動画を再生させて、その上でお絵かきツールを動作させたいのですが、うまくいきません。

action
movie
button
の三つのレイヤーを作り、
actionではお絵かきツールを作り、
movieでは動画をそのままステージに貼り付けて、
buttonでお絵かきツールの絵を消すボタンを配置してます。
お絵かきツールとボタンは正常に動きます。動画も別のプロジェクトなら問題なく動いたのですが
このプロジェクトでパブリッシュすると、動画を表示させる所で音だけ流れていて肝心の動画が流れないという状況になってます。
どうにかしたいのですが、どなたか教えていただけますか?
457Now_loading...774KB:2008/08/09(土) 00:19:58 ID:ZcNwI59+
AS3、FP9です。

AS3は配列に型がないみたいなのですが、初期化で変数、クラスを入れると、
そのインデックスをその型にできるみたいなので、
それを使って、クラスの配列みたいな感じで使いたいのですが、
簡単に初期化する方法がありましたら教えてください。

今は↓みたいにやっていますが、数が増えてくると大変になってきます。
private var tf0:TextField;
private var tf1:TextField;
private var tf2:TextField;
public var tf:Array = [tf0, tf1, tf2];
458Now_loading...774KB:2008/08/09(土) 01:07:15 ID:y6vgZocq
便乗失礼します。
いまAS3勉強中なんですが、
>>457さん、こういうのはダメなんでしょうか。

for (var i:Number = 0; i < 5; i++ )
{
arr[i] = new TextField();
arr[i].text = "test"+i;
}
459Now_loading...774KB:2008/08/09(土) 04:07:35 ID:ZcNwI59+
>>458
ありがとうございます。
その場合、aryはどうやって宣言するのでしょうか。
460Now_loading...774KB:2008/08/09(土) 04:46:59 ID:ZcNwI59+
自己解決。
Arrayの関数の方で数値を指定してできますね。
461Now_loading...774KB:2008/08/09(土) 05:58:23 ID:ZcNwI59+
>>458
宣言は>>460で行い、表示できました。
ありがとうございました。
462Now_loading...774KB:2008/08/10(日) 00:25:43 ID:jPeh7IYU
AS3は、通常FP9に留まっていて、マウス入力やタイマーなどがあると、
Main(スタート)クラスが始まり、終わりまで行くとFP9に戻る感じだと思いますが、
その始まる位置を変える事はできるのでしょうか。
Hogeとか他のクラスから始めたり、WaitFP9()みたいに関数から始めたりです。
463Now_loading...774KB:2008/08/21(木) 20:19:36 ID:+oKugKu+
共有オブジェクトについて質問です。
共有オブジェクトを利用してセーブ機能つきゲーム等を制作した場合、
保存される変数の値等はユーザーのPC側に保存されると思いますが、
ユーザー側が、保存されてる内容を意図的に変えてしまうことはできるのでしょうか?
(例えば共有オブジェクトが保存されてるファイルをメモ帳等で開いて、
任意の変数の値を書き換えてしまう等)
464Now_loading...774KB:2008/08/21(木) 20:32:53 ID:I8a77IUJ
>>463
適当に暗号化して保存するとか。
465Now_loading...774KB:2008/08/21(木) 20:39:22 ID:+oKugKu+
>>464
早速ありがとうございます。
暗号化というと例えば、どの変数が何を示すか分からないような文字列にするとか、
ダミーの変数を沢山作ったりするとかですか?
もっと高度な方法があるんでしょうが今思いつくのはそんなところです…
466Now_loading...774KB:2008/08/21(木) 20:55:14 ID:BXvJ7EXG
>>463
テキストデータじゃないからメモ帳で編集は無理。
.sol Editorってフリーソフトで編集できる。
467Now_loading...774KB:2008/08/22(金) 00:02:29 ID:c7ZxEblZ
>>463
そういうことは暗号化等どれだけ頑張ったところで突破されるから、
書き換えられても問題ないような設計にするとか、方向を変えた方がいいと思うよ
468Now_loading...774KB:2008/08/22(金) 00:22:41 ID:HERmXaVR
>>466-467
なるほど、ありがとうございました。
異常値が入ったら修正するようなプログラム入れて対処してみます。
469Now_loading...774KB:2008/08/22(金) 01:22:10 ID:TStSjy4a
数通り暗号化して、複合時に一つでも違ったら初期値に戻しちゃうって意地悪はよくする
470Now_loading...774KB:2008/08/23(土) 14:32:25 ID:zVFPyY8N
開発環境はADOBE FLASH CS3 PROFESSIONALです(多分)
すみません、ダイナミックテキストに文字を入力して、その文字を別のテキストボックスに出力させたいときは
どうすればいいのでしょうか?
471Now_loading...774KB:2008/08/23(土) 15:11:31 ID:zVFPyY8N
470です。
以下のようなソースを書いてみました。

this.testtext.text = this.intext.text

testtextはダイナミックテキストで
intextはテキスト入力で指定しました。
これでパブリッシュしてみたのですが、intextにflash上で文字を打ち込んでもtesttextに反応はありませんでした。
ただ、intextに最初に入っている文字がtesttextに入力されたままです。
flash上でintextに入力した値がtesttextで表示されるようにするにはどうすればいいでしょうか?
教えてください。本当に困ってます・・・
472Now_loading...774KB:2008/08/23(土) 15:19:22 ID:605+5mBs
AS2かAS3か書いてくれないと困るなw

そりゃ、そうやったら最初の文字が入るだけでしょ

なにをしたときに、ダイナミックテキストに文字を表示したいのか
そのイベントの中に書くべき
473Now_loading...774KB:2008/08/24(日) 13:39:07 ID:l5jsHI+4
視聴する側のPCスペックが低い場合、処理が間に合わずFLASHがコマ落ちしたりしますが、
その場合、飛ばされたフレームのASが実行されないという事はあるんでしょうか。
どんなに処理が重いFLASHでもASはフレームどおりに実行されると考えておk?
474Now_loading...774KB:2008/08/28(木) 09:16:14 ID:zyKdAStB
サウンドをライブラリで共有し、ActionScriptからサウンドを再生するにはどうしたら良いでしょうか?

----------------------------------------
<soundLib.swf>
サウンドアイテム [BGM01] をリンケージし、
・ActionScriptに書き出し
・ランタイム共有用に書き出し
・最初のフレームに書き出し
全てにチェックを入れる。
URLに [soundLib.swf] と記述
----------------------------------------
<main.swf>
ファイル>読み込み>外部ライブラリを開く から
サウンドアイテム[BGM01]をライブラリに配置。

this.createEmptyMovieClip("Sound_mc", 1);

b01 = new Sound(this.Sound_mc);
b01.attachSound("BGM01");
this.b01.start();
----------------------------------------

現在このようなやり方で試しているのですが、サウンドは再生されません。
475Now_loading...774KB:2008/08/28(木) 12:05:20 ID:/SqzfTPa
Flash8+AS2での質問です。長文すみません。

現在ボタンを複数配置し、マウスを使わずキーボードの矢印キーで
フォーカス(選択カーソルのようなイメージ)を移動させるインターフェースを作っております

ボタンにはオーバー時、ダウン時の画像を設定し、フォーカスされた時の状態を解るようにしてますが、
ソレとは別に選択時の黄色い枠が出てしまい、ちょっとかっこわるいです
_focusrect = false; を記述するとこれは消えますが
同時にキーボードの矢印キー移動機能も消え、TABでしか移動できなくなってしまいます。

配置したボタンがかなりの量なので、TABでローテーションするのは使いづらく
_focusrect = true; になってるときの移動は大変都合がよいので
単純に黄色枠だけ取り払うか、或いは_focusrect = false;でも
矢印キーで「→なら右に有るボタンにフォーカス移動」のように出来る方法が有りますでしょうか

宜しくお願いします。
476is:2008/09/11(木) 02:35:55 ID:lgvDpygP
他のスレッドとマルチになって申し訳ないんですが超困ってるのでご了承下さい。
非常に困っているのでどなたか知っている方が居ましたら教えてください。
Flashのインタラクティブなコンテンツ内で、FLVの背景ムービーの上にαチャンネル付きの人物映像のFLVを配置しています。
上に置かれているFLVムービーは、2択で変わるので、リアルタイムにFLV合成するしか無いのですが、合成すると人物のアウトラインが黒く縁取られます。
同じ映像データの元アルファ付AVIを、アフターエフェクツ上などで合成してレンダリングすると、問題ない映像となるので元ソース上は問題ないようです。
出来ればこの黒い縁を無くしたいのですが、それが仕様上無理でも、出来れば縁の色をFlashのプロジェクト上で制御できないかと思っております。
どなたか、ご教授いただければ幸いです。
宜しくお願い致します。

477Now_loading...774KB:2008/09/11(木) 02:52:05 ID:XpexfkO1
マルチ氏ね
478Now_loading...774KB:2008/09/11(木) 03:29:17 ID:jRi+6dZ2
>>477がいいこと言った。
マルチ野郎は逝って良し。
479Now_loading...774KB:2008/09/12(金) 14:14:59 ID:toN9gMj0
AS3を使っているのですが、イベントキューポイントってどうやって設定するのでしょうか?
480Now_loading...774KB:2008/09/13(土) 03:06:33 ID:f3DPJiiu
質問です。

50枚の写真を1枚ずつムービークリップにしたものがあります。
そのムービークリップを重複せずにランダムに20枚選び、
ステージ上に、縦4枚×横5枚で計20枚を表示させたいのですが、
どのようにやればいいのでしょうか。
よろしくお願いします。
481Now_loading...774KB:2008/09/13(土) 13:17:50 ID:YAvEXxsT
1〜10までの数値配列をソートしても
[1,2,3,4,5,6,7,8,9,10]とならず、
[1,10,2,3,4,5,6,7,8,9]になってしまいます。
オプションでArray.NUMERICを指定してもダメでした。
なにか解決方法はないでしょうか?

よろしくお願いします。
ちなみにAS2です。
482Now_loading...774KB:2008/09/13(土) 14:43:02 ID:DZcA5UfZ
>>481
普通にできるけどなぁ。

var a:Array = [4,6,7,1,9,5,2,8,3,10];
a.sort(Array.NUMERIC);
trace(a);
483Now_loading...774KB:2008/09/13(土) 15:07:09 ID:YAvEXxsT
>>482
こちらでも同じことを試したところ問題なくソート出来るんですが、
XMLから取得した配列をソートするとおかしくなるようです。
484Now_loading...774KB:2008/09/13(土) 15:28:56 ID:DZcA5UfZ
XMLから取ったデータは文字列だから、Number()で数値にしてから配列にいれたらどう
485Now_loading...774KB:2008/09/13(土) 16:17:45 ID:YAvEXxsT
Array.sort()は、数値フィールドもストリングとしてソートするみたいだけど
変換したほうがいいんですかね?
486Now_loading...774KB:2008/09/13(土) 16:28:39 ID:/VgKY0gQ
>>485
デフォルトの動作ではストリングとして処理される
でもArray.NUMERICを引数に渡したからといって自動的にNumberにキャストされるわけではなくて、
数値があればこのソートアルゴリズムでソートしますよってだけだから、はじめからストリングだと数値として認識してくれない
487Now_loading...774KB:2008/09/13(土) 17:30:49 ID:YAvEXxsT
数値への変換も上手くいかなかったので
XMLからの取得を見直しました。

結果、Array.NUMERICでソート出来ました。
お手数をお掛けしました。
488Now_loading...774KB:2008/09/15(月) 11:09:33 ID:UWuFrPBL
すいません教えてください。
MovieClip_1(名前mc0)の中に3つのMovieClip_2(名前mc1,mc2,mc3)があって、
それぞれのxをtraceするとしたとき、

trace(mc0.mc1.x);
trace(mc0.mc2.x);
trace(mc0.mc3.x);

とすれば出来るのですが、これが100個とかなると大変なのでfor文にしたいですが
書き方が分かりません。できれば名前を指定せずにfor each...で書ければ言うことないんですが
それが無理ならば名前を規則的に付けて読んでいく方法はどうすればいいのでしょうか

489Now_loading...774KB:2008/09/15(月) 11:16:24 ID:544AY23V
>>488
for(var i=1;i<=100;i++){
trace(mc0["mc"+i].x);
}

もしくは
for(var e in mc0){
trace(mc0[e].x);
}
490488:2008/09/15(月) 11:17:10 ID:UWuFrPBL
すいません自己レスです。
名前を規則的に付けて順次アクセスする方法は、配列アクセス演算子とやらを使ったらできました!

for (var i:uint = 1; i<=3; i++) {
 trace(mc0["mc" + i.toString()].x);
}

もし、mc0内のそれぞれのMovieClipに名前を付けずにfor eachで出来る方法があれば
教えてください。よろしくお願いします。
491488:2008/09/15(月) 11:23:51 ID:UWuFrPBL
>>489
すいませんかぶっちゃいました。
一個目はできたんですが、二個目のができませんでした!

for each (var e:MovieClip in mc0) {
 trace(e.x);
}
492Now_loading...774KB:2008/09/16(火) 01:40:57 ID:CTuEPlnD
>>491
いや・・・全然違う事やってるじゃん
人のレス、よく見ろよ・・・

つーか、おまえのやってるのってAS3.0じゃん
はじめから書いとけよ ウザイナ
493Now_loading...774KB:2008/09/16(火) 22:57:58 ID:SavpeRG8
actionscriptがメジャーなプログラム言語と肩を並べる日は来るのかな〜?
494Now_loading...774KB:2008/09/16(火) 23:40:06 ID:K06s6cYa
javascript に一致する日本語のページ 約 21,900,000 件中 1 - 10 件目 (0.21 秒)
actionscript に一致する日本語のページ 約 3,140,000 件中 1 - 10 件目 (0.05 秒)

まだまだ先だね
495Now_loading...774KB:2008/09/17(水) 18:09:40 ID:gu50QH4h
コンポーネントのFLVPlayBackかMediaPlayBackを利用して、シームレスにウェブ上にあるmp4(h264)をループ再生したいのですが、
completeイベントを受けてplay()させると一瞬映像が停止してしまいシームレスループになりません。どうすればいいでしょうか?
FlashCS3、AS2、WinXPPro32bitSP2、映像は1秒ぐらいの短いものです(30FPS)。よろしくお願いします。m(_ _)m
496Now_loading...774KB:2008/09/17(水) 18:32:03 ID:c2ZnpFQB
AS3使ってます。動画とテキストを同期させたいので調べてみたら。flvplaybackコンポーネントで
キューポイントを使えば同期が出来る。という情報を得ました。

それでやってみたのですが、キューポイントを設定するまでは出来たのですが、それの使い方がわかりません
どなたか心優しい方、教えていただけませんか?
497Now_loading...774KB:2008/09/17(水) 21:50:08 ID:/1BHz6zw
>>495
コンポーネント使うと自動的にリサイズされるときの間ができるので、
NetStreamクラスで動画プレイヤーを自作しよう。

>>496
cuePointイベントでプロパティの値を取得しよう。
498495:2008/09/18(木) 00:17:42 ID:i0PU7FoK
>>497
ありがとうございます!早速作ってみます。
499Now_loading...774KB:2008/09/18(木) 11:02:04 ID:WjCd1GAK
質問があります。
実行した場合に出力パネルに表示される文字列を
テキストフィールドに表示したいのですがうまくいきません。
どのような式を入れればいいのでしょうか?

例:trace("book")→出力パネルに表示される

↑の出力パネルに表示されるbookをテキストフィールド(text_txt)に代入して表示する場合はどうすればいいですか?

今クイズを作ってるのですが問題が出力パネルに表示されて表示させたいテキストフィールドに表示されないので。。

文がかなり下手でわかりづらいと思いますが、わかる方いらしたらよろしくお願いします。
500499:2008/09/18(木) 11:11:58 ID:WjCd1GAK
すみません。質問の意味を間違えてました。

外部テキストファイルからデータを読み込んで
テキストフィールドにその内容を表示するにはどのようにしたらいいでしょうか?

2度目の投稿申し訳ありませんがよろしくお願いします。
501Now_loading...774KB:2008/09/18(木) 12:47:26 ID:cWHKCJIq
>>499

AS2かAS3か
回答はそれからだ
502Now_loading...774KB:2008/09/18(木) 14:35:47 ID:pfJG59UL
>>497回答ありがとうございます。試してみますね!
503Now_loading...774KB:2008/09/18(木) 17:02:31 ID:Mwaw/ckA
いまどきAS2なんて結構いるだね
504Now_loading...774KB:2008/09/18(木) 17:07:55 ID:msb57I1v
flash player 8 対応にしてくれっていうクライアントがまだまだ結構いるからね
505500:2008/09/18(木) 17:09:43 ID:/9zMCs+I
>>501
すみません AS2です。
本当に何度も申し訳ないです。
506495:2008/09/18(木) 17:45:57 ID:i0PU7FoK
度々すいません。
AS3,flashplayer9、でnetStreamを使いh264を読み込み再生するところまではこぎつけたのですが、
FlashCS3付属のスタンドアロンプレイヤーでは何の問題もなく再生されるのですが、
HTMLでパブリッシュすると再生中に再生速度が速くなったり遅くなったりと不安定になります。
h264のmp4はAftereffectsCS3で出力したものです。FPS30、音声なし、ビットレートは500〜2000まで色々試したのですがビットレートは関係ないようです。
キーフレームも0〜100まで色々試しましたが安定しません。rootのFPSは30未満にするとカクつくようになります。
昔あったwmodeの問題を思い出し三通りとも試したのですが、やはりダメでした。そこでfirefoxで再生してみたのですが、これだとなぜか速度は安定しました。
IEのflashplayerは最新のものに更新してあります。どうすればいいでしょうか?(;_;)
507495:2008/09/18(木) 18:06:02 ID:i0PU7FoK
間違えました。×AS3→○AS2です。ごめんなさい
508Now_loading...774KB:2008/09/18(木) 21:34:09 ID:h1BH11h6
>>473
必ず実行される。
そうでないとクラッシュするよ。
509Now_loading...774KB:2008/09/18(木) 21:43:46 ID:h1BH11h6
>>474
soundLib.swfに関数を1つ作る。サウンドオブジェクトを生成して返すようにする。
main.swfからsoundLib.swfをローダー関数で読み込む。
main.,swfから関数を呼び出して、サウンドオブジェクトを得る。
510Now_loading...774KB:2008/09/19(金) 14:26:40 ID:wpRE4AUp
OS:Win XP SP2
Flash CS3

質問です。
AIRで、ドメインAにあるA.swfを読み込んで表示させたいんですが、
A.swfに FlashのUIコンポーネントを使っていると、
SecurityError: Error #2070: セキュリティサンドボックス侵害 : 呼び出し元 http://ドメインA/A.swf は app:/Main.swf が属するステージにアクセスできません。
とでます。

ちなみに、パブリッシュをFlash Player 9にして、Security.allowDomain("*")を
呼んでやると、正常に表示されました。

パブリッシュを Adobe AIR 1.0にしていると、Security.allowDomainは
使えないので、ロードしたswfのloaderInfoを

LoaderInfo.parentSandboxBridge = this(thisはロードしてる側) とか

に設定したんですが、上記のランタイムエラーがでて表示もされないです。

これの回避方法を教えていただけないでしょうか...
511Now_loading...774KB:2008/09/19(金) 14:38:45 ID:WHAJNWj9
よくわからんが、ドメイン違うなら普通にcrossdomain.xml置かないと無理なんじゃねーの?

■リファレンス
http://livedocs.adobe.com/flash/9.0_jp/main/00000349.html
■次期プレーヤーでの修正点
http://weblogs.macromedia.com/akamijo/archives/2008/08/flash_player_10_6.html
512Now_loading...774KB:2008/09/19(金) 14:48:53 ID:wpRE4AUp
crossdomain.xmlは置いています。

リファレンスもすべて見てみましたが、やはりAIRだとうまく

いかないです。

読み込むswfの中にUIコンポーネントがなければ、なんでも

できてるんですが....
513Now_loading...774KB:2008/09/20(土) 13:51:37 ID:e6AmzOHu
環境:WindowsXP FlashCS3 actionscript3.0

SharedObjectの読み込みについて質問です。
ローカルだと100%値を読み込んで分岐処理ができるのですが、
サーバーにあげると分岐処理が成功したり失敗したりします。

サーバーの場合、読み込み・書き込みにタイムラグがあって、
同一フレームでSharedObjectの読み込みと分岐処理をすると失敗してしまうみたいなのですが
SharedObjectの読み込みが完了したかどうかを調べるscriptはどう書けばいいのでしょうか?
514Now_loading...774KB:2008/09/21(日) 01:30:05 ID:tLPUlQuM
前任者がつくったFlashを解析したいのですが、
いい方法はないでしょうか?
なんか工夫しているのかデコンパイラ使っても肝心の
ActionScriptの内容が探れません。

そのFlashがどのサイトからデータを取得すればわかればいいので
データ取得元さえを探れればいいのですが・・・
(Flash自体は新規作成しますが、仕様がわからないのです)

いい方法がございましたらご伝授お願いします。
515Now_loading...774KB:2008/09/21(日) 01:31:47 ID:l9yoHZsE
>>514
IEなら ie HTTP Header、Firefoxならfirebugなどでヘッダーを見れば
どこに接続しているのかわかると思います。
516Now_loading...774KB:2008/09/21(日) 10:47:45 ID:tLPUlQuM
兆速レスありがとうございます。
517Now_loading...774KB:2008/09/21(日) 12:06:57 ID:GDIDiwDg
mcを連番で複数配置し
クリックされたmcの番号を取得したいのですが
・・・・・・
while(p<5){
p++
Mc="mc"+p
_root[Mc].onPress=function(){
・・・・・・
とするとpは必ず5と表示されてしまいます
onPressの直後に処理を止めようと
条件付けを色々工夫してみましたがダメでした

mc別に書けば動くので最悪そうしますが
何とか一括で出来ないものでしょうか
518Now_loading...774KB:2008/09/21(日) 12:20:44 ID:ExkPAyGw
>517
肝心の関数の処理が書いてないので何ともいえないけど
p = 0;
while (p<5) {
Mc = "mc"+p;
_root[Mc].myPoint = p;
_root[Mc].onPress = function() {
trace(this.myPoint);
};
p++;
}
519Now_loading...774KB:2008/09/21(日) 13:07:21 ID:vZ9BbfiY
actionscriptの質問なのですが、ブラウザでflashを実行したとき、
そのswfファイルが置かれていたサーバのIPを取得するにはどうすればいいですか?
520Now_loading...774KB:2008/09/21(日) 13:11:39 ID:GDIDiwDg
>>518
ありがとうございました
取得というのは単に表示するのではなく
変数として保持したいということだったのですが
それを参考にonPress前後で2度受け渡しするように(?)書いたら出来ました
521Now_loading...774KB:2008/09/21(日) 13:33:19 ID:ExkPAyGw
>520
とりあえず、onPress内の記述はonPressが発生したときに実行されるので
while中は無視される、ってのだけ覚えとけばいいんじゃないかな
522Now_loading...774KB:2008/09/21(日) 13:41:20 ID:bARROqg5
flash MX 2004を使っています。
音楽と映像がズレてしまいます。同期はストリーミングにしています。

タイムライン上で音楽に合わせてオブジェクトを配置したのですが、
実行すると音楽が数フレームズレて流れてしまいます。

これはタイムライン上ではなく実行した映像に合わせてタイミングを調整していかなければならないということなのでしょうか?
523522:2008/09/21(日) 13:42:31 ID:bARROqg5
ああっすいません。↑の質問はFlash初心者スレで聞くべきでしたね。
スレ汚しすいませんでした。
524Now_loading...774KB:2008/09/21(日) 14:15:56 ID:IMATvyAC
がんば
そこらへんは、最初みんなつまづく所のはず
525Now_loading...774KB:2008/09/21(日) 14:58:44 ID:GDIDiwDg
>>521
whileやforは一瞬の処理のはずなのに
変数も一瞬で変わってしまうのに
そこでmcの指定をしたものがずっと残っていることが認識をおかしくしていたようです
526Now_loading...774KB:2008/09/22(月) 14:06:59 ID:Em2KzTUV
ニコニコ動画みたいに、動画とコメントを同期させて表示させるにはどうするんでしょうか?
だれかわかる人います?
527Now_loading...774KB:2008/09/22(月) 18:49:55 ID:8Z1q56Lc
マルチーズ^^
528Now_loading...774KB:2008/09/22(月) 21:06:05 ID:5rwBy5xJ
>>526
キューポイント埋め込み
529Now_loading...774KB:2008/09/26(金) 11:00:53 ID:pNr53ab8
UIscrollbarをテキストフィールド内の文字列でなく、
ムービークリップ内のオブジェクトのスクロールに使うにはどうしたらよいのでしょうか?
530Now_loading...774KB:2008/09/26(金) 11:04:28 ID:dGfVhu3h
シンボルが再生されながら横移動するときに、
その残像が重なってちくせきされていくようなASをおおしえてくれませんでしょうか。
お願いします。
531Now_loading...774KB:2008/09/26(金) 16:08:02 ID:Uk5avwTs
>>530
処理速度を気にしないならaddChild()でどんどん残像を足していって後から消していく

軽くするならBitmapDataにどんどんシンボルをdraw()していって必要に応じてフェードさせてく

いずれにせよforループじゃなくてonEnterFrameに書くASになるぜ
残像がずっと残るのか一定時間経つと消えるのかによっても実装方法は変わるぜ
これ以上の回答は状況がよくわからんから無理
532Now_loading...774KB:2008/10/01(水) 09:59:18 ID:MlDLD/+U
外部ファイルからテキストデータを取り込んで表示させたいのですが、
System.useCodePage=true;
var loader:URLLoader= new URLLoader();
loader.addEventListener(Event.COMPLETE,completeHandler);
loader.load(new URLRequest("data.txt"));
function completeHandler(event:Event):void{
output_txt.text=event.target.data;
}
をアクションに打ち込んで、SWFの起動時にテキストを表示させることはできました。
次に、SWFの起動のn秒後にこのテキストを表示させたいのですが、どうしてもできません。
やり方がわかる方がいれば教えてください。
533Now_loading...774KB:2008/10/01(水) 12:21:13 ID:KcVkhxvL
Timer
534532:2008/10/01(水) 13:43:05 ID:MlDLD/+U
Timerですか・・・?調べてみます。ついでの質問で申し訳ないのですが、動画から時間データを抜き出すのは
どうやるのでしょうか?出来るのでしょうか?
535Now_loading...774KB:2008/10/01(水) 17:46:53 ID:6Ll9d5R/
onMetaData
536Now_loading...774KB:2008/10/01(水) 20:24:30 ID:PVey1JJN
WinXPsp3 で FlashDevelop + AS3 を使っています。
Loader で読み込んだコンテンツを swf で表示させたいのですが、
LoaderInfo の width と height を用いて swf 本体の width と heightを
変更する方法があれば教えてください。
537Now_loading...774KB:2008/10/01(水) 23:42:30 ID:zqzj11qt
AS3です、FLASHCS3を使っています

親スプライトに子スプライトAと子スプライトBをaddChildしていて
スプライトBに子スプライトCをaddChildして、スプライトC上で変数aを定義しています
各スプライトに同名nameを与えています

この構造でスプライトAからスプライトCと変数aに対して処理したいのですがパスの書き方がわかりません
スプライトAから
parent.getChildByName("spriteB")
でスプライトBは指定できましたが、この後はどのように書けばいいのでしょうか?
538Now_loading...774KB:2008/10/02(木) 00:21:32 ID:6IMPEJ9X
spriteB.getChildByName("spriteC")

spriteC.a

こういうこと?
539537:2008/10/02(木) 08:58:54 ID:PY4rRG+y
>>538
レスありがとうございます
質問がわかりずらくすみません

537の場合で
parent.getChildByName("spriteB")-この後の記述がわかりません
試しに
parent.getChildByName("spriteB").spriteB.getChildByName("spriteC");
こう書いてみましたがエラーが出てしまいできませんでした
540Now_loading...774KB:2008/10/02(木) 10:49:39 ID:G3V+Nf9S
質問です。
on (press){ set_mc.removeMovieClip(); }
root上にset_mcがあるのですが
消えてくれません。
541540:2008/10/02(木) 10:58:48 ID:G3V+Nf9S
actionscript2です。
542540:2008/10/02(木) 11:03:18 ID:G3V+Nf9S
すいません最小構成では動きました。
他の場所を探ってみます。
543Now_loading...774KB:2008/10/02(木) 11:05:44 ID:1RTQDVX5
>>537
parent.getChildByName("spriteB")
でspriteBを返すので、そのまま
parent.getChildByName("spriteB").getChildByName("spriteC");
でいいはず。

2行に分けるとこんな感じ。
var spB:Sprite = parent.getChildByName("spriteB")
var spC:Sprite = spB..getChildByName("spriteC");
var a = spC.a
544540:2008/10/02(木) 14:26:07 ID:G3V+Nf9S
質問です。
actionscript2です。
違う階層の場合は、同じインスタンス名を付けても
大丈夫なのでしょうか?
後になってそれが原因で不安定なった場合、
原因の究明に時間がかかりそうで心配です。
545Now_loading...774KB:2008/10/02(木) 15:24:49 ID:+4Z3xIYJ
>544
気のせいです
問題ありません
546Now_loading...774KB:2008/10/02(木) 15:49:58 ID:aZzvZKZT
>>535
onmeatadataですね!調べてみました。動画のメタデータを取得するメソッドのようです。
それで、一度サンプルを見つけたので作ってみようと思い、作ってみました。
var netCon:NetConnection =new NetConnection();
netCon.connect(null);
var netStr:NetStream=new NetStream(netCon);
netStr.client=new Object();
netStr.client.onMetaData=metaDataHandler;
netStr.play("video.flv");
var vid:Video=new Video(160,120);
vid.x=10;
vid.y=70;
vid.smoothing=true;
vid.attachNetStream(netStr);
addChild(vid);
function metaDataHandler(objInfo:Object):void{
var str:String ="";
for(var prop:String in objInfo){
str += prop + ":" + objInfo[prop]+ "\n";
}
txt.text=str;
}
をアクションに打ち込み、ダイナミックテキスト(メタデータ表示用)のインスタンス名をtxtに設定
動画を同じファイルにvideo.flvで置いておいて実行してみましたが、
「Error #2044: ハンドルされていない NetStatusEvent : level=error, code=NetStream.Play.StreamNotFound
at _fla::MainTimeline/frame1()」
と出て、動画もメタデータも取得できませんでした。何が原因なのでしょう・・・?
それと、これで取得した動画の再生状況を変数に入れて扱うことは可能ですか?


あ、開発環境はAS3です。
547546:2008/10/02(木) 15:55:46 ID:aZzvZKZT
自己完結しました。動画ファイルにアクセスできてなかったみたいです。お騒がせしました。
しかし、現在の再生状況(開始されてからの時間)が取得できてないみたいなんですが、そもそもこれでは
出来ないんでしょうか?
548537:2008/10/02(木) 18:05:26 ID:PY4rRG+y
>>543
下の二行に分ける方法がわかりやすく使わせて頂きました
ありがとうございます!
549Now_loading...774KB:2008/10/03(金) 09:43:33 ID:JEG17olC
>>547
開始されてからの時間じゃないけど、再生位置は
netStr.time
でとれるよ
550Now_loading...774KB:2008/10/05(日) 11:35:31 ID:yjRMqgXh
>>549

netStr.timeで取れるんですね。ありがとうございます!
551Now_loading...774KB:2008/10/05(日) 13:57:34 ID:yjRMqgXh
質問させていただきます。開発環境はAS3です。

flvplaybackコンポーネントを使っています。んで、
パラメータのcontentPathをウェブ上で自由に変えられないか迷ってるんですが、
どうしたらいいでしょうか?
もしくは、flashの動画をウェブ上で切り替える方法を探してます。

flashに詳しい方がどなたかいらっしゃったら教えてください・・・
552Now_loading...774KB:2008/10/05(日) 17:46:46 ID:8iwekV1H
>>551
flarhvarでswfに動画のパスを渡す
フラッシュ側はそのパスをflvplaybabckのインスタンスに渡す
でOKかと
553Now_loading...774KB:2008/10/05(日) 17:49:27 ID:8iwekV1H
タイプミス
×flarhvar
○flashvars
554Now_loading...774KB:2008/10/06(月) 12:58:24 ID:j7I+Fyra
flashvarsですか?よくはわかりませんが、調べてみますね!ありがとうございます!
555554:2008/10/06(月) 15:17:59 ID:j7I+Fyra
flashvarsについて調べてみましたが、よくわかりませんでした。
トップページからクリック(サムネイル等を)したら同ページにあるswfファイルにその動画が表示される。
という風にしたいのですが・・・もう少しヒントを頂けますか?本当に困ってます。
556Now_loading...774KB:2008/10/06(月) 20:25:55 ID:yhzbFHzs
>>555
ページの遷移なしに切り替えるってこと?
557Now_loading...774KB:2008/10/07(火) 10:02:10 ID:/tF2IwiT
たぶんLocalConnectionでいいんじゃね?
558Now_loading...774KB:2008/10/07(火) 13:15:00 ID:WI3Iuoc5
>>556
はい、そういう風にしたいのですが・・・何か案はありますか?
559Now_loading...774KB:2008/10/07(火) 13:21:00 ID:/tF2IwiT
>>558
だからLocalConnectionでいいんじゃね?
もしくはスレ違いになるがJavascript。
560750:2008/10/07(火) 14:30:45 ID:WI3Iuoc5
localconnectionですか…?
それはPHPとHTMLで書いたサムネイルをクリックしたらフラッシュに
データを飛ばす、というような動作は出来るのでしょうか?

さっき調べたところ、swfからswfは出来るようですが…
561Now_loading...774KB:2008/10/07(火) 19:27:52 ID:WrtlHTso
>>560
サムネイルをswfにするってことじゃないかな
562Now_loading...774KB:2008/10/08(水) 00:11:08 ID:gP2fYbYa
MP3を埋め込んだ外部swfを読み込んだら勝手にswfが再生されてしまいます。
下記のように書いているんですが、どうすれば読み込みのみだけするようにできますか?
loader.load(new URLLoader("./swf/sound.swf"));

また、MovieClipに変換してmc.stop()とかするととまるんですが、最初の0.2秒ぐらい再生されてしまいます。
var mc:MovieClip = loader.content as MovieClip;
mc.stop();

環境はas3、Flash9です。
回答お願いします。
563Now_loading...774KB:2008/10/08(水) 00:42:36 ID:lvclFujR
>>561サムネイルをswfですか…それも考えましたが、そうなると動画のアップロード
をするのが出来なくなってしまうんですよね……youtube見たいな感じで作りたいな〜
と思ってるのですが……
564Now_loading...774KB:2008/10/08(水) 01:03:40 ID:HaBSlklw
>>563
swfでも動画はアップロードできるよ
なんでサムネイルをswfにできないのかよくわからないけど、
それならjavascriptかフレーム使うしかないんじゃないかな
565Now_loading...774KB:2008/10/08(水) 12:41:52 ID:igoSSjzu
>>563
なるほど、やり方はあるのですね。ありがとうございました。
566Now_loading...774KB:2008/10/08(水) 14:21:30 ID:igoSSjzu
すみません、質問させてください。
SwfからHTMLにデータを送信する方法ってありますか?
AS3を使ってます。
567Now_loading...774KB:2008/10/08(水) 16:20:15 ID:iD7k9kcY
                     24時間耐久10分でフラッシュを作れ!
        ┏━┓                ┏━┓    ┏━┓           ┏━┓
      ┏┛┏┛                    ┏┛  ┃  ┏┛  ┗┓        ┏┛┏┛
    ┏┛┏┛                      ┗┓  ┃┏┛┏━┓┗┓    ┏┛┏┛
┏━┛  ┗━┳┓                    ┃  ┃┃  ┃  ┃  ┃┏━┛  ┗━┳┓
┗━┓  ┏┳┛┃                    ┃  ┃┃  ┃  ┃  ┃┗━┓  ┏┳┛┃
    ┃  ┃┗┳┻┓    ┏━┳━━┓  ┃  ┃┃  ┃  ┃  ┃    ┃  ┃┗┳┻┓    ┏━┳━━┓
    ┃  ┃┏┻┓┗┓┏┛┏┛┏┓┗┓┃  ┃┃  ┃  ┃  ┃    ┃  ┃┏┻┓┗┓┏┛┏┛┏┓┗┓
    ┃  ┃┃  ┃  ┗┛  ┃  ┗┛  ┃┃  ┃┃  ┃  ┃  ┃    ┃  ┃┃  ┃  ┗┛  ┃  ┗┛  ┃
    ┃  ┃┃  ┣┓    ┏┫  ┏━━┛┃  ┃┃  ┃  ┃  ┃    ┃  ┃┃  ┣┓    ┏┫  ┏━━┛
  ┏┛┏┛┃  ┃ ┃     ┃ ┃  ┃┏━┓┃  ┃┗┓┗━┛┏┛  ┏┛┏┛┃  ┃ ┃   ┃ ┃  ┃┏━┓
┏┛┏┛  ┃  ┃ ┃ ┃  ┗┓┗┛┏╋┛  ┗┓┗┓  ┏┛  ┏┛┏┛  ┃  ┃ ┃ ┃  ┗┓┗┛┏┛
┗━┛    ┗━┛  ┗┛    ┗━━┛┗━━━┛  ┗━┛    ┗━┛    ┗━┛  ┗┛    ┗━━┛
          ┓┏┓    ┓  ━┓     ┏┓┏┓   ┏┓┏┓      ━┓ ━┓   ┏━  ┏━┓
          ┃┃┃    ┃ ┏┛   ┃┃┃┃ ・ ┃┃┃┃     ┏┛ ━┫ ・ ┃  ┃  ┃
          ┃┃┃    ┃ ┃     ┃┃┃┃ ・ ┃┃┃┃     ┃  .  ┃ ・ ┗┓ ┗━┫
          ┻┗┛ 月 ┻┗━ 日 ┗┛┗┛   ┗┛┗┛ ヨリ ┗━ ━┛  .━┛  .━┛ マデ

                   参加者(Flash制作者・お題投下者・観覧者)募集
               現行:http://pc11.2ch.net/test/read.cgi/swf/1206509015/
568Now_loading...774KB:2008/10/08(水) 22:17:40 ID:KXEAmybp
>>566
javascript
569Now_loading...774KB:2008/10/08(水) 23:07:22 ID:l3HN37Eb
かなり・・・
ど素人な聞き方をするかもしれませんが、誰かお答えを・・・!

FLASHで作成した簡易版音楽プレイヤーがあるのですが、
音量がデカすぎました。
これを下げたいのですが、(コントローラーはいらない)、
1フレーム目をScriptではなく、単純にプロパティのところで鳴るようにしている場合、
不可能なのでしょうか?
ちなみに1フレーム目のScriptは stop();となっていて、音楽がプロパティの設定で鳴る。
2フレーム目のScriptは stop();となっていて、停止ボタンがあり、ボタン自体のScriptには再生がストップする記述。
3フレーム目のScriptは stop();となっていて、再生ボタンがあり、ボタン自体のScriptには再生がスタートする記述。
570Now_loading...774KB:2008/10/08(水) 23:18:49 ID:GrDNuock
>>569
サウンドの下に効果ってところがあるので、その右の編集を押してください。
波形の上に細いライン見たいのがあるので、それをドラッグして下げると音量が下がります。
571Now_loading...774KB:2008/10/11(土) 07:25:24 ID:9zB5xFZO
加藤擁護派を笑うのも結構だが
笑ってるだけじゃ第二第三の加藤の出現を止めることは出来ない
572Now_loading...774KB:2008/10/14(火) 09:45:41 ID:BNzurdC+
AS3とPHPを使って動画共有サイトを作ってみたいのですが、参考になる書籍やサイト等があれば
教えてください。
573Now_loading...774KB:2008/10/14(火) 10:33:44 ID:JJyA+7D8
>>572
とりあえずレンタルサーバーなら転送量で怒られないようにな。
574Now_loading...774KB:2008/10/14(火) 12:47:59 ID:5/FkidHo
>>572

●初めてのFlash Video
ttp://www.oreilly.co.jp/books/9784873113524/

『6章:FLVの応用』で、PHPとの連携について少し書いてある
575Now_loading...775KB:2008/10/14(火) 13:17:40 ID:BNzurdC+
なるほど、参考になります。ありがとうございます。他にもあればいくつでもいいので教えてください。
576Now_loading...774KB:2008/10/15(水) 01:47:46 ID:BUjzOYc9
それだと、いくら答えてもキリがないのでこれでおしまい
577Now_loading...774KB:2008/10/15(水) 02:02:04 ID:s6oTDOOD
>>575
youtube見ればわかるけど必要なのはwebプログラミングと製作の知識が99%
激しく板違いだと思われます

ASが必要なのって動画再生部分だけで、それってほとんどコンポーネントで終わりだし
578Now_loading...775KB:2008/10/15(水) 13:06:59 ID:iwVZ5FT2
板違いでしたか、すみませんでした。別の所で聞いて見ますね。どうもありがとうございました。
579Now_loading...775KB:2008/10/16(木) 13:44:06 ID:wFuhxEhb
すみません。AS3を使って開発をしているものです。

flvplaybackのcontentsPathの値を外部テキストファイルへの入力で変えられる様なプログラムを作りました。
それで、一応は動くのですが、一度flaファイルでパブシッリュし直さないと動画が変更できません。
それで、自動的にパブリッシュするようなシステム、もしくは別の解決方法を探しているのですが、何かご存知の方は居ますか???

スレ違いだったらすみません;
580Now_loading...774KB:2008/10/16(木) 20:36:46 ID:RlbRER8J
>>579
何度も同じような質問見かけるけどマルチなの?

FlashVars使って外部からswfに動画のパスを渡す
swfは受け取ったパスをActionscriptでflvplaybackコンポーネントのインスタンスに渡して再生
flvplaybackでヘルプ検索してね
ちゃんと載ってるから
581Now_loading...774KB:2008/10/19(日) 23:12:12 ID:uixH6H1t
Loaderで読込んだjpgをBitmapにしたいのですが
下のコードで暗黙の型変換云々でエラーがでてしまいます。
色々と検索してみたのですが、参考サイトでは
大体これで問題ない感じで記述されているのですが…
ヒントを頂けないでしょうか?

private var Myimgpath:String;
private var Myimg:Loader;
private var MyBitmap:Bitmap;

private function hoge(): void {
mypath = "myimg/hoge.jpg";
Myimg = new Loader();
Myimg.load(new URLRequest(mypath));
Myimg.contentLoaderInfo.addEventListener(Event.COMPLETE, LoderToBitmap);
}

private function LoderToBitmap(e:Event):void {
MyBitmap:Bitmap = new Bitmap(Myimg.content);
}
582Now_loading...774KB:2008/10/20(月) 05:50:36 ID:uoaDqGlK
>>581
MyBitmap:Bitmap = new Bitmap(Myimg.content);

↑「:Bitmap」がいらないんじゃないの?
583Now_loading...774KB:2008/10/21(火) 13:07:35 ID:XseoKwdD
座標データと、その座標の時のマウスイベントを配列にしたいんですけど、どういう風になるかわかりません・・・
詳しい方教えてください!
AS3を使ってます
584Now_loading...774KB:2008/10/21(火) 14:55:28 ID:XseoKwdD
↑解決しました!お騒がせしました・・・

続けての質問で申し訳ないのですが、actionscriptの変数をサーバに保存ってすることが出来ますか?
585Now_loading...774KB:2008/10/21(火) 16:22:43 ID:MHtQ4Izz
>>584
自己解決しろ。
586Now_loading...774KB:2008/10/21(火) 17:41:41 ID:L8Wez7VB
>>584
phpとかが必要
587581:2008/10/21(火) 23:40:35 ID:dHBRgGFa
>>582
わかりやすくしようとして逆にグタグタに書いてしまいました
ちなみに型を記述しなくても同じでした
ありがとうございます

結局
MyBitmap = event.target.content;
でいけました
これはキャストって事でOKなんですかね?
phpが基礎なんで型をイマイチ理解できなくて気持ち悪いです
もっと勉強します
588Now_loading...774KB:2008/10/22(水) 08:24:07 ID:vPeWKRwh
>>587
private var MyBitmap:Bitmap;
宣言時に型明示してるから。
使うときには付けちゃいかん。
○MyBitmap = event.target.content;
×MyBitmap:Bitmap = event.target.content;

private var i:int
って宣言したとして、使うときに
for( i:int = 0 ; i:int < n ; i:int++ )
{
  trace( i:int );
}
ってしないでしょ?
for( i=0 ; i<n ; i++ )
{
  trace(i);
}
589Now_loading...774KB:2008/10/22(水) 13:22:47 ID:xKPz3iMY
MCのalphaをマイナスにしていくScriptを設定しており、0になったら
MCの表示されなくなるようにしています。

なぜか3分ほどたてばそのMCがまた元通り表示されてるのですが、これは
Flash側の仕様でしょうか?
最初100で-10ずつしていくと、いつかはまた100にもどってしまう??のでしょうか?
590Now_loading...774KB:2008/10/22(水) 14:29:23 ID:OQolrfrY
>>589
以前似たような質問に答えたことがある。
alpha値トレースして見ればわかるが
_alphaをマイナスし続けると
-12794.140625になった次の瞬間プラマイが反転する
アルファが0以下になったらマイナス処理を止めればおk。
591Now_loading...774KB:2008/10/22(水) 15:36:48 ID:xKPz3iMY
>>590
ありがとうございます。
>>-12794.140625になった次の瞬間プラマイが反転する
というのがバグなのかFlash側がワザとしてるのかわかりませんが、
勉強になりました。
592584:2008/10/22(水) 16:00:29 ID:oS8uPxFK
SharedObjectを使えばデータを保存出来るとこちらで聞いたのですが、SharedObjectはローカルに
保存するための物だと聞きました。配列をサーバに保存するためのオブジェクトのようなものは無いのでしょうか?
あ、PHPの開発環境はあるので、そちらも踏まえて教えて頂ければ幸いです。
593Now_loading...774KB:2008/10/22(水) 20:05:38 ID:vO/uNSad
>>591
256/100倍した値が16ビット符号付整数でアンダーフローしただけだと思う
ただの未定義動作
594581:2008/10/22(水) 23:40:42 ID:kfyMLQPi
>>588
わかりやすく伝えようと思って書き間違えました、すみません。

>>584
AS⇔PHP⇔SESSIONでいいんじゃないですか?
595Now_loading...774KB:2008/10/23(木) 01:18:53 ID:Ndaj4IL8
>>592
AMFPHPでもつかえばいいんじゃない?
596584:2008/10/23(木) 11:28:27 ID:nePyFxI1
>>594
すみません、言っている意味が良く解りません。AS⇔PHP⇔SESSION
sessionとはPHPのsessionの事ですよね?

あと、配列は常に保存していつでも取り出せるようにしたいので、一時的な保存では駄目なのですが、
テキストデータにして保存→再度読み込みとかはできるのですか?
597Now_loading...774KB:2008/10/23(木) 11:40:02 ID:h1e6HhpM
>>596
まず、ウェブプログラム板いってPHPを使えるようになってから来なさい。
598584:2008/10/23(木) 11:45:38 ID:nePyFxI1
phpは多少ですが使えます。といっても自作の掲示板を作る程度ですが……

この関数を使えば良いんじゃない?などでも良いので、教えてください。
599Now_loading...774KB:2008/10/23(木) 11:50:00 ID:Ndaj4IL8
Flash Media Serverつかえば、SharedObject.getRemoteでサーバーに

保存できるで。FMSつかうのいやだったらフリーでは、Red5とかどうかね。
600Now_loading...774KB:2008/10/23(木) 12:03:55 ID:h1e6HhpM
>>598
flash.net.sendToURL
flash.net.URLRequest
flash.net.URLVariables

このへん調べればいいと思うよ。
601Now_loading...774KB:2008/10/23(木) 13:55:59 ID:1LYqd3WB
しったかしないで多少は自分で調べる努力しないと身につかないよ
actionscript phpとかで検索すればたくさんサンプルが見つかるよ
602584:2008/10/23(木) 16:32:38 ID:nePyFxI1
わかりました。後は自分でどうにかしてみます。答えてくださった皆さん。どうもありがとうございました。
603584:2008/10/24(金) 09:59:30 ID:DL3JCvGJ
あれかいろいろと試してみて、以下のソースを書いてみました。
on(release){
// ボタンが押されたら配列zahyoの値をサーバに保存
var req:URLRequest = new URLRequest("http://localhost/mmdb2/ex12/save.php");
req.method = URLRequestMethod.POST
var dataObject:URLVariables = new URLVariables();
for(var i:int=0 ; i < zahyo.length; i ++){
dataObject['itemArray[' +i+ ']'] = myArray[i];
}
req.data = dataObject
urlloader = new URLLoader();
urlloader.dataFormat = URLLoaderDataFormat.TEXT;
urlloader.load( req )


ボタンを押したらサーバに配列データが飛ぶ、というアクションです。
しかし、これをパブリッシュすると
URLrequestをロードできませんでした。
URLVariablesをロードできませんでした。
intをロードできませんでした。
と出てしまいます。これは何が原因なのでしょう・・・数時間調べましたが原因見つからず、助けてください。
あ、このソースはメインのレイヤーじゃなくて、ボタン用のレイヤーに書いてるんですけど・・・それは関係ないですよね?
配列のデータはメインのレイヤーに書いてます・・・
604Now_loading...774KB:2008/10/24(金) 11:25:34 ID:dcx0Nh8j
なんだ584は釣りだったのか。もう相手する必要ないな。
605584:2008/10/24(金) 11:58:39 ID:DL3JCvGJ
>>604
気に障ったのなら謝ります。でも、何で釣りになるんですか・・・?
ソース書いて意見求めるのは悪いことだったんでしょうか・・・?
606Now_loading...774KB:2008/10/24(金) 12:03:12 ID:r5cuLkts
テキストフィールドから文字列を取得する方法はどうすればいいんでしょうか?

例えば テキストフィールドにaiueoとあった場合

この文字コード(aiueo)はどのようなプログラムで取得できますか?
607Now_loading...774KB:2008/10/24(金) 12:39:21 ID:aFZspwZD
>>606
質問の意図がわかりにくいんだけど
flashからhtmlに書いてあるテキストフィールドの文字列を取得する
ってことであってる?

それならjavacriptでテキストフィールドの値をreturnする関数を書いて、
flashからその関数を呼び出せばOK
ExternalInterfaceを調べてください
608606:2008/10/24(金) 12:48:00 ID:r5cuLkts
すみません、少しおかしかったみたいなので訂正します。

今actionscriptでテキストフィールドを作って
そこに文字を表示させるようにしています。

その文字の文字コードを取得すればどうすればいいのでしょうか?

今タイピングソフトなるものを作っていて問題と解答を比較するため文字コードを取得
する方法が知りたいです。
609Now_loading...774KB:2008/10/24(金) 13:04:12 ID:aFZspwZD
>>608
charCodeAt()
あとはcharCodeでヘルプ内を検索すれば関連するものが出てくる
610606:2008/10/24(金) 13:17:01 ID:r5cuLkts
>>609
ありがとうございました。本当に助かりした。

続けて質問したいことがあります。もしよければ答えていただければ幸いです。

1分間とかの時間を表示するプログラムはどのようにすればいいですか?

例えば 01:00からカウントを始めて 00:59→00:58→・・・00:00という風に
カウントさせる時間表示はどのようなプログラムで表せますか?

何度も申し訳ありません。
611Now_loading...774KB:2008/10/24(金) 13:32:23 ID:aFZspwZD
>>610
AS2ならsetinterval
AS3ならtimerもしくはsetinterval

こういう場合は「actionscript カウントダウン」とか「actionscript 一定時間」とかでGoogle検索すれば
目的のものが見つかります
612606:2008/10/24(金) 13:51:40 ID:r5cuLkts
>>611
素早い解答ありがとうございました。
自分でもぐぐってはいたんですが時刻表示とかでぐぐってたので目的のものは見つかりませんでした。
参考にさせていただきます。
613Now_loading...774KB:2008/10/25(土) 13:21:43 ID:SP81MrFQ
配列にいくつかのpublicなプロパティ(uint型)とメソッドで構成された
カスタムクラスのインスタンスをいくつか並べていって

配列の任意の位置(例えば[1]と[5])のインスタンスを入れ替えたいのですが
pushやpopを使った配列の操作ではなく

var hoge:Hoge = new Hoge();   //カスタムクラスHoge型

  hoge = piyo[5] ;   //piyo[] = Hoge型のインスタンスが並んでいる
  piyo[5] = piyo[1] ;
  piyo[1] = hoge ;

こんな感じでやりたいのですが、うまくプロパティの値が交換できてないようなのです。

piyo[5]のプロパティを一旦逃がしておいてpiyo[1]のプロパティをpiyo[5]に代入
その後逃がしておいたpiyo[5]のプロパティをpiyo[1]に代入
これは上手くいくんですがなんだか冗長な気がして
もっとシンプルに書けるんじゃないかと考えているのですが・・・

var: Flash CS3 ( actionscript3.0 ) os: winXP SP2
614Now_loading...774KB:2008/10/25(土) 13:58:06 ID:SnHIMdjr
>>613
冗長?
一旦逃がすのが最もシンプルだと思うけど
615Now_loading...774KB:2008/10/25(土) 14:00:40 ID:HWoKV0z2
そのコードで new Hoge() してる理由がよくわからんけどロジックは問題ない
というかそれ以外にない
値が交換できてないというのは元の値か、または検証の仕方にミスがあるんだろう
616613:2008/10/25(土) 14:38:47 ID:SP81MrFQ
>>614
プロパティが5つあったとして(年齢、身長、体重、etc...)その分だけ行数が増えるのは冗長かなと・・・
インスタンスごとそっくりそのまま入れ替えれば極端な話1行で済むと考えたのです。
>>615
コードを眺めていて確かに私に見落としがあった事に気付きました
今ちょっと全体のプロセスの再構築を考えてますが多分解決できると思います。

レスありがとうございました
617Now_loading...774KB:2008/10/25(土) 16:08:06 ID:DPEHrMzZ
actionscript2.0から3.0にインポートする方法ってあります?今まで2.0で書いていたソースを3.0に書き換えたいのですが・・・
618Now_loading...774KB:2008/10/25(土) 22:28:24 ID:bvx8BuSy
初心者な質問申し訳ありませんが、
MCをX軸に沿って移動する場合で、加速・減速させて移動するというのは、
どういう風にしたらいいのでしょうか?
619Now_loading...774KB:2008/10/25(土) 22:40:29 ID:seNfItcA
>>618
AS2だとして

MC.hayasa = 0;
MC.kasoku = 1;

MC.onEnterFrame = function(){
this._x += this.hayasa;
this.hayasa += this.kasoku;
};
620Now_loading...774KB:2008/10/25(土) 22:59:07 ID:bvx8BuSy
>>619
ありがとうございました。
完ぺきです。
621Now_loading...774KB:2008/10/25(土) 23:13:52 ID:whWET4eS
>>618
いい事言うなあお前。
みんなが頭じゃわかっててもなかなか実践できない事を口に出して言えるなんざ大変な自信だよ。
それで出来てなかったらあのインチキ占いのバアさんと一緒だぞお前。
そんなに当たり前の事を言いたかったら尼さんにでもなってから説教したらどうだ。
622Now_loading...774KB:2008/10/26(日) 19:57:39 ID:ElEo00Ds
AS2使ってます。
外部テキスト(サーバに「load.txt」と置いてある)から変数を呼び出すのってloadvarで出来ますか?
出来ればサンプルも添えてお願いします。
623Now_loading...774KB:2008/10/27(月) 02:11:00 ID:l6Lq2dQh
624623:2008/10/27(月) 02:13:53 ID:l6Lq2dQh
>>622
間違えた・・・こっちだった

LoadVars を使用した変数のロード
http://livedocs.adobe.com/flash/9.0_jp/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00000889.html
625Now_loading...774KB:2008/10/27(月) 11:48:33 ID:le3XR5TQ
あ、すっごいありました;ども、ありがとうございます〜
626Now_loading...774KB:2008/10/27(月) 12:37:41 ID:le3XR5TQ
AS2ですけど、配列データからビットマップを生成するのってどうやるんでしょ・・・?
627Now_loading...774KB:2008/10/27(月) 13:45:47 ID:artWphsT
> 配列データからビットマップを生成するのって...

意味不明!
628Now_loading...774KB:2008/10/27(月) 14:01:28 ID:/ZnPapKf
カスタムクラスを外部asファイルで作って
そのインスタンスを作らずにaddChild()を使いたいんですけど(public static functionで)
やってみるとaddChild()って何?って感じになります

extends Spriteにしてインスタンスを作ると分かってくれるのですが
やっぱインスタンスを作らないとaddChild()は使えないのでしょうか?
629Now_loading...774KB:2008/10/27(月) 15:21:02 ID:le3XR5TQ
626です。すみません、書き方が悪かったです。
配列にX座標データとY座標データを入れてます。その座標データを下にビットマップデータ(絵として)
を生成したいんですけど、やり方がいまいちわかりません。だれか教えてください。
630Now_loading...774KB:2008/10/27(月) 20:18:55 ID:IIU4URDI
太陽と地球と月の関係(公転・自転)をAS2で作ろうとおもってます。
地球の回転を単なる円ではなく、楕円にしたいのですが、どうやればできまるか
631Now_loading...774KB:2008/10/27(月) 21:57:54 ID:81VeKM2f
>>630
楕円の数式探せば解決すると思われます
632Now_loading...774KB:2008/10/29(水) 14:24:40 ID:BHgMPhcZ
ある特定の文字を赤く表示させたり(強調など)するプログラムはどのようにすればいいですか?
633Now_loading...774KB:2008/10/29(水) 14:41:26 ID:AAZjYHVn
ttp://www.nicovideo.jp/watch/sm5066006
この動画みたいな(仕組みは違うと思うけど)、特定の場所をロールオーバーするとプルプル揺れるFLASHを作りたいです
↑の動画だとマウスの動く速度や角度で揺れ方に変化がありますが
そこまで再現しようとするとなんだかとても大変そうなので
とりあえず(マウスの動く速さや角度関係なく)ロールオーバーしたら画像が上下に揺れる動作を表現したいです
できればでいいので、ロールオーバーしたときのマウスの速さや角度も影響する方法もあれば教えていただけるとありがたいです
634Now_loading...774KB:2008/10/29(水) 14:47:42 ID:jCV2WNJW
private function keyDown(event:KeyboardEvent):void
{
tracetxt.text = "KeyCode > " + event.keyCode.toString() + "\n";
tracetxt.appendText("KeyLocation > " + event.keyLocation.toString() + "\n");
tracetxt.appendText("CtrlKey > " + event.ctrlKey.toString() + "\n");
tracetxt.appendText("ShiftKey > " + event.shiftKey.toString() + "\n");
tracetxt.appendText("EOF");
}

AS3 XP
シフトキーやコントロールキーを押しても、
shiftKey、ctrlKeyの値がfalseのままでした。
何が問題なのでしょうか。
keyCodeやkeyLocationは取得できてます。
635634:2008/10/29(水) 14:56:49 ID:jCV2WNJW
すいません。キーイベントをアップにしてたからのようです。
ダウンにしたら動作しました。
申し訳ないです。
636632:2008/10/29(水) 15:17:25 ID:BHgMPhcZ
本屋にいって調べたら見つかりました。
迷惑かけて申し訳ありません。
637Now_loading...774KB:2008/11/04(火) 16:31:54 ID:ezaAo5ny
配列データをFLASHからPHPに送り、テキストデータに保存という動作をしたいのですが、
var send2:LoadVars = new LoadVars();
var str2: String = String(loadzahyo);
send2.name = str2;
send2.sendAndLoad('URL',send2, 'POST');
配列データは数字です。
以上のソースを打つと、必ずPHP側に送信するデータの最初のnameとか言うのが勝手に入ってしまいます。
そのせいで再受信するときにString型として扱ってしまい、困ってます。数値データに変換すれば問題は無いのですが
それも馬鹿らしいです。どうすれば最初のnameと言う値を入れないように出来るでしょうか?
FLASHに詳しい方、教えてください。
638Now_loading...774KB:2008/11/05(水) 12:39:14 ID:W9kd5SLb
環境:WindowsXP + FlashMX(無印)

------------------ draw_mc
------------------ area_mc
ト 1_mc
ト 2_mc


1_mc〜100_mcの、あらかじめステージ上に配置されているムービークリップの
中心座標を取得してdraw_mc上に線を引きたいのですが、
[ No + "_mc" ]._x とtraceしても座標が表示されません。
どうしたらいいでしょうか?
639Now_loading...774KB:2008/11/05(水) 12:58:36 ID:M7DyNFk0
>>638

これこそeval()じゃないの?

mc = eval( 連番 + "_mc" );
trace( mc._x );


違ってたらゴメン...
640Now_loading...774KB:2008/11/05(水) 20:01:06 ID:VKFn3uST
AS3のデータグリッドで質問です。
行の選択をスクリプトで指定するにはどうしたらいいですか?
dg.selectedIndex = 5;
とかやっても選択状態になりません ><
641Now_loading...774KB:2008/11/05(水) 20:19:54 ID:VKFn3uST
自己解決しました
データグリッドにヘッダーを配置した場合には、
selectedIndex の値が +1 ずれるのだとわかりました
642Now_loading...774KB:2008/11/06(木) 01:28:30 ID:KHdPaZ0t
>>637
まったく同じscriptでためしたけど、POSTデータにnameなんて入らなかったよ
php側は、受け取るデータを$_POST['name']って書いてる?
643638:2008/11/06(木) 01:30:43 ID:KXDjmQm/
>>639
できました!evalの存在忘れてました…
ありがとうございます
644Now_loading...774KB:2008/11/06(木) 10:05:18 ID:XT3uVqiN
Flex3.0SDKで学ぶActionScript3.0入門の91ページに
「拡張子に2文字のasを使わないことです。asファイルは、パッケージの定義ファイルに決められているからです。」
と記述してありますがここでいうパッケージ定義とはなんのことでしょうか?
公式のリファレンス等調べたのですが拡張子は.asになっています。
もともと用意されているものと混在しないように分けているのでしょうか?


誰かたすけてくだしあ><
645Now_loading...774KB:2008/11/06(木) 12:09:42 ID:q49j7iw1
>>642
解決しました。何故かパブリッシュしなおしたら消えてた。……謎。
646Now_loading...774KB:2008/11/06(木) 12:59:53 ID:4bK/B7tE
>>644
たまたま同じ本を持っていたのでわかるんだが、
そこではMXMLファイル中のAS部分の切り出しの事を言ってる。
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
  <mx:Script>
    <![CDATA[
///////ここを別ファイルに記述することができるが、その時はasって拡張子は使わないでね。
    ]]>
  </mx:Script>
</mx:Application>

拡張子がasの場合
かならず
package
{
//ここでクラス定義など
}
という内容になる。

<mx:Script>の内側を外部ファイルに記述するときは
function hoge()
{
}

など、package{}で括らない。
これはパッケージ定義ではないので、.asという拡張子は使っちゃいかん。

ということ。
647Now_loading...774KB:2008/11/06(木) 13:34:41 ID:XT3uVqiN
>>646
本を読んだ限りではいまいち理解できずにいました。
丁寧な解説ありがとうございました。
648Now_loading...774KB:2008/11/06(木) 19:00:08 ID:NrfmQwnS

|   ● item598_mc

|   ■ item23_mc

|   ▲ item908_mc
| 
|   ★ item7_mc

↓y

FlashCS3、AS3.0です。
こんな感じでドラッグ可能な(addChildで動的に配置した)MCが並んでいます。
上から下にy座標が大きくなっています。
重ね順序も ●<■<▲<★ の順番です。

今、■ (item23_mc)を▲と★の間にドラッグすると
y座標は ●<▲<■<★ の順番になります。
このとき重ね順序もこの順に入れ替えたいのですが、どんなスクリプトを書けばいいでしょうか?
なお、このMCは4個だけでなく、必要に応じて10個〜100個ほど配置する予定です。

numChildrenで個数を取得してgetChildAtで総当りすればいいと思うんですが……
自分の頭ではこれ以上思いつきません。
どうかご教授よろしくお願いします。
649Now_loading...774KB:2008/11/07(金) 16:22:32 ID:3UxflK31
リストコンポーネントの特定のアイテムについて、
背景色や文字色を変更することは可能ですか?
650Now_loading...774KB:2008/11/07(金) 18:04:48 ID:3UxflK31
だれもわからないすか…orz
651Now_loading...774KB:2008/11/07(金) 18:24:15 ID:K2E2DqCi
CellRenderつかえばできるで
652Now_loading...774KB:2008/11/07(金) 18:24:55 ID:cNTJ9eMV
653Now_loading...774KB:2008/11/07(金) 18:26:47 ID:K2E2DqCi
こういう感じのasファイルつくっといて
package {
import fl.controls.listClasses.CellRenderer;
import fl.controls.listClasses.ListData;
import flash.text.TextFormat;
public class CustomCellRenderer extends CellRenderer {
public function CustomCellRenderer() {
var format:TextFormat = new TextFormat();
format.leading = -2;
format.size = 10;
setStyle("textFormat", format);
}
}
}

↓のように設定すればスタイルが変更できるとおもふ

list.setStyle("cellRenderer", CustomCellRenderer);
654Now_loading...774KB:2008/11/07(金) 18:47:25 ID:3UxflK31
情報少なくてすんません…環境はCS3でAS3.0でAirです。

「特定のアイテムの背景や文字色」という意味ですが、
「上から3個目のアイテムだけ」背景は黒で文字色が白にする
という感じなんです。

CellRenderer 使うと、全部の背景とかが変わるだけなんです… ><
655Now_loading...774KB:2008/11/07(金) 18:49:33 ID:K2E2DqCi
list.getItemAtで何番目かのアイテムを指定してそこにsetStyleすれば
できない?
656Now_loading...774KB:2008/11/07(金) 19:07:42 ID:3UxflK31
>>655
レスありがとうございます。
やってみると、
TypeError: Error #1006: setStyle is not a function.
ってエラーメッセージが出てきてしまいます。

---------- 以下ソース ----------
import fl.data.DataProvider;
import fl.controls.List;

var dp:DataProvider = new DataProvider();
var i:uint;
for(i=0; i<100; i++) { dp.addItem( { label: "Item " + i } );}

var list:List = new List();
list.setSize(100,300);
list.dataProvider = dp;
addChild(list);

list.getItemAt(10).setStyle("backgroundColor",0xFF0000);
657Now_loading...774KB:2008/11/07(金) 19:38:28 ID:K2E2DqCi
list.itemToCellRenderer(list.getItemAt(10)).setStyle("backgroundColor",0xFF0000);

これはどう?
658Now_loading...774KB:2008/11/07(金) 20:04:46 ID:3UxflK31
>>657
>list.itemToCellRenderer(list.getItemAt(10)).setStyle("backgroundColor",0xFF0000);
これでやると、コンパイルエラーが出るので

import fl.controls.listClasses.CellRenderer;
   +
var crItem:CellRenderer = list.itemToCellRenderer(list.getItemAt(10)) as CellRenderer;
crItem.setStyle("backgroundColor",0xFF0000);

でやってみました。
でも、

TypeError: Error #1009: Cannot access a property or method of a null object reference.
at List_fla::MainTimeline/frame1()[List_fla.MainTimeline::frame1:15]
at runtime::ContentPlayer/loadInitialContent()
at runtime::ContentPlayer/playRawContent()
at runtime::ContentPlayer/playContent()
at runtime::AppRunner/run()
at global/runtime::ADLEntry()

ってなるんです。 ><
659Now_loading...774KB:2008/11/07(金) 20:12:33 ID:K2E2DqCi
リストイベントで
itemToCellRenderer ( ListEvent.item )

こうだったらいけるんだけどねぇ。

イベント以外で設定する場合はどうしたらいいんでしょうかね。
660Now_loading...774KB:2008/11/07(金) 20:19:12 ID:3UxflK31
誰か天才PGさん、できれば、そこんところの知恵をください m(..)m
661Now_loading...774KB:2008/11/07(金) 20:59:27 ID:R4p+DKbz
複数のフレームを持っているムービークリップをrootの各フレームに一つずつ配置します。
このようなときに、ムービークリップのフレームも含め一フレームずつ進んでいく関数が欲しいのですがどのようにしたら実現できるでしょうか?

例えば以下のような事をしたいと思っています。

*mc1 - 内部に1から3のキーフレーム(A, B, C)を持つ
*mc2 - 内部に1から4のキーフレーム(Z, Y, X, W)を持つ
*root(シーン1) - 1フレーム目にmc1、2フレーム目にmc2が存在する。

この関数をrootで実行すると実行するごとにA, B, C, Z, Y, X, Wと進んでいく。


よろしくお願いいたします _ _ AS2です
662Now_loading...774KB:2008/11/07(金) 21:32:51 ID:3UxflK31
>>661
以下の関数とプロパティを、root、mc1、mc2 のそれぞれで使いこなせばOKじゃないすか?
mc.onEnterFrame();
mc.play();
mc.stop();
mc.totalFrames;
mc.currentFrame;
663Now_loading...774KB:2008/11/07(金) 21:36:06 ID:KxmCRZ/Y
>>661
各キーフレームにあるムービークリップをすべて取得して配列に格納
ムービークリップの_currentframeと_totalframesを比べて
_currentframe!=_totalframesならnextFrame()で進める、
_currentframe==_totalframesなら配列の次のムービークリップに移って同じ処理を繰り返し
配列の最後のムービークリップの最後のキーフレームまでいった今度は_rootをnextFrame()で進める

でどう?
664Now_loading...774KB:2008/11/08(土) 00:54:54 ID:xpZI9wM7
>>662-663
ありがとうございます!仰る方法で出来ました!
665Now_loading...774KB:2008/11/09(日) 02:15:37 ID:F6BM5Pck
ttp://www.nicovideo.jp/watch/sm4488846
この動画の乳揺れみたいな動きを作りたいのですが
ASはどう組めばいいですか?
それともASで動きを表現するよりパラパラマンガみたいにしたほうがいいでしょうか
666Now_loading...774KB:2008/11/09(日) 02:23:58 ID:tzJmsANm
んな事聞くなw
667Now_loading...774KB:2008/11/09(日) 17:50:21 ID:dsn9F6OI
円が5つほど並んでいて、1つの円にマウスを乗せると
その他の円の色が薄くなる...なんてことがやりたいんですが
どのようにスクリプト組んだらよいんでしょうか?

プログラムとは無縁の人生を歩んできて、全然分からんですorz

AS3です。よろしくお願いします
668Now_loading...774KB:2008/11/09(日) 21:38:05 ID:STKA2b0k
>>667
すべての円の色を薄くする
マウスを乗せた円だけ元の色の薄さに戻す

の順に処理すればOK
669667:2008/11/09(日) 21:54:38 ID:dsn9F6OI
>>668
あー、そうやって考えるんですね(^^;
ありがとうございます!やってみます!
670Now_loading...774KB:2008/11/10(月) 03:16:05 ID:P3U77PQJ
円1にマウスが重なったら、円2,3,4,5を薄く
円1からマウスが離れたら、円2,3,4,5を濃く
円2に・・・


とか考えたおれは終わっとる orz
671Now_loading...774KB:2008/11/10(月) 09:16:13 ID:BfnNReFK
>670
>668の処理を2つ同時にやってるだけで、終わってなんかないぞ
672Now_loading...774KB:2008/11/10(月) 21:35:18 ID:C+2S6tX+
個別に考えた場合
実際にスクリプトにすると場合分けが余分に入っちゃうよ
673Now_loading...774KB:2008/11/10(月) 21:36:35 ID:dFxlo3ew
LoadVarsをつかって外部ファイルからテキストをダウンロードする動作で質問があります。
var load_vars3:LoadVars = new LoadVars();
var timearray:Array = newArray();
load_vars3.onLoad = function(seikou) {
var lo_str3: String = String(load_vars3);
timearray = lo_str3.split(",");
trace("jikan2------------------------------"+ filename3[1]);
}
load_vars3.load('http://localhost/mmdb2/ex14/saveload/jikanload.php');
trace("aaa"+timearray3[1]);

以上のソースだと{}内のtimearray3[1]は値が表示されるのに
{}外のtimearray3{}では値が表示されません。これは仕様でしょうか?
{}の外でもこの変数を使うことは出来ないでしょうか?
674Now_loading...774KB:2008/11/10(月) 22:10:40 ID:G9Y5etmN
>>673
順番理解してますか?

1.↓で読み込む
load_vars3.load('http://localhost/mmdb2/ex14/saveload/jikanload.php');

2.読み込みが完了したら↓の関数が呼び出される(onLoadっていうのはそういう意味)
oad_vars3.onLoad = function(seikou) {〜}

読み込みが終わってはじめてtimearrayの配列に値が入るのだから、
{}の外に書いておいたら読み込みが終わってるかどうかわからない
当然読み込みが終わってなければ値が入ってないから何も出てこない

仕様とかじゃなく、ちゃんと処理の順序を考えてからスクリプトを書かないとダメ
675Now_loading...774KB:2008/11/11(火) 12:16:43 ID:tS7FnFxO
>>674
読み込みは出来てますし、値も入ってます。サンプルにも.loadは外に書いてましたし……
ですが、traceを{}の外に書くと値が入らないのです。やはり処理は{}内でしてしまわないと行けないのでしょうか?
ですが、それだと若干不便なんですよね……
676Now_loading...774KB:2008/11/11(火) 12:22:10 ID:s+AxHEnB
>>675
>>674の話聞いていますか?
677Now_loading...774KB:2008/11/11(火) 12:48:09 ID:9HgAjqUH
>>675
良く読むよろし。

↓行頭の数字は処理が行われる順番。

1:var load_vars3:LoadVars = new LoadVars();
2:var timearray:Array = newArray();
5:load_vars3.onLoad = function(seikou) {//読み込みが完了したら実行される
6:var lo_str3: String = String(load_vars3);
7:timearray = lo_str3.split(",");
8:trace("jikan2------------------------------"+ filename3[1]);
9:}
3:load_vars3.load('http://localhost/mmdb2/ex14/saveload/jikanload.php');//これを書いたからと言ってこの後の処理が止まる事はない。
4:trace("aaa"+timearray3[1]);//上に続いて即座に実行される。

onLoadの方がtraceより後に実行されるんですよ。
678Now_loading...774KB:2008/11/11(火) 14:55:41 ID:tS7FnFxO
>>677
処理の順番は理解しました。
ってことはfilename3[1]の値を{}の外で使うことは無理、と言うことですよね?
679Now_loading...774KB:2008/11/11(火) 16:08:05 ID:s+AxHEnB
>>678
読み込まれたらそのデータを使って実行すればいいじゃん。
実行する関数とかを用意してonLoad内で使うとか。

load_vars3.onLoad = function(){

func();
}
function func(){
trace("aaa"+timearray3[1]);
}
とか。
680Now_loading...774KB:2008/11/11(火) 19:04:00 ID:9HgAjqUH
> ってことはfilename3[1]の値を{}の外で使うことは無理、と言うことですよね?
やりたい事がよくわからんが、「無理」。
>>379の言うとおりにすれば済むと思う。
681Now_loading...774KB:2008/11/11(火) 22:22:33 ID:CgadPXfu
配列の最後の要素(のメソッド)を参照したいのですが

hoge[hoge.length - 1].test();

これで一応上手くいくのですが、[hoge.length - 1]と同義の書き方(メソッド)ってありませんか?
例えば

hoge.lastIndex.test();

みたいな感じだとスッキリしていいなと考えてるのですが
682Now_loading...774KB:2008/11/12(水) 08:31:22 ID:XGXhLvAx
あるかないかぐらいリファレンス見ればわかるだろ
683Now_loading...774KB:2008/11/13(木) 23:29:19 ID:yTFWB6uq
timearray = lo_str3.split(",");
trace("aaa"+timearray3[1]);

timearray≠timearray3
684Now_loading...774KB:2008/11/14(金) 00:10:39 ID:sgLZW8wp
>>650
こんな感じでできない?

public class MyCellRenderer extends CellRenderer {
 public function MyCellRenderer():void {
  super();
  addEventListener(Event.RENDER, onRender);
 }
 private function onRender(event:Event):void {
  if (listData.row == 3) {
   setStyle( 省略 ); // 3行目だけのスタイル
  } else {
   setStyle( 省略 ); // それ以外の行のスタイル
  }
 }
 ...
}

renderイベントじゃなくてもっと適切なイベントがあるかもしれん。
renderイベントのかわりにset function listDataをoverrideしてそこで
setStyleしてもいいかもしれん。

わしFlexSDK使いでCS3はよく知らんのではずしてる鴨。そしたら御免。
685Now_loading...774KB:2008/11/16(日) 03:38:14 ID:Mu5rd608
AS2です。再帰呼び出しの練習をしているのですが、どうにも上手くいきません。
タイムライン上で行いたいのですが、どなたか参考になるサイトを知りませんか?
686Now_loading...774KB:2008/11/16(日) 13:20:19 ID:AiPpsQnN
再帰呼び出しっちゅーのが階層構造になってるナニカを掘り起こすってことなら、
ループ回してfunctionに渡せばできるんじゃね。
687Now_loading...774KB:2008/11/16(日) 22:15:15 ID:dlmMy+08
>>685
再帰呼び出しってのはこういうこと。

function getFolderTree( param ){


}
688Now_loading...774KB:2008/11/16(日) 22:17:34 ID:4QwCFQrD
よくわかった
689687:2008/11/16(日) 22:24:20 ID:dlmMy+08
なんかいきなり送信されてフイタ。

function getTree( someStructure ){
var obj = new Object();
for ( var elem in someStructure ){
if ( typeof( someStructure[ elem ] ) == "object" ){
getTree( someStructure[ elem ] ); // これ
}
obj.elem = someStructure[ elem ]
}
return obj;
}

こんな感じ。関数自身からその関数を呼び出す。
上手く組めば、スマートに処理を記述できる。
690Now_loading...774KB:2008/11/17(月) 12:36:33 ID:JMUpS/hi
>>685
再帰的な処理をフレーム単位で順次行いたいってことかな?
そういうことであれば、まず再起処理をループ処理に書き換えてあげる必要があるな。

たとえば木の処理でいうと、現在処理してるオブジェクトをスタック(用の配列)にpush
しながら、末端まで子のほうに進み、それが完了したらpopしながら親の方に戻ってきて、
スタックが空になったら終了みたいな。
691Now_loading...774KB:2008/11/17(月) 22:20:13 ID:TJSFa8G/
comenというダイナミックテキストフィールドの中に変数text(中身は文字列"こんにちわ〜〜〜〜〜〜〜〜")
と言うデータを「右から左に流れるように」表示したいのですが、どうやったら出来るでしょうか?
そのまま表示させるのは出来るのですが、あまりにも味気ないので・・・
692Now_loading...774KB:2008/11/17(月) 22:39:12 ID:vp89t3CX
>>691
comenをENTER_FRAMEイベントでちょっとずつ右から左へ動かしてやれば?
693Now_loading...774KB:2008/11/17(月) 23:41:56 ID:xZ4ZR7WK
初心者ですが、質問です。
MySQLのデータをActionScriptで呼び出し、
直接ブラウザに表示するようなことは可能ですか?

参考になるURL・参考書等教えていただけますでしょうか。
694Now_loading...774KB:2008/11/18(火) 00:04:40 ID:1H3h1BJs
>>693
直接ブラウザにっていう意味がわからないけど
javascriptと連携させれれば出来るよ
695Now_loading...774KB:2008/11/18(火) 00:34:34 ID:B5B7MO5z
>>694
回答ありがとうございます。

追加で質問なんですが、
表示だけでなく、編集・削除などは可能でしょうか?
696Now_loading...774KB:2008/11/18(火) 01:39:24 ID:cbv81oW+
どういう環境で実施するのか書かなけりゃそんなの答えられねぇ
flash remoting でググレカス
697Now_loading...774KB:2008/11/18(火) 03:23:22 ID:i0jPBEQt
あるイベントを下のように処理している最中に
新たにユーザイベントが発生してイベントハンドラであるhogeが呼ばれる事はあるのでしょうか?

function hoge(event:MouseEvent):void
{
    .
    .
    .
    removeEventListener(MouseEvent.MOUSE_DOWN, hoge)
}

698Now_loading...774KB:2008/11/18(火) 12:38:53 ID:fOopb5BJ
>>697

質問の意味がよく判りませんが、
removeEventListener()は、イベントリスナを解除するメソッドだよ。

マウスダウンした時にhogeメソッドのコールを解除するという意味
699Now_loading...774KB:2008/11/18(火) 17:10:42 ID:4Jf8XWjw
>>697
自分も詳しくないから正確にはわからんけど多分ありうるんじゃないかな?(間違ってたらスマソ)
でも、心配ならまっさきにリスナを削除してから処理を始めればほぼ問題ないんじゃない?

function hoge(event:MouseEvent):void
{
removeEventListener(MouseEvent.MOUSE_DOWN, hoge);
.
.
.
}
700697:2008/11/18(火) 22:33:32 ID:i0jPBEQt
>>698
ありがとうございます
ASはシングルスレッドで処理されるみたいなので
並行して関数が処理される事はないみたいですが
解除前にユーザイベントが発生した場合
イベントを受け付けるのかどうか気になったので

>>699
ありがとうございます
しばらくそうしてみます


色々とテストしてみようと思います
701Now_loading...774KB:2008/11/19(水) 01:26:10 ID:acvRT9W3
>>700
おれもこの状況でイベントハンドラが呼ばれてしまうか知りたい。

ASがシングルスレッドなので自分の書いたコードが同時に走るることはないんだけど、
イベントってなんか、イベントキューにとりあえず放り込まれてからあとで順次イベントハンドラが
呼ばれていくっていうイメージがあるんで、イベントハンドラ内で自分をremoveEventListnerしても
すでにキュー内に放り込まれた分はイベントハンドラが呼ばれちゃうんじゃないかなぁ、と勝手に想像。
なので、おれはフラグも併用するよ。

var hogeDisabled:Boolean = false;
function hoge(event:MouseEvent):void {
 if (hogeDisabled) return;
 ...
 removeEventListener(MouseEvent.MOUSE_DOWN, hoge);
 hogeDisabled = true;
}

呼ばれないことが保障されているんだったら、これメンドイのでもう止めたいんだが…
実際のとこどうなんでしょうね?
702Now_loading...774KB:2008/11/20(木) 18:12:08 ID:9189OEr0
ActionScriptでオブジェクトの型を取得する方法ってありませんか?
JavaのgetClass()のようなものなんですが・・・
703Now_loading...774KB:2008/11/20(木) 22:10:39 ID:uULu3Uwi
>>702
やったことないけど、AS3ならflash.utilsパッケージの
getQualifiedClassName()とgetDefinitionByName()を使えばできそう。

import flash.utils.*;

function getClass(value:*):Class {
 return getDefinitionByName(getQualifiedClassName(value)) as Class;
}

ttp://livedocs.adobe.com/flex/3_jp/langref/flash/utils/package.html
704Now_loading...774KB:2008/11/21(金) 09:00:28 ID:9jPsFZ45
>>703
なるほど
試してみます
レスどもでした
705Now_loading...774KB:2008/11/23(日) 15:48:53 ID:4c/p5nwC
今までActionScript2.0でゲーム作ってました。
CS3を手に入れたので3.0でのゲーム作りを始めたいのですが、
入門に何かいい本・サイトはありますでしょうか。
特にゲーム製作について触れている本だと嬉しいです。
706Now_loading...774KB:2008/11/24(月) 00:14:29 ID:EbSHYAt6
>>705
ゲームのノウハウは2.0でも3.0でも変わらないっしょ
3.0で出来ることとかスクリプトの書き方は変わってるけど

とりあえずActionScript3.0入門ノートでいいんじゃない?
707Now_loading...774KB:2008/11/24(月) 00:26:37 ID:Lk0cfCX4
>>706
ありがとうございます 確かに仰るとおりですね
amazonで評価見てもなかなか良さそうなのでとりあえずそれを買ってみることにします
708Now_loading...774KB:2008/11/24(月) 16:09:31 ID:7rz0DxgB
別のスレでも質問したのですが、そちらは今忙しいようですのでこちらで質問させていただきます。失礼に当たりましたらすみません。
AS2を使っています。
flvplaybackに巻き戻し機能を追加したいと思っているのですが、どうにも上手くいきません。
seekを試してみたのですが、seekはフレーム間移動のようですので、正確な時間指定が出来ないで困っています。
「現在の動画の再生状況-3秒」で再生をさせるにはどのようにしたら良いのでしょうか?
ボタンをぽちっと押したら3秒前の動画に移る、と言うようにしたいのです。どうか力を貸してください。
709Now_loading...774KB:2008/11/24(月) 19:48:29 ID:EbSHYAt6
>>708
seekで指定した時間ぴったりのところにflvのキーフレームがない場合、一番近いキーフレームに丸め込まれる
なのでflvエンコード時に自動でキーフレームを入れるとか、キーフレームの間隔が広いと多分一見ちゃんと動かないようにみえる
でもこれは仕様通りの動き

対策はキーフレームを1フレームごととか細かく打ち込むこと
710Now_loading...774KB:2008/11/26(水) 13:45:45 ID:vmlLnb/q
as 3.0 に変更してほとんどわからなくなってしまったんですけど、
外部テキストを読み込んで表示させるというasは
-------------------------------------------------------
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
loader.addEventListener(Event.COMPLETE, onCompleteHandler);
System.useCodePage = true;
loader.load(new URLRequest("text.txt"));
function onCompleteHandler(event:Event):void {
var vars:URLVariables = event.target.data;
news.htmlText =vars.bun;
}
-------------------------------------------------------
このScriptで行けたんですが、この外部テキストに
よくありがちな
bun1 = 本文・・・・・&
&bun2 = 本文・・・・&
&bun3 = 本文・・・・&
&bun4 = 本文・・・・&
&bun5 = 本文・・・・&
って感じの中身のテキスファイルを
i++;
if (_root["news"+i] == undefined) {
i = 1;
}
を使って作りたい場合のScriptってどうすればいいんでしょうか?
誰か教えて下さい。いろいろ調べてみたんですが、1週間たった今も解読
出来ません(;_;)
711Now_loading...774KB:2008/11/28(金) 01:12:02 ID:0pxCkx94
質問の意味が良くわからんがこういうことか?

function onCompleteHandler(event:Event):void {
var vars:URLVariables = event.target.data;
var dataArray:Array = new Array();
for (var a:String in vars){
dataArray.push(a);
}
for (var i:int=0; i<dataArray.length; i++) {

//テキストフィールドを直接配置してそこへ全部表示するならこっち
news.htmlText += vars["bun"+ String(i+1)];

//テキストフィールドをシンボルにしてclass名NEWSでリンケージ設定してインスタンスをつくるならこっち
var mc:NEWS = new NEWS();
mc.name = String(i);
mc.news_txt.text = vars["bun" + String(i+1)];
mc.y = mc.height * i;
addChild(mc);
}
}
712Now_loading...774KB:2008/12/11(木) 16:12:52 ID:hJ43Swco
AS3でお聞きしたいのですが。
こういったものを
function createNavigation() {
var button1:MyButton;
button1 = new MyButton(myXML.site[0].name);
button1.x = 100;
button1.y = 200;
button1.addEventListener(MouseEvent.CLICK, onBtn1Clk);
addChild(button1);

var button2:MyButton;
button2 = new MyButton(myXML.site[1].name);
button2.x = 250;
button2.y = 200;
button2.addEventListener(MouseEvent.CLICK, onBtn2Clk);
addChild(button2);

var button3:MyButton;
button3 = new MyButton(myXML.site[2].name);
button3.x = 400;
button3.y = 200;
button3.addEventListener(MouseEvent.CLICK, onBtn3Clk);
addChild(button3);
}


713Now_loading...774KB:2008/12/11(木) 16:14:43 ID:hJ43Swco
function createNavigation() {
for (; ; ) {
if (i >= 3) {
break;
}
var button[i]:MyButton;
button[i] = new MyButton(myXML.site[hoge].name);
button[i].x = 400;
button[i].y = 200;
button[i].addEventListener(MouseEvent.CLICK, onBtn[hoge]Clk);
addChild(button[i]);
i ++;
}
}
という風にまわす事って可能なんでしょうか?
変数を配列化したいのですが、やり方がわからないんです。
どなたか教えてもらえないでしょうか?
714Now_loading...774KB:2008/12/11(木) 16:43:19 ID:MBq3RlO9
試したの?
Arrayは知らないの?
715Now_loading...774KB:2008/12/12(金) 16:13:50 ID:BJWvb1Th
質問です! (環境; ActionScript2.0、flash6 、winXP)

Soundクラスのpositionプロパティについて質問。
再生中の音声を stop() メソッドで止めても positon プロパティが 0 にならなくて困ってます。
このプロパティを 0 にするにはどうしたらいいのでしょうか。( 0 を代入しても変化ありませんでした)

何故困るかというと、このプロパティを使って再生中か停止中かを判断しているからです。
再生が終了したときに発生するイベントとフラグのための変数を使えばこの判断が出来ることは
分かっているんですがスマートじゃない気がして・・。 ご意見お願いしますm(_ _)m
716715:2008/12/12(金) 16:25:40 ID:BJWvb1Th
ついでに質問、positonプロパティに代入が出来ないということは、曲の途中から再生したり、
曲を1分前に巻き戻して再生したりすることも出来ないということでしょうか。

ムービークリップのタイムラインに曲を貼り付け、ムービークリップのフレーム移動を利用すれば
これらが出来ることは知ってますが、外部ファイルの音声ファイルをSoundクラスにロードした場合はどうすればいいんでしょうか。
717715:2008/12/12(金) 16:38:31 ID:BJWvb1Th
すみません、>>716の質問はぐぐったら見つかりました。 startメソッドの引数にどこから再生するかを
指定出来るそうで、失礼しました。 >>715はフラグ変数を使うしか無い気がするのでとりあえずそれで実装しておきます。
718Now_loading...774KB:2008/12/12(金) 22:41:37 ID:N1xTXwsV
>>717
positionとdurationを比較したら出来るんじゃね?
719715:2008/12/13(土) 09:10:48 ID:KayOQsKS
>>718
その方法だとstopメソッドを使って停止している状態でも再生中と判断されてしまうんです。
720Now_loading...774KB:2008/12/13(土) 16:05:21 ID:2ucFX3jZ
>>715
イベントサウンド再生時の二重再生防止でフラグ使うのが半ばデフォだったりする。
フラグ使いたくないってのが良くわからないな。
721715:2008/12/13(土) 20:35:22 ID:KayOQsKS
>>720
二重再生防止は>>718の方法で出来るのでフラグは不要だと思うんですが、
フラグを使うのは何故ですか?
722Now_loading...774KB:2008/12/13(土) 21:07:27 ID:tVHNlKLI
んじゃonSoundCompleteをフラグ代わりに使うのはどう?
終了したらundefinedになるようにして、undefinedか否かで判定
723Now_loading...774KB:2008/12/13(土) 23:34:15 ID:SPXKTnXO
いや二重再生ってloadSound("sound",false)でfalse、イベントサウンドに指定した時に
再生中にsound.start()させるとダブって再生されること。
position、duration関係ない、よ、な?
イベントサウンドの場合は再生フラグを使うのが普通。
ストリーミングサウンド(第2引数がtrueで)使ってるならフラグは必要ない。

>>722
onSoundCompleteは途中で止めたときは呼び出されないから
ポーズボタンとかストップボタン使ってる場合は「再生中」の判定には使えない。

724715:2008/12/14(日) 07:24:03 ID:Dn4mqZFm
>>722
音声の再生がstop()されているかどうかの判定はそれでは出来ないですね、
でもそういうことも出来るとは知らなかったので参考になりました、ありがとうございました。

>>723
このコードでも二重再生になってしまうんですか? こちらで試したところ二重再生はおきませんでした。

var sound:Sound = new Sound(myMC);
sound.loadSound("sound.mp3", false);

~~~~~~
if ( sound.position == 0 || sound.position == sound.duration )
{ sound.start(); }

何か勘違いしていたらすみません。^^;
725Now_loading...774KB:2008/12/14(日) 09:49:51 ID:4/AKrwF0
>>724
なるほど、で、そうしたところ途中でストップさせるとpositionが0にならないため
リスタートが出来なくなると、、、で>715の質問、て訳か。
sound.positionをonEnterFrameで監視させてpositionが動いてなければ停止中。
みたいなことも出来なくもないだろうけど

if(!flag){
sound.start()
flag=true
}
ストップ又はonSoundCompleteでフラグをfalse
としたほうがはるかにスマートだと思うけどな。


726715:2008/12/14(日) 13:07:10 ID:Dn4mqZFm
>>725
うーん、やっぱりそれしか無いんですかね。
自前でフラグ変数を用意しないと再生中かどうかが分からないような不便な仕様になってるはずがないと
思ってこちらで質問したんですが、この通りの仕様だったんですねorz

「stopをしたらその時のposition値が返り、positionは0になる」 みたいな仕様だったらフラグが
要らずに済んだんですけどねぇ。

まあ、そういうものだと思って諦めます。 お付き合いして下さった皆様、本当にありがとうございましたm(_ _)m
727Now_loading...774KB:2008/12/15(月) 16:01:52 ID:tdhBWlcQ
FLASHで動画をストリーミングして再生、と言う動作をしたいのですが、
ストリーミングが終わってから再生させるにはどういった事をすればいいのでしょうか?
AS2使ってます。
728Now_loading...774KB:2008/12/15(月) 16:41:10 ID:1MnVWu4c
プログレッシブダウンロードさせて、
ダウンロードが完了したら再生でいいのかな?
729Now_loading...774KB:2008/12/15(月) 16:46:41 ID:tdhBWlcQ
>>728
プログレッシブダウンロードは良く解りませんが、恐らくそうです。
flvplaybackコンポーネントを使って、ストリーミングをしています。
730Now_loading...774KB:2008/12/17(水) 10:46:33 ID:VPOVxTsF
質問させてください。
addItemしたコンボボックスに対してselectedIndexは発行できないんでしょうか?
何を指定しても一行目が選択されてしまい、困っています。

例えば、ComboBox1.selectedIndex = -1; でも聞いてくれません。

ちなみにコンボボックスのパラメータのdataとlabelは全てカラです。
値が入っているコンボボックスにはちゃんと効いてくれます。
731Now_loading...774KB:2008/12/17(水) 12:36:26 ID:VNOXfWSH
素人な自分ならこうするという案、スルー推奨。 ”カラじゃない状態にして効かしてからカラに戻す”
732Now_loading...774KB:2008/12/19(金) 17:39:06 ID:jOkc/iMQ
環境:Flash CS3 actionscript3 WinXP Pro
描画APIで背景にラインを並べて描こうとしているのですがforでループさせようとすると上手く描いてくれません。

public function DocumentClass()
{
graphics.lineStyle(1,0x000000,1);

graphics.moveTo(0,0);
graphics.lineTo(stage.stageWidth,0);//試しに描いてみる

graphics.moveTo(0,5);
graphics.lineTo(stage.stageWidth,5);

graphics.moveTo(0,10);
graphics.lineTo(stage.stageWidth,10);//ここまではちゃんと表示される

for( var i = 15; i >= stage.stageHeight; i+5 )
{
graphics.moveTo(0,i);
graphics.lineTo(stage.stageWidth,i);//ここの処理をしてくれない
}
}
733Now_loading...774KB:2008/12/19(金) 19:02:32 ID:z47On4Z3
>= は向き逆じゃね?
734732:2008/12/19(金) 20:19:23 ID:jhSArVUB
>>733
それも試したんですけど(というよりそれが正しいはずなんですけど)
それやるとタイムアウトエラーになっちゃって・・・
735Now_loading...774KB:2008/12/19(金) 20:58:22 ID:Mr/Xo6qM
>>734
i+5 ×
i+=5 ○
736Now_loading...774KB:2008/12/19(金) 21:04:27 ID:z47On4Z3
iの中身がずっと同じままだから無限ループになってたわけね。
737732:2008/12/19(金) 21:09:21 ID:XjP36bAM
>>736
ありがとうございます。
解決確認しました。

勉強になりました。
738732:2008/12/19(金) 21:13:06 ID:XjP36bAM
訂正
>>735-736
739Now_loading...774KB:2008/12/20(土) 11:35:33 ID:LGxK+slm
オブジェクトのクラス名って、どう取得するの?
trace(typeof(obj))
としたら、object としか出てこない。
740Now_loading...774KB:2008/12/20(土) 13:17:05 ID:WBkiiFmw
instanceof
741Now_loading...774KB:2008/12/20(土) 14:04:13 ID:8bR9Q062
getQualifiedClassName()
でオブジェクトの完全修飾クラス名を取得できる
742Now_loading...774KB:2008/12/20(土) 14:08:45 ID:nfVD/qNj
>>739
flash.utils.getQualifiedClassName()
743Now_loading...774KB:2008/12/20(土) 23:23:09 ID:LGxK+slm
拾えました。ありがとうございます。
744Now_loading...774KB:2008/12/22(月) 18:07:21 ID:jqgt1mZp
>>463
一応対策して敷居を上げておくのは悪くないけど
それでも破られたらあきらめる覚悟で。
絶対というならサーバー側で全部やるのが普通

ゲームの場合はハックできたほうがおもしろいんだけどね
ーーー

あと質問を・・・
Flex Builder3でmx:Textareaにログを表示しようとしてるんだけど
末尾に追加してスクロールってどう書けばいい?
745744:2008/12/22(月) 20:37:45 ID:jqgt1mZp
自己解決したのでソース晒し

private function log (message:String):void {
logtext.text += message + "\n";
trace (message);

// 一番下までスクロールしてある時だけ自動スクロールする
if(logtext.verticalScrollPosition == logtext.maxVerticalScrollPosition)
callLater(function():void {
logtext.verticalScrollPosition = logtext.maxVerticalScrollPosition
});
}
746Now_loading...774KB:2008/12/23(火) 20:22:52 ID:WkTx/WIi
public class foo{}
public class bar{public var hoge:Class = foo;}

このときhogeには特定のI/Fや基底クラスを実装しない
クラスは入れられない、とかできないでしょうか?
747Now_loading...774KB:2008/12/23(火) 22:03:16 ID:vOoIZiOX
public class foo{}
public class foofoo extends foo{}
public class bar{public var hoge:foo = new foofoo();}

入れる変数の型名を基底クラスにすればそのクラスまたはそれを継承したクラスでないと入らない
こういうことでいいのかな?
748Now_loading...774KB:2008/12/23(火) 22:39:53 ID:GYdH4aeo
>>746
hogeをsetter/getter化してsetterでチェックしたらどうかね?
public class bar {
 private var _hoge:Class;
 public function get hoge():Class { return _hoge; }
 public function set hoge(value:Class):void {
  if (valueが条件を満たしたクラスでない) { throw new ArgumentError(); }
  _hoge = value;
 }
}
749Now_loading...774KB:2008/12/23(火) 23:02:38 ID:GYdH4aeo
>valueが条件を満たしたクラスでない
flash.utils.describeType()でクラスオブジェクトから型情報を取得して
<factory>タグ内の<extendsClass>, <implementsInterface>を調べれば判定できる。
750Now_loading...774KB:2008/12/23(火) 23:40:12 ID:RYdj5A5g
actionscriptで_root.test.onEnterFrame = function(){}
をdelete _root.test.onEnterFrame で消せるのはいいが、
呼び出すのはどうしたらええの?
751Now_loading...774KB:2008/12/23(火) 23:46:47 ID:RYdj5A5g
あと、setVolume()のsetSeek()みたいな
サウンドオブジェクトの再生時間を移動させるメソッドってない?
seek()使ってみたんだけどどうも、seek()の部分だけ働かない可能性が高い。
使ってるflashはsuzukaの最新版
752Now_loading...774KB:2008/12/25(木) 05:57:47 ID:tjRRZNyf
actionscript3で処理をブロックさせたいのですが...(以下のような擬似コードを書きたい)
/*** giji ***/
func1(); sleep(1000);
func2(); sleep(1000);
...

こういうのってTimerオブジェクトとかsetInterval()でやるんですよね?例えば

timer1 = new Timer(1000, 1);
timer1.addEventListener(TimerEvent.TIMER, func1());
timer1.start();
timer2 = new Timer(1000, 1);
timer2.addEventListener(TimerEvent.TIMER, func2()); //timer2のイベントを待ちたいが...
timer2.start();

とかやってもtimer1が吐くイベントでfunc2が実行されますよね?
func1の中にtimer.start();とaddEvent..(..,func2);を書くのかな?

どう書くのがよいのか教えてください。
753Now_loading...774KB:2008/12/25(木) 12:26:55 ID:a5IOHM3o
ぐぐればいくらでも出てくる件
754754:2008/12/25(木) 14:58:55 ID:tjRRZNyf
イベントハンドラ介して、その中でもうひとつのTimerをスタートさせるでいけますね。
addEvent..でfunc1を直接追加しようとしてたのが間違いでした。。
(ぐぐるとこういう例が多く見つかるので。。)

timer.addEvent..(TimerEvent.TIMER, hdl1);
timer.start();
function hdl1(){func1(); timer2.addEvent..(Timer.., hdl2); timer2.start();}

追加で質問したいんですが、非同期処理(wait(), notify())を実装してる参考ページ
ってありますか?どなたかご存知でしたらよろしくお願いします。
755Now_loading...774KB:2008/12/25(木) 17:28:06 ID:a+F/4h53
>>754 これはそうめんの出番か?!
756Now_loading...774KB:2008/12/26(金) 02:17:14 ID:F97Dkqy2
すいませんAS3.0に関して3つ質問です。
使っているのはAdobe Flash CS4です。

AS3.0では createTextField が消えてしまったのですが
連番のテキストフィールド
(tx1,tx2,tx3・・・みたいな共通の名前+数字があるもの)を
作る時、配列を使って

var arr:Array=new Array();
for (var i:Number = 0; i < 5; i++ ) {
arr[i] = new TextField();
}

で一応、作れたのですが(これをやり方Aとする)、配列アクセス演算子を使って

for (var i:Number = 0; i < 5; i++ ) {
this["tx"+i] = new TextField();
}

でもできます(これをやり方Bとする)。そこで疑問に思ったんですが
(質問1) やり方Aは配列にテキストフィールドを入れたことになるんでしょうか。
(質問2) やり方AとやりかたBのどちらがいいんでしょうか
       (処理の汎用性や速さ、文法的なことなどから見て)
(質問3) 他にいい方法はあるでしょうか。

教えて下さいよろしくお願いします。
757Now_loading...774KB:2008/12/26(金) 07:59:48 ID:7I7HD2nv
>>756

(質問1)
やり方Aは配列にテキストフィールドを入れたことになります
ですがロジックとしては、長さが0の配列を生成し、
存在しないはずの要素にアクセスしていることになるので
const N:int = 5;
var arr:Array=new Array(N);
for (var i:Number = 0; i < N; i++ ) {
arr[i] = new TextField();
}
または
var arr:Array=new Array();
for (var i:Number = 0; i < 5; i++ ) {
arr.push(new TextField());
}
のほうがいいかもしれません

(質問2)
やり方Bはthis.tx1, this.tx2,this.tx3......というオブジェクトを動的に生成しているのでコンパイル時に最適化されません
なのでArrayクラスを使うほうがいいかと思います

(質問3)
FlashPlayer10からVectorクラスというものが追加されました
VectorクラスとArrayクラスどちらが速くなるかは検証してみないとわからないので
いい方法かはわかりませんが、こういうものもあるということで。
758初心:2008/12/26(金) 10:29:03 ID:qlwGzjuU
初心者です。

AS3.0のif文で、「もしok_mcが10フレーム以上にある時」という
条件式を作るときは、どのように書けばいいのでしょうか?

例えば「もしxプロパティが10以上にある時」ならば
if (ok_mc.x >=10) {
だと思うのですが、
フレームになるとどう書けばいいか分かりません。

どなたかご存知の方いらっしゃいましたら、
どうかよろしくお願い致します。
759Now_loading...774KB:2008/12/26(金) 11:41:00 ID:7I7HD2nv
>>758
現在のフレームが何フレーム目にあるかということなら
mc.currentFrame で調べることができます
if(ok_mc.currentFrame >= 10)

こういうことはリファレンスを見ないとわかりませんが、リファレンスを見るとすぐに調べることができるものです
わからなければすぐリファレンスで調べる癖をつけたほうがいいです
http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/

たとえば今回の例でいうと
フレームという概念を持つものはMovieClipクラスのみなので
flash.display.MovieClipの場所を見ると
パブリックプロパティのところにcurrentFrameの説明があります
760Now_loading...774KB:2008/12/26(金) 11:42:11 ID:7I7HD2nv
ついでに言うと
マルチはよくないですよ
761初心:2008/12/26(金) 12:10:17 ID:HVu/Beiq
>759さん
ありがとうございました!解決しました。
あと、リファレンスのアドバイスもありがとうございました。
flash.displayというのがなんのことかずっと分からないのですが
この場合、ok_mcにあたる部分がflash.displayなのでしょうか?
(つまり表示オブジェクトという意味??)

あと、マルチとはなんでしょうか?

いろいろすいません、もしお時間ありましたら
宜しくお願い致します。
762Now_loading...774KB:2008/12/26(金) 12:20:19 ID:k+elOb1/
> あと、マルチとはなんでしょうか?

イロイロな所で、同時に質問する事。
質問立てて良い答えが得られなければ「他に行って訊いてみます」等のレスを付けて、
別の場所で訊く場合はマルチにならない。

なんだかメンドクサイが耐えろ
763初心:2008/12/26(金) 12:48:34 ID:qlwGzjuU
わかりました、1カ所にしぼります。ありがとうございます!
764Now_loading...774KB:2008/12/26(金) 12:52:19 ID:7I7HD2nv
>>761

それはパッケージというもので、関連のあるクラスがそれぞれパッケージにまとめられています
フォルダのようなものと考えてもらえばわかりやすいかもしれません
flashというフォルダの中に表示関連でまとめられたdisplayフォルダがあり、その中にMovieClipクラスがある というような感じです
flash.displayの中には他にも、MovieClipからフレームの概念をのけたSpriteクラスやビットマップイメージを表示するBitmapクラスなど、いろいろ入っています
これもリファレンスで調べるとわかります
765Now_loading...774KB:2008/12/26(金) 13:18:11 ID:Y201GquH
すみません、この3行ってfor文を使ってまとめることって出来ないでしょうか?
実際には3行でなく20行あるのでソースコードが増えてしまい大変です。

button1.onRelease = function(){ textField1.text = ""; };
button2.onRelease = function(){ textField2.text = ""; };
button3.onRelease = function(){ textField3.text = ""; };

以下のように文字列型として名前を指定してイベントを定義することが可能であればご教示下さいませ。

-------------------------
var targetButton:String;
var targetText:String;

targetButton = "button" + i;
targetText = "textField" + i;

// i は for文で使われる i です
--------------------------
766754:2008/12/26(金) 13:37:08 ID:50XIukjY
>>755 ありがとうございます。スレッドライブラリいいですね。

>>765 button textFieldを配列にしてみてはどうですか? 例 >>757
もし buttonやtextFiledがMXMLのコントロールならStringでもアクセスできる(と思う)のですが。。
767Now_loading...774KB:2008/12/26(金) 13:45:05 ID:F97Dkqy2
>>757
ありがとうございます。
768Now_loading...774KB:2008/12/26(金) 14:46:18 ID:uNNEmmRs
すみません、お力を貸して下さい。as3です

丸いmcがあり、これは上に50pxだけ進みます。その時、軌跡を残します。

まずこいつに線を引かせて、次に、引いた先から120度回転しまた線を引かせます、それをもとのスタート地点に戻ってくるまで繰り返させます。すると三角形が描かれます。

3角形を書くというよりはこの仕組みを作りたいのです。直進する丸クラスとそれを回転させ線を引かせるるクラスを朝から作っていたのですが、

そいつにとって必ず頭方向に直進するというところが実装できません。y-=50は頭方向に50とは違うのでした

識者の方、どうかお力を貸していただきたいです
769765:2008/12/26(金) 15:10:01 ID:Y201GquH
>>766
なるほど、配列を使えばすっきりしますね、目からうろこです、ありがとうございました。
MXMLについてはまだ勉強してなくて分からないので後で勉強します。m(__)m


>>768
Math.sin等の三角関数を使えば出来そう。 これより手軽な方法が他にあるのかも知れませんが..。
770Now_loading...774KB:2008/12/26(金) 15:22:36 ID:7I7HD2nv
>>768

var d:Number = 50; //進ませたい距離
var degree:Number = 120; //回転させたい角度

//現在の座標
var _x:Number = 0;
var _y:Number = 0;

//進ませた後の座標
var dx:Number = _x + d * Math.cos(degree * Math.PI/180);
var dy:Number = _y + d * Math.sin(degree * Math.PI/180);

実際に動かしたわけではないので文法的に間違ってるところもあるかもしれません
こういうことをするときに注意する点をいくつか

Math.cosやsinの引数はラジアンです。角度をラジアンに直してから入れましょう
flashの角度は数学と違って時計回りです
これはわかってると思いますが数学と違って、座標軸は左上が(0, 0)です。上に進むときは-yです
771初心:2008/12/26(金) 15:36:40 ID:qlwGzjuU
>764さん

とても分かりやすいご説明、ありがとうございました。

あと、リファレンスを見ても分からなかったのですが
ターゲットパスについて質問よろしいでしょうか。

親ムービークリップ・・・root
子ムービークリップ1・・・back_mc
子ムービークリップ2・・・title_mc
(子1と子2は並列)の場合、

title_mcからback_mcの再生を指示するには
絶対パスの場合
root.back_mc.play();
でいいかと思うのですが、作動しません。

どこかおかしいのでしょうか?

772Now_loading...774KB:2008/12/26(金) 15:54:58 ID:5kw9HGLR
>>771
root.back_mc.play();
trace(root);
trace(root.back_mc);
でまずパスやインスタンス名の指定が正しいかの調査
773初心:2008/12/26(金) 16:08:33 ID:qlwGzjuU
>>772さん

ありがとうございます。

エラーに
1119: 未定義である可能性が高いプロパティ back_mc に
静的型 flash.display:DisplayObject の参照を使用してアクセスしています。
774初心:2008/12/26(金) 16:09:55 ID:qlwGzjuU
>>772さん

ありがとうございます。

エラーに
1119: 未定義である可能性が高いプロパティ back_mc に
静的型 flash.display:DisplayObject の参照を使用してアクセスしています。
775初心:2008/12/26(金) 16:11:03 ID:qlwGzjuU
と出ます。

手元の本を読むと、
「これはrootプロパティの値がMovieClipクラスのインスタンスとして
認識されていない事に由来するエラーです。これを回避するには
明示的な型変換(キャスト)を行って、rootの値をMovieClipに変換します」
とありました。

明示的な型変換とは、どのようなスクリプトになりますでしょうか?

本の例では
obj = root.mcFrame;  → obj = MovieClip(root).mcFrame;
とありますが、
どこまでが例で、私の場合どこをいじれば良いのかが分かりません。

どうかご教授よろしくお願い致します。
776Now_loading...774KB:2008/12/26(金) 16:19:45 ID:7I7HD2nv
>>775

MovieClip(root).back_mc.play();
とすればできるはずです
777初心:2008/12/26(金) 16:57:41 ID:4nGJN66w
>>776さん
できました!ありがとうございますっ!!!
778初心:2008/12/26(金) 18:07:18 ID:qlwGzjuU
テキストの行間をAS3.0で指定したいです。

本によれば
行間を指定するのは leading というプロパティとあるのですが、
たとえば

coment_txt.leading = 10;

と書いてもエラーになってしまいます。

例えば、同じtxt用のプロパティで
周りの枠を表示するかどうかのプロパティ border では

coment_txt.border = true;

でうまく表示されるのですが。。

leading は、何故 border のように反映されないのでしょうか?
779Now_loading...774KB:2008/12/26(金) 18:34:11 ID:7I7HD2nv
>>778
borderはTextFieldのプロパティですが、leadingはTextFieldのプロパティではありません
リファレンスを見ればわかることです
早く見かたを覚えましょう

leadingを設定するには
TextFormatを作成
TextFormatのプロパティleadingに値を設定
TextFieldに適用する必要があります
リファレンスには丁寧にサンプルのソースコードも置いてあるのでそれを参考にしてみましょう
780初心:2008/12/26(金) 19:27:33 ID:HVu/Beiq
リファレンスと本を読むのですが、どうにもこうにも分からないです。。
よろしければご教授願えませんでしょうか。。

>>779さんのおっしゃる通り以下の3工程必要として
1.TextFormatを作成
2.TextFormatのプロパティleadingに値を設定
3.TextFieldに適用

//TextFormatを作成
var fmt:TextFormat = new TextFormat();

//TextFormatのプロパティleadingに値を設定
fmt.leading = 10;

上記の処理で1、2工程は合っていますでしょうか?
3工程目がどう書けばいいか分かりません。

宜しくお願い致します。
781Now_loading...774KB:2008/12/26(金) 19:37:27 ID:7I7HD2nv
>>780

リファレンスのTextFieldとTextFormatのページの一番下にやろうとしてることそのままのサンプルがありますよ

var txt:TextField = new TextField();
var fmt:TextFormat = new TextFormat();
fmt.leading = 10;
txt.defaultTextFormat = fmt;
782Now_loading...774KB:2008/12/26(金) 20:15:43 ID:Y201GquH
これは検索すればすぐ分かることだよなー。
ちょっと安易に人に聞こうとしてやいないか考えてくれ。
783Now_loading...774KB:2008/12/26(金) 20:20:54 ID:7szk7ztU
完全に向いてないタイプだな
784Now_loading...774KB:2008/12/27(土) 02:33:09 ID:Wu151gWQ
>>770
丁寧な解説どうもありがとうございます。しかし手計算で解るようにこの式を応用しても3角形は描けませんでした…。

回転行列を思い付いた野ですが回転の中心が求められないので0原点中心回転となりうまく表示できません。

引き続き皆さまのアイデアをお待ちしております

785Now_loading...774KB:2008/12/27(土) 03:23:30 ID:foOfTMfg
>>784
あれ?うまくいきませんでしたか?

ちょっと図をかいてみました
http://www1.axfc.net/uploader/Img/so/29941.png

まず三角形の左下の頂点を原点として三角形をかいてみます
順番は左下の頂点から矢印の方向にかいていくことにします

@最初は0度のまま右方向に線をかきます
Aflashでは時計回りを正の方向とするので、ー120度回転して線をかきます
Bそして、そのあとまた-120度回転と思われるかもしれませんが、Aでー120度回転しているので合計でー240度回転させることになります

var d:Number = 50;
var dx:Number = 0;
var dy:Number = 0;
this.graphics.lineStyle(0,0);
for(var degree:Number = 0; degree > -360; degree -= 120){
dx = dx + d * Math.cos(degree * Math.PI/180);
dy = dy + d * Math.sin(degree * Math.PI/180);
this.graphics.lineTo(dx, dy);
}

こんな感じでしょうか
786Now_loading...774KB:2008/12/27(土) 07:56:43 ID:PFxP2YL+
>>785
できました!!
私の理解不足でした、申し訳ないです。forの部分の回転が-120,-240・・・となるというところを勘違いしていてできなかったということが分かりました。
図までいただけて本当に感謝で言葉が出ません。どうもありがとうございました!!
787765:2008/12/27(土) 23:27:51 ID:DzLOPSN/
昨日質問した者です。 何故かうまく動かなかったのでその原因を調べ、報告入れておきます。

(やったこと)
ボタンのonReleaseイベントハンドラの定義をfor文でまとめて以下のように書きました。
しかしtextFieldのテキストを変えることは出来ませんでした。

for ( var i=0; i < 10; i++ )
{
arr_button[i].onRelease = function()
{
arr_text[i].text = "";
};
};


(原因)
arr_text[i] の "i" がfor文実行後の数値( この場合は "11" ) が使われてしまうため、
text[11].text と同じ定義になっていました。

現在はこれをどう回避するかを考え中です。 報告終わり。
788765:2008/12/28(日) 00:13:40 ID:6tMUqe7T
各ボタンに一意の値を持たせ、その値を使ってarr_textの何番目の要素を使うべきかを割り出すという方法で解決しました。
一意の値 = 何番目の要素かの数値 となるようにすれば簡単でした。 以上です。
789Now_loading...774KB:2008/12/28(日) 01:44:29 ID:q++LKdYM
>>787
変数のスコープって難しいよね。
function makeHandler(index:Number):void { return function () { arr_text[index].text = ""; } }
for (var i = 0; i < 10; i++) { arr_button[i].onRelease = makeHandler(i); }
とワンクッション入れるとよい。
790789:2008/12/28(日) 01:47:03 ID:q++LKdYM
やべっ間違えた。makeHandlerの戻り値型はFunctionだ。
function makeHandler(index:Number):Function { return function () { arr_text[index].text = ""; } }
791Now_loading...774KB:2008/12/28(日) 07:18:39 ID:3LCIaMK9
質問があります
as3です

mc1とmc2はMovieClipをnewしております
var a:Array=[mc1,mc2]
var c:Object={mc1:5,mc2:8}

trace(c[a[0]])
で5が返るような感じ(実際は動かない)の処理をしたいのですが、どのようにしたらよいのでしょう…

宜しくお願いします
792Now_loading...774KB:2008/12/28(日) 07:29:14 ID:q++LKdYM
>> 791
つ flash.utils.Dictionary
793Now_loading...774KB:2008/12/28(日) 09:11:23 ID:3LCIaMK9
>>792
ありがとう御座います!このご恩は一生忘れません。嫁になりたい気分です、どうもありがとうございました!!
794765:2008/12/28(日) 13:04:10 ID:6tMUqe7T
>>789
うお、すごい、動きました。 こう書けばfor文実行中のiが使えるんですね。
FunctionのFが大文字のものは初めて見たw

勉強になりましたm(_ _)m
795Now_loading...774KB:2008/12/28(日) 18:54:44 ID:iVtKlAXp
大量のnew Text()を表示する処理を書いているのですが、
どうも描画が重たくなります。(50個で950msぐらい)
軽くする知恵があればよろしくお願いしますm(_ _)m
796Now_loading...774KB:2008/12/28(日) 19:00:42 ID:gJf4XnH2
>>795
・隠れるところは、つどつど表示リストから削除する
・Textを描画したら、全体をビットマップ描画して、Textを消す
・フレームレート数を下げる
・画質のクォリティを低くする

とりあえず、こんなところかな
797Now_loading...774KB:2008/12/28(日) 19:04:42 ID:gJf4XnH2
あと、ActionScriptのバージョンとFlash Playerのバージョンを
いくつに設定してやってるのかと、フレームレート数とステージサイズとか
いろいろ書いておくと、他の人が回答しやすい。
798Now_loading...774KB:2008/12/28(日) 19:12:04 ID:iVtKlAXp
>>797
即答ありがとうございます
ASはFlex Builder 3なのでAS3だと思います
FlashPlayerは9xを考慮して8以降、描画領域はだいたい500x400位です。

あともうひとつ、
一度生成したTextを何度もaddChildして別々のアニメーションを掛けることはできるでしょうか?
799798:2008/12/28(日) 19:16:13 ID:iVtKlAXp
しらべてみたらAS3対応は8.5以降だし95は6までしか動かないって・・・
ASは勉強し始めたばかりなのでまだまだです
800Now_loading...774KB:2008/12/29(月) 00:36:35 ID:dB2HbTbF
今から勉強するんならAS3やったほうがいいんじゃない?
801Now_loading...774KB:2008/12/29(月) 00:52:26 ID:FGnlbsWY
携帯Flashなら、AS2が現役
802Now_loading...774KB:2008/12/29(月) 01:20:38 ID:V7oVHiYH
今のところ、AS2ができない人材は役に立たない
AS3の新規案件だけをこなすのなら話は別だが、現実はそんなに甘くない
803Now_loading...774KB:2008/12/29(月) 01:25:21 ID:dB2HbTbF
そうなんだよねー。
やっぱ仕事で使うのはまだまだAS2だろうし、とにかくいろんなプラットフォームで動かしたいならAS2かなー

プログラミングの勉強したいとか3Dやりたいとかなら速くてオブジェクト指向のAS3が全然いいんだけどねー
主観的だけど、趣味でやるならAS3のほうがいいなぁ
804Now_loading...774KB:2008/12/29(月) 10:26:44 ID:SXhnzmSI
AS2もAS3も所詮スクリプト。 簡単だからどっちもやればいい。
805Now_loading...774KB:2008/12/29(月) 11:57:51 ID:GYczu6jw
Javaは?
806Now_loading...774KB:2008/12/29(月) 13:08:20 ID:FmIQwgzu
>>805
スレ違い
807Now_loading...774KB:2008/12/29(月) 14:09:54 ID:SXhnzmSI
ところでみなさんはswfファイルをデコンパイルするときはどんなソフト使ってますか?
flaファイルに変換するソフトで愛用してるものがあったら教えて下さい。
自分はsothink社のソフトを使ってみたのですがASのコードが壊れてしまっていて別のを探してます。
808Now_loading...774KB:2008/12/29(月) 14:11:52 ID:SXhnzmSI
あ、swfファイルからASだけを抽出するソフトを使ったらコードは壊れませんでしたが、flaに変換したいです。
809Now_loading...774KB:2008/12/29(月) 14:32:09 ID:xKkTDK7/
a1=[17,23,28,53,63,79,85,98,97,96];
という配列の中身を昇順にしたくて
a1.sort(16);
と書いても
a1=[17,23,28,53,63,79,85,96,97,98];
になってくれなくて変わりません。何が原因なのか分かる方いませんか?
810Now_loading...774KB:2008/12/29(月) 15:06:46 ID:yR1eSK85
ソート方法は検索すれば詳しいサイトが一発でみつかるよ
811807:2008/12/29(月) 16:15:06 ID:SXhnzmSI
flaに変換するデコンパイラは全部有料みたいだなぁ。 買ってからじゃないとちゃんと変換出来るかどうか
分からないとはまいったな・・。 ASだけ抽出するソフトで抜きだしたソースをちまちま貼り付けたほうが
確実っぽいのでこうします。。
812Now_loading...774KB:2008/12/29(月) 20:19:47 ID:xKkTDK7/
>>809
一応自分なりに探してるんですけどね・・
a1.sort(Array.NUMERIC);でもダメでした
813Now_loading...774KB:2008/12/29(月) 20:39:51 ID:SXhnzmSI
初心は結局ドロンか。 弱いな、心が。
814Now_loading...774KB:2008/12/29(月) 21:01:25 ID:yR1eSK85
どんな単語で検索したんだ?
http://support.adobe.co.jp/faq/faq/qadoc.sv?228665+002
815Now_loading...774KB:2008/12/29(月) 22:17:53 ID:F4WhMoSh
ウチの環境(FlexSDK, AS3)だと比較関数なしの a1.sort(Array.NUMERIC) だけでOKだたよ。

AS2だとこれじゃダメなんかね。a1.sort(null, Array.NUMERIC) にしたらいけるのかな。
それか真面目に比較関数を書くしかないのかねぇ。
var compare = function (a, b) { return Number(a) == Number(b) ? 0 : Number(a) < Number(b) ? -1 : 1; }
a1.sort(compare);
816Now_loading...774KB:2008/12/29(月) 22:58:37 ID:SXhnzmSI
デコンパイラいくつか試してみたけどどれもイマイチ。 1つのシンボルを使いまわして作ったswfをデコンパイルすると
インスタンス1つごとにシンボルが作られててすごく無駄なことになってる。 増大したシンボルの整理なんかしたくねー。
817Now_loading...774KB:2008/12/30(火) 13:09:16 ID:Sy32Y1Ye
>>816
今度、ボランティアで老人ホームのHPにあるフラッシュを手直しすることになったんですが
デコンパイラを使うと便利そうなので、おすすめものをご教示下さると非常に助かるのですが、
良かったらお願いします。^^;
818Now_loading...774KB:2008/12/31(水) 01:32:46 ID:qLIouKdU
>>817
有料だから使ったこと無いけどCS3に対応してるのならどれでも同じようなものなんじゃないかな?
819Now_loading...774KB:2008/12/31(水) 10:52:23 ID:JmGJNOQw
http://www1.axfc.net/uploader/File/so/16067
↑.flaファイル

フラッシュで、マザー2に出てくるような部屋の中をキャラクターが動き回る、といった部分の作成をしています(Flash8)。
ここで左右の壁にぶつかってそのままキーを押し続けた時、滑る様な動きで上or下に移動するようにしたいんですが、
どのようにプログラミングしたらいいんでしょうか?
せめて、左右の壁にぶつかった状態で斜めにキーを入れた時、壁にめり込んでしまう、といった仕様だけはなんとか直したいので
そこだけでも解決方法を教えてもらえれば、と思っています。(めり込んでいても、キーを離すと押し出されるように戻ります)

あまり時間はないので、ファイルはすぐ削除すると思います。
820Now_loading...774KB:2008/12/31(水) 12:47:09 ID:qLIouKdU
こういうバグを直すのがプログラミングで一番楽しいとこであり、成長するきっかけだったりする。
何故期待通りに動かないのかを考えてみよう。
821Now_loading...774KB:2009/01/02(金) 05:03:26 ID:uwl2zsnm
すごい、初歩的なことだと思うんですが、息詰ったので教えて頂きたい。
(1)使用ソフト/バージョン:Flash CS3
(2)OSのVer:OSX
(3)作品の具体例
ttp://www.ffiles.com/flash/photo_galleries/xml_gallery_4_1117.html

ここのサンプルをカスタムしています。
サンプルでは、xmlでjpgを読み込んでいますが
swfを読み込もうとしています。

xmlでswfを読み込んだあと、外部のswfに設定したボタンアクションなどが
xmlから読み込んだら全く効かなくなってしまって困っています。
表示だけされているのですが、クリックしても動かないので
お手数ですが、解決方法をご教授願います。
822Now_loading...774KB:2009/01/02(金) 14:18:27 ID:iFcJbLz1
ボタンアクション「など」とは?その他、何が動作しない?
ボタンの手前にムービークリップがあるとボタンは動作しないけれど、それではない?
823Now_loading...774KB:2009/01/02(金) 14:24:50 ID:gheX90l4
丸投げ質問大杉。
824Now_loading...774KB:2009/01/02(金) 15:54:02 ID:AWMh3Xnc
>>822
ご返答ありがとうございます。「など」と抽象的な表現申し訳ありません。
おっしゃる通り、ムービークリップが手前にあるため動かないみたいでした。
初歩的なミスですいませんでした。

>>823
失礼致しました。
825Now_loading...774KB:2009/01/12(月) 06:13:52 ID:LWAk6J+W
AS2.0、Flash8、WinXP、で質問。

MC._alpha = 0;



MC._visible = false;

の描画にかかる負荷ってどちらが重いんでしょうか?
直感的には _alpha = 0; だと透過処理が必要になって重くなるんじゃないかというイメージが
あるんですが実際はどうなんでしょう。

それともう1つ、配列についてなんですが、

arr1 = [];
arr2:Array;
arr3:Array = new Array();

にはどういう違いがあるのでしょうか? 皆さんがどう使い分けをしているのかを
参考にさせて頂けたら幸いです。
826Now_loading...774KB:2009/01/12(月) 07:50:25 ID:W5uG8seo
_visible = false;の方がランニングコストは低く収まるはず。
インタラクティブなイベントを受け取る必要のある場合は意図的に_alpha = 0;にしたりする。

arr1 = []; // コンストラクタ無しの配列初期化
arr2:Array; // 型宣言だけ?
arr3:Array = new Array(); // コンストラクタ有りの配列初期化(初期エレメント数を指定可能)
new Array()はprototypeで改造した配列も使用する場合に有効なのかな?よくわからに
827825:2009/01/12(月) 13:12:12 ID:LWAk6J+W
>>826
レスありがとうございます。

なるほど、_visibile = false; のほうが負荷抑制には有利なようですね、
_alpha = 0; はイベントの受取が必要なときにだけ使ってみます。

配列は初期化処理が違ってくるんですか、以前、var宣言内で

arr1:Array;



arr1 = [];

に書き換えただけで動くようになったことがあって不思議に思っていました。
前者は初期化がされていなかったせいで動かなかったのかな。

これから配列の初期化処理について詳しく調べてみます、ありがとうございましたm(_ _)m
828Now_loading...774KB:2009/01/12(月) 23:48:01 ID:ubCpWHEe
>>808
そのASだけ抽出するソフトってどんなのがありますか?
他の皆さんも知ってたらどうか教えてください。
829Now_loading...774KB:2009/01/13(火) 00:13:44 ID:vsoirkyE
>>827
変数宣言の型指定と初期値指定の話がごちゃ混ぜになってるね。

(1) var arr1;とvar arr1:Array;の違いは型指定の有無。
後者がArrayしか与えられないのに対し前者は型なしなので数値や文字列と何でも与えられる。
いずれも初期値指定がされていないので、その値はundefined(未指定値)になっている。

(2) var arr1;とvar arr1 = [];の違いは初期値指定の有無。
前者の値はundefined、後者は空のArray。
いずれも型指定なしなので、後でarr1=123;とかやってもコンパイルエラーにはならない。

(3) var arr1:Array;とvar arr1:Array = [];の違いも初期値指定の有無。
前者の値はundefined、後者は空のArray。
いずれも型指定ありなので、後でarr1=123;とかやるとコンパイルエラー。Arrayしか与えられない。

arr1:Array;をarr1 = [];に変えたら動くようになったのは、前者はあくまで値はundefinedで何も
与えられていない状態だったから。
830825:2009/01/14(水) 19:04:25 ID:oQ7y724r
>>829
気付くのが遅れてすみません、詳しい説明ありがとうございました。

undefinedの状態でarr1を使ってたのがいけなかったんですか、これからは必ず初期化処理を
入れたコーディングをするようにします。m(_ _)m
831Now_loading...774KB:2009/01/15(木) 02:32:36 ID:sdqLaR/q
変数を宣言するときに変数名にIDとなる番号を付与したいです
以下だとエラーが出ますけどやりたいのは

for(i = 0; i < 50; i++){
var "hoge" + i:String = "hoge";
}

というようにhoge0〜hoge49を宣言してhogeを代入したいのです
どうやって書けばいいんでしょうか
832Now_loading...774KB:2009/01/15(木) 04:06:36 ID:0186v5Wf
>>831
配列型の変数を使ったほうがいいですよ。
833Now_loading...774KB:2009/01/15(木) 11:43:56 ID:U6goKm5p
switch(a) {
 case 1:
  a = 0;
 break;
 case 2:
  a = 0;
 break;
}

if(a == 1) {
 a = 0;
} else if(a == 2) {
 a = 0;
}

上みたいな場合、switchとifはどっちが軽いでしょうか?知ってる方教えてください
834Now_loading...774KB:2009/01/15(木) 12:24:46 ID:KK5TfV+c
>>833
switchの場合aの値に一致するcaseに飛ぶのでどんな値でも計算量は1になる

ifの場合aの値が1ならswtichと変わらないが2の場合、
2回aを比較することになるのでそのぶんswitchより遅くなる
835Now_loading...774KB:2009/01/15(木) 14:32:43 ID:0186v5Wf
>>833
速度を気にするなら実際にタイム計測したほうがよろしいかと。 その場合、aが何かによっても結果が変わりますし。
タイム計測のやり方はぐぐればいっぱい出てきます。
836Now_loading...774KB:2009/01/15(木) 15:51:48 ID:ZY6tjQcI
>>834
バイトコードやVMのレベルではswitchも上から順に比較してるかもよ?
賢くジャンプテーブル生成していればswitchの方が早くなるだろうけど。
caseに文字列も使えることを考えるとジャンプテーブルは無理じゃないかな。
intの場合だけ特別扱いかもしれんが。VMの実装をみないと何ともいえないんじゃない?
やっぱ実測して確かめるのが確実かね。そこまでする程、性能にセンシティブなところならば、だけど。
837Now_loading...774KB:2009/01/15(木) 17:32:30 ID:AyKmFMNR
xmlから読み込んだ問題をテキストエリアに
1文字ずつ表示させるには
どうしたらいいですか?
838Now_loading...774KB:2009/01/15(木) 17:57:08 ID:uLnAij1r
別の文字列に始めの1文字を入れ、テキストエリアに表示、
別の文字列に1文字追加、テキストエリアに表示を繰り返すとか。
839Now_loading...774KB:2009/01/15(木) 21:36:53 ID:V2J8krg6
>>838
記述としてはどんな感じに
なりますか??
840Now_loading...774KB:2009/01/16(金) 09:42:35 ID:5jyWbj19
質問です。AS2.0でいう
_root.gotoAndPlay("frame");は、AS3.0ではどんな感じで記述すればいいですか?
やりたいことは子MCからメインタイムラインを制御することです。

841Now_loading...774KB:2009/01/16(金) 11:32:02 ID:24FnUt94
>>839
i=0;
onEnterFrame = function(){
if(i<xmltxt.length){
txtarea.text += xmltxt.charAt(i++);
}
}
842Now_loading...774KB:2009/01/16(金) 12:29:40 ID:g5MIia36
>>840

MovieClip(root).gotoAndPlay("frame");
843Now_loading...774KB:2009/01/16(金) 12:41:51 ID:5jyWbj19
>842
ありがとうございました!
844Now_loading...774KB:2009/01/16(金) 18:04:34 ID:4I2X4mMD
Lite1.1で開発。
2〜11までの数値をかぶらないようにランダムで出したいのに
なんでか重複しちゃうんだけどこれおかしい?
それまでの数値と重複したら再度ランダムかけてるつもりなんだけど。

スクリプトはMC[script]の中のMCに書いてて
1が空白になった全11コマMCの各フレームに割り当ててる。

if (try == 1) {
r=random(10)+2; r1=r;
tellTarget("../num_1") { gotoAndStop(/script/:r);}
}

if (try == 2) {
for (r=random(10)+2; r1==r; r2=r){ r=random(10)+2; }
tellTarget("../num_2") { gotoAndStop(/script/:r);
}
}

if (try == 3) {
for (r=random(10)+2; r1==r || r2==r; r3=r){r=random(10)+2; }
tellTarget("../num_3") { gotoAndStop(/script/:r);
}
}
845Now_loading...774KB:2009/01/16(金) 19:08:24 ID:n6FPSQx3
var arr = [2,3,4,5,6,7,8,9,10,11]; //配列を用意する
//arrの要素を適当にシャッフルする(コード省略)
for(i = 0; i < arr.length; i++){
tellTarget("../num_" + (i+1)) { gotoAndStop(/script/:(arr[i])); }
}

AS1/2の構文はよく知らないので書き方が間違ってる所あるだろうけど、こういうのじゃダメ?
846Now_loading...774KB:2009/01/17(土) 19:51:40 ID:wfapOyy9
as3なんだけど、ステージにmc置いたの。でフレームアクションでmcのクラスをnewしたの。ステージに直接置いた方はマウスイベント受けとりたい。

newした方はマウスオーバーだけでも受けとりたい。両方の願いを同時に叶える方法を知ってたら教えて欲しいんだ。enabledとかmousechildも試したが、一方のmcがマウスイベント取っちゃってだめだったよ
847Now_loading...774KB:2009/01/18(日) 19:46:44 ID:zcFUJl1R
使用メモリを確認できるASありませんか?SWF6です
848Now_loading...774KB:2009/01/18(日) 20:12:07 ID:isW3jCUQ
ありません
849Now_loading...774KB:2009/01/19(月) 11:35:30 ID:Bw8XiDu3
>>846

ふたつを別なクラスにすればいいんじゃないか?
850Now_loading...774KB:2009/01/19(月) 18:11:03 ID:2wQuDg05
>>849
ふたつのmcは別なんだ、誤解を招く書き方だった。そういうことじゃない?

ちゃんと説明するとメインタイムラインでmc1のインスタンスをadd、ステージに直接mc2を置いたんだが、mc1がmc2のマウスイベントを盗っちゃってるんだ。
mc1でもまうすオーバーなど使ってるし、mc2でもマウスオーバーなど使ってるのにmc2だけ効かない。理想はmc1でマウスイベントを受け取って、mc2でも受けとりたいんだ。
851Now_loading...774KB:2009/01/19(月) 18:26:54 ID:hgslr40p
mc1のマウスオーバーイベントからmc2のマウスオーバーをdispatchできない?
852Now_loading...774KB:2009/01/19(月) 19:16:54 ID:USoofkG8
Google Maps API for FlashがAIR対応ってことで試したんだけど
Flash CS3に書き出すとurlが未定義とか出てできないけど
もしかしてFlexのみ対応ってことですか?
--------------------------------------------
var map:Map = new Map()
map.url ='***********';
--------------------------------------------
853Now_loading...774KB:2009/01/20(火) 00:04:28 ID:FMeDAENf
Flash8 professional 、ActionScript2.0使用です。

movieClip、getRect関数の動作を確認するために以下のようなコードを書きました。

ルートにムービークリップmc1を配置し、(mcの名前もインスタンス名も同じmc1)

そのmc1に、次のようなアクションを入れたのですが。

onClipEvent( enterFrame ){
var objRect : Object
trace(this._x);
trace(this._y);
objRect = this.getRect(_root);
trace ( objRect[0] );
trace ( objRect[1] );
trace ("***")
}


getRectでmc1の領域を取得したかったのですが、traceで表示されるのはundefinedだけです。
traceで_x,_y._width._heightなどは表示されるのですが、
getRect,getBounds,LocaltoGrobal,grobalToLocalなどではundefinedしか返ってきません。
なにが間違っているのか指摘していただければ幸いです。

flaファイルは以下にうpしました

ttp://xepid.com/src/up-xepid4604.zip

854853 :2009/01/20(火) 01:57:06 ID:FMeDAENf
スミマセン、自己解決できそうなのでひとまず質問は撤回します
855Now_loading...774KB:2009/01/20(火) 02:01:15 ID:+ExvuP0y
ぐぐればいくらでもサンプルが見つかりそうな質問。
856Now_loading...774KB:2009/01/20(火) 11:53:21 ID:AxTZTVMx
ActionScript3.0で、
ROLL_OUTしたら、
2秒後に(または数フレーム進んでから)
指定のフレームにgotoAndPlay()させたい時は
そんな指示をすればいいでしょうか?
どなたかご存知の方いらっしゃいましたら
どうか宜しくお願い致します。
857Now_loading...774KB:2009/01/21(水) 09:01:57 ID:A6Q7hOvk
>856
う〜ん、それは難しいな。。
俺にはわからねえや。
858Now_loading...774KB:2009/01/21(水) 09:02:49 ID:6Ap+W3PF
いろいろと調べましたが解決策が見つからなかったので質問させてください。
SWF7でダンジョン風ゲームを制作しているのですが、通った場所を自動で記していくオートマッピングのシステムで躓いています。
今は4*4の画像(1マス)をマップ(20*20=400)分だけ複製配置して、通ったところだけをvisibleプロパティでfalseからtrueにして実現しているのですが、とても重くなってしまっているのが現状です。
他に何か効率の良いオートマッピングの方法がないでしょうか。良ければ知恵を貸してください。お願いします。
859Now_loading...774KB:2009/01/21(水) 09:43:46 ID:izXe0OXw
400個の画像を配置するだけなら
重たくなるなんてことはない
どこか処理に問題があるのだろうけれど
>>858の情報からではわからない
860Now_loading...774KB:2009/01/21(水) 11:48:56 ID:2bEGrjvv
ローカルで動くプレゼン用のスライドショーのような物を作れと
命じられたのですが、その中の要件である部分をクリックしたら
エクセル起動してxlsを表示したいというのがあって、
これってセキュリティー上ムリですよね?

swfからローカルのアプリケーション起動してファイルを開いたり出来るもんですか?
861Now_loading...774KB:2009/01/21(水) 12:04:49 ID:VgWtqgEk
TextFieldについての質問です。AS3です。

キャレットの位置に文字を挿入する関数を、
textを現在の位置でsliceして挿入文字を埋め込む、という方法で実装しました。

しかしこうすると、もともとtextにあった部分的なTextFormatはすべて
失われてしまいます。

どうすればTextFormatが失われずにこの挿入処理を実行できるでしょうか。
862Now_loading...774KB:2009/01/21(水) 12:14:48 ID:/etf+mV5
>>858

MC属性を変更して表示を変えるのでなくて、MCを削除して見た目を変えるという方法を取れば?

1. 例えば、トレースした時に表示する色で背景を塗っておいて、その上にMCをひく。
2. キャラクタが通った所を順次MC削除していく。
3. MCを削除したところに背景色が現れる。

863Now_loading...774KB:2009/01/21(水) 12:57:43 ID:2bEGrjvv
>856
mc.addEventListener(MouseEvent.ROLL_OVER, rollOverHandler);

function rollOverHandler(e:MouseEvent){
var hoge = setTimeout( hoge2, 2000);
}

function hoge2(){
gotoAndPlay(フレーム)
}

とか?
864Now_loading...774KB:2009/01/21(水) 13:03:23 ID:2bEGrjvv
>863
まちがった。ROLL_OUTだった。
865Now_loading...774KB:2009/01/21(水) 13:08:18 ID:6Ap+W3PF
>>859
解りづらくてすみません。いろいろと試してはいるのですが……。返信ありがとうございました。
>>862
そんな方法もあったのですね。ありがとうございます。今から試してみます。
866Now_loading...774KB:2009/01/21(水) 19:13:18 ID:9zHswjPq
すみません、マック環境、バージョン8で作成したフラッシュをパブリッシュすると
WindowsでShock Waveなんたらというエラーがでます。
Windowsで見れるようにする方法をご存知な方教えて頂けますでしょうか?
867Now_loading...774KB:2009/01/21(水) 19:38:31 ID:c5Q+OVwH
「なんたらというエラーが出ます」という情報だけで正しい回答を示せるのはエスパーだけ
868Now_loading...774KB:2009/01/21(水) 19:49:31 ID:9zHswjPq
すみません、問題解決しました… 
869Now_loading...774KB:2009/01/22(木) 16:55:57 ID:iuupbQmb
ActionScript3.0の練習をしています。
Flash CS4のサンプルで
ttp://livedocs.adobe.com/flash/9.0_jp/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=Part1_Programming_AS3_1.html

function keyPressed(keyevent:Event):void
{
if (keyevent.keyCode == Keyboard.ENTER)
{
mainText.text = myGreeter.sayHello(textIn.text);
}
}

として、コンパイルすると1119:未定義である可能性が高いプロパティ keyCodeに静的型 flash.events:Eventの参照を使用してアクセスしています
というコンパイルエラーが出ます。
どこをミスしているのでしょうか
870Now_loading...774KB:2009/01/22(木) 17:09:22 ID:QT+IA78B
キーボードのイベントなら引数の型はEventじゃなくてKeyboardEventだと思います
871869:2009/01/22(木) 17:28:59 ID:iuupbQmb
ありがとうございました。
エラーがなくなりました。
872Now_loading...774KB:2009/01/23(金) 11:18:03 ID:dIcpwGnA
たびたびすいません
円を表示するルーチンなのですが以下の asファイルで initBall()をしても表示されません。traceして iniPoint にはPointが入っていることは確認できました。画面描画には何が足りないのでしょうか
package
{
import flash.geom.Point;
import flash.display.*;
public class Ball extends Sprite
{
var myVector:Point = new Point(0,0);
var myPoint:Point = new Point(0,0);
var mySpeed:int;
public function initBall(iniPoint:Point, iniSpeed:int, iniVector:Point): void
{
myPoint = iniPoint;
mySpeed = iniSpeed;
myVector = iniVector;
var myShape:Shape = new Shape();
myShape.graphics.beginFill(0xFF0000);
myShape.graphics.drawCircle(iniPoint.x, iniPoint.y, 50);
myShape.graphics.endFill();
this.addChild(myShape);
trace(iniPoint);
}
}
}
873Now_loading...774KB:2009/01/23(金) 12:29:51 ID:m4MUlfpe
Ballクラスのインスタンスが addChild されてないのでは
874872:2009/01/23(金) 13:37:14 ID:dIcpwGnA
呼び出し元で
var myBall:Ball = new Ball();
myBall.initBall(myPoint,0,myDirection);
addChild(myBall);
としたら表示できました。 ありがとうございます。

package内で initBallしたときに自分で表示させる方法はありますか?
875Now_loading...774KB:2009/01/23(金) 13:53:51 ID:gfQiNS7h
引数で親のDisplayObjectContainerをとって
親.addChild(this);
なんてやったらうまくいくんじゃないでしょうか
876Now_loading...774KB:2009/01/24(土) 01:54:31 ID:jyYMF9Ax
FlashCS3、as3で質問です

ライブラリにクラス名aでリンケージしたMCがあり、そのMCには、クラス名inaでリンケージしたMCが入れ子になっています。inaのタイムラインでは、変数が定義されてます

また、flaファイルの置いてある場所にaというクラス、inaというクラスのasファイルを作りました。こちらはMovieClipを継承してます。

ここで、aのクラス内から、inaのタイムラインに定義した変数を参照したいのですが、inaへのgetChildなどでの参照.変数としても、未定義のプロパティとなってしまいます。

inaのクラスに変数を定義してみたり、dynamicやstaticにしてもアクセスできません。

どうしたらaのクラスファイル内からinaのタイムラインの変数を参照できるのでしょうか
877Now_loading...774KB:2009/01/24(土) 15:05:29 ID:UPSpx4rL
CS3,AS2のsetIntervalのことで質問なのですが
メインタイムラインの1フレーム目に下のように書いて実行するとthisの内容が
分かれてしまいます。これはわけあっての事ですか?それともバグですか?

setInterval(a,1000);

function a()
{
aa();
trace(this); //undefined
}
function aa()
{
trace(this); //_level0
}
878Now_loading...774KB:2009/01/24(土) 16:57:50 ID:d+hOWoa7
>>877
オレも知らなかったんでにわか知識だがw
setIntervalには2つ書式があって
setInterval(関数,間隔)
setInterval(インスタンス,メソッド名(文字列),間隔)
上の書式だとthisが参照できないのは仕様らしい。
で、下の書式で
setInterval(this,"a",1000);
と書けばいいらしい。
879Now_loading...774KB:2009/01/24(土) 16:58:15 ID:ba45OmLD
スコープの概念について調べると理解できるかも
880Now_loading...774KB:2009/01/24(土) 18:22:41 ID:HO1/c+W5
AS3での質問です。
ttp://dhiktir.web.fc2.com/test.htm
こちらのページにあるZipファイルの中に「CS4.fla」と「CS3.fla」の二つのファイルがあります。
この二つは基本的に全く同じファイルです。
違いは「CS4.fla」の方は、Adobe Flash CS4を使って作成し、保存したもで、
「CS3.fla」の方は「CS4.fla」をCS3形式で保存したものです。
中身はまったく同じにも関わらず、「CS3.fla」の方ではエラーが出ます。エラー内容は
TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。
at test2_fla::MainTimeline/frame1()
です。
なぜこのような違いでエラーになるのでしょうか?
881877:2009/01/24(土) 19:13:39 ID:UPSpx4rL
>>878-879
ありがとう
よくわからないから>>878のを使わせていただきます
882861:2009/01/25(日) 00:13:18 ID:8V9RcpEk
FormatのついたtextをFormatがついたまま
メモリ上で運用する(すなわち変数として保持する)方法ってありますか。

sliceとか使うとそういうデータがない状態になるみたいで。
883Now_loading...774KB:2009/01/25(日) 03:09:13 ID:pLqEHCzA
>>880です。たぶん自己解決。OSがSP2なのが原因みたい。
他にもあり得ないエラーがいっぱいでる。
884876:2009/01/25(日) 05:59:13 ID:5HTwfiWC
あれからまだ弄ってますが未だに解決できません…。ご協力願いたいです…

885Now_loading...774KB:2009/01/25(日) 18:38:59 ID:obIWioOS
質問です

ダイナミックテキストフィールドにActionScriptで
XX.text="OO";とやるような感じで
上付き文字や下付き文字を使用するにはどうすればよろしいのでしょうか?
886Now_loading...774KB:2009/01/25(日) 19:03:16 ID:PcOST/Fx
>>885
htmlTextで装飾できるんじゃない?
supタグとかsubタグサポートしてれば出来ると思います
887Now_loading...774KB:2009/01/25(日) 22:28:28 ID:g3Pk9AYU
Flah8 ac2での質問です。
swf内に配置したボタンからjavaでウインドウサイズを指定したページを開かせたいのですが、
どのようにすればいいのでしょうか?
888Now_loading...774KB:2009/01/26(月) 02:40:16 ID:53Ne6y/P
flash javascript 小窓
で検索
889Now_loading...774KB:2009/01/26(月) 03:59:21 ID:0KMXuA9T
>>886

ありがとうございます、やってみます!
890Now_loading...774KB:2009/01/26(月) 04:17:54 ID:sCcR3jT9
Flah
ac2
java

氏ねや
891Now_loading...774KB:2009/01/26(月) 07:26:19 ID:pA/lS0IW
ワロタw
それでも意図を組んだからこのスレも捨てたものではないな

892Now_loading...774KB:2009/01/26(月) 12:35:34 ID:MlUG7Ke4
cs3覚えようかと思ってぐぐったらもうcs4が出てた..。
893Now_loading...774KB:2009/01/26(月) 16:42:56 ID:pA/lS0IW
4はクセモノだから早めに慣れとかないと後々困る

しかし3は当然使えないとハナシニナラン。趣味ならきにすることはない
894Now_loading...774KB:2009/01/26(月) 17:08:53 ID:MlUG7Ke4
d、3覚えてくるよ。
895sage:2009/01/26(月) 17:12:58 ID:+eIwEVlq
質問です

クラス {
 ファンクション1 {
  var オブジェクト型 = this;
 }
 ファンクション2 {
 }
}

上記のような場合「ファンクション1」を呼び出した後、オブジェクト型「this」で入るのはファンション1になるのでしょうか?
そしてこのオブジェクト型を呼び出す場合、
例えば

オブジェクト型[引数]

として使用した場合、再帰処理としてファンクション1を使うことになるのでしょうか?

どうかお願いします
896Now_loading...774KB:2009/01/26(月) 17:34:27 ID:53Ne6y/P
ファンクション1がどこから呼び出されたかによって this は変化する
ASのバージョンによっても動作が異なる
ASのバージョンと実コードを記述して、
こういう場合の this は何を指しますか、と聞いたほうが早いかも
897Now_loading...774KB:2009/01/26(月) 19:51:22 ID:+eIwEVlq
>896

>895です
手元にあるのはこの処理が書かれているasファイルのみである為、
このasファイルを呼び出す場合はFlaファイルを作って引数を渡していました
その為、どこからという問いには呼び出し元から…となります

また実コード記述は少々問題がある為、どうしても簡略的な書き方となってしまい申し訳ありません
下記、内容となります

使用ASバージョン:2.0(actionscript2.0使用)
コード

呼び出し元(Flaファイル)
var テスト:クラス名 = new クラス名();
テスト.ファンクション名(引数);

呼び出し先クラス(asファイル)
クラス名 {
 ファンクション名(引数) {
  var オブジェクト型:Object = this;

 }
}
898Now_loading...774KB:2009/01/26(月) 20:25:21 ID:53Ne6y/P
>>897
その場合の this は呼び出したクラスのインスタンスを示す

>var テスト:クラス名 = new クラス名();

の「テスト」というインスタンスと同義
899Now_loading...774KB:2009/01/26(月) 21:22:18 ID:+eIwEVlq
>>898
897です
何度もお答えして頂いてありがとうございます
返答に質問を返すようで申しわけないのですが、
『その場合の this は呼び出したクラスのインスタンスを示す』というお答えして頂いた内容に関して
今回のthisは『var テスト:クラス名 = new クラス名(); 』の『テスト』を指しているということでしたが、
例えば下記のような場合

呼び出し元(Flaファイル)
var テスト:クラス名 = new クラス名();
テスト[0]="1st"
テスト[1]="2nd"
テスト[2]="3rd"
テスト.ファンクション名(引数);

上記のようにインスタンス作成後、配列?のような形で値を入れて呼び出し先であるファイルで呼ぶ

呼び出し先クラス(asファイル)
クラス名 {
 ファンクション名(引数) {
  var オブジェクト型:Object = this;
  trace(オブジェクト型[0]);
 }
}

このような場合、thisによってクラスを指定しているということはtraceで『1st』が表示される…ということなのでしょうか?
なにぶん学びはじめて日が浅いこともあり、突拍子も無いことを言っている可能性もありますが、よろしくお願いします
900Now_loading...774KB:2009/01/26(月) 21:27:55 ID:53Ne6y/P
> テスト[0]="1st"
> テスト[1]="2nd"
> テスト[2]="3rd"

ここらへんがめちゃくちゃなので
まず実際にコードを記述して fla ファイルをパブリッシュすることをお勧めする
901Now_loading...774KB:2009/01/26(月) 22:27:11 ID:+eIwEVlq
>ここらへんがめちゃくちゃなので
>まず実際にコードを記述して fla ファイルをパブリッシュすることをお勧めする
はい…手元にadobeが無い為後日行ってみます

加え、また一つご質問よろしいでしょうか?
今回、不明点として記述させて頂きました下記内容……こちらの意味とは何なのでしょうか?

var オブジェクト型:Object = this;

『this』は呼び出し元の『var テスト:クラス名 = new クラス名();』の『テスト』であるということを先ほど教えていただきました。
ですが、thisが何であるかを教えて頂いたのですが何を行っているのか理解できず…
このような記述がどのような場合に使われているのか……まことに申し訳ありませんが、教えて頂けないでしょうか?
よろしくお願いします
902Now_loading...774KB:2009/01/26(月) 23:09:54 ID:uVLFgjP9
■前提
ArrayとDisplayObjectContainerが1個ずつ存在する。
Arrayの要素は全て上記DisplayObjectContainerに属するDisplayObjectが多数。
なお、DisplayObjectContainerには上記以外のDisplayObjectも含まれている。

■やりたいこと
Arrayに格納されているDisplayObjectのDisplayObjectContainerにおけるインデックス位置を、
DisplayObject.yの小さい順にソートしたい。その際Arrayの順序は書き換えない。

(例)
ソート前:qaw34se8d6r2ft1gy5hu7jik9olp
ソート後:qaw12se3d4r5ft6gy7hu8jik9olp
数字:Arrayに属するDisplayObject、英文字:それ以外のDisplayObject、
並び順:DisplayObjectContainerのインデックス順、数字の大きさ=y座標の大きさと仮定。

■備考
環境はAS3、FlexSDK3.3.0、FlashPlayer10.0.12。
1秒辺り何度も処理するので出来る限り負荷の少ない実装にしたい。

どうしても自力で答えに辿り着けなかったので、どうかご教授お願いします。
903Now_loading...774KB:2009/01/26(月) 23:18:11 ID:53Ne6y/P
>>901
> var オブジェクト型:Object = this;
何かのサンプルコード見て質問してるのかな?
その一行を見てそれが何の目的を持ってそのようにしているかなんて
作った人にしかわからない。
904Now_loading...774KB:2009/01/26(月) 23:50:47 ID:53Ne6y/P
>>902
その例では
「インデックス順にY座標の値を書き換える処理」
になってない?
905Now_loading...774KB:2009/01/27(火) 00:41:14 ID:rTvcN5cS
>>904
確かにそう見えるかも。すまんかった。
実際にやりたいことは、y座標もArrayも書き変えず、y座標を見て
Arrayとコンテナ両方に登録されているDisplayObjectだけを
コンテナのインデックス順に並び変えたいんです。
906Now_loading...774KB:2009/01/27(火) 00:54:12 ID:mYHJddrD
>>905
(1) ソート対象のDisplayObjectのみを抽出し、別途に作成した配列Aに次々とpush
(2) 配列Aを DisplayObject.y の値で 昇順ソート
(3) 配列Aの先頭から順番に インデックス位置を設定
でどう?
ソートはDictionaryクラスを用いると簡単
907Now_loading...774KB:2009/01/27(火) 15:04:06 ID:XaAeGZYU
TextFormatをTextFieldの終端に設定したいんですができますか。

908908:2009/01/28(水) 02:51:00 ID:5gmMOGgm
できました。

defaultTextFormat=tf;//tfは指定したいTextFormatオブジェクト

です。知らなかった人は覚えてね。
909Now_loading...774KB:2009/01/28(水) 03:58:27 ID:sLhTCXiA
"TextFieldの終端" がどういう意味なのかを説明してくれないと誰にも分からないという罠。
910Now_loading...774KB:2009/01/28(水) 10:39:40 ID:xJAEc/PQ
911Now_loading...774KB:2009/01/28(水) 14:11:41 ID:MjFb6KLi
Flash見習いですが、質問です。

配列にライブラリから読み込んだインスタンス名を格納し、
その配列を使用して、「配列名.goToAndPlay()」の形で
ムービークリップの2フレームから再生、という動きは可能でしょうか?

例: ※ライブラリには「mc○」(○は0〜6まで)でインスタンスが登録されているものとする

var mc:Array = new Array(); ←ライブラリからインスタンスを読み込んだ際、インスタンス名を格納する配列

function rollov(){
 _root.mc[i].gotoAndPlay(2);
}

for (i=0; i != 7; i++) {
 _root.attachMovie("mc"+i, "mc"+i, i);
 mc[i] = eval("mc"+i);
 }
}

_root.mc[i].onRollOver = _root.rollov;


記述には至らぬ点が色々とあるかと思いますので
出来れば色々と突っ込んでくれると嬉しいです。
912Now_loading...774KB:2009/01/29(木) 08:08:45 ID:4BsupgdK
はい次の質問どうぞー
913Now_loading...774KB:2009/01/29(木) 10:03:35 ID:yPPjW7Zw
attachMovieでライブラリからシンボルを読み込む際、
指定した識別子のシンボルが無い場合は何の情報が返ってくるんでしょうか?
914Now_loading...774KB:2009/01/29(木) 11:09:13 ID:3x9/WmRs
何の情報も帰ってこないって情報が帰ってくる
915Now_loading...774KB:2009/01/29(木) 11:14:24 ID:yPPjW7Zw
>>914
ありがとうございます
nullやundefineとはまた違うんでしょうか?
もし他のスレで聞いた方が良いのならそうします
916Now_loading...774KB:2009/01/30(金) 15:54:59 ID:oOxYjaob
FULL FLASHのサイトを作りました。

AS3.0でリキッドレイアウト
(ウインドウサイズにぴったりで、
ウインドウの大きさ変えたら
それに応じてコンテンツが中央に来るレイアウト)

を指示したいのですが、どのようなコードを書けば良いでしょうか?

自分で調べたところ、
下記のコードを発見しました。
もしこのコードで合っているなら、
これをどのフレームに記述すればよいでしょうか?

import flash.display.StageAlign;
import flash.display.StageQuality;
import flash.display.StageScaleMode;
import flash.events.Event;

stage.addEventListener(Event.RESIZE, resizeHandler);


ご存知の方おりましたら
どうかよろしくお願いいたします。
917Now_loading...774KB:2009/01/30(金) 19:10:06 ID:laASx77T
PasswordとIDの入力が必要なサーバに、
URLRequestを使ってアクセスしようとしているのですが、

http://username:password@....

と指定してもエラーが出てしまいます。
どうすれば良いでしょうか?
918Now_loading...774KB:2009/01/31(土) 15:13:08 ID:Vcu4AIju
progressionでロールオーバーボタン置いたmcにup、over、down、currentラベルつけてるんですがover時に音鳴らそうとIDEでoverに設定したんですが再生が遅れます。音はライブラリに読み込んでいて重はくないと思います。

なんとかoverで音再生できませんか…?
宜しくお願いします
919Now_loading...774KB:2009/02/02(月) 01:22:25 ID:Gy7xAnqQ
>>916

private var left:number=0
private var top:number=0
private var right:number=stage.stagewidth
private var bottom:numbar=stage.stageHeight;

ball.x=stage.stagewidth/2
ball.y=stage.stageHeight/2


920Now_loading...774KB:2009/02/02(月) 07:42:33 ID:rFcEOWbV
>>919さん

ありがとうございます!

このスクリプトは、そのまま書けばいいのでしょうか?
私のインスタンス名に置き換える必要のある部分
などはありますでしょうか?

また、書き込む場所は
メインタイムラインの1フレーム目でよろしいでしょうか?

どうかよろしくおねがいいたします。
921Now_loading...774KB:2009/02/02(月) 08:40:48 ID:+wGVmN1i
自分で試そうともしないのか
922Now_loading...774KB:2009/02/02(月) 12:15:15 ID:NO9jMB6W
>>921

試しましたが、下記のコンパイルエラーが出てしまいます。

private属性は、クラスプロパティの定義でのみ使用 private var left:number=0
private属性は、クラスプロパティの定義でのみ使用 private var top:number=0
private属性は、クラスプロパティの定義でのみ使用 private var right:number=stage.stagewidth
private属性は、クラスプロパティの定義でのみ使用 private var bottom:numbar=stage.stageHeight;

どうすれば良いか、わかりません。。
どなたかご存知のかたいましたら、どうかよろしくおねがいします。
923Now_loading...774KB:2009/02/02(月) 12:20:29 ID:plOeEmaL
>>922

クラス作れ...
924Now_loading...774KB:2009/02/02(月) 12:35:53 ID:NO9jMB6W
>>923

クラスの作り方が分かりません。
調べているんですが。。

class PrivateExample {

private var left:number=0
private var top:number=0
private var right:number=stage.stagewidth
private var bottom:numbar=stage.stageHeight;

ball.x=stage.stagewidth/2
ball.y=stage.stageHeight/2

}

こういうことでしょうか。。?
これもコンパイルエラー
「クラスをネストすることはできません」
になってしまいます。。


925Now_loading...774KB:2009/02/02(月) 12:50:46 ID:trkmgT9Z
検索エンジンを駆使してがんばれ、調べるのは君だ
AS3 クラス 講座
といった単語で地道に調査
Flash のヘルプでもいい
926Now_loading...774KB:2009/02/02(月) 13:56:29 ID:mio7H/eZ
本気でAS3でやるつもりなら
本当に基本中の基本の話なんだから一通り勉強した方がよい
(そのつもりが無いんならAS1/2にしといた方がいいと思う)

一応、AS3はどっかのサンプルを適当にコピペして使ったり
そういうことしかしてない人が扱ったりするような言語じゃないから
最低限サンプルを元に自分で書き直せるくらいの技術がなければ話にならない
927Now_loading...774KB:2009/02/02(月) 17:10:43 ID:NO9jMB6W
>>925、926

コメントありがとうございます。
本気でAS3きわめるつもりです。

本も5冊買って
サンプルは使わずに一からやっているのですが
つまずく事が多いです。

でも、優秀なプログラマは、自分で調べるという事が基本なのですね。
教えて下さってありがとうございます!がんばります!


928AS:2009/02/02(月) 20:46:24 ID:qP+iYuyg
load.movieでJpgを読みこみたいんですが、
解像度を指定できますか?
それとも読み込んだ後?にASで加工するのが普通?
929919だよ:2009/02/03(火) 00:51:09 ID:AUVhcSxP
NO9jMB6Wさんへ
ぜひActionScript3.0アニメーションをかってみてください。
すぐにその問題は解決しますよ。
あと本5冊ってなにを買いました。
もし初心者なら、
AS3.0プロフェショナル→初めてのAS3.0→ActionScript3.0アニメーション
をお勧めします。
自分はこれで覚えました
930Now_loading...774KB:2009/02/03(火) 15:36:06 ID:MdIdh31H
>>919
これはひどい
931Now_loading...774KB:2009/02/04(水) 00:26:48 ID:mUP2yIC8
box2dについて質問です。環境は、Flex3SDKです。
ついさっきDLしてきて、サンプルのMain.asのコンパイルは通って再生できたんですが
箱が動いてくれません。初期状態のまま止っています。
Test.asのUpdate()で描画の更新をしてると思うのですが、DrawJoint, DrawShapeあたりが
コメントアウトされています。それらの関数自体もコメントアウトされていたので、それらを外して
コンパイルしたら案の定エラーが出ます。大抵のエラーは変数名が違ったりしてたので直せたのですが、
どうしても、どうやって直していいか分らない部分があり、結局コンパイル出来ませんでした。
なにか多きく道を外れているような気がします。ぐぐっても同じ症状が見当たりませんし…

このサンプルは華麗にスルーすべきなのでしょうか
932Now_loading...774KB:2009/02/05(木) 02:23:12 ID:MLsPzFb8
AS2でこんな関数があります。引数が配列と指定されてます。

function test( hen:Array ){

trace(hen[0]);
trace(hen[1]);

}

test( { 50 , 55 } );

実行して変数を渡したが識別子が必要だと怒られました。
引数が配列型の場合は、どう書けばいいでつか?
933Now_loading...774KB:2009/02/05(木) 02:25:32 ID:gAZ9kNiD
test([50,55]);
934Now_loading...774KB:2009/02/05(木) 09:54:33 ID:MLsPzFb8
>>933
ありがとん
935Now_loading...774KB:2009/02/05(木) 14:16:20 ID:Fe0hkwxL
fl.controls.ComboBoxオブジェクトが1こあるswfを
Flex3で読み込んで、Flexのswfに組み込んで表示させたは良いんだが、
肝心の値を読み出す方法がわからない…どうすればいいんだろう。
936Now_loading...774KB:2009/02/05(木) 14:43:25 ID:mqBFRZHH
お疲れ様です。どうか質問させてください。
沢山小さな写真を並べ、その画像をロールオーバーで
コメントのムービークリップをカーソル横に表示させ
見れるようにしようと思っています。

しかし、ステージ端のものはコメントが切れてしまうため、
マウスのカーソルの座標の場所によって
ロールオーバーで表示させる場所をを変えたいのです。
600*800ステージのを縦横真ん中で四分割するとして、
左上、左下、右上、右下という
エリアごとにロールオーバーの場所を出し分けるものを書こうと思ったのですが
mouseX mouseYで座標を取る、if分で出しわけるということくらいしか分からず
つまずき上手くかけずエラーばかり出てしまいます。
因みにAS3で書かなければなりません。どうか知恵をお貸し下さい!
937Now_loading...774KB:2009/02/05(木) 15:09:37 ID:RG7SFPuI
>>936
どういったスクリプトを記述して
どこでエラーが出ているのか書かないと誰も答えられない
938Now_loading...774KB:2009/02/05(木) 15:19:16 ID:WQM/pAIM
>>936
色々やりかたはあると思うけど、そのやり方でもいいと思う。
コメントは全部配置して非表示にしておいて、
ロールオーバーで該当コメントだけを表示(直前に全て一旦非表示)
とかでいいんじゃない?
エラーの原因はエラーメッセージ見たりtrace仕込んだりしながら直していくしかない。
939Now_loading...774KB:2009/02/05(木) 16:20:48 ID:aQXr5iJ9
attachMovieについての質問です。


this.attachMovie("circle", "circle2_mc", this.getNextHighestDepth(), {_x:100, _y:100});

というふうに、{}内に初期のプロパティの値を設定できますが、
_y:アタッチムービーしたムービークリップの高さ
にしたい場合、
「アタッチムービーしたムービークリップの高さ」はどう記述すればよいのでしょうか。
940Now_loading...774KB:2009/02/05(木) 16:29:16 ID:mqBFRZHH
>>937,>>938
コメントは外部から読み込みたいので最初から配置は難しく、
書いたスクリプトは本を見ながら見よう見まねで書いて動かないレベルというか
ちょっと見せられる段階ではないので、もう少し形になってから後ほど出直してきます。
素早いコメント有難うございました!
941Now_loading...774KB:2009/02/05(木) 16:43:49 ID:5Foh4At3
>>939
1ステートメントじゃ無理じゃね?
分けて書けばいいんじゃね
942Now_loading...774KB:2009/02/05(木) 16:49:54 ID:aQXr5iJ9
>>941さん

コンパクトに記述したかったんですが、ムリなんですね…。
どうもありがとうございました。
943Now_loading...774KB:2009/02/05(木) 18:34:21 ID:5uu9qkU5
>>919さん

ありがとうございます!
ActionScript3.0アニメーション
早速買ってみます!!

もともとAS2.0はおろか
web業界に入ったのが2ヶ月前です。

この2ヶ月でなんとか
htmlとcssのタグ打ちはできるようになりました。

もともとインタラクティブデザインに興味があり、
AS3.0に絞ってやろうと思いました。

僕が買ったのは

1冊目 速習Webデザイン ActionScript 3.0
2冊目 ActionScript 3.0 逆引きクイックリファレンス
3冊目 ActionScript3.0 ビジュアル・リファレンス
4冊目 ActionScript 3.0 プログラミング入門
5冊目 詳説 ActionScript 3.0
944Now_loading...774KB:2009/02/05(木) 18:34:42 ID:5uu9qkU5
1,2冊目は同時購入。
1冊目はとても分かりやすく、レッスンをほぼ終了。
MovieClipオブジェクトに関しては
AS記述できるようになりました。
 ↓
AS3.0の全容が全く見えてこなかったので
辞書式の3冊目も購入。2冊目とあわせて見るも、
理解できず。。
 ↓
少しレベルアップした解説本をまたやれば
見えてくるかと思い4冊目を購入。
1冊目とかぶるところが多く、しかし、全容が見えない。。
 ↓
そもそもアクションスクリプトとは何なのかを
知ればいいのかも、と思い、5冊目を購入。
難しいですが、分からない文字調べながら
読み進めているのが現状です。

諦めずにがんばります!
ありがとうございました!!
945Now_loading...774KB:2009/02/05(木) 18:49:34 ID:WQM/pAIM
>>939
this.attachMovie("circle","circle2_mc",this.getNextHighestDepth(),{_x:100, _y:100, _height:500});
とかでいいんジャマイカ?
946Now_loading...774KB:2009/02/05(木) 21:24:59 ID:D8FaBhWN
AS3で、座標による重ね合わせの変更をしたいのですが、
便利なクラス、または効率的な方法はないでしょうか。

やりたいことは「Y座標が下のMCほど重ね順が上になる」というものです。
947Now_loading...774KB:2009/02/05(木) 22:12:44 ID:ZTgz9bMG
Arrayにつっこんでsort
948Now_loading...774KB:2009/02/06(金) 06:41:39 ID:nD2oiAsN
AS3で、今日の年月日を所得して、
その前後数か月の月も表示させたいのですが、
月の数字を足したり引いたりしても-11月とかでてしまいます。
Dateクラスは自動的に月や年度を変えてくれるような説明を読んだのですが、
どうもやり方を間違っているようなのでご指摘よろしくお願いします!

//12か月前を表示
var dayNames:Array = ["日", "月","火","水","木","金","土"];
var dateObj:Date = new Date;
var year:String = dateObj.fullYear + "年";
var mon:Number = dateObj.month -12;
var month:String = mon +"月";
var date:String = dateObj.date + "日";
var day:String = "(" + dayNames[dateObj.day] + ")";
date_txt.text = year + month + date +day;
949Now_loading...774KB:2009/02/06(金) 10:08:01 ID:5advChc4
>>945さん
汎用性を持たせるために、変数で取得しつつ記述したいんですよ。
this.attachMovie("circle","circle2_mc",this.getNextHighestDepth(),{_x:100, _y:100, _height:Stage.height-this._y});
みたいな。
この場合、this._yのthisは circle2_mc._yではなくて _rootの_yになるので
意図通りになりません…
950Now_loading...774KB:2009/02/06(金) 15:31:41 ID:VAdIHjOQ
>>948
setMonthを使うんじゃまいか
951Now_loading...774KB:2009/02/07(土) 00:24:44 ID:bg5HYe3B
actionscriptとは少し違っているかもしれませんがどうか教えてください

やりたい事:asファイル単品でswfファイルを作る

自機マシーンに入っているのはCS3なのですが、このCS3でasファイル単品をコンパイル?してswfを作る方法がないか探しています
なんでもFlexとやらならば可能という記述はみますが、CS3でならばという話は聞きません
CS3はflasファイルでないと作れないのでしょうか?
どうかよろしくお願いします
952Now_loading...774KB:2009/02/07(土) 07:38:17 ID:8fZKLB1B
余裕のよっちゃん
953Now_loading...774KB:2009/02/08(日) 03:22:08 ID:CAg/6rDR
コンストラクタで
var circle:Shape=new Shape();
circle.graphics.beginFill(0x777777);
circle.graphics.lineStyle(2,0xdddddd);
circle.graphics.drawCircle(0,0,10);
circle.graphics.endFill();

circle.addEventListener(MouseEvent.MOUSE_DOWN,onMouseDown);
this.addChild(circle);

ってやってるんだけど EventListenerが呼ばれません
なんで?
954953:2009/02/08(日) 03:37:10 ID:CAg/6rDR
circle:Sprite = new Sprite()
だったら動いたよ。
Shapeに登録できんのだぜ。

しかしAS3の情報はとんでもなく使えねえ。
 helpを読め ってとんでもなく泥沼だよな。
 AS3に詳しい人間じゃなければ読めないので泥沼になりがち
 かといって個人のページは。。。
 
 Shapeに登録できると書いてあったページを信用したおれが馬鹿なのですね。
 そして某 makecircle:shapeな関数をこぴぺして使ったおれが 馬鹿なのですね。
 そこの中の人の本をかって 日本語の誤植をメールで 失礼のないように送ったが
 何も帰ってこないのは おれが馬鹿なのですね。

ごめん ぐちった。
みんながんばってね。
955Now_loading...774KB:2009/02/08(日) 12:57:30 ID:calqmbEw
>AS3に詳しい人間じゃなければ読めないので泥沼になりがち

そんなに難しい?
索引でSからShapeを探して最初の説明読んだら書いてあるんだが
956Now_loading...774KB:2009/02/08(日) 15:21:32 ID:I9/seDp7
InteractiveObjectを継承してない時点でもわかるんだけどね
957Now_loading...774KB:2009/02/08(日) 15:35:29 ID:calqmbEw
>>956
それはAS3がある程度わかる人じゃないと難しいでしょう
958Now_loading...774KB:2009/02/09(月) 12:27:29 ID:mOcJtrEU
>>951

AS2なら、mtascとswfmillでOK
AS3なら、flexSDKがいるよん♪

ちなみにCS3って書いてるのFlashCS3の事だよね

スクリプトベースでコンテンツ作りたいなら、FlashDevelopとかお薦めです
959Now_loading...774KB:2009/02/09(月) 16:20:40 ID:Tbp8StXX
AS2の、型宣言についての質問です。

普段、型を宣言する場合、例えば以下のように書くとするのですが、
var testMC:MovieClip;

二階層目以降の変数を型宣言する場合、以下のようには記述できませんよね。
var testParentMC.testMC:MovieClip;

その場合、どう記述するのが正しいのでしょうか。

960Now_loading...774KB:2009/02/09(月) 17:07:10 ID:YUUeH8/l
二階層目内で変数宣言をすればよい
961Now_loading...774KB:2009/02/09(月) 18:20:08 ID:Tbp8StXX
>>960さん
できれば一階層目にまとめて書きたいのですが、ムリなのですか?
962Now_loading...774KB:2009/02/09(月) 18:21:54 ID:uyN/MTUm
以下のようなオブジェクトを10個作って、traceしたところ
myXpは、それぞれのオブジェクトが数値を保持しているのですが
myPointの方は、すべてのオブジェクトで数値を共有しているようです。
こういうものなのでしょうか?
traceの結果
100 100
101 100.1
102 100.2
103 100.3
public class Ball extends Sprite
{
var myPoint:Point = new Point(100,0);
var myXp:Number;
public function initBall(iniPoint:Point): void
{
myPoint = iniPoint;
myXp = iniPoint.x;
//BallのShapeを表示
this.addEventListener(Event.ENTER_FRAME, move);
this.addEventListener(MouseEvent.CLICK,clicked);
}
function move(evnt:Event):void
{
myPoint.x = myPoint.x + 0.1;
myXp = myXp + 0.1;
trace(myPoint.x, myXp);
}
}
963Now_loading...774KB:2009/02/09(月) 18:24:30 ID:bxQHhmUj
>>960
ようわからんけど
var mc:MovieClip = this.hoge.piyo;
みたいにしたいのかな
964Now_loading...774KB:2009/02/09(月) 18:26:22 ID:bxQHhmUj
>>962
public class Ball extends Sprite
{
var myPoint:Point
var myXp:Number;
public function initBall(iniPoint:Point): void
{
myPoint = new Point(100,0);

かな
965962:2009/02/09(月) 18:49:49 ID:uyN/MTUm
>>964 ありがとうございます。
たしかに function initBall 内で new Point(100,0) とすると保持できたのですが
呼び出し元から point(100,0) を引数で渡すと(iniPointのことです)
やはり myPoint.x は1ずつ足されて表示されてしまいます。
元は同じ iniPointからとってきているのになぜでしょうか
966Now_loading...774KB:2009/02/09(月) 19:11:37 ID:Tbp8StXX
>>963

なるほ そういう考えになるのか。
967Now_loading...774KB:2009/02/09(月) 19:31:03 ID:bxQHhmUj
>>965
あーあー、それ同じもの渡してるからそうなるんじゃ?
インスタンス.initBall(new Point(100,0));
みたいに別のpoint渡さないとそれぞれに別のpointとして保持されないよ

それか、point.clone()で同じ値のコピー作るか
public function initBall(iniPoint:Point): void
{
myPoint = iniPoint.clone();
968Now_loading...774KB:2009/02/09(月) 19:39:37 ID:aGfmG6Sd
>>965
呼び出し元でちゃんとひとつずつnewしてる?
969Now_loading...774KB:2009/02/09(月) 19:40:56 ID:aGfmG6Sd
リロードし忘れたorz
970962:2009/02/09(月) 19:43:38 ID:uyN/MTUm
>>967,968,969
ありがとうございます! できました!
なぜこういう結果になったのかも理解できました。
ありがとうございました
971Now_loading...774KB:2009/02/09(月) 20:37:43 ID:Tbp8StXX
■■■■■■■■■■■■■
■           ■
■           ■
■   Stage     ■
■           ■
■           ■
■■■■■■■■■■■■■



■範囲内(ステージ外、10px)で、ランダムでxとyの値を出す場合、
どういう式になりますか。



972Now_loading...774KB:2009/02/09(月) 20:38:43 ID:Tbp8StXX
↑あ、ずれた
ステージの周りに■がある図です。
973Now_loading...774KB:2009/02/09(月) 22:39:36 ID:Z+FAHSfa
特定の複数あるサウンドだけを停止する事ってできるのでしょうか?

A001.mp3〜A012.mp3だけサウンド停止してBGMなどは再生されてほしい場合

stop(A001.mp3〜A012.mp3)

こんな形になるような命令したいのですが
正規スクリプト変換できる方、よければご指導お願いします。

環境:FlashCS3 アクションスクリプト2.0
974Now_loading...774KB:2009/02/09(月) 23:41:29 ID:yY1ZY3bx
>>971
ググれば一発じゃないか・・・
ttp://q.hatena.ne.jp/1209039417
975Now_loading...774KB:2009/02/10(火) 01:08:30 ID:3RU0Tqlv
>>973
停止したいサウンドオブジェクトを配列につっこんで
for文等で一つずつ再生停止すればいい
976Now_loading...774KB:2009/02/10(火) 09:57:13 ID:0tUlAc88
Flex3, AS3です。

作ったswfをMS PowerPointに埋め込んで使おうと思っています。
困ったことに、1度swfにフォーカスを移してしまうと、
→、←、↑、↓、PageUp、PageDownを押してもPowerPoint自体のページ送り(戻りも)ができなくなってしまいます

ホイールスクロールでやればできますが、キーを使いたいのです。何か良い方法はありませんか?
977Now_loading...774KB:2009/02/10(火) 11:38:17 ID:QJvRy8ma
>>974

-20<x<-10 であり、かつ 10<x<20
-20<y<-10 であり、かつ 10<y<20
とかでやっていたら、
四隅だけにしかしゅうちゅうしなくないですか?
978Now_loading...774KB:2009/02/10(火) 11:56:42 ID:3RU0Tqlv
本題とは関係ない突込みだけれど

> -20<x<-10 であり、かつ 10<x<20

そんな x は存在しない
979Now_loading...774KB:2009/02/10(火) 12:27:45 ID:ZBzCffMP
10歳以上20歳未満かつ40歳以上60歳未満のアテクシ
980Now_loading...774KB:2009/02/10(火) 12:30:57 ID:0tUlAc88
>>977
こんな感じか。
手元で試してない。承知の上よろしく。

r1 = Math.random() *10.;
rand = Math.random();
if( rand < 0.25 )
{
//左側
x=r1*-1;
y=Math.random()*stage.hetght;
}
else if( rand < 0.5 )
{
//上側
y=r1*-1;
x=Math.random()*stage.width;
}
else if( rand < 0.75 )
{
//右側
x=stage.width+r1;
y=Math.random()*stage.hetght;
}
else
{
//下側
y=stage.hetght+r1;
x=Math.random()*stage.width;
}
981Now_loading...774KB:2009/02/10(火) 13:31:24 ID:QJvRy8ma
>>978 979
すいません。参考URLをそのまま引用してました。
正しくは&&ではなくて||です。


>>980
ありがとうございます。検証してみます。
982Now_loading...774KB:2009/02/11(水) 01:29:18 ID:gM2yQaij
アドビのヘルプのインターフェースの説明に猫が出てくるんだがこれが適当すぎで笑える
983Now_loading...774KB:2009/02/11(水) 15:38:28 ID:3HvVSccU
Tweensyの読み方ってトゥイーンジー(Tween + easy?)

で合ってますか
984Now_loading...774KB:2009/02/12(木) 02:33:46 ID:VhsSTmyQ
普通は慣用でスィー
985Now_loading...774KB:2009/02/12(木) 19:51:38 ID:7+F4oNzE
あってるよ。

スレをアゲる悪いおじさんの言うことなんて、聞いちゃダメだよ。
986Now_loading...774KB:2009/02/13(金) 14:32:05 ID:4uXoNoi0
ActionScript3で、どこかしらの場所に"abc.txt"というファイル名で
"xyz"と書かれたテキストファイルを作るソースを教えてください。
同様にバイナリファイルも、内容・ファイル名はソース内で決めうちでいいので
保存する方法を教えてください。
987Now_loading...774KB:2009/02/13(金) 15:01:52 ID:TPTkiodt
FileReference クラスを用いる
988Now_loading...774KB:2009/02/13(金) 21:51:07 ID:7p9dLZyd
localConnect使うとMacOSXのflash playerがフリーズするのは既知のバグなんでしょうか?
safari・firefoxともに動作しません
自分のサイト以外も見てみたんですが、ことごとくフリーズします

一応javascript経由でやりとりはできるのですが、
localConnectならswf内で完結して便利なのに使えず困ってます・・・
989Now_loading...774KB:2009/02/14(土) 05:54:23 ID:fMmkw1Qk
for文の初期化分でローカル変数を宣言した場合、
その変数スコープはfor文の外に出てしまうのでしょうか?
for文の外まで引き摺ってしまうとしたら非常に面倒ですが…。
990Now_loading...774KB:2009/02/14(土) 06:03:36 ID:52HTYw7q
試せば分かるだろ・・
991989:2009/02/14(土) 06:11:23 ID:fMmkw1Qk
ブロックスコープ自体がASにはないのですね。
お手数をお掛け致しました。
992Now_loading...774KB:2009/02/14(土) 18:48:10 ID:baBgyCbW
ムービークリップの基準点
(ScaleX,ScaleYを変更したときの基準となる位置
デザイン画面では真ん中などにある小さい白丸)

の座標を、AS3でコード上から変更することはできますでしょうか
993Now_loading...774KB
無理