ActionScript 誰かが物凄い勢いで解答するスレ 14

このエントリーをはてなブックマークに追加
1Now_loading...774KB
AcitonScriptのことなら
初歩的な質問でもなんでもおk

見れない、保存したい、flashを作りたいはスレ違い
下記の関連スレ、超基本的な質問へ。

●質問する時は自分の環境を書く
書いてない場合WinXP,FlashMX2004(AS2.0以降)を前提で
●質問はものすごい勢いじゃなくて結構
●できるだけコードも示す
●自分が試してみた処理を書く

直前スレ
ActionScript 誰かが物凄い勢いで解答するスレ 13
http://pc8.2ch.net/test/read.cgi/swf/1151581429/l50

関連スレ
Flash製作初心者の質問スレッド レイヤー34
http://pc8.2ch.net/test/read.cgi/swf/1153147930/l50
Flashの超基本的な質問はここでしろ! part30
http://pc8.2ch.net/test/read.cgi/swf/1157035508/l50

サイト、参考書籍、関連情報は>>2-10あたり
2Now_loading...774KB:2006/09/08(金) 06:05:53 ID:at2p8gXn
ASお勉強さいと
FLASH ActionScript Helper (初級〜中級。ASの概念をじっくりと
ttp://homepage3.nifty.com/ginga-b/
はりぼてあくしょんすくりぷと (ホンさんの分かりやすい解説
ttp://www.geocities.co.jp/Milano-Cat/4036/bote/index.html
FumioNonaka.com (AS辞書正誤表なども
ttp://www.fumiononaka.com/

AS書籍
おしえて!!Macromedia FLASH MX Action Script (イラスト入りで分かりやすい
macromedia FLASH ActionScriptバイブル (リファレンス本
続FLASH ActionScriptバイブル MXのツボ (上の続編、MXに対応
Macromedia Flash Mx 2004 Actionscript 2.0 Dictionary
Actionscript for Flash Mx: The Definitive Guide
購入は書籍店か、アマゾンあたりで。

Flash情報交換フォーラム
ttp://www.mediacreator.jp/
ttp://www.flash-jp.com/
3Now_loading...774KB:2006/09/08(金) 06:06:26 ID:at2p8gXn
マクロメディア本家(30日間無料トライアルのダウンロードもここ)
ttp://www.macromedia.com/jp/
ASエディタse|pyのHP(ダウンロードは一番下のとこ)
ttp://www.sepy.it/
.solエディタはここ
ttp://www.alexisisaac.net/
4Now_loading...774KB:2006/09/08(金) 06:45:19 ID:peXOqRoX
アドビ本家(30日間無料トライアルのダウンロードもここ)
ttp://www.adobe.co.jp
AS3.0ドキュメントの和訳
ttp://www.adobe.com/support/documentation/jp/flex/
AS3.0はFlex2か以下のFlashPreviewで実行可能(英語版のみ)
ただし、ASのみの評価版のためFlash8Proが必要
ttp://labs.adobe.com/の
Flash Professional 9 ActionScript 3.0 Preview
5Now_loading...774KB:2006/09/08(金) 23:04:58 ID:15xbN+xo
単純な質問なんですが、
ugokiっていうスクリプトは、日本語用なんですか?
英語に置き換えると、何に当たるんでしょう。
6Now_loading...774KB:2006/09/09(土) 02:58:44 ID:p/chhg1D
>>5
>ugokiっていうスクリプト
何それ?
7Now_loading...774KB:2006/09/09(土) 11:04:17 ID:peKG8y0m
JavaScriptでF5を殺しているのですが、
FlashにフォーカスがあるとJavaScriptが効かず、
更新されてしまいます。
これをASで防ぐ方法はありますでしょうか?
Flash Player 8でIEを使用しています。
8Now_loading...774KB:2006/09/10(日) 21:52:14 ID:nUGF2xEj
Macromediaは何故on(press)とかよりaddEventListenerを推奨してるの?
9Now_loading...774KB:2006/09/10(日) 22:02:17 ID:sAqYyKHD
>>8
onとかonClipEventは大昔のやり方だから
10Now_loading...774KB:2006/09/10(日) 22:28:43 ID:9lrOb3Z3
AS3.0だとその記述が無くなるから
11Now_loading...774KB:2006/09/11(月) 02:21:16 ID:FdPYu90T
全てFlashで出来ているページを作ったのですが
Flashにフォーカスを合わせるとマウスホイールでIEのスクロールが出来なくて困っています。

ゲーム系のページでは、Flash部分を選択してもスクロールが出来るので
もしかしたらHTMLにtableを作ったり縦長の画像を置いたら、と思ったのですが
やはりFlashにフォーカスが合わさるとスクロールが出来なくなってしまいますorz

どのようにしたらスクロールが出来るようになるのでしょうか?
12Now_loading...774KB:2006/09/11(月) 14:04:54 ID:TRR/wIfG
>>11
環境を書きなはれ
13Now_loading...774KB:2006/09/11(月) 14:10:31 ID:QpaDE9Yn
キャレットの位置取得と挿入について質問(FlashMX2004ver7.2使用)

テキストフィールド(インスタンス名:txt1_ins)の任意の文字列中の任意の
位置(キャレットの位置)に、[good]か [no_good]の文字列を挿入させるASを
書いています。

先ずは、キャレットの位置を取得するため、txt1_insに適当な文字列を書いて、
その中にキャレットを置いて、ボタンアクションで
on (release) {
ca1 = Selection.getCaretIndex("txt1_ins");
//キャレッの位置を取得
trace("CA= "+ca1);
}

としましたが、-1しか返りません。アドバスを願います。
14Now_loading...774KB:2006/09/11(月) 14:42:15 ID:OMOq/+DP
Selection.getCaretIndex();って引数とるの?
1513:2006/09/11(月) 15:46:51 ID:muMh8rPF
>>14
Helpを再度参照しました・・・・ 引数要らないですね。
意図としては、テキストフィールドが複数ある場合に、それを指定して
キャレット位置を取得することでした。

色々しましたが、単純に Selection.getCaretIndex(); としても
駄目でした。 どうすべきでしょうか?
16Now_loading...774KB:2006/09/11(月) 16:05:08 ID:OMOq/+DP
テキストフィールドクリックしてみ。
onMouseUp=function(){
trace(Selection.getCaretIndex());
}
1713:2006/09/11(月) 19:18:42 ID:l32qb0zO
>>16
有難うございます。onMouseUpでは位置が取得できましたが、ボタン:goodB 
を設定して

this.goodB.onRelease = function () {
trace("/onRelease/");
po = Selection.getCaretIndex();
trace(po);
};

とすると、
/onRelease/
-1

のように表示されます。これは何故でしょうか?
18Now_loading...774KB:2006/09/11(月) 19:24:25 ID:tPMCEDZl
ボタンにロールオーバーすると、フレームのA地点に行き、
そこでAムービーが再生されます。
ボタンをロールアウトすると、フレームのB地点に行き、
そこでBムービーが再生されます。

このAとBのムービーは、
同じ時に存在してはいけないムービーです。

ゆっくりロールオーバー、ロールアウトしている時は反応するのですが、
早いと、再生ムービーが入れ替わってしまいます。
ロールオーバーするとB地点Bムービー、
ロールアウトするとA地点Aムービーのようになります。

aボタンだけで早く触っていても問題ないのですが、
aボタンをロールオーバーした後、すぐにbボタンをロールオーバーすると
間にロールアウト空間があるにも関わらず、
ロールアウトしたことにならないようなのです。
解決方法をお教えください。お願いします。

a.onRollOver = function() {
gotoAndPlay("シーン1,A");
}
a.onRollOut = function() {
gotoAndPlay("シーン1,B");
}
b.onRollOver = function() {
gotoAndPlay("シーン1,A");
}
b.onRollOut = function() {
gotoAndPlay("シーン1,B");
}
19Now_loading...774KB:2006/09/11(月) 19:31:46 ID:8rMDqc4D
ボタンが二つある理由は?
20Now_loading...774KB:2006/09/11(月) 19:34:34 ID:6m49jA6B
>>18
ボタンだけ別レイヤーにしてフレームを跨げ
シーンは使うな
21Now_loading...774KB:2006/09/11(月) 19:42:15 ID:tPMCEDZl
お返事ありがとうございます。

ボタンそれぞれにロールオーバーした際に
別々の説明文が出ます。
この説明文ムービークリップは、ボタンのオーバーフレームに仕込んであります。
リリースするとgetURLでそれぞれのページに行きます。

AとBのムービーは、この説明文の背景です。
Bはループしているムービークリップです。
Aは、ロールオーバーした際に、Bが変形するアニメーションをムービークリップとしていて
これはループさせていません。

素早くaとbのボタンを行き来した際、ボタンのオーバーフレームに仕込んでいる
説明文ムービークリップは、間違いなく動作します。
gotoAndPlayさせて表示するムービークリップだけが
ロールアウト反応しないようなのです。
22Now_loading...774KB:2006/09/11(月) 19:46:26 ID:tPMCEDZl
>>20
ありがとうございます。

ロールアウトした時のムービーが
一つだけしかないのですが、
ボタン2つとも、アップ位置にムービーを仕込むと
誤動作しないものでしょうか。
同じタイミングで動くものなのでしょうか。
23Now_loading...774KB:2006/09/11(月) 19:59:10 ID:6m49jA6B
さっぱり意味解らん
flaファイルうp
24Now_loading...774KB:2006/09/11(月) 20:23:48 ID:tPMCEDZl
はい。ダミーを作ります。
少しお時間ください。
お願いします。
25Now_loading...774KB:2006/09/11(月) 21:32:22 ID:OMOq/+DP
>>17
フォーカスがはずれてるから。
つかさ、どうやってテキストフィールドを指定するつもりなんだよ。
ヘルプ読んだならそんぐらいわかるだろ。
26Now_loading...774KB:2006/09/11(月) 22:55:17 ID:tPMCEDZl
18です。
ダミーファイルをアップしてみました。
お願いします。

ttp://www.rupan.net/uploader/download/1157982748445263.Af1Xet?dl
PASS: 18
27Now_loading...774KB:2006/09/11(月) 23:59:26 ID:6m49jA6B
>>26
作りが凄い複雑で戸惑ったが
swfにしてみるとどんな動作を作りたいのかがやっと解った。
百聞は一見にしかずという。

とりあえず安定化
四角の色とか大きさを変えたいだけならシェイプトゥイーン使うと余計なMC増えなくて良いよ
ttp://wktk.vip2ch.com/upload.cgi?mode=dl&file=11839
PASS: 18
28Now_loading...774KB:2006/09/12(火) 00:18:55 ID:Ezesw5wy
ありがとうございます!!
こんなに変わるなんて。
作り方が全然違うので驚きました。すごい!!
感謝いたします!!
このファイルを参考に作り直します。
本当にありがとうございました!!!!
29Now_loading...774KB:2006/09/12(火) 22:50:52 ID:oVPJzFhb
Ctrlキーを上げたときの感知法について質問
FlashMX2004を使っています。

インスタンス.onRelease= function() { } のように、Ctrlキーが上った場合の
動作を記述するにはどうすればいいでしょうか?

myKey = new Object();
myKey.onKeyUp = function() {
if (Key.CONTROL == 17) {//Key.CONTROLは17
trace("KeyUp ");
}
};
Key.addListener(myKey);

と記述した場合、全てのキーに反応してしまいます。
よろしく願います。
30Now_loading...774KB:2006/09/12(火) 23:04:17 ID:XoIeO7wv
>>29
if (Key.CONTROL == Key.getCode()) {
3129:2006/09/12(火) 23:09:18 ID:oVPJzFhb
早速、ありがとうございます。
やってみます。
32Now_loading...774KB:2006/09/12(火) 23:45:55 ID:brGBXakd
>>29
それは if(17 == 17) と書いてるのと一緒だよw
33Now_loading...774KB:2006/09/12(火) 23:57:27 ID:5RRy1t8y
>>32
Key.getCode()は最後に押したキーのコードなんだから、それが17ならって条件はそれでよくね?
34Now_loading...774KB:2006/09/13(水) 00:14:18 ID:E5QtPpGi
>>33
>>32 が言ってるのは >>29 の (Key.CONTROL == 17) の事でしょ。
35Now_loading...774KB:2006/09/13(水) 01:34:33 ID:UX4PBcxq
XPでFlash8Proを使ってWebアプリを作り
HTMLに埋め込んだのですが、swf部分にフォーカスを合わせると
マウスホイールのスクロールがブラウザに反映されなくて困っています。

他のFlashを埋め込んでいるサイトでは
ちゃんとブラウザの方のスクロールも出来ているのですが
JavaScriptやFlashの方でマウスホイールのイベントを
操作するようなことが必要なんでしょうか?
36Now_loading...774KB:2006/09/13(水) 02:04:31 ID:5ce3plgo
>>35
どっかでMouseクラス使ってない?
Mouse.onMouseWheelでマウスホイールの回転が取得できる(ヘルプに例あり)
37Now_loading...774KB:2006/09/13(水) 02:40:20 ID:UX4PBcxq
今テスト用にSWFを作ってみたのですが
ステージにFlash8標準のコンポーネントを置くと
ブラウザのスクロールができなくなるようでした。

ボタン化したシンボルではスクロールは出来るのですが
標準のボタンやテキストエリアを配置するとまた…

>>36
作ったWebアプリでは使っていましたが
今回作ったテスト用ではclickのリスナーのみで、
リスナーの有無では変わりませんでした。

やはりコンポーネントの有無のようなのですが、
これは仕方ないんでしょうか…?
38Now_loading...774KB:2006/09/13(水) 14:30:03 ID:2th2+CC0
キーコードにおけるEnterキーについて質問(FlashMX2004でPlayer7を使用)

各種キーのコードによる動作を記述するため下のASを書きましたが、プレビューで
再生した際、EnterキーのみがSWFの画面をクリックして(SWFをアクティブにして?)
なおかつ他の任意のキーを押して初めて「Key= 13」と表示されます。

myKey = new Object();
myKey.onKeyUp = function() {
trace("Key= "+Key.getCode());
keycode=Key.getCode();//テキストフィールドに表示
};
Key.addListener(myKey);

これはEnterキーの特殊性によるものでしょうか? 
それと、このようなステップを回避する方法は有りますでしょうか?
39Now_loading...774KB:2006/09/13(水) 14:38:54 ID:/ZuEPdSO
プレビュー画面の「設定」かな?どっかに「キーボードショートカットの無効」みたいなのがあるから
それチェック
そうすれば多分enterキー普通に認識してくれる
40Now_loading...774KB:2006/09/13(水) 14:50:17 ID:rPdKvg/v
確かALTか何か押しながらだとプレビューのショートカットが無効に
なると思ったけど
41Now_loading...774KB:2006/09/13(水) 20:08:51 ID:avSSIfLE
http://www.adobe.com/jp/support/flash/ts/documents/url_encoding.htm
このページの文字エンコーディングについてですが、
C : %C7
のようなラテン文字系が、
書いてある通りのエンコードでは
表示されないんですがこれは誤記なんでしょうか。
それともうちの環境だけなのでしょうか。

MacOSX10.4
Flash 8 pro
42Now_loading...774KB:2006/09/13(水) 20:37:49 ID:UKo0Wijh
>>41
さて、どうやったのか
43Now_loading...774KB:2006/09/13(水) 21:40:56 ID:avSSIfLE
>>42
//Flash
txt.text = str;
//html
test.swf?str=%C7

最終的にはCGIから変数を取得する形なのですが、
新規ファイルで簡素にhtmlで試してみたのですが表示されませんでした。
フォントを埋め込んでみても変わりません。
普通の文字列なら表示されます。
44Now_loading...774KB:2006/09/13(水) 21:51:47 ID:VLEzetSg
>>43
%C3%87
を試してみて
45AS使い:2006/09/13(水) 22:32:16 ID:VLEzetSg
>>43
ttp://limit10.com/upload/view.php?file=up1752.swf
あー疲れた。あってるかどうかは自分で調べてくれw

À  %C3%80  Á  %C3%81  Â  %C3%82
à  %C3%83  Ä  %C3%84  Å  %C3%85
Æ  %C3%86  Ç  %C3%87  È  %C3%88
É  %C3%89  Ê  %C3%8a  Ë  %C3%8b
Ì  %C3%8c  Í  %C3%8d  Î  %C3%8e
Ï  %C3%8f  Ð  %C3%90  Ñ  %C3%91
Ò  %C3%92  Ó  %C3%93  Ô  %C3%94
Õ  %C3%95  Ö  %C3%96  ×  %C3%97
Ø  %C3%98  Ù  %C3%99  Ú  %C3%9a
Û  %C3%9b  Ü  %C3%9c  Ý  %C3%9d
Þ  %C3%9e  ß  %C3%9f  à  %C3%a0
á  %C3%a1  â  %C3%a2  ã  %C3%a3
ä  %C3%a4  å  %C3%a5  æ  %C3%a6
ç  %C3%a7  è  %C3%a8  é  %C3%a9
ê  %C3%aa  ë  %C3%ab  ì  %C3%ac
í  %C3%ad  î  %C3%ae  ï  %C3%af
ð  %C3%b0  ñ  %C3%b1  ò  %C3%b2
ó  %C3%b3  ô  %C3%b4  õ  %C3%b5
ö  %C3%b6  ÷  %C3%b7  ø  %C3%b8
ù  %C3%b9  ú  %C3%ba  û  %C3%bb
ü  %C3%bc  ý  %C3%bd  þ  %C3%be
ÿ  %C3%bf
46Now_loading...774KB:2006/09/14(木) 09:55:15 ID:ZZcsSeSY
>>44-45
ありがとうございました。無事表示できました。
やはりアドビの間違いだったんですね。

>>45
swfありがとうございます。
凄すぎです。かなり便利でマジで助かります。
47Now_loading...774KB:2006/09/14(木) 14:13:46 ID:3YqGIfY7
FLASH使った広告で、
広告が載っているエリアにカーソルを乗っけると、そのエリアから紙飛行機が飛び出して
広告エリア外を飛び回るように見えるのがあるんだけど、どうやってるんだろ?
48Now_loading...774KB:2006/09/14(木) 15:13:11 ID:BAeXPY9u
javascriptでレイヤーだよ
49Now_loading...774KB:2006/09/14(木) 15:33:47 ID:LLUfnSPu
DHTMLとLocalConnectionだろ。
50Now_loading...774KB:2006/09/15(金) 00:02:35 ID:cxJ1z3PC
16進数表示でかかれたものを数字になおすにはどうすればいいですか?
0x??????の形をしているんですけれど・・・。
51Now_loading...774KB:2006/09/15(金) 00:14:06 ID:JeSEf+Ki
trace("0xFFFFFF"); //0xFFFFFF
trace(Number("0xFFFFFF")); //16777215
trace(0xFFFFFF); //16777215
52Now_loading...774KB:2006/09/15(金) 00:19:43 ID:WfsJEF5g
なんとなく、感じはわかりました。
いじってたらできたみたいです。

ありがとうございました。
5338:2006/09/15(金) 03:59:27 ID:RBoZZgc0
>>39, 40
ありがとうございます。
「キーボードショートカットの無効」をチェックしましたが、ダメでした。
やっぱり、一旦画面をクリックしてEnter以外の何らかのキーを打たないと
Enterのキーコードが得られません。
54Now_loading...774KB:2006/09/15(金) 07:26:03 ID:VnDG4teK
>>53
myKey.onKeyDown = function() {...};
でどうかな
55Now_loading...774KB:2006/09/15(金) 14:58:46 ID:uNXeGH51
環境:FlashMX2004でPlayer6
getTimer()を使ったフレームの移動を試みています。約2秒後に2フレ目に
移動させたいのですが、1フレ目で止まったままです。

this.stop();
startT = getTimer();
this.onEnterFrame = function() {
trace("Timer= "+getTimer());
};
if ((getTimer()-startT)>2000) {//約2秒後に2フレ目に
this.gotoAndPlay(2);
}

traceでは時間の経過は取得できています。原因は何でしょうか?
56Now_loading...774KB:2006/09/15(金) 15:02:57 ID:y0/lj6hf
>>55
ifが関数外だkら
57Now_loading...774KB:2006/09/15(金) 15:49:02 ID:5XpTxjDR
this.stop();
startT = getTimer();
this.onEnterFrame = function() {
trace("Timer= "+getTimer());
if ((getTimer()-startT)>2000) {//約2秒後に2フレ目に
this.gotoAndPlay(2);
}
};
5838&53:2006/09/15(金) 16:08:42 ID:pxxFKUv1
(Enterキーのキーコードの取得)

>>54
試してみましたが、やっぱりダメでした。
どうも、A)Enter以外のどれかのキーを押す, B)画面をクリックする
の順番は問いませんが両方を行う必要がありそうです。
59Now_loading...774KB:2006/09/15(金) 18:13:19 ID:U6PdjmfD
俺もプレビューじゃEnterは取得できないけど(Macだが)
ビルドしたら普通に取得できるよね

プレビューじゃ仕方ないんじゃない?
60Now_loading...774KB:2006/09/15(金) 18:20:33 ID:5XpTxjDR
うちの環境だとキーボードショートカットさえ無効になってればプレビュー→ENTERでも認識された

環境依存なんじゃね?
どっちみち、ウェブで閲覧してる時は一度クリックしてフォーカスをフラッシュに合わせる必要があるんだからきにすんな
61Now_loading...774KB:2006/09/15(金) 19:09:34 ID:oFkMTFJu
こんばんは。さっそくですがお願いいたします。

現在あるターン制の戦闘ゲームアクションの戦闘画面を作成しているのですが回避処理させるスクリプトで手間取っています・・・。

私が希望する処理は以下のとおりです。

回避といいましてもステータスの名称が「TEC」であり、命中と回避を含めているものといたします。
よって、相手より低いとあたらない という意味(を示しているとおもう・・・)です。

「もし 回避があいてより低くいと低ければ低いほどあたらない。」
これだと100とかに範囲指定したら差が100以上になるとまったくあたらない というスクリプトができるんですが・・・。
私のゲームはプレイヤー、モンスターともども最初のステータスがほぼ20〜40なので
差が100以上になることはありません・・・。
さらに申し上げますと、終盤あたりだとプレイヤー、モンスターともどもステータスが1000を突破いたします。

もし自分が1200、相手が1400 でも多少はあたるようにしたいのです。

ちょっとあつかましい限りの要望ですが・・・お願いいたします。
62Now_loading...774KB:2006/09/15(金) 19:33:36 ID:VnDG4teK
>>61
ゲーム制作スレの方が良いレス付くと思うよ。
trace(hitornot(40,50));
trace(hitornot(100,110));
trace(hitornot(900,110));
function hitornot(exp1,exp2){
return exp1 / ( exp1 + exp2 ) > 0.5 ? true : false;
}
こんなのしか思いつかん。
63Now_loading...774KB:2006/09/15(金) 19:40:01 ID:IwoewR7n
>>61
結局、差が100をこえるのか、こえないのか、どっち?

差が限界をこえている時でも、低い確率であたりが出るように条件を付加すればいいだけじゃないのか?
差が-300以下なら5回に1回、-100以下なら3回に1回あたるとか。
64Now_loading...774KB:2006/09/15(金) 19:50:17 ID:5XpTxjDR
>>61
今唐突に思い浮かんだんだけど
function hitCheck(myTec,oppTec){
if(Math.random()*myTec>Math.random()*oppTec){
return "hit";
}else{
return "miss";
}
}
ってどうかな。これだと自分の値が高ければ高いほど有利だし、低ければ低いほど不利だけど、
どっちかが絶対当てるっていう状況にはならない
6555:2006/09/15(金) 20:10:43 ID:APAMKulk
>>56,57
ありがとうございます。2フレ目に移動できました。
しかしながら、1フレ目にしかtrace("Timer= "+getTimer()); の記述
が無いにも関わらず、2フレに入っても経過時間が表示されます。
これを止める方法はありますか?
66Now_loading...774KB:2006/09/15(金) 20:22:09 ID:5XpTxjDR
>>65
あります
onEnterFrameの意味を解ってないようなので自分で調べて下さい
67Now_loading...774KB:2006/09/15(金) 20:25:03 ID:oFkMTFJu
>>62
レスありがとうございます。参考にさせていただきます。あと以後そうさせていただきます^^;

>>63
ありがとうございます。参考にさせていただきます。あまり多くのスクリプトを書くと
私の低脳では紛らわしいことになりますので・・・;

>>64
相手の回避と自分の回避が同じなら結構あたりはずれあるようですね。
ありがとうございます。なんとかそのスクリプトを有効活用させていただきます。

どうも、失礼しました。
68AS使い:2006/09/15(金) 20:35:54 ID:t8VtLadW
>>65

this.stop();
startT = getTimer();
this.onEnterFrame = function() {
trace("Timer= "+getTimer());
if ((getTimer()-startT)>2000) {//約2秒後に2フレ目に
this.gotoAndPlay(2);
delete this.onEnterFrame;
}
};

または

this.stop();
function hoge() {
this.gotoAndStop(2);
clearInterval(id);
}
id = setInterval(this,"hoge", 2000 );
69Now_loading...774KB:2006/09/15(金) 20:40:24 ID:GYmYVQaF
再生ヘッドがあるところのフレームラベル(指定してあったとして)とかってASで取得できましたっけ?
バージョンはMX2004です
7069:2006/09/15(金) 20:43:28 ID:GYmYVQaF
あ、すみません
いきなり解決しました
フレームラベルを置いたタイミングでダミーのMC配置して、その存在確認することで対応しました
71Now_loading...774KB:2006/09/15(金) 20:44:24 ID:whmh/M49
>>61
差が自分のステータスの何%かを計算すればいいんじゃない?
自分1000で相手が800なら差が200だから20%の確率で回避

>>69
this._currentframe
72Now_loading...774KB:2006/09/15(金) 20:48:42 ID:GYmYVQaF
>>71
再生ヘッドがどのラベル区間にいるか簡単に認知したかったんです。
_currentframeを見ることでもできるんですが、その場合、それぞれのラベル区間の
頭とケツの番号を条件式にかけないといけないので面倒だったので。。
すみません。
73Now_loading...774KB:2006/09/15(金) 22:26:55 ID:ny5QLmfu
AS3.0の質問もココでいいのでしょうか?
74Now_loading...774KB:2006/09/15(金) 22:44:03 ID:y0/lj6hf
どうぞ
75Now_loading...774KB:2006/09/16(土) 01:55:10 ID:EsepToa3
FlashMX2004(Player6か7)を使っています。

マウスを使わずに、キーボードでボタンアクションさせる方法は有りますで
しょうか?(キー操作をマウスの代用にする)

つまり、Tabキーでフォーカスが移動できるボタン@,A,B があった時、
キーボードのAを押すとボタン@の、Bを押すとボタンAのon(release){}の
動作をさせるものです。

押したキーの判別は、以下の様にキーコードで行う予定です。
btnKey = new Object();
btnKey.onKeyUp = function() {
trace("Key= "+Key.getCode());
//
//動作の内容の記述
//
};
Key.addListener(btnKey);

よろしく願います。
76Now_loading...774KB:2006/09/16(土) 02:04:12 ID:8FyARE7f
>>75
できない。けど関数にしちゃえば同じことが出来る
function Hoge(){
  //動作の内容の記述
}
後はボタンのon(release){}やonKeyUpのとこでこの関数を呼んじゃいなよ。
77Now_loading...774KB:2006/09/16(土) 02:29:38 ID:CZDe8URh
>>75
//まずボタンアクションをフレームで定義する
btn0.onRelease=function(){
trace("btn0");
}
btn1.onRelease=function(){
trace("btn1");
}
btn2.onRelease=function(){
trace("btn2");
}
//キーリスナ登録
btnKey=new Object();
btnKey.onKeyUp=function(){
var tempNum=Key.getCode();
if(tempNum==65){
btn0.onRelease();
}else if(tempNum==66){
btn1.onRelease();
}else if(tempNum==67){
btn2.onRelease();
}
}
Key.addListener(btnKey);
//ボタンとか処理が多いようだったら配列で管理したほうが楽かもね
78Now_loading...774KB:2006/09/16(土) 04:10:19 ID:eiDPcVYH
ボタンイベントをon(press)とかで記述してるSWFに
キーボードショートカットを加えろって言われると
膨大な量の_parent駆除で鬱になってたんだけど
対策法は>>77のしかないのかな

on(release)の中身を全部functionで囲って、
フレームのKeyイベントから呼び出す、みたいな…
まぁ…無理だよなorz
79Now_loading...774KB:2006/09/16(土) 04:26:48 ID:dHDahdTX
FlashMX制作中、初心者丸出しで大変みっともないんですが、
_root上に写真読込用mc「main_photo」とタイトル用テキストエリア「title_area」を設置
画像a1.jpg,a2.jpg…サムネイルa1m.jpg,a2m.jpg…という画像を読込ませようと画策
頻繁に追加更新があるのでtitle.txtの更新だけで楽に更新しようと
解説書首っ丈でどうにかこうにか画像サムネイルボタンの自動配置まではなんとかできたんですが
(ソースがみっともないというのはこの際おいといて…)
問題はそのサムネイルボタンからどうやって「main_photo」「title_area」の更新をするのか…
「main_photo」だけならリンクボタンの_nameを使ってon(release)の_root.main_photo.loadMovie("a"+_name+".jpg");とはできるんだけど、これではテキストエリアの方が…
ぜひどなたか良きアドバイスをお願いします
ソースは下記(>>80-82くらい)にて…
80Now_loading...774KB:2006/09/16(土) 04:27:50 ID:dHDahdTX
_rootタイムライン上AS
//テキスト読込
System.useCodepage = true;
_root.loadVariables("title.txt");
_root.onData = function() {
//読込んだテキストを配列化
txt_array = title_txt.split("/");
//初期状態(最新画像&タイトル)表示
var total_no = txt_array.length;
var newphoto = "a"+total_no+".jpg";
_root.main_photo.loadMovie(newphoto);
_root.title_area.text =txt_array[total_no-1];
//画像更新リンクボタン配置
for (i=1; i<=total_no; i++) {
var num = i;
var btName = num;
_root.attachMovie("bt_button",btName,num);
btName = eval(btName);
btName._x = 90*(total_no-num);
btName._y = 300;
};
};
リンクボタン上AS(でもこれじゃテキストが…)on(release){_root.main_photo.loadMovie("a"+_name+".jpg");}
title.txt内はtitle_txt=タイトル1/タイトル2/…(以下略)
81AS使い:2006/09/16(土) 05:06:42 ID:n9r/LCeZ
>>79-80
あんまり弄ってないけど

_rootタイムライン上AS
//テキスト読込
System.useCodepage = true;
nocache = new Date();
_root.loadVariables("title.txt?"+nocache.getTime());
_root.onData = function() {
//読込んだテキストを配列化
txt_array = title_txt.split("/");
//初期状態(最新画像&タイトル)表示
var total_no = txt_array.length;
var newphoto = "a"+total_no+".jpg";
_root.main_photo.loadMovie(newphoto);
_root.title_area.text =txt_array[total_no-1];
//画像更新リンクボタン配置
for (i=1; i<=total_no; i++) {
var btName = "bt_"+i;
var r=_root.attachMovie("bt_button",btName,i);
r.my_no=i
r._x = 90*(total_no-i);
r._y = 300;
};
};
//ボタン
on(release){_root.main_photo.loadMovie("a"+my_no+".jpg");_root.title_area.text=_root.txt_array[my_no-1]}
82Now_loading...774KB:2006/09/16(土) 05:56:02 ID:dHDahdTX
>>81
こんなに朝も早くから…
ものすごく、もう海よりも深く感謝します

実際うまくいって、昨日までの苦労はなんだったのかと(苦笑
var r=_root.attachMovie("bt_button",btName,i);
こういう手段があるとは…ASは奥が深い…
8375:2006/09/16(土) 17:27:59 ID:HuTVvpf0
>>76-78
ありがとうございます。77さんの方法で出来ました。
84Now_loading...774KB:2006/09/18(月) 02:33:37 ID:JE2a2ksX
DataGrid(Listでも同じなのですが)の
各セルへの参照方法についての質問なんですが

取り合えず各セルにアクセスしてみようと
スクリプトを組んでみたんですが、何か全く違う方向に脱線した気がします。

DataGrid名「my_data」

my_data.addItem({data:"DataGrid", label:"datagrid"});
my_data.addItem({data:"List", label:"list"});
my_data.addItem({data:"Loader", label:"loader"});

var Listener:Object = new Object();
Listener.itemRollOver = function(evt:Object) {

  trace(evt.index);
  trace(my_data.getItemAt(evt.index).data);
  //trace(evt.itemIndex + " _ " + evt.columIndex); //cellPressの時有効

};
my_data.addEventListener("itemRollOver", Listener);


ここまで行き着いたんですけど、これ関係ないですよね...orz
各セルをオブジェクト(MC)として渡したいんですが、どう参照すればいいんでしょうか

function = test_func(cel_obj:Object){ }

test_func(【各セルのムービークリップ...my_data.rows(2)?】);
85Now_loading...774KB:2006/09/18(月) 09:09:52 ID:/WYssKO2
flash8proです。

ステージに動画ファイルを配置しています。
通常はループする仕組みになっていますが
ステージ上のボタンにロールオーバーすると
動画の指定した秒数へ早送りしたいのです。
(その後また通常の速度でループへ。)

色々調べてもシークバー制作関連の情報しか
見つけることしか出来ませんでした。

ちなみに動画の無限ループの設定も分かりません。
ヘルプにも再生回数の指定しか記載されてないですよね。
今のところ再生回数を99999のように指定していますが
できれば無限というような指定がしたいのです。

是非、力をお貸し下さい。お願いします。
86Now_loading...774KB:2006/09/18(月) 12:23:38 ID:gl+8/sEZ BE:154172257-2BP(123)
>>85
シークバーをスクリプトで動かして早送りするしかないけど
音声がぶちぶち切れて不快になるから音は無音にしたほうがいいね。
無限ループという設定は無いけど1秒の動画を0x7FFFFFFF回ループ
しようと思ったら69年かかるから問題ないんじゃない?
87Now_loading...774KB:2006/09/18(月) 13:12:15 ID:3nNp9tNj
>1秒の動画を0x7FFFFFFF回ループ
しようと思ったら69年かかる

萌えた
88Now_loading...774KB:2006/09/18(月) 20:20:46 ID:LYwMljW1
>>84
var Listener:Object = new Object();
Listener.itemRollOver = function(evt:Object) {
  mc = my_data.rows[evt.index];
};
my_data.addEventListener("itemRollOver", Listener);
89Now_loading...774KB:2006/09/18(月) 22:00:21 ID:JE2a2ksX
>>88

[]で指定しないといけなかったんですね
勉強になりました、ありがとう御座います。

でもまさかヘルプにものってないメソッドがあるとは

90Now_loading...774KB:2006/09/18(月) 22:22:11 ID:etZO5kjG
シンボルの色の設定(アルファ値とか)の設定のところに"着色"ってあるじゃないですか。
あれをスクリプトでいじるにはなんと記述すればいいんでしょうかね?
ぜひ誰か教えてください。
91Now_loading...774KB:2006/09/19(火) 00:06:42 ID:wEIEwmlB
もう1つだけいいですか?
loadMovieでの読み込みが終わったらっていうのは何と記述したらよいでしょう?
(loadVariables の onData のようなものが知りたいです。)
92Now_loading...774KB:2006/09/19(火) 00:13:46 ID:LJjDkz5q
>>91
loadMovieは大昔のやり方
MovieClipLoaderクラス使え
93Now_loading...774KB:2006/09/19(火) 00:48:49 ID:mGRbR5QU
携帯用の機能についてなんですがここでも良いでしょうか・・・
バイブレーションをエンドレスで繰り返したくて
vib1 = FSCommand2("StartVibrate", 500, 200);
として、ここにループさせるとバイブが「ブブブブ」と切れ目無くかかってしまいます

バイブに切れ目があるように且つこの周期を正確に連続するにはどうすれば良いでしょうか
94Now_loading...774KB:2006/09/19(火) 01:41:49 ID:wEIEwmlB
>>92
勉強した本が古いのでw
これから勉強してつかってみます。
95Now_loading...774KB:2006/09/19(火) 18:04:19 ID:hkLCfPAH
on(release)後のアクションを、時間を置いてから実行する方法を教えてください。
96Now_loading...774KB:2006/09/19(火) 18:20:09 ID:SNPIOld4
HTMLページ中に置いてあるFlashでリファラを取得する方法を教えてください
97Now_loading...774KB:2006/09/19(火) 18:29:24 ID:tJZdcIdz
>>95
setIntervalを使え

>>96
リファラはサーバ側の話なのでFlash単体では無理
98Now_loading...774KB:2006/09/19(火) 18:54:35 ID:SNPIOld4
>>97
どうも
アクセス解析付きカウンターを作りたかったんです。
諦めて別の仕組みを考えます。
99Now_loading...774KB:2006/09/20(水) 08:33:49 ID:gcutZs36
>>97
>リファラはサーバ側の話なのでFlash単体では無理
何いってんの?

>>98
JavaScriptには確かリファラ取得の関数があったから、それとやり取りすれば出来るんじゃね?
100Now_loading...774KB:2006/09/20(水) 09:04:02 ID:Sd/9Dq0Y
>>98
FlashでLoadVars使ってPHPなりのCGI呼べば簡単にリファラ取得できるよ。
カウンター作るならCGIは必須。Flashにファイルにはファイル保存機能無いから。
101Now_loading...774KB:2006/09/20(水) 09:06:31 ID:Sd/9Dq0Y
>>100
すまん、ファイルはダブり。
102Now_loading...774KB:2006/09/20(水) 10:00:01 ID:xXKlEZuD
リファラの取得だけだったら99の言うとおり出来るよ。
単体ではないけど、サーバいらない。

HTML側
<script language="JavaScript">
function getReferrer(){return document.referrer;}
</script>

Flash側
import flash.external.ExternalInterface
hoge.text = ExternalInterface.call("getReferrer")

リファラによって処理を分岐したい場合には便利だね。
103Now_loading...774KB:2006/09/20(水) 10:28:34 ID:qMRFuJCW
補足しておくと、document.referrer はクライアント環境によっては取得できない場合がある
#ブラウザの実装やセキュリティソフトの挙動

確実に取ろうと思ったらサーバ側で取るしかない
まあ9割方 document.referrer で大丈夫だと思う

あと、Flash単体で取ることはできない
あくまでもブラウザで取得するデータであるため、ブラウザとやりとりする必要がある
104Now_loading...774KB:2006/09/20(水) 11:18:37 ID:UnxHjJt+
べつに>>97は間違った事は言ってないのに>>99はなんでこんな偉そうなの?
105Now_loading...774KB:2006/09/20(水) 13:03:26 ID:qMRFuJCW
サーバ側・クライアント側の言葉の違いが分かっていなかったのでは
>>97はクライアント側の可能性については言及していなかった(知らなかった?)が、>>99はサーバ側・クライアント側両方を否定したとミスリードしたのではないかと
106Now_loading...774KB:2006/09/20(水) 13:07:28 ID:VsJpKc78
べつに>>99は間違った事は言ってないのに>>104はなんでこんな卑屈なの?
107Now_loading...774KB:2006/09/20(水) 13:27:31 ID:bgX1ZoxV
リファラはFlash単体では無理
とだけ書けば良かったんだろうね。
108Now_loading...774KB:2006/09/20(水) 14:51:56 ID:Wk5AiJy2
>>102
Flashでjavascript使えるの初めて知った。ありがと。
109Now_loading...774KB:2006/09/20(水) 18:20:51 ID:4hsAv3Vm
ボタンを押している間だけ歩く画像、話すとストップの方法がわかりません
なんとか上下左右に動くMCはできたのですが・・・・・
それとマザー(ゲーム)のような仲間が連なって歩く方法がわかりません
●が先頭として
   ←●○○ 
  ↓  

  ○○ 
  ● 
  ↓ 

  ○
  ○
  ● 
  ↓ 
のような感じです(説明わかりづらくてすいません
マウスのカーソルにくっついてくるやつの応用でやろうとしたのですがそれだと斜め位置に止まったりするし・・
後、質問ばかりで悪いのですが、
テストプレイ用に作ってみましたhttp://yu-net.info/swfup/viewswf.php/5025.swf
後、質問ばかりで悪いのですが、↑のFLASHだと手を振ったまま移動できてしまうのですが、それはどうすればいいでしょうか?
詳しい方よろしくお願いします
110Now_loading...774KB:2006/09/20(水) 19:16:47 ID:BujbKtQL
111Now_loading...774KB:2006/09/20(水) 20:28:45 ID:4hsAv3Vm
>>110ありがとうございます!! zipだから少しドキドキしたwww
綺麗に連なってますね
本当にありがとうございました
112Now_loading...774KB:2006/09/20(水) 21:01:45 ID:b+dzPtXZ
ノートンとかのセキュリティソフトが介入する場合はリファラはサーバー側でも取得できないよ。
ユーザーエージェントと同じでブラウザ依存だからあんまりあてにはできない。
113Now_loading...774KB:2006/09/20(水) 21:07:35 ID:jqTvHy30
on(release){
getURL("http://hogehoge.com/" , "_blank");
}

上記のようなアクションスクリプトを記述し、FLASH5でシンタックスチェックを行った
ところ、下のようなエラーが出ました。FLASH6ではエラーが出ません。



**エラー** C:\Documents and Settings\hogehoge\Local Settings\Application Data\Macromedia\Flash 8\ja\Configuration\Classes\toplevel.as: 行 68:このアクションを使用するにはムービーを Flash 6 形式で書き出す必要があります。
#endinitclip

ActionScript エラー数 :1 報告済みエラー :1


ところが、別の.flaで全く同じスクリプトを記述し、FLASH5でシンタックスチェックを
行ったのですが、エラーは出ませんでした。

なぜですか?
114Now_loading...774KB:2006/09/20(水) 21:12:16 ID:KBQ0INvn
えらーのまんまでしょ。

#initclip
#endinitclip
↑コレはf6から
115Now_loading...774KB:2006/09/20(水) 21:25:36 ID:jqTvHy30
>>114
お答えありがとうございます。

同じスクリプトでも、他の.flaでエラーにならないのはなぜですか?
116Now_loading...774KB:2006/09/20(水) 21:39:59 ID:jqTvHy30
FLASH5で、ムービークリップ内にアクションスクリプトは書き込めない?
117Now_loading...774KB:2006/09/20(水) 22:52:59 ID:RqWeJ4QJ
変数が一定値以上になったら
フレーム移動というのをやりたいのですが
どのようにASをかけばいいのでしょうか?
118Now_loading...774KB:2006/09/20(水) 23:00:19 ID:H2PdC/cJ
>>117
if ( cnt >= 10 ) {
this.gotoAndStop(2)
}
119Now_loading...774KB:2006/09/20(水) 23:01:18 ID:BujbKtQL
>>117
if(変数>=一定値) this.gotoAndStop(フレーム)
120Now_loading...774KB:2006/09/20(水) 23:04:20 ID:zzUrD47a
>>116
書き込めるかといえば書き込める。
ただクリップアクションの一部やイベントハンドラメソッドなど5では使えないものもある。
121Now_loading...774KB:2006/09/20(水) 23:27:23 ID:KBQ0INvn
>>113
あ、#endinitclipはないのかー。

もう一度swfのパブリッシュ設定を

flash player 5
ActionScript1.0

に手動で再設定してみて。
それでもだめならわかんないねー。
ファイルの破損とかかもね。
122Now_loading...774KB:2006/09/20(水) 23:44:59 ID:UADfS/uJ
今4人のチームでActionScriptの勉強をしているのですが
大分知識が付いてきた今、4人のスクリプトの書き方の統一で迷っています。

1:ifのネストでエラー処理をするのではなく、Errerクラスを使った方がいいのかどうか
2:システム的なFlashを作る際、他言語と連動させる為のLoadVarsは使っていいのか(安全なのかどうか)
3:LoadVarsが安全でないなら他言語と連動させるにはどうスクリプトを書けばいいのか
4:各フレームで同一処理、又は似た処理を行う場合は.asかclassにした方がいいのかどうか
5:classを使う訳でもなく.asファイルにするのは好ましいのかどうか
6:onRelease=functionなどよりListenerを使ったほうがいいのかどうか

などで迷っています。
実際にActionScriptで業務的なことをしてる人はどのようにしてるのですか?

あと、これは余り関係ないのですが、
システム的なFlash(ショッピングカートやログイン)が少ないのは何故か?
ということでも少し考えています。
これはシステム的なFlashを作る際は、ColdFusionの方が安全だからですか?
ColdFusionのことは全然知らないんですが、FlashWEBアプリを作る物だと聞いたので…
123Now_loading...774KB:2006/09/21(木) 00:04:55 ID:XIHpC/ZG
>>122

> システム的なFlash(ショッピングカートやログイン)が少ないのは何故か?

「アプリケーション(適用業務ソフト)」の“開発”環境としては弱すぎるから。
・ActionScriptという言語の軽さ(業務開発においては足枷以外の何者でもない。AS3では多少マシだがまだまだ)
・クライアント側コンポーネントであるが故の弱点
 ・セキュリティの脆さ(認証情報とかをクライアント側で持つなんて言語道断)
 ・直接的なデータベースアクセスができない(HTTPやSOAPのエンドポイントを持つDBなら一応可能だが、セキュリティ的に脆い)
 ・結局サーバ側開発が必要となる

最近のWeb系開発環境はASP.NETやJavaに代表されるように強力なものが多い
リッチクライアントが求められる場面は少ないし、Ajaxも流行して非同期処理も専売特許ではなくなった

正直、Flashでアプリケーションを組む利点が見つからない
Flashでなければ実現できない、という何かが無ければ工数を増大させるだけだと思う

なお、自分はJ2EEやASP.NETによるWebアプリ開発、Flashによるメディア系Webアプリ開発、PHPとAjaxを使用したダイナミックWebアプリ開発の経験がある
顧客の要望に応じて適材適所な環境を選んでいるが、Flash単体で高度なアプリというのはメディアストリーミングをインターネット経由とか、そういう要件でもないと選ばない

1〜6の質問だけど、まずLiveDocを呼んで、何が推奨されて何が推奨されないかの基礎を学ぶべき
ここでスポット的なレスを見ても、一通りの知識が無ければ振り回されるだけ
まず自分たちなりの標準を確立して、それに対して良し悪しを考えよう
あと、AS以外の開発標準手法も参考にすべき

ちなみにうちはFlashAS開発もコーディング規約やテスト手法の確立を行って、CVSベースのチーム開発環境を確立している
技法はJava系のOoPを参考に、AS用のエッセンスを加えた感じ
強い言語に比べると面倒な作業だったよ
124Now_loading...774KB:2006/09/21(木) 00:37:35 ID:zA/Ruv1K
環境:WindowsXP,Flash8pro

FlashLite1.1のFSCOMMAND2でsignalLevelを取得したとき
vodafone(softbank)での返り値を教えてください。
125Now_loading...774KB:2006/09/21(木) 01:59:40 ID:xjP9GHCo
htmlからflashへ
変数を渡そうとしているのですが、

英数字は問題ないのですが日本語が文字化けしています。
System.useCodepage = true;は入れているのですが変化はなく、
string変数とかのせいかなと思いつつ
どうしたら良いのかその辺りが良く分からない現状です。

もし分かる方がいらしたら御教授お願いします
126Now_loading...774KB:2006/09/21(木) 04:25:38 ID:BmXwot7R
>>124
ヘルプ見た?

>>125
環境を書こう! 家庭教師じゃないぞ。
127Now_loading...774KB:2006/09/21(木) 05:49:48 ID:zQ/68myC
環境:FlashMX2004でPlayer6

任意の関数に沿って動く(音量ボリュームなどの)スライダーを作ろうとしています。
ここでは関数 Y=X に沿うようなASを試しています。

x0,y0をMCがロードされた時の位置(初期値)とし、left = x0; right = left+400;
として、またMCのX軸方向の移動量を prsnX-x0 とおいて、下の様に書きました。
on (press) {
prsnX = this._x;
top = y0-(prsnX-x0);//Y=X関数
bottom = top;
this.startDrag(false, left, top, right, bottom);
trace("this._x="+this._x);
}

on (release) でthis.stopDrag();

これだと、
http://yu-net.info/swfup/viewswf.php/5029.swf
のように、おおよそ Y=X 関数に沿って移動しますが、滑らかに動かずギザギザ
というか階段状になり、都合が悪いです。 どうしたものでしょうか?
128124:2006/09/21(木) 07:46:01 ID:zA/Ruv1K
>>126
ヘルプの記述では

>その他の数値 :現在の信号レベル (0 から GetMaxSignalLevel が返す最大値の範囲)

としか書かれていません。

docomo と au で 戻り値が違ったのでvodafoneの戻り値が知りたかったのですが…
129Now_loading...774KB:2006/09/21(木) 11:53:01 ID:2Qp6sOsH
ところで、Flash5を使用している人って
ActionScript1.0 か ActionScript2.0を選択出来ないんですかね?

>>121
ActionScript1.0で動作しました。
ありがとうございます。
130Now_loading...774KB:2006/09/21(木) 12:03:43 ID:aqzBTS/s
Math.sinのことで質問です。
以下のスクリプトで実験すると

for (var i=0; i<=360; i+=30) {
trace(i+" : "+Math.sin(i*Math.PI/180));
}

iが180と360のとき、予想とは違った値になってしまいます。
正しい値を取得するにはどうしたらいいのでしょうか?
131Now_loading...774KB:2006/09/21(木) 13:01:56 ID:rNez22G/
>>129
>Flash5を使用している人って
>ActionScript1.0 か ActionScript2.0を選択出来ないんですかね?
できないよ。AS2.0という考えがなかった時代のアプリだもの

>>130
間違ってはいないかな。有効桁数が15ケタだし、
180度の時のラジアンは円周率の値だけどさ、10進数だと3.1415...とずっと続くしょ?
だから正確な値を返すと膨大な桁数になるし、そもそもできないから近似値を返してる。
よっぽどの精度が必要じゃないのなら、round関数で丸めた値を使うとかでいいんじゃないかな。

for (var i=0; i<=360; i+=30) {
trace(i+" : "+Math.round(1000*Math.sin(i*Math.PI/180))/1000);
}
132Now_loading...774KB:2006/09/21(木) 14:17:06 ID:2Qp6sOsH
>>131
ありがとん
133Now_loading...774KB:2006/09/21(木) 18:00:02 ID:MAk7TTRw
class foo
{
134Now_loading...774KB:2006/09/21(木) 18:23:56 ID:MAk7TTRw
//!mtasc 8 use strict;
class Foo
{
  private var _mc:MovieClip;
  private var _str:String;
  public function Foo()
  {
    _str = "Foo";
    _mc = _root.createEmptyMovieClip("bar",0);
    with(_mc){
      beginFill(0x000000);moveTo(0,0);lineTo(20,0);
      lineTo(20,20);lineTo(0,20);  lineTo(0,0);endFill();
    }
    _mc.onPress = _onPressAction;
    //_mc.onPress = mx.utils.Delegate.create(this, _onPressAction);
    //_mc.owner = this;
  }
  private function _onPressAction():Void
  {
    //_mc.onMouseMove = _onMouseMoveAction;
  }
  private function _onMouseMoveAction():Void
  {
    trace(_str);
  }
  public static function main():Void
  {
      var foo:Foo = new Foo();
  }
}
135Now_loading...774KB:2006/09/21(木) 18:42:26 ID:MAk7TTRw
すいません、書いてる間にできました。。。

質問:2コ目のイベントハンドラの設定で変わるスコープを何とかしたい。

2回Delegateしてやれば、うまくいきました。
136117:2006/09/21(木) 20:28:54 ID:DJRT4y+y
>>118 >>119
フレーム移動できました!
ありがとうございました!
137Now_loading...774KB:2006/09/21(木) 20:30:33 ID:4jQ6zMcz
startDrag()を別の表現で書こうとしています(ソフト:FlashMX2004_ver7.2)
markMというMCに

onClipEvent (enterFrame) {
this.onPress = function() {
this._x = _root._xmouse;
this._y = _root._ymouse;
};
}

を書きましたが、これを押しても一瞬ピクッと動くだけです。
どのように変えたらいいでしょうか?
138Now_loading...774KB:2006/09/21(木) 20:45:10 ID:HDAU9/r+
>>137
逆に考えるんだ。
押したらonEnterFrameが始まると。
139AS使い:2006/09/21(木) 21:04:51 ID:G41evSD/
onClipEvent (load) {
bigearmouse = false;//そんな大きな耳のねずみなんて居ないよ
this.onPress = function() {
this.bigearmouse = true;//居るよ!
};
this.onRelease = this.onReleaseOutside=function () {
this.bigearmouse = false;//居ないよ!
};
this.onMouseMove = function() {
if (this.bigearmouse) {
this._x = _root._xmouse;
this._y = _root._ymouse;
updateAfterEvent();//おにいちゃんの馬鹿ー!
}
};
}
140AS使い:2006/09/21(木) 21:51:53 ID:G41evSD/
onClipEvent (load) {
bigearmouse = false;
mydgpointx = 0;
mydgpointy = 0;
rockme=true;//trueで中心にロック falseで最初にクリックした点でロックよ
this.onPress = function() { //onPressは押した瞬間に呼び出される関数への参照なの
this.bigearmouse = true;  //つまりenterFrameで何回定義しようが
if(!this.rockme){      //「ドラッグ時に押した瞬間は一回」だからぴくっとしか動かないわけ
this.mydgpointx = -this._xmouse;
this.mydgpointy = -this._ymouse;
}
};
this.onRelease = this.onReleaseOutside=function () {
this.bigearmouse = false;
};
this.onMouseMove = function() {//enterFrameでもいいと思うけど
if (this.bigearmouse) {      //遅延コードじゃないならMouseMoveがお勧めね
this._x = _root._xmouse+this.mydgpointx;
this._y = _root._ymouse+this.mydgpointy;
updateAfterEvent();//な、なによ!別にあんたのために書き直したわけじゃないんだからね!
}
};
}
141Now_loading...774KB:2006/09/22(金) 01:26:13 ID:GOE19vua
アナルセックス?
142137:2006/09/22(金) 02:50:23 ID:kTbPbsn4
>>138-140
ありがとうございます。
コメントが暴走気味に感じるのはワタシだけでしょうか?
143Now_loading...774KB:2006/09/22(金) 13:03:55 ID:50TIYTQv
var a = 1234.56789;
trace(a >> 0);
trace(Math.floor(a));

どちらも同じ整数になるけど、どっちが速いというか効率いいんですか?
また、使い分けって必要なんですか?
144Now_loading...774KB:2006/09/22(金) 13:10:03 ID:xBAhPAGI
斧ってなに?
145Now_loading...774KB:2006/09/22(金) 13:11:25 ID:t6Ac1JDE
>>143
効率は分からないけど、どちらが速いかは
簡単な実験スクリプトを作って計測すれば分かると思うよ。
146Now_loading...774KB:2006/09/22(金) 13:20:21 ID:GY9nEBk7
演算子だけの方が参照辿らない分ほんのちょっと早いかな。
5000回ループくらいでほんの少し(平均3ミリ秒程)だけ差が出たよ。

使い分けは好みでどうぞ。
何千回もループするんじゃなきゃ、読みやすいMathクラス使えばいいんじゃない?
147Now_loading...774KB:2006/09/22(金) 13:50:05 ID:RBZdOgAr
とりあえず、めがねっ娘ぶっかけ動画うpします。(*´Д`*)
http://gotodmc.ath.cx/uploader/src/up0007.jpg

http://gotodmc.ath.cx/uploader/src/up0007.wmv
148Now_loading...774KB:2006/09/23(土) 18:33:19 ID:kDu8IjC+
どうやってASを書けば
1つのスプライトともう1つのスプライトが
ぶつかったら変数を0にするというのをできますか?
149Now_loading...774KB:2006/09/23(土) 20:43:10 ID:IpQLA7Pe
ニッポン語でOKアルヨ
150Now_loading...774KB:2006/09/24(日) 06:36:54 ID:TOQMJURQ
コンビニに行ってスプライトを手に持ちながら
ワッフルワッフルと叫べ
151Now_loading...774KB:2006/09/24(日) 19:24:23 ID:YA4un9xZ
Paraflaか?
152Now_loading...774KB:2006/09/25(月) 03:27:56 ID:rcuR3IgP
環境はFlashMX2004のPlayer6です。
ボールのMC(ballM)をドラッグしながら動かし、曲線のMC(curveM)との衝突判定を
hitTest()で行おうとしています。
この際、curveMのballMに対するヒット領域は、その線上のみに限定したいのですが、
記述が分かりません。ballMをthisとして

if (判定の条件文) {//this.hitTest(〜?)
trace("-- hit");
}

ならば、判定の条件文はどのようになるでしょうか?
153Now_loading...774KB:2006/09/25(月) 03:54:39 ID:2svgs7fm
Player8 as2

テキストフィールドでHTMLタグを使用して、
ウィンドウをポップアップで表示したいのですが、どうしたらよいのでしょうか?

textField.htmlText = "<a href='hoge.html'>windowsOpen</a>";

↑これをポップアップにしたい


よろしくお願いします。
154Now_loading...774KB:2006/09/25(月) 06:26:49 ID:hWJFupc9
>>152
var cnt:Number = 0;
this.onEnterFrame = function(){
if(line.hitTest(_xmouse,_ymouse,true)){
trace(cnt++ + "hit");
}
}
シェイプで判定するときマウスの座標とのhitTestはこんな感じ。
_xmouse,_y..を動いてるMCの座標(ヒットポイントを自分で設定)にすればいいかと。
>>153
str="<a href='http://www.yahoo.co.jp target=_brank'>Yahoo</a>";
mymytxt.html=true;
mymytxt.htmlText=str;
とか。
155153:2006/09/25(月) 09:38:17 ID:Je2XxxlS
>>154
ありがとうございます。線上のみにヒット領域を指定できました。
しかし、ballMの座標1つと線の一致では、ballMの線に対する認識が厳密になり、
なかなかhitTestがtrueになりません。
そこでballMのどこかにあたった時にtrueにするため、ballMの半径を10として
this.onEnterFrame = function() {
for (a=-10; a<=10; a++) {
if (curveM.hitTest(ballM._x+a, ballM._y+a, true) == true) {
trace("-- hit--");
break;
}
}
としましたが、自分でもスマートな記述とは思えません(同時に上手くもいきません)。
別案がありましたらよろしく願います。
156Now_loading...774KB:2006/09/25(月) 10:37:18 ID:OvN5a6DV
ソフトはFlashMX2004

ある点を中心にMCをくるくると衛星の様に周回させるため、MC(名称:eisei)の
中心を自由変形ツールで移動させて、以下のように書きましたが、動きません。
this.onEnterFrame = function() {
this.eiseiM._rotation += 1;//1度ずつ移動
};

どうすればいいでしょうか?
157Now_loading...774KB:2006/09/25(月) 13:33:59 ID:HjiJsTzj
>>156
eiseiMはeiseiなんじゃなかったの?
158Now_loading...774KB:2006/09/25(月) 21:20:14 ID:XCCg/vVy
変数名をそのまま文字列にするのはどうしたらよいでしょうか?
たとえば、MC0._xがあったら、trace("MC0._x")ができるようにしたいのですが。
変な質問ですみません;
159Now_loading...774KB:2006/09/25(月) 21:26:32 ID:HjiJsTzj
>>158
trace("MC0._x");
160156:2006/09/26(火) 01:21:25 ID:HOQT1nAG
>>157
訂正します。 MC(名称:eisei) → MC(名称:eiseiM)

この件で、_rotationの使用は不可なのでしょうか?
161Now_loading...774KB:2006/09/26(火) 06:39:48 ID:B8MWBIse
>>158
パスがあってればtrace(MC0._x);で出力される
>>157
いまいちよくわからんが、MCの回転の中心は+の所だよ。
162160:2006/09/26(火) 11:25:41 ID:jhDeTGJo
>>161
Thx
163Now_loading...774KB:2006/09/26(火) 15:38:04 ID:trXs6GTZ
>>158
trace結果に変数名出したいなら

hensu = new Object();
hensu.name = "hensu";
hensu.numberData = 55;
trace(hensu.name);
trace(hensu.numberData);

みたいに空のオブジェクトに突っ込んでしまうとか。
164158:2006/09/26(火) 15:59:57 ID:gxPdNcj7
デバッグ用の関数を作りたかったのです。
debugTrace(MC0._x)って入力すると
MC0._x = 55
ってtrace結果が出力されるような関数です。
165Now_loading...774KB:2006/09/26(火) 16:16:39 ID:ft2Y8Ha9
>>163
function debugTrace(varStr) {
trace(varStr+" = "+eval(varStr));
}
debugTrace("MC0._x")

つーか、デバッガ使え
166158:2006/09/26(火) 17:25:46 ID:gxPdNcj7
>>165
thx
デバッガ、重いの。。。
167Now_loading...774KB:2006/09/27(水) 07:49:51 ID:NiXNOzlF
こんな場所で聞くべきことではないのですが、質問させてください。

ActionScriptが使えたら、どんな会社に入れどんな職業になることができるんでしょうか?
実際に求人情報などを調べてみたのですが、答えが曖昧な物ばかりでいまいち把握できません。
参考にさせて頂きたいので教えてもらえたら、と思います。

自分はスクリプト系を、ActionScriptを基軸に、Java・PHP
デザイン系に、Photoshop,Fireworksが使え

経験については、チームで成し得たことなので自慢にはならないのですが
Photoshop,Flashで作成した10秒程のFlashバナー
Java,Flash,JavaScriptで作ったショッピングシステム
Flash,PHP,DBを使った掲示板システム
などがあり、学生です。

具体的ななりたい職業は決まっていません…。
就活はまだ2年以上後なので焦っているわけではないのですが

今は単純に、自分の今の出来ることでは、どんな職業になれる可能性があって
さらにその幅を広げる為には、他にどんなことが出来たらいいのか?が知りたいと考えてます
168Now_loading...774KB:2006/09/27(水) 09:21:35 ID:KlJPolkX
つうか逆じゃないの?
どんな職業に就きたいかがあって、そのために何をすべきかでしょ。
面接だってどんなことがやりたいのかを聞いて将来性を考えるし。
169Now_loading...774KB:2006/09/27(水) 09:44:06 ID:0XVWr9cs
これが就職活動中とかならあかんかもしれんけど、別に今はいいんじゃないの

あんただってIT関係なら知ってるだろ
「プログラマーになりたいからパソコン出来るようになるー」じゃなくて
「パソコン出来るからプログラマーになるー」の方が多いってことを
170Now_loading...774KB:2006/09/27(水) 09:47:38 ID:qVzuVKSd
>>167
ASが使えたら、ASを使える人を募集している会社に入れ、ASを使って開発する職業になれます
それ以上でもそれ以下でもありません
171Now_loading...774KB:2006/09/27(水) 11:13:25 ID:dLp/mHc1
つーか制作会社ならツールやスクリプトは使えて当たり前だからな。
技術があるのは当たり前で、
さらにこんなことが短時間で作成できますとか、
こういうノウハウがあるのでこれについては誰にも負けません。
とかそういう売りがないときついよ。
PHP、DBならセキュリティについては完璧です。とかね。
172Now_loading...774KB:2006/09/27(水) 16:05:00 ID:6jSeL19p
就職活動の前に技術を生かせるバイトしてみたら?
居心地がよければそのまま就職すればよいし。
173Now_loading...774KB:2006/09/27(水) 18:41:51 ID:6eDg2hpm
ActionScript初心者です。

ムービークリップの中にムービークリップのX〜X^4と(、)、()が入っている状態。
実行?させるとアイコンが一列に並ぶ。canvas_mcにドラッグさせることができる。
というのを作ってます。

カッコなんですが、並ばせる時は()だけにして、これをドラッグさせるとcanvas_mcには()ではなく、(と)が追加させられるようにしたいのです。

どなたかアドバイスなど、お願いします。
174Now_loading...774KB:2006/09/27(水) 19:01:42 ID:dLp/mHc1
何言ってるのか解らないのは俺だけだろうか
175Now_loading...774KB:2006/09/27(水) 19:20:44 ID:rZMNROHn
>>174
エスパーよりは暗号解読者向けか?
176Now_loading...774KB:2006/09/27(水) 19:33:09 ID:tTfe1bw6
gotoAndPlayで指定したフレームのいずれかにランダムで飛ぶことができるボタン用ASをお願いします
177AS使い:2006/09/27(水) 19:53:56 ID:MwJYt7oi
>>167

ASなんて誰でも出来るよ。
そんな誰でも出来る物を売りにするのは大間違い。
最初から独立するので無い限り、職業は「会社員」だ
技術以前に「会社員」として落とされるやつのほうが多いよ
「素人にしては技術が高いけど暗くて性格悪そうな奴」より「真面目なのに明るくて楽しい奴」を取ることの方が多い
というかそれは2chじゃなくて就職課で聞け。

>>171
どっちかというとそれは就職のアドバイスというより転職のほうのだな

>>173

言ってることはヒンデゥー語の三段活用並にわからないが
なんとなくここのメニューみたいにしたいのかと思った

ttp://www.kazsh.com/

>>176
on (press) {
a = 11;//指定したフレームA
b = 21;//指定したフレームB
this.gotoAndPlay(Math.floor(Math.random()*2) ? a : b);
}
178Now_loading...774KB:2006/09/27(水) 21:06:13 ID:7vjjivls
>>167
>実際に求人情報などを調べてみたのですが、答えが曖昧な物ばかりでいまいち把握できません。
どういう答えだったの?
webデザイナーかプログラマじゃない?
179Now_loading...774KB:2006/09/27(水) 22:11:10 ID:VVYm6c4i
2値で3項演算子を使うのならMath.random() < 0.5 ? 1 : -1とか
180Now_loading...774KB:2006/09/28(木) 00:05:53 ID:7FMeYaVM
>>167
後生ですから、続きはマ板でやってください
色々言いたい事があるでしょうけど、消えてください
181AS使い:2006/09/28(木) 18:20:41 ID:NxiGoNiA
>>179

だよね。
どう考えても普通そっちだよね。

182Now_loading...774KB:2006/09/29(金) 01:00:47 ID:0VK5OU/0
cgiにflash上から、データを送信する際に、
以下の命令で、情報はcgiに受け渡されるのですが、
loadVariables("mail.cgi");

これを、別ドメインにあるcgiに情報を送信しようとすると、
loadVariables("https://〜");
ドメイン間で、情報がうけわたらないのか?
なにかが原因で、情報が受け渡しできないようです。
どなたか解決方法をお教えください。
183Now_loading...774KB:2006/09/29(金) 02:53:49 ID:6aS1RGR7
>>182
セキュリティー上ドメイン間の通信はできねーからな。
7以降ならcrossdomain.xml置けばできるけど6はシラネー
184Now_loading...774KB:2006/09/29(金) 08:57:10 ID:QSsBLjYt
6以下だとサーバに受け渡し用のCGI作ってやるしかないんでは
CGI串みたいなもんだから、セキュリティホールになりかねんけどな
185Now_loading...774KB:2006/09/29(金) 15:52:45 ID:UbulYnpy
↓これってFlash8で作った場合には関係ないの?
http://www.adobe.com/jp/devnet/flash/articles/fplayer_security_03.html
186Now_loading...774KB:2006/09/29(金) 18:44:17 ID:9DBGCSNt
5はセキュリティ自体なかったようなキガス
ちなみにプレイヤー側のセキュリティだからあくまでもユーザーがインスコしてるプレイヤーのことな。
187Now_loading...774KB:2006/09/29(金) 21:19:59 ID:P17dQ+qW
 | ̄ ̄ ̄ ̄ ̄ ̄ ̄|
  |  キチガイ増殖中|
  |    |
  |  (・∀・)   ♥   |   ,. . _
  |_______| --' 、   ̄ ̄ヽー- 、
       | |  ヽ ̄7 , , \  、   「 ̄ 7
       | |  ヽ / /_ /ハ |ヽ、\ V ./
       | |    i il/   ヽl  \ヽ. V
      ,. -{-、 __ .| ii i!  o   o  | il |
       {   Y/  l il |、 ""Д "" | li |
      `t-く   ヽN `  --- <リiレ'
       | | `ー-- 、  /ギ子♥ヽ  `丶、
       | |       ̄ヽ    ノ >-'   !
       | |      ,.ィ`=== r'^ヽ、_,/- 、
       | |   ,  '"  //  !'~`V-─ 、 )
       | | < _,/ / /  /i   \ (_ノ
       i_j    /ヽ '  /  / !    ,>
            /_ > 、 」__/ _」, ィ'´ 「
          :::`ー':::::::::::::::::::::::::::::ヽこノ:::
188Now_loading...774KB:2006/09/30(土) 03:00:20 ID:knJ9tu5O
シューティングゲームを作ろうと思うのですが、敵を、たとえば5発打ったとき、
死ぬ というような設定にしたいのですが軽い、かつわかりやすいASが思い浮かびません。
CACAO99%やるから例とかヒントでいいのでくださいな


(´・ω・)っ[cacao999%]
189Now_loading...774KB:2006/09/30(土) 07:18:31 ID:lTL+YYfM
フレーム1 撃たれた!
フレーム2 痛てて!
フレーム3 あ、血が出てる!
フレーム4 ヤバイ!
フレーム5 意識が遠のいてきた・・・
フレーム6 シボン

って作って、撃たれるごとにフレームを1つ進めればよい。
190Now_loading...774KB:2006/09/30(土) 11:42:17 ID:iEYwAUNj
>>188
自分ではどういう方法が良いと思うの?
まったく思いつきませんでは、ゲームなんて作れないよ。
191Now_loading...774KB:2006/09/30(土) 13:48:43 ID:knJ9tu5O
一応オブジェクト1(照準クリック時)とオブジェクト2(敵)がふれるごとに
変数に代入した5の数字を1ずつへらして行って0になったらフレームを進めて
死亡と見せようかと思ったんだけどほかにどんな方法があるかなーと。

ちなみにシューティングって言っても斑鳩とかそんな感じの弾幕じゃなくて
ゲーセンとかによくおいてあるタイムクライシスみたいなそんな感じのガンシューティング
192Now_loading...774KB:2006/09/30(土) 21:26:39 ID:lTL+YYfM
質問です。
MC_aの中にボタンインスタンスBTNがあった場合
MC_a.onPress = function(){...}
MC_a.BTN.onPress = function(){...}
とした場合ってやっぱり同時に動かないでしょうか?
193Now_loading...774KB:2006/09/30(土) 22:36:25 ID:cdUDtnba
>>192
なぜボタンを入れ子する必要があるのか申してみ
194Now_loading...774KB:2006/10/01(日) 00:24:31 ID:A5iHrKTl
ごめん。。。自分でも良くわからない。
気が付いたらそうなってた。でも見直すのめんどいからそのままいこうと思ったら
動かなくてイライラ。だから結果としては動かないです。
MC_a.onPress = function(){...} こっちの方が優先されてボタンの方はスルーされます。
195Now_loading...774KB:2006/10/01(日) 00:54:05 ID:zDH5v7Ap
>>194
書き直せばいいだろ
196Now_loading...774KB:2006/10/02(月) 15:20:57 ID:KYlLPHMi
FlashMX2004とPlayer6とXMLを使って、対象テキストの文頭に読み込み
用変数を使わずにテキストを読み込むASを書いています。
(つまり、tName=文章・・・・ の tName= を使わない)

読み込みとtrace表示は出来たのですが、テキスト中の改行(\nまたは\r)の
除去とダイナミックテキストへの表示ができず困っています。手順は、

on (release) {my_xml.load(tName+".txt"); } //tNameというテキストを指定

my_xml.onLoad = function(s) {//my_xmlがロードされたとき
if (s) {
trace(my_xml);
rep1 = my_xml.split("\n");//改行で分割して配列rep1に代入
for (i=0; i<rep1.length; i++) {
tmp1 += rep1[i];
if (i%2 == 1) {
tmp1 += "";
}
}
txtData1 = tmp1;//ダイナミックテキストtxtData1へ表示

}
};

以上のASでは、traceウインドウには表示されますが、\nを\rに変えても
不要な改行が除去できず、txtData1にも出ません。 どうすべきでしょうか?
197AS使い:2006/10/02(月) 17:59:17 ID:hTo4RtzC
>>196
ちょっと改造してみた
System.useCodepage = true;
my_xml = new XML();
my_xml.onData = function(s) {//←そういうときはonDataがいい気がする
if (s) {
do {
s = s.split("\r").join("\n").split("\n\n").join("\n");
} while (s.indexOf("\n\n") != -1);//改行を"\n"に統一、汎用的に使うには問題あり
var rep1 = s.split("\n");
var tmp1 = new String();
for (var i = 0; i<rep1.length; i++) {
tmp1 += rep1[i];
}
txtData1.text = tmp1;//ダイナミックテキストtxtData1へ表示(.textを追加)
}
};
さらにちょっと変えてみた
System.useCodepage = true;
my_xml = new XML();
my_xml.onData = function(s) {
if (s) {
txtData1.text = s.split("\r").join("\n").split("\n").join("");
}
};
198196:2006/10/03(火) 04:59:04 ID:xbVJeimq
>>197
ありがとうございます。しかしながら、対象テキストの表示が出来ません。

if文の実行を確認するため
txtData1.text = tmp1;
trace("s true");

txtData1.text = s.split("\r").join("\n").split("\n").join("");
trace("s true");

と、trace("s true"); を入れましたが、両者とも on (release) {my_xml.load(tName+".txt"); } 
を実行しても「s true」は表示されません。 アドバイス願います。

ちなみに、テストで使ったテキストは以下のようなものです(t1.txt サイズ:153バイト)

「ザラブ星人」
突然、東京が放射能を帯びた死の霧に覆われた。
原因を調査していた科学特捜隊は
「地球人と兄弟になりに来た」という謎の宇宙人と遭遇する。
199Now_loading...774KB:2006/10/03(火) 11:30:50 ID:Vc56Bao7
>>198
trace出力がでないということはどういう事か考えてみそ
200Now_loading...774KB:2006/10/03(火) 22:46:35 ID:8/K91tgz
>>199
Flashが壊れたんでしょうか?
201AS使い:2006/10/03(火) 23:09:03 ID:b5/ez/9y
my_xml.onData = function(s) {//直後に
trace(s);//入れて
出力画面にundefinedって出たら読み込み失敗してる

何も出なかったら、そもそも読み込もうともしていない
202Now_loading...774KB:2006/10/03(火) 23:11:59 ID:djUImF1f
フィルタレベルがアレなんじゃないか?
203Now_loading...774KB:2006/10/03(火) 23:23:59 ID:810fTeMm
Flashのフィルタレベルって何スか? 先輩!
204Now_loading...774KB:2006/10/03(火) 23:31:44 ID:djUImF1f
F2で出力パネル出して左上の変なアイコンクリックして
フィルタレベルがなしになってたら詳細に戻せってこと
205196&198:2006/10/03(火) 23:54:21 ID:WJSFHPYf
レスさんきゅうです。

>>201
この通りだと、traceウインドウに不要な改行が除去されずに表示されますが、 
//trace(s) と記述をコメント化すると(無効化すると)表示されません。

つまり、sそのものが対象テキストなのでしょうか?
206AS使い:2006/10/04(水) 00:11:44 ID:Mi6XQj1U
>>205
onDataの場合はそう。

System.useCodepage = true;
my_xml = new XML();
my_xml.onData = function(s) {
trace(s.split("\r").join("\n").split("\n").join(""));
};

では出ない?
207196&198:2006/10/04(水) 04:44:18 ID:0jtIG/P5
>>206
ありがとうございます。しかし、 trace(s.split("\r").join("\n").split("\n").join(""));  
では一行にまとまってしまうため、 s.split("\n").join(""); に変更しました。これで
trace表示、ダイナミックテキスト表示共にOKになりました。
以下は今回のまとめです。

ボタンアクション
on (release) {
my_xml.load(tName+".txt");
}

フレームアクション
System.useCodepage = true;
my_xml = new XML();
my_xml.onData = function(s) {
tmp1 = s.split("\n").join("");
trace(tmp1);
txtData1 = tmp1;//ダイナミックテキストtxtData1に表示
};
208Now_loading...774KB:2006/10/05(木) 12:56:00 ID:SnXvVlO7
attachMovie()したMCの識別子ってどうやって取るんでしょうか?
hoge_mc = _root.attachMovie("Actor", "Actor"+id, id);
で生成したhoge_mcから指定した識別子"Actor"を取得したいんです。
"Actor"+idの方はhoge_mc._nameで取れたんですが。
209Now_loading...774KB:2006/10/05(木) 14:00:25 ID:iakEzdV7
>>208
何に必要なの?
210Now_loading...774KB:2006/10/05(木) 14:04:17 ID:/cdLTeRg
そのActorを変数なり、配列なりに入れといて
それを見ればいいんじゃない?

mcName = "Actor";
hoge_mc = _root.attachMovie(mcName, mcName+id, id);
211Now_loading...774KB:2006/10/05(木) 15:35:57 ID:SnXvVlO7
>>209
シューティングゲーム作ってるんですが
弾や敵機を配列に格納して管理して、メイン処理の書かれたMCの
onClipEvent (enterFrame)内のfor文で当たり判定などのイベントを
処理してます。
現状各MCのonEnterFrame()内で行っている処理(敵機の弾発射とか)
もメイン処理のfor文内でMCの種類ごとに判別して処理を実行したいんです。

>>210
ですね。
mcName = "Actor";
hoge_array[i] = _root.attachMovie(mcName, mcName+id, id);
hoge_array[i].mcName = mcName;
みたいなのも考えたんですが。MCのプロパティにあらかじめ用意されてるなら
それ使えばいいよなぁとか考えてたんです。
212Now_loading...774KB:2006/10/05(木) 16:09:27 ID:rjMCqQs6
どのくらいのシューティングかわかんないけど
処理速度が気になるなら、文字列照合よりか素直にID数値を用意したほうがいいような気がしました。
213Now_loading...774KB:2006/10/05(木) 16:28:46 ID:SnXvVlO7
なるほどID数値ですか。確かに文字列比較より数値比較の方が早そうですね。
ただ今回は速度というよりも処理を一箇所に集中して管理したいという感じなんで。
でも、MCの識別子がプロパティとかで取得できないなら別に文字列にこだわる必要も無いですね。
214Now_loading...774KB:2006/10/05(木) 20:59:41 ID:USXjzv9O
携帯用の待受Flashで時計を作っているんですが
色々調べても、どうしても数字の変化に動きを付ける事ができません;
もしよろしければ解答をお願い致します。

現状は、シーンに数字のMCを置き、それに表示をさせているだけです。
他にも必要な追記がありましたら、ご指摘お願い致します;
215Now_loading...774KB:2006/10/05(木) 22:56:10 ID:9zds/Pl6
>>214
>数字の変化に動きを付ける事ができません
ってどんな変化にしたいの?

>数字のMCを置き、それに表示をさせているだけです
そのMCの中に0から9までの数字がフレームごとに書いてあるのかな?
で、そのMCが4つなり、6つなり配置されてるのかな?

それで、どんなスクリプト書いたの?
216214:2006/10/06(金) 21:07:56 ID:PJCFVMPp
>>215さん
亀レス大変申し訳ないです;
反応ありがとうございます。

数字の変化に関しては
例えば"1→2"と変わる際に、ジャンプしたり、フェードアウト→インしたり出来れば、応用で色々出来るのではないかとふんでいます。

数字のMCには"0〜9"までのすうじがフレーム毎に配置されています。
そのMCをシーンに"hour10"や"sec1"等のインスタンス名を付けて配置しています。
217214:2006/10/06(金) 21:10:57 ID:PJCFVMPp
スクリプトは以下の通りです

■シーン1フレーム目

//時間の取得
hour = fscommand2("GetTimeHours");
//時間表示処理
if (length(hour) == 1) {
hour1 = substring(hour, 1, 1);
} else {
hour1 = substring(hour, 2, 1);
hour10 = substring(hour, 1, 1);
}
//時間表示処理2
tellTarget("hour1"){
gotoAndPlay( _level0.hour1+1 );
}
tellTarget("hour10"){
gotoAndPlay( _level0.hour10+1 );
}

■シーン2フレーム目

gotoAndPlay(1);

■上記のASの時
シーンに配置されている数字MCの名前は2つで
hour10 と hour1 のインスタンス名を付けています。
また、その数字MC内の0〜9の数字には stop(); をかけています。

以上の説明で把握して頂けるか心配ですが
とりあえずはこんな感じです、いかがでしょう?;
218Now_loading...774KB:2006/10/07(土) 00:42:47 ID:6e+RvbEa
ttp://yugop.com/ にでてくる、ランダムにばーっとでてくるテキストのなかから
最終的なテキストを表示させるには、どうやったらいいんでしょうか?
219Now_loading...774KB:2006/10/07(土) 00:53:09 ID:PkmoQDyk
>>218
ほれ、ttp://oshiete1.goo.ne.jp/kotaeru.php3?q=2016276

最後の関数のとこ戻り値Stringを書いたら動かないかも
function SelChar():String {}
function SelChar(){}
220Now_loading...774KB:2006/10/07(土) 01:10:36 ID:6e+RvbEa
ありがと!


でもうごかね(´・ω・`)半角にしてんのに・・・
221Now_loading...774KB:2006/10/07(土) 08:56:05 ID:1qHbXmmZ
>>220
エディタかFlashで全角空白を空文字に変換すれば動くよ
222Now_loading...774KB:2006/10/07(土) 23:15:07 ID:ycQ74PuS
FLASHMX MACOS9.2.2です。
メインタイムラインから一つ下の階層にattachMovieClipしたいんですができません。
ムービークリップAの中のムービークリップBに、ムービークリップhogeをattachしたいのですが、
_root.A.B.attachMovieClip("li_hoge","hoge", );
でできませんでした。
またそれをメインタイムラインから削除したいのですが、
_root.A.B.removeMovieClip("hoge");これもできなかったです。
なにがまずいんでしょう?
223AS使い:2006/10/07(土) 23:22:13 ID:aqiHrlGe
>>222
>_root.A.B.attachMovieClip("li_hoge","hoge", );
深度が無いな

>またそれをメインタイムラインから削除したいのですが、
>_root.A.B.removeMovieClip("hoge");

_root.A.B.getDepth()
深度+だよね?-だったら出来ないよ
224Now_loading...774KB:2006/10/08(日) 03:31:11 ID:YEnOznY9
loadmovieでSWFを読み込んでくるとき、
元のSWFのディレクトリのなかに「01」という名前のディレクトリを作り、
そのなかの「yomikomi.swf」を読み込んでくる場合、

loadMovie("01/yomikomi.swf");

としてみたのですが、シンタックスエラーがでてしまいます。
同じ階層に置いてそのまま指定すれば読み込みはできるんですが、
ファイルが増えていくのも踏まえてディレクトリに分けていたいんですが
可能でしょうか?
225Now_loading...774KB:2006/10/08(日) 11:01:15 ID:0r1s1FCO
質問です。
Videoオブジェクトを、AS2.0で作ることはできないでしょうか?
やはり、最初に貼り付けないといけませんか?
226Now_loading...774KB:2006/10/09(月) 02:37:07 ID:iOQvMd1N
電光掲示板のように外部txtを横スクロールで流すのをやろうとしてるのですが
カクカク動くので滑らかに動かすにはどうしたらいいのでしょうか…

onClipEvent (load) {
this.loadVariables("msg.txt");
System.useCodepage = true;
//scrollspeed
scr = 1;
//表示横幅
readwidth = 300;
function textScrl(ts) {
if (txtm._x<=txtleng*-7.5) {
txtm._x = readwidth;
} else {
txtm._x -= ts;
}
}
}
onClipEvent (data) {
gotoAndStop(2);
txtleng = textdata.length;
textdata = textdata.slice(1, txtleng-1);
intervalID = setInterval(textScrl, 10, scr);
}
227Now_loading...774KB:2006/10/09(月) 02:48:05 ID:xMfaqdIf
ちょっとずつ動かす・・・
228Now_loading...774KB:2006/10/09(月) 04:25:32 ID:BFsqt8C2
サルでもわかるようにDisplacementMapFilterを教えてください。
もしくは解説してるサイトはないでしょうか。

マップ画像を画像に反映させられたのですが、
画像を動かすと最初に反映させたままの画像が動くだけでした。
都度マップ画像を画像に反映させるにはどうしたらいいんでしょうか。
229Now_loading...774KB:2006/10/09(月) 06:27:40 ID:P4DDTaaQ
>>224
loadMovieの引数ぐらいチェックしる。ディレクトリ構成は可能。
>>225
意味不明だが、普通にASで外部のflvファイルを再生可能。
230Now_loading...774KB:2006/10/09(月) 09:51:50 ID:OIDC6Esb
>>228
サルはASを使えないのでサルでも分かる説明は成り立ちません
LiveDocで分からないようなら諦めろ
231Now_loading...774KB:2006/10/09(月) 09:52:10 ID:bVsm51Uj
>>228
サイトじゃないけど、10月号の「Web Designing」誌に
DisplacementMapFilter についてすげえ解り易く解説してた。
ttp://book.mycom.co.jp/wd/currentissue/index.html

後半3行は意味ワカンネ。
232Now_loading...774KB:2006/10/09(月) 22:35:32 ID:hHRDsz4m
アクションスクリプトでphpの_requierみたいな、
ほかの場所にあるプログラムをそっくりそのまま
別の場所に呼び出す命令ってないしょうか?
あるのであれば、どのように記述すればよいのでしょうか?
233Now_loading...774KB:2006/10/10(火) 12:56:58 ID:MVJS9xuX
はじめまして。
いくつかのswfをランダム表示させるためのflashを作っています。
それぞれのswfの中にはURLは仕込んでいませんので、ランダム指定している中で設定しています。
ですが、このままではブランクで飛ばしたいページも普通に開いてしまいます。
どこを修正したらいいのか判らないので、どなたか教えていただけないでしょうか…
環境はWinXP,Flash8です。


// _root: メインのタイムライン
// フレームアクション
linkURL="";
movies_array = [
"http://www.xxxxx/A.swf",
"http://www.xxxxx/B.swf",
"http://www.xxxxx/C.swf"
];
link_array = [
"http://www.google.co.jp/", //1つ目のswfのURL
"http://www.msn.co.jp/", //2つ目のswfのURL
"http://www.yahoo.co.jp/" //3つ目のswfのURL
];
n=Math.floor(Math.random() * movies_array.length);
this.a_mc.loadMovie(movies_array[n]);
this.linkURL=link_array[n];
234Now_loading...774KB:2006/10/10(火) 13:09:00 ID:FPJTWRbt
>>233
swfファイルはmovies_arrayだよね?
link_arrayってなに?
a_mcをonReleaseとかするとgetURLで飛ぶの?

swfClick(){
getURL(linkURL, "_blank");
}
a_mc.onRelease = swfClick;

ってこと?
235Now_loading...774KB:2006/10/10(火) 15:35:12 ID:RLMEtXp3
スレ違いの質問で大変申し訳ないんですが
Flash Media Server 2
http://www.adobe.com/jp/products/flashmediaserver/

Flash Communication Server MX
http://www.adobe.com/jp/support/flashcom/
の違いが分かりません。
どこかまとめサイトの様なものは存在しますでしょうか
誘導お願いします
236Now_loading...774KB:2006/10/10(火) 17:22:03 ID:M9qWkCtF
List・TextArea・ComboBoxにスムーズスクロールを実装したいのですが
どのように書けばいいのか分かりません…

参考になるものを探していて、↓のURLにある
JavaScriptでのスムーズスクロールを見つけたのですが
これはどのようにすればASの各コンポーネントに利用できるようになるんでしょうか?

ttp://www.gac.jp/article/index.php?stats=question&category=9&id=15917&command=msg
237233:2006/10/10(火) 18:53:26 ID:MVJS9xuX
>>234
はい、link_arrayのところで、読み込んだswfのリンク先を指定しています。
238AS使い:2006/10/10(火) 20:36:06 ID:sp7m0sji
>>235
つ 誘導
【XML】XMLソケットなどの話題はここで【socket】
http://pc8.2ch.net/test/read.cgi/swf/1050820352/

>>236
やってみた。使えるのは
List:vPosition
TextArea:vPosition
ComboBox:getItemAt
かなぁ。

そもそも実装できるの、それ?
似たようなのなら出来たけど。
239Now_loading...774KB:2006/10/10(火) 23:42:51 ID:z3F4+/8T
ActionScript向けの巨大整数ライブラリってどこかにありませんかね。
公開鍵暗号の暗号部分だけをFlashで実装してみたいのですが。
240Now_loading...774KB:2006/10/11(水) 00:42:39 ID:azE5QeIe
>>239
なんのこっちゃと思って巨大整数で検索したら出てきたけど、こういうの?
ttp://www.faireal.net/articles/Text-Only/Listen/?d20525a
ttp://www.faireal.net/articles/5/24/#d20523
javascriptだけど、ASとほとんど変わらない。
241239:2006/10/11(水) 07:50:55 ID:/KK0Hpij
>>240
基本的には正にそれ、です。
計算だけJavaScriptでやらせるとか、手はいくらかあるものの、
ActionScriptネイティブの実装があればなーと思ったので。
242Now_loading...774KB:2006/10/11(水) 23:12:27 ID:ljr73j+o
>>241
お前、JavaScriptとASの違いって知ってる?
243Now_loading...774KB:2006/10/11(水) 23:58:12 ID:Ld4ppWKt
JavaScriptもActionScriptも同じECMA262だから
ほぼ使いまわし出来ると思うけど
244Now_loading...774KB:2006/10/12(木) 00:03:17 ID:YppadCvj
245Now_loading...774KB:2006/10/12(木) 00:37:02 ID:j31OK5H+
>>242
良く分からないので、分かりやすく教えてください
246Now_loading...774KB:2006/10/12(木) 00:52:10 ID:PsqwiQzq
JavaScriptもASも似たようなもんで、もしかしたらコピペしてそのまま使えそうな勢いなのに、
>>241がそのJavaScriptではなくてASで書かれたものがあればなんて言うから、
じゃJavaScriptとASの違いって何だ?っていう皮肉った言い方だよ。きっと。
247Now_loading...774KB:2006/10/12(木) 05:30:12 ID:ZTLVJlzn
>>239-242をたとえるとだな

7×8がわからないのですが

8の段ならここにあったよ

それです、8×7を代入するとか手はいくつかあるものの7×8の計算方法があればなーって思ったので

お前、掛け算わかってる?



これくらいおかしい会話だ
248Now_loading...774KB:2006/10/12(木) 08:37:38 ID:c/IOU2kt
二つのムービークリップAとBがあり
AとBは滑らかにつながっていて、かつそれぞれは単体でもループしています。
つまり
Aの最初と最後のフレームは同じ絵で、
Bの最初と最後のフレームも同じ絵で、
Aの最後のフレームとBの最初のフレームも同じ絵、です。

それでまず、Aをループして再生します。
Aの再生中、マウスでボタンなりをクリックされた場合に、
Aの終わりまでそのまま再生してから、Bに滑らかに移るようにしたいです。
gotoAndPlayとかだと、アクションのあった瞬間にBに飛んでしまうので
動きが滑らかにつながりません。

なので、Aの再生中にアクションがあったらAの最後まで再生した後に
Bに移る方法を教えてください。

環境は8のBasicです。お願いします。
249Now_loading...774KB:2006/10/12(木) 10:02:04 ID:AH2quR97
>滑らかに
がよくわからんが、フェードしたいなら_alphaを使えばできる
250Now_loading...774KB:2006/10/12(木) 10:40:08 ID:c/IOU2kt
>>249
ご回答ありがとうございます。ですが
_alphaとかを使ってフェードアウト・フェードインしたいのではないです。

質問内容が伝わりにくいかもしれませんが、
とにかく、
Aの再生中にボタンを押されたらBに飛びたい。
だけどAの途中でボタンが押された瞬間にBに切り替わってしまうのではなくて
Aの終わりまでちゃんと再生した後にBに移動するようにしたい。
ということが要点です。
お願いします。
251Now_loading...774KB:2006/10/12(木) 11:41:09 ID:MO4+TvD6
ボタンが押されたらフラグたてて
Aの再生終了時にフラグをチェックして立ってたらBを再生する
で済む話じゃないの?
252Now_loading...774KB:2006/10/12(木) 11:41:29 ID:JBRRztSw
>>250
1.ボタンが押された際にフラグを立てる
2.Aの最終フレームでフラグによる判定を行い
 Bに移行するかループするかを決定する
253Now_loading...774KB:2006/10/12(木) 11:48:02 ID:c/IOU2kt
>>251>>252
あぁ、そうですね・・・
脳が完全に死んでるようです。
ありがとうございました。
254Now_loading...774KB:2006/10/13(金) 19:36:32 ID:t5HOJ9KR
Flash超基本的な質問スレから来ました
以下ほぼコピペ。

よくあるPHPとFlashでのデータの相互通信をしてるんだけど
それをセキュアにしたくて、HTTPSで送受信したいんだけど

***.sendAndLoad( "https://www/test/test.php", ***, "POST" );

※crossdomain.xmlを置いてドメイン間の通信を許可してます。

これで外部プログラムとのデータの送受信に関しては、セキィリティが確保されるのかな?

それとも、そもそもFlashでセキュアなんて
.swf内部のphpに送信するデータの変数名とかが簡単に解析される以上、不可能なんだろうか

業務でAS使ってる人に教えて欲しい。
Flashでセキュアなログインシステムなんかを作る時は外部スクリプトとの通信はどうしてるの?
255Now_loading...774KB:2006/10/13(金) 19:51:45 ID:1rnyC8YU
普通のHTTPS通信と何も変わらんよ。
それ以上でもそれ以下でもない。
256Now_loading...774KB:2006/10/13(金) 20:33:07 ID:xF2aa49h
何をセキュアにしたいかによる
データの転送なのか、データそのものなのか、セッションなのか

データの転送ならhttpsで十分と言うか、それ以上を求めるなら物理的な手法に走るしかない
これはもうFlash云々ではなく、IPのレベル

データそのものを守りたいのであれば、保護したいデータをサーバサイドで完結させればよい
そもそもFlashをプレゼンテーション層以下で使おうとする発想が危険なのでやめとけ

セッションはFlash云々というよりもPHP側の問題
Flashはちゃんとcookieなり認証チケットを受け渡すことだけを考える
ただ、Flashの認証は乗っ取られやすいから、できればFlashの外側で認証を取り、Flashはその中のコンテンツとして使うのがベター

ちなみに漏れはFlashにセキュリティは任せない
あくまでもWebサイトとして基本認証なりWindows認証なりかませて、ブラウザのセッションとして確保する
Flashはコンテンツとして動作し、ログインIDなんかはセッションを元にサーバ側で解決してもらう

どっちにしてもセキュリティ設計は要求レベルに合わせてしっかりやるべき
特にインターネットに公開を考えているなら、有料のセキュリティ対応コンポーネントとかも検討しろ
つかFlexじゃだめなのかよって、PHPが必須なのかな
257Now_loading...774KB:2006/10/14(土) 10:16:09 ID:EXN+U3BD
指定のswfを非表示にするスクリプト教えてください。
どれだけくぐっても見つかりません。
258Now_loading...774KB:2006/10/14(土) 10:23:45 ID:E7VAoRiL
>>257
_visible = false;
ヘルプを「非表示」で検索すれば山ほど出てくるぞ
259Now_loading...774KB:2006/10/14(土) 10:45:55 ID:EXN+U3BD
>>258
そんなのじゃなかったはず
例えば
ttp://www.livly.com/mypage.php?uid=3Q8u&s=3
から
ttp://www.livly.com/item/daruma.swf
をけすようなやつ
260Now_loading...774KB:2006/10/14(土) 11:46:36 ID:E7VAoRiL
>>259
そんなのじゃないと言われてもな。
ASでじゃないの?
261Now_loading...774KB:2006/10/14(土) 14:34:53 ID:5ue71Sy8
>>259
>>258ので合ってるよ。
個別のやり方はケースごとに変わって来るから教えようがない。
262Now_loading...774KB:2006/10/14(土) 14:40:12 ID:/o8JuZYD
>>259は、リンク先のゲームで特定のアイテムを消して
悪用したいだけの厨なので無視してください。
263Now_loading...774KB:2006/10/14(土) 15:05:09 ID:NBrwhhqQ
どうやって他人のゲームを書き換えるつもりなんだ?
264Now_loading...774KB:2006/10/14(土) 15:47:47 ID:mRc6own9
>>256

PasswordやIDをクライアント側から送って鯖PHPで受け取って
チェック後、判定結果をASに送信してNextpageってのを考えてるんだけど
(その後のページからはIDなどはセッション管理)

データの転送はLoadVarsでHTTPS通信が可能なのかどうかが聞きたかった、サンクス
データそのものを守りたい訳じゃない、漏えい厳禁のデータは全て鯖管理してる

不安に思ったのが、SWFがFlasmとかでクラックされて
IDやPasswordを格納する変数名と送信先PHP名が抜き出されて
そのPHPに直接、抜き出した変数名とランダム文字列でアタックされると
HTTPS関係ないな・・・と思って。

ってこれはFlashでなくHTTP+PHPで作ったログインシステムでも言えることなのかな

[FLASH]ID+Pass入力→[PHP]ログイン許可をASに→
[PHP]ID+Passをsessionに→[FLASH]認証チケット送信→[PHP]チケットを判定→
[PHP]sessionを使い個人情報をDBから引き出しASに飛ばす→[FLASH]個人情報表示

みたいな流れのシステムを作るとしたら「→」の部分をSSL通信にすれば取り合えず安全で
後はFlashの「認証チケット送信」部分が手薄だからFlashの外側でしたほうがいいってことだよね?

「外側でする」という部分の方法を詳しく聞きたいんだけど教えてもらえないだろうか
265Now_loading...774KB:2006/10/15(日) 13:44:39 ID:Ft4GeCo+
mcを毎回適当な時間に出てくるように設定しようと思って
これ↓をフレームasとして置いたのですが、他のflaではこれと全く同じのを
入れても正常に動いてるのに今回はなぜかブラウザが何度もリロードされます。
(シーン1のナウローディングまでもどってるようなかんじ)なぜかわかるかた教えてください...

//-- ムービーの停止
stop();
//-- 制限時間が来たら呼ばれる関数
function callback() {
play();
clearInterval(interval);
}
//-- 間隔の時間のセット
nextsec = Math.floor(Math.random()*20)+1;
interval = setInterval(callback, nextsec * 1000);
266Now_loading...774KB:2006/10/16(月) 23:10:59 ID:z+ogNLz7
スーパーマリオブラザーズのようなアクションゲームで、
ブロックに対して当たり判定
(左右は当たるとそれ以上行けなくなり、上は乗れ、下は当たるとジャンプが途中で終わる)
というものを作る場合、
どのような、ブログラミングが考えられるでしょうか?
267Now_loading...774KB:2006/10/16(月) 23:33:10 ID:tEnxyhK5
>>266
移動先に壁が無ければ移動する。
移動先に壁が有らば移動は行わない。
268Now_loading...774KB:2006/10/16(月) 23:52:29 ID:z+ogNLz7
>>267
でも、どちらか逆方向には移動してやらないといけないわけだから、
左方向と右方向別々に管理してやればいいのか・・・。
269Now_loading...774KB:2006/10/16(月) 23:58:22 ID:z+ogNLz7
>>267
あと、その「移動を行わない」が起こる条件は
どうなった時に起こすのが一番いいのでしょうか?
ヒットテストを使うと、ブロックにキャラが埋まることがあるんですが・・・。
270Now_loading...774KB:2006/10/17(火) 00:02:35 ID:2GJAl9bK
>>269
座標判定
271Now_loading...774KB:2006/10/17(火) 00:16:16 ID:lfwIBpGe
というか、それを考えるのがプログラミングの作業の一環
それをここで丸投げするなら業者にカネ払って全部作ってもらえ
272Now_loading...774KB:2006/10/17(火) 01:05:49 ID:BJopq4gk
>>266
そこまで漠然としてると答えも漠然としちゃうから
ゲーム作成の本でも読んでから出直した方が良いと思われ
273Now_loading...774KB:2006/10/17(火) 22:45:07 ID:bATy5lDC
以下のように別のインスタンスを別扱いで
ハッシュに格納したいと考えています。
何か方法はないでしょうか?

var a:c = new c(1, 2, "3");
var b:c = new c(1, 2, "3");

var h:Object = new Object();

h[a] = "123";
h[b] = "456";// 別のオブジェクトは別で格納したい。

trace(h[a]);// 456
trace(h[b]);// 456

[c.as]
class c {
var _x:Number;
var _y:Number;
var _z:String;
function c(x:Number, y:Number, z:String){
_x = x;
_y = y;
_z = z;
}
}
274Now_loading...774KB:2006/10/17(火) 23:23:43 ID:JSdZE/nm
ソフト:FlashMX2004です。

リンケージされた棒状のMC(evBar)を、ステージ上のXY軸(xy0)に任意の高さで
X方向に並べて出現させるASを書いています。今、試しにボタンアクションのon (release)
で2つ並べるため、高さを gap1 = 50,gap2 = 160、底の位置を v1 = 50,v2 = -10
と定義しています。

for (eid=1; eid<3; eid++) {//2つ出現させる
newBar = "evBar"+eid;//新しいのevBarの名前
prop = {_x:eid*30, _y:["v"+eid], _height:["gap"+eid]};//X方向の位置と高さを指定
trace("底の位置= "+this["v"+eid]);
trace("高さ= "+this["gap"+eid]);
_root.xy0.grobalToLocal(prop);
_root.xy0.attachMovie("evBar", newBar, eid, prop);
}

このfor文では、2つevBar1,evBar2が指定したXの位置に並んで出現しますが、
Y方向の位置(底の位置)と高さ(_height)が希望通りになりません。

アドバイス願います。
275Now_loading...774KB:2006/10/17(火) 23:26:25 ID:ms2vpszL
>>273
意味がよくわからんのだけど、
var h:Object = new Object();
h.a = new c(1, 2, "3");
h.b = new c(4, 5, "6");
trace(h.a._x)
trace(h.b._x)
こんな?
276Now_loading...774KB:2006/10/17(火) 23:29:30 ID:ms2vpszL
>>274
他と一緒で
prop = {_x:eid*30, _y:this["v"+eid], _height:this["gap"+eid]};
にすればいけるんじゃない?
277Now_loading...774KB:2006/10/17(火) 23:56:04 ID:bATy5lDC
>>275
すみません。もっと詳しくやりたいことを書きます。

Arrayに3つのオブジェクトを入れます。
arr:Array = new Array();
arr.add(o1);
arr.add(o2);
arr.add(o3);

その後、このarrの中にオブジェクトo1は入っているのか、
また、入っているとすればarrの何番目に入っているのかを知りたいのです。

思い付いているやり方としては、

function indexOf(o:Object):Number{
    for(i:Number = 0; i < arr.length; i++){
        if(arr[i] === o) return i;
    }
    return undefined;
}

といったものを考えています(o1なら戻り値は0)。ですが位置を取るたびに全探索するのは重そうです。
278Now_loading...774KB:2006/10/17(火) 23:57:11 ID:bATy5lDC
そこで、位置を格納するハッシュ配列を考え、オブジェクト自身をハッシュのkey、
位置をハッシュのvalueとして以下のようにやればうまくいくのではないかと考えました。

arr:Array = new Array();
hash:Object = new Object();
arr.add(o1);
hash[o1] = arr.length - 1;
arr.add(o2);
hash[o2] = arr.length - 1;
arr.add(o3);
hash[o3] = arr.length - 1;

function indexOf(o1:Object):Number{
    return hash[o1];
}

いま適当に hash[o1] とか書いてますが、
ここでオブジェクトと値を1対1で対応付けられるような方法を探しています。
よろしくおねがいします。
279Now_loading...774KB:2006/10/18(水) 00:15:22 ID:WOu5/0KW
>>278
>オブジェクト自身をハッシュのkey
これはできないから同名のプロパティ(キー値)にすればいいんじゃない?
オブジェクトの方にも自分のインスタンス名なりキー値なりを返す仕組みいるけど。
arr:Array = new Array();
hash:Object = new Object();
arr.add(o1);
hash.o1 = arr.length - 1;

function indexOf(o1:String):Number{
    return (hash[o1])? hash[o1]: Number.NaN;
}
あと、
var o1 = new c()
hash[o1] = "1"
って書き方は、クラスの既定の戻り値(そのまんまだと[object object]とかの「文字列」)
の名前のキー値だと思われるんじゃないかな?

var o1 = new c()
var h=new Object()
h[o1]=1
trace(h[o1])
trace(h["[object Object]"])

280Now_loading...774KB:2006/10/18(水) 00:39:26 ID:7m3+Nwi0
>>279
解答ありがとうございます。
オブジェクトのキー値を算出するのは良さそうな感じです。
厳密に算出するとそれはそれで重くなりそうなので、
思いっきりサボってMath.random()で固有のキー値、てのもアリかもと思いました。

>var o1 = new c()
>hash[o1] = "1"
>って書き方は、クラスの既定の戻り値(そのまんまだと[object object]とかの「文字列」)
>の名前のキー値だと思われるんじゃないかな?

これはその通りです…。うまく伝える書き方がわからず便宜上そう書いてしまいました。
察してくださってありがとうございます。
281274:2006/10/18(水) 01:21:10 ID:qkHL49kj
>>276
レスさんきゅうです。traceを若干変えて
trace("底の位置= "+prop._y);
trace("高さ= "+prop._height);
ご指摘の
prop = {_x:eid*30, _y:this["v"+eid], _height:this["gap"+eid]};
とすると、trace()は
底の位置= 50
高さ= 50
底の位置1= -10
高さ= 160

ですが、evBar1,evBar2は現れません。一方、heightからthisを消して
prop = {_x:eid*30, _y:this["v"+eid], _height:["gap"+eid]};

の場合、trace()は
底の位置1= 50
高さ= gap1
底の位置1= -10
高さ= gap2

となるものの指定したYの位置にevBar1,evBar2は現れます。
一長一短の状態です。問題点はどこでしょうか?
なお、evBarの基準点は上端(-Y方向)に置いています。
282274:2006/10/18(水) 01:25:20 ID:qkHL49kj

底の位置1= 50 と 底の位置= 50
は同じです。
「1」は無視して下さい。


283Now_loading...774KB:2006/10/18(水) 06:15:34 ID:k3u0ivbN
>>280
8ProならDataSet コンポーネントあたりを読んでみると良いかも
>>281
trace(this);でthisが何を指し示しているか確認してみる
284274&281:2006/10/18(水) 11:18:35 ID:RRKhBgAU
>>283
(ヘルプを見ても)やはり分かりません。thisの情報の取得の他、型のチェックのため

trace("Soko, Takasa= "+typeof (this["v"+eid])+", "+typeof (this["gap"+eid]));
prop = {_x:eid*30, _y:this["v"+eid], _height:["gap"+eid]};
trace("This= "+this);

と書いたところ
Soko, Takasa= number, number
This= _level0
となりました。propには数値情報は渡されているハズなのですが、_heightのthisを
上の様に消さない限りevBar1,evBar2は現れません。

そもそもattachMovie()では大きさ(タテ・ヨコ)の指定は出来ないのでしょうか?
ちなみにPlayer6です。
285Now_loading...774KB:2006/10/18(水) 11:37:01 ID:k3u0ivbN
_root.v1や_root.gap1の値は?
286274&281:2006/10/18(水) 14:50:46 ID:CdUqpDpo
>>285
_root.v1と_root.gap1は正しく出ましたが、やはり高さを変化できません。
そこで、.flaファイル自体をUpします(Macでも見れるようにZipで)。
http://kunekune.breeze.jp/up/uploader/src/up5842.zip

問題点のご指摘を願います。ファイル名は「t10.fla」で、左上のボタンを
押すとevBar1,evBar2が現れます。
287Now_loading...774KB:2006/10/18(水) 15:04:37 ID:k3u0ivbN
そのままだと
http://www.vipper.org/vip359955.jpg.html
になるけど、どうなったらいいのかな
288Now_loading...774KB:2006/10/18(水) 15:30:44 ID:IY27kesb
>>286
[]は配列リラテル。オブジェクトの直後で使うと配列アクセス。
擬似配列で管理してるってことは携帯用のFlashでも作っているのかな?
grobalToLocalメソッドはちょっとググっても出て来んね。

_heightプロパティと_widthプロパティにはどうやらおかしな仕様があるみたいで、
私はそれを使わずに、MCの高さと幅ををあらかじめ100って決めておいて_xscaleと_yscaleで引き伸ばしてる。
この例の場合、attachMovieメソッドの第四引数に指定するオブジェクトで即座に_htight指定するとMCが表示されなくなるっぽい。

どうしても_height使わなきゃいけないのなら少し考えてみた。
var yArray = new Array(50, -10),heightArray = new Array(50, 160);
for (var i = 0; i<2; i++) _root.xy0.attachMovie("evBar", "evBar"+i, i, {_x:i*30, _y:yArray[i]})._height = heightArray[i];
ただ、これだとちょっとトリッキー目で拡張性が悪いね。
attachMovieの戻り値は配置したMCの参照だから、それを取っておいて次に_heightプロパティに代入するっていうのを短くしたつもり。
289288:2006/10/18(水) 15:41:21 ID:IY27kesb
あ、1スタートが0スタートになってますね…
290214:2006/10/18(水) 15:45:16 ID:dI0kMP4P
>>214
>>216
>>217
↑この時以来もまた色々と漁ってみましたが、一向にわからぬまま;
今一度皆さんのご協力を募らせて下さい;
お願い致します
291274&281:2006/10/18(水) 16:43:01 ID:u6UdMioS
>>287
リンク先が見えないです。

>>288
擬似配列? う〜ん、設定したつもりはありませんが。this["v"+eid]の[]を
指しているのでしょうか? とりあえず、_xscaleと_yscaleを使ってみます。
ちなみに携帯用ではなく、PC用です。
292274&281:2006/10/18(水) 18:21:13 ID:jHhZUbJ/
有難うございます。_yscaleで出来ました。やっぱり_heightの使用に
原因があったようです。

上の方は切れていますが、こんな感じになりました。
http://yu-net.info/swfup/viewswf.php/5302.swf
293Now_loading...774KB:2006/10/20(金) 07:16:55 ID:Nb1WKrZU
外部ファイル(画像)をflashに取り込む場合、
flashからファイルの存在の有無を調べる方法はあるのでしょうか。

具体的に言いますと1.jpg 2.jpg 3.jpg
など枚数が不確定の中、
画像が終了した時の処理を作りたいのですが…

良い方法を知っている方いらっしゃいますか
294Now_loading...774KB:2006/10/20(金) 07:23:23 ID:ybghMutT
phpかませるか、エラー拾うかどっちかかな?
295Now_loading...774KB:2006/10/20(金) 07:35:40 ID:Nb1WKrZU
>>294
即レスありがとうございます。(^^
phpの方はわかりましたが、
エラーを拾うのはどう言う処理をおこなっているのでしょうか。
296Now_loading...774KB:2006/10/20(金) 09:51:52 ID:Nb1WKrZU
>>294
解決しました。
読み込み時に-1がかえって来ると言う事ですね。
ありがとうございました。
297Now_loading...774KB:2006/10/21(土) 10:17:39 ID:opB7Uk9T
AS3.0で文字列から関数を呼び出すには、
ExternalInterfaceを使うしかないという理解であってます?
298Now_loading...774KB:2006/10/21(土) 17:16:21 ID:PIN4w8wf
初歩的な質問ですみません。
クリックすると他のページに飛ばせたいのですが
on(press){
以降何と記述すればよいのでしょうか?
299Now_loading...774KB:2006/10/21(土) 17:20:04 ID:/7YpUCAB
あいうえお
300Now_loading...774KB:2006/10/21(土) 19:47:19 ID:zYl1M7Fd
>>298
getURL をヘルプで見る。
301Now_loading...774KB:2006/10/21(土) 22:06:14 ID:RfLual8C
妻とはセックスレス、セフレとは毎週逢っているのですが
最近渡しの愚息が勃たず悩んでます、
スクリプトでMCの傾斜ってできますか?
302Now_loading...774KB:2006/10/22(日) 01:02:28 ID:AJJs/WCZ
質問です。

外部画像を読み込み、その画像のサイズに応じて
ムービー(ムービークリップではなく、ムービーです)のサイズを変えることは
可能でしょうか?

また上記が可能だったとして、HTMLにFLASHを貼るタグを書く際に
サイズの指定をしなければ外部画像のサイズで貼り付けることが可能なのでしょうか?

よろしくお願いいたします。
303Now_loading...774KB:2006/10/22(日) 04:29:02 ID:5/4y3igK
正規表現を使いたいのでRegExpを使ってスクリプトを組んでみたのですが
クラス内でエラーが多発して値がパブリッシュ出来ません。

*エラー名
RegExp.as: 行 172
'invStr' という名前のメソッドはありません。
thischar += "0123456789".invStr ();

RegExp.as: 行 793
ActionScript 2.0 のクラスのスクリプトは、
クラスまたはインターフェイスコンストラクトのみを定義することができます。
String.prototype.old_split = String.prototype.split;


などの、invStrメソッドのエラーとPrototypeのエラーが14件出ます。
猶、実際に正規表現を行う.fla .swfの同ディレクトリにRegExp.asを置いています。
エラーが出るのでアクセスには成功してるんですが・・・どこで間違っているんでしょうか?

スクリプトは、ググって引っかかったものを軒並みに試していますが反応は同じでした。

run_button.onRelease = function()
{
var regexp = new RegExp("^([\\w\\-\\.-]+)@(([\\w\\-]{2,}\\.)+[\\w\\-]*)$","gim");
var ss = regexp.exec(box1.text);//マッチした部分を摘出

if( ss ) { box2.text = "valid email"; }
else { box2.text = "no good"; }
}
304Now_loading...774KB:2006/10/22(日) 04:53:13 ID:sl3pecPk
>>302
最初っからJSで画像サイズ取得してタグ書かせたほうが速いんじゃね?
>>303
RegExpが正式サポートされるのはAS3.0、FLASH9から。
個別のASなら元AS晒すといいと思うよ
305Now_loading...774KB:2006/10/22(日) 08:40:41 ID:/kTKeZhy
>>302
ムービーって動画のこと?flvならいろいろできるけど。
htmlのサイズ指定ははパブリッシュでswf本体をどうするかの問題でそ
>>303
まず、普通にJavaScriptでエラー無く動くことを確認。連携はそれから
306Now_loading...774KB:2006/10/22(日) 11:03:41 ID:YMeTQyqf
>>266
亀レスだがブロックの当たり判定
http://hakuhin.hp.infoseek.co.jp/main/as/collide.html#COLLIDE_01
307Now_loading...774KB:2006/10/22(日) 13:46:22 ID:GUTfMeoL
308Now_loading...774KB:2006/10/22(日) 14:16:09 ID:PbWelJKH
ボタンを押すとMediaPlaybackに外部FLVファイルを読み込むにはどうしたらよいのでしょうか?

MediaPlaybackのインスタンスにscreenと名前をつけて
ボタンに

on (press) {
loadMovie("1.flv",screen);
}

書いたんだけど読み込まない・・・なぜ・・・
初心者です・・・
309Now_loading...774KB:2006/10/22(日) 14:54:40 ID:sl3pecPk
>>308

on (press) {
import mx.video.*;
screen.load("1.flv");
screen.play();
}


310Now_loading...774KB:2006/10/22(日) 15:15:48 ID:PbWelJKH
>>308
そのとうり入れてみましたがだめでした・・・orz
311Now_loading...774KB:2006/10/23(月) 12:44:43 ID:w/CbhtZ3
>>308

たぶん、スクリーンに使ってるMCのパスが違うんだよ。

ステージ直下に置いているのなら、

_root.screen (あるいは、_level0.screen)

にしないといけない。
312Now_loading...774KB:2006/10/23(月) 13:19:21 ID:A57NYDyR
>>308

うわああああ
動いたーーーーー!!!
あ(・∀・)り(・∀・)が(・∀・)と(・∀・)う!ございます。
313Now_loading...774KB:2006/10/23(月) 18:43:44 ID:A57NYDyR
動いたと思ったがやっぱり動いてなかった。

on (release) {
_root.screen.contentPath = "movie1.flv";
_root.screen.play();
}

でもこう書いたら何故か動きました。
314Now_loading...774KB:2006/10/24(火) 02:55:06 ID:pgNrQzh9
ダイナミックテキストは読み込んだ文字数とか行数とかで
表示領域を可変にできないもんなんでしょうか?

外部からテキストを読み込む際、
数種類の文字があるとバランスが崩れてしまうんですが
可変にすることが出来ればそれが解消できるかな?
と、思い質問しました。

どうぞよろしくお願いいたします。
315Now_loading...774KB:2006/10/24(火) 03:04:05 ID:ARQUEhhg
>>314
autoSizeとwordWrap
316Now_loading...774KB:2006/10/24(火) 03:14:13 ID:pgNrQzh9
>>314
本当にどうもありがとうございます。
やってみます。
317Now_loading...774KB:2006/10/24(火) 03:16:18 ID:pgNrQzh9

>>315でした。
すいません。
318Now_loading...774KB:2006/10/24(火) 04:31:59 ID:zW0h93De
環境:FlashMX2004ver7.2

moveToで線の始点を指定したいのですが、不要な線分が現れます。
XY軸を表現する2つのMC(xy0, xy1)にSin,Cos関数を描くため、始点を
for (gNo=0; gNo<=1; gNo++) {
this["xy"+gNo].moveTo(gx[gNo][u], -1*gy[gNo][u]);
....
....
}

のようにボタンアクション内に記述しました(ここでuは座標データの番号)。
※swfは http://yu-net.info/swfup/viewswf.php/5336.swf

Drawボタンで実行すると、Sinは原点から始まりこれはいいのですが、Cosは
原点から希望の開始点(0,60)まで不要な線分が現れます。これを消すには
どうしたらいいでしょうか?
319Now_loading...774KB:2006/10/24(火) 06:10:18 ID:U0gzSEF6
>>318
なんかバグがあったような気がするが、とりあえずは
cosの方の座標位置をtraceして確認してみれば?
あとclear()だっけ、を入れる。
320Now_loading...774KB:2006/10/24(火) 14:42:58 ID:xZex+JqW
読み込んだEUCの文字列をSJIS又はUTF8に変換する便利なクラスを
公開してるようなトコはないでしょうか。。
321Now_loading...774KB:2006/10/24(火) 14:49:37 ID:c2lRw3fr
Flash8じゃバイナリ扱えない。
諦めてEUCを使わないこと。
322320:2006/10/24(火) 14:53:34 ID:xZex+JqW
>321
了解です。ありがとうございます。
サーバサイドに仕掛けを入れるように掛け合ってきます>取引先
323Now_loading...774KB:2006/10/24(火) 15:48:22 ID:FW0Je0e1
>>319
すみません。始点はlineTo()のfor文とは別個に扱うべきところ
を同じ扱いにしていました(>>318には書いていません)。

お手数をおかけしました。単なる記述ミスです。
324Now_loading...774KB:2006/10/25(水) 12:00:42 ID:SP7r0X1S
MX2004 AS2.0

以下のコードでパブリッシュしても
真っ白で何も表示されないのです。

_root.stop();
_root.createClassObject(mx.controls.TextArea, "txt",_root.getNextHighestDepth());

_rootにTextAreaを動的に配置するにはどうしたらいいのでしょうか。

325324:2006/10/25(水) 12:03:29 ID:SP7r0X1S
コードは_rootのフレームにかきました
326Now_loading...774KB:2006/10/25(水) 13:50:26 ID:xoiU4Rax
>>324
createTextField
327Now_loading...774KB:2006/10/25(水) 14:12:48 ID:nXHHVf6e
>>324
TextAreaコンポーネントがライブラリにないのでは?
328Now_loading...774KB :2006/10/25(水) 16:57:59 ID:utGy7K/E
ActionScriptのところにX²と書きたいですがX?になちゃいます。
どうすれば²を反映できるんでしょうか。(つд⊂)
329Now_loading...774KB:2006/10/25(水) 17:30:59 ID:WdzKn/mW
FlashMX2004(Player7)

元はスペースで区切られた文字列:
 あか Red あお Blue きいろ Yellow
のスペースをカンマに変換し、
 str1 = あか,Red,あお,Blue,きいろ,Yellow
という文字列を作りました。

これを配列 data1 = new Array(); に
data1[0] = あか
data1[1] = Red
....
...

というように収めるにはどうすればいいでしょうか?
data1 = new Array(str1) としても data1.lengthは1になり
不可でした。
330Now_loading...774KB:2006/10/25(水) 18:51:42 ID:0sAuuKF3
>320
EUCテキストの読み込みをFlash6とか7でやれるって話を聞いたことがあります。
ANSIモード起動を使うとか
331Now_loading...774KB:2006/10/25(水) 18:56:45 ID:LrYgMcce
>>328
Math.pow( X, 2 )

>>329
str1 = "あか,Red,あお,Blue,きいろ,Yellow";
data1 = str1.split(",");
332Now_loading...774KB:2006/10/25(水) 18:56:52 ID:xoiU4Rax
>>329
data1 = "あか,Red,あお,Blue,きいろ,Yellow".split(" ");
333324:2006/10/25(水) 19:11:47 ID:SP7r0X1S
>>327
ビンゴです
ありがとうございました
334329:2006/10/25(水) 19:36:27 ID:I35QTqbt
>>331, 332
thx
335328:2006/10/25(水) 20:43:07 ID:utGy7K/E
>>331

言葉足らずでした・・。「X²」とアクションスクリプトで作ったテキストフィール
ドに表示させたいんです(つд⊂)。
336Now_loading...774KB:2006/10/25(水) 21:27:36 ID:xoiU4Rax
>>335
"X\u00B2"
337Now_loading...774KB:2006/10/25(水) 21:35:19 ID:Jynfaj/+
すみません、助言を頂けませんか。環境はWin2000+MXです。

[やりたいこと]
・外部テキストの変数をフラグとして、変数Aが1のとき音1を、2のとき音2を鳴らしたい。
 ※_root上のムービークリップBにon(enterFrame)で変数の記述されたテキストを読み込み、
   on(Data)で変数Aを含めいくつかの変数の監視を行っている。

・_root上に設置したボタンで、音1と音2をstopさせたい。
・同じく_root上に設置したボタンで、音1と音2のボリュームをミュートにしたい。
 ※これは↑ができればわかりそう。


[現状できていることと躓いているところ]
・_root上にサウンドオブジェクトSound1とSound2をつくり、_root上に設置したテストボタンでは再生可能。
・ムービークリップBにて変数A=1のときSound1.start();としても鳴らない。
・Sound1.start();を_路尾t。Sound1.start();とすると、たとえば音1が「あいうえお」という音声ならば
 「ああああああああああああいうえお」というように再生されてしまう。

手元の本やネットで調べてもどうにもわからないのでこちらを頼ってきました…
よろしくお願いします。
338Now_loading...774KB:2006/10/25(水) 23:26:07 ID:4tSAqY74
>>337
>_root上にサウンドオブジェクトSound1とSound2をつくり、_root上に設置したテストボタンでは再生可能
ができているならそんな難しくないと思うけど。今、
on(release){
 音を鳴らすAS
}
って書いてあると思うけどそれを
if (A=="1"){
 音を鳴らすAS
}
とフレームに書けばいい。
ミュートはSoundクラスに確かsetVolumってのがあるのでそれをSound1.setVolum(0)みたいにすればいい。
Soundクラスのヘルプを一通り読んでみては。
339Now_loading...774KB:2006/10/25(水) 23:42:24 ID:JBHns8uX
http://hikiman.sdap.jp/game/b17/B17.html
このFLASHが、IEだと操作できるのにファイヤーフォックスだと
操作できません。
どのような原因が考えられるでしょうか?
340Now_loading...774KB:2006/10/25(水) 23:51:35 ID:4tSAqY74
>>339
ttp://redstar.skr.jp/mt/archives/2005/11/_flash_1.html

embed タグの中の wmode に記述した opaque が原因らしい。
341Now_loading...774KB:2006/10/26(木) 00:15:26 ID:f/F23TVC
>>340
回答ありがとうございます。
opaque属性を削除してみたら動いたには動いたんですが
すごく重くなってしまいました。
重くならぬよう、動かせるようにするには方法はないでしょうか?
342Now_loading...774KB:2006/10/26(木) 00:17:21 ID:zZQ8btud
初歩的なことで悩んでいるアホに、どうぞ皆様、知恵をお貸しください。
当方XP、MX2004です。過去ログを検索しようにも、ググってみても探し方が悪いのか、
同義の質問が探せませんでした。既出でしたら申し訳ないです。

ステージに直接配置した、ちゃんと機能しているMC(ダイナミックテキスト:HTMLの
OBJECTタグからデータをFlashvarsにて_rootに取り込まれ、表示可)を、
動的に配置される別MCに埋め込むと、文字が表示されません。読み込み先のパスを
_parent._parent.にしてもダメ、_root.にしてもダメなのです。ソースはとても
お見せできるようなものではなく、いじり過ぎて、自分で見てもとてもぐちゃぐちゃなので、
とてもここで披露できるものではないので、ご容赦を。何とか言葉によるヒントが欲しいのです。
どうしたら元のように表示できるようになるか、何が足りない、間違っているのかご存知の方、
お教えいただけないでしょうか。よろしくお願いします。
343Now_loading...774KB:2006/10/26(木) 00:53:11 ID:Bgy1InEd
>>341
ごめん。俺にはわからない。

>>342
配置場所を変えてMCが機能しなくなったのならパスが原因かと。
trace(this)使って確認した方がいい。
344342:2006/10/26(木) 00:57:11 ID:zZQ8btud
>>343
trace(this)ですか。ありがとうございます。もう今日は遅いので、
明日、試してみます。こんな遅くまでお付き合いいただき、ありがとうございます。
345337:2006/10/26(木) 01:16:25 ID:4hpCFrGr
>338
なんとなくイメージがつかめたような…

ムービークリップで変数を読み込んでいるから、ムービークリップ上に
>if (A=="1"){
> 音を鳴らすAS
>}
このif文があるんです。これをフレームスクリプトにすればいいってことですかね?

Sound関係のヘルプも目を通して見ますー
346Now_loading...774KB:2006/10/26(木) 03:14:44 ID:PuD9Vi1c
ActionScript3ってもう正式にリリースされてるんですか?
SDKは無償でOKって話をどっかで読んだので触りたいです。
347Now_loading...774KB:2006/10/26(木) 10:08:08 ID:IRHY/6A7
348Now_loading...774KB:2006/10/26(木) 13:24:05 ID:yQOW1Y7j
flashに「このページをホームページに設定」ってボタンを付けたいんだけど、
HTML側のHEAD内に

function setStartPage(){
window.document.body.style.behavior = "url('#default#homepage')";
window.document.body.setHomePage("http://2ch.net");
}

って書いて、flashのボタン側に

on(press){
getURL("JavaScript:setStartPage()");
}

とやっても、「エラー:書き込みできません」てJavaScriptエラーが出てしまう…
同じfunctionをHTMLから呼ぶとちゃんと動作するので、JS自体の問題じゃないと思うんだけれども
原因や回避策って誰かご存じありませんか?

ちなみにこのボタンはIEの場合のみ表示されるよう判別処理してます。
宜しくお願いします。
349Now_loading...774KB:2006/10/27(金) 04:13:02 ID:gfkp/fOR
あるゲームを作っていて、ActionScriptで音楽(BGM)を流しているんですが、
var a_sound:Sound = new Sound();
a_sound.attachSound("bgm.wav");
a_sound.start();
だと、音楽が一回しか再生されません。
音楽を無限にループさせつづけるにはどうすればよいですか?
教えてください。お願いします。
350Now_loading...774KB:2006/10/27(金) 06:22:20 ID:zf6q4itU
>>349
以下ではどう?
a_sound.onSoundComplete = function(){
//終わった時の処理
a_sound.attachSound("bgm.wav");
a_sound.start();
}
351Now_loading...774KB:2006/10/27(金) 06:25:04 ID:6ISNlMXU
環境=FlashMX2004とPlayer6

xyというMCに線を描く場合、xy.lineStyle(2, 0x0000ff, 100); の形で
色を指定(この場合は青)していましたが、

my_color = new Color(this);
my_color.setRGB(cn_r << 16 | cn_g << 8 | cn_b);

のようにRGBの0〜255で指定するにはどうすれば良いでしょうか?
目的は、xy内の線の色をcn_rなどの変数で変化させることです。
352Now_loading...774KB:2006/10/27(金) 12:59:15 ID:+Oz6ZgDc
>>348
>ちなみにこのボタンはIEの場合のみ表示されるよう判別処理してます。
ここらへんんをコメントアウトして実行できるかどうか試してみればいいかも。
>>351
どうすればというか、普通に変化させればいいかと。
for文で段階的にとかonEnterFrameとか。
353Now_loading...774KB:2006/10/27(金) 15:21:42 ID:XOjTMHmG
>351
xy.lineStyle(2, cn_r*256*256 + cn_g*256 + cn_b, 100);
これ?
354Now_loading...774KB:2006/10/27(金) 22:36:40 ID:GPCwJSA6
↓ボタンを押してる間だけ歩いているMCを表示させるにはどうしたらいいですか?
色々やっても歩いたままでorz よろしくお願いします
355351:2006/10/27(金) 22:49:34 ID:s7xBtHkI
>>352, 353
さんきゅうです。
xy.lineStyle(2, cn_r*256*256 + cn_g*256 + cn_b, 100); をonEnterFrame
で繰り返すことにより変化できました。


>>354
flag=true/false を使ってon(press)/on(release) で切り替えるようにしたら?
 
356Now_loading...774KB:2006/10/27(金) 22:56:25 ID:uVVqfS1p
357Now_loading...774KB:2006/10/28(土) 13:17:44 ID:AhlAFrgi
>>355
flag=true/false on(press)/on(release) ですか・・・
すいません 解らないですorz 勉強不足ですね
flag=true/falseはなんとなく解るのですがどのように使えばいいのか・・・

if (Key.isDown(Key.UP)) {
this.gotoAndStop("back") ;
} else if(Key.isDown(Key.DOWN)) {
this.gotoAndStop("front");
} else if(Key.isDown(Key.RIGHT)) {
this.gotoAndStop("right");
} else if (Key.isDown(Key.LEFT)){
this.gotoAndStop("left");
}
をいじるのでしょうか??

>>356
まさにこのとおりです!!
358Now_loading...774KB:2006/10/28(土) 14:26:15 ID:iSs8Q2SI
MX使用です。
evalの使い方がいまいち理解できないので教えてほしいです。
問題のスクリプト簡単に書きます。

for(var k=0;k<=10;k++){
switch (hoge){
case book:
ここ=[1,2,3];
break;
case desk:
ここ=[5,6,7,8,9];
break;
 ・・・・・・以下略
}
}

”ここ”というところに、kの値に対応した変数名(k=0ならhensu0,k=2ならhensu2など)を入れるべくeval("hensu"+k)をいろいろ使ってみたのですがエラーがでたりしてうまくいきません。
可能だと思うのですが方法を教えてください。
359Now_loading...774KB:2006/10/28(土) 14:32:16 ID:9RcmEbKe
>>358
evalの使い方というか、シンプルにやりたいことをまず書いてくれると
よく解るし良いレスつきやすいよ。eval自体使わない方がよいし。
360Now_loading...774KB:2006/10/28(土) 16:13:48 ID:387Vbj/6
>>358
ActionScriptのeval関数は既に定義されている変数への参照しかできないから

test1 = "test1";
test2 = "test2";
test3 = "test3";
for (i=1; i < 4; i++)
{
  trace(eval("test" + i));
}

なら動作する


>>358さんがやりたいことを俺がやるとすれば

myvars = new Object();
for(var k=0;k<=10;k++)
{
  myvars["hensu" + k] = k;
}

みたいな感じかな
361Now_loading...774KB:2006/10/28(土) 18:42:50 ID:kSzXuMx/
質問です。cgiからデータをロードし、使いやすいよう加工するクラスを作っています。

class myLoad {
 private var dt:Array;
 private var lv:LoadVars;

public function myLoad(){
 lv = new LoadVars();
}
public function startLoad(){
 lv.onLoad = onLoadFunc;
 lv.sendAndLoad("***.cgi", lv, "GET");
}
public function onLoadFunc(){
 dt = lv["data"].split(",");
}
}

以上のコードでmyLoadの変数dtにカンマ区切りデータを分割して格納できると
期待しましたが、onLoadFuncでのthisとはlvを指しているようで意図通りに動作しません。
onLoadFunc内でmyLoadクラスの変数にアクセスする方法はないでしょうか?
362Now_loading...774KB:2006/10/28(土) 23:41:45 ID:vn9K6zYH
thisってどこ?
363Now_loading...774KB:2006/10/29(日) 00:14:28 ID:V402VtHp
>>361
>期待しましたが、onLoadFuncでのthisとはlvを指しているようで意図通りに動作しません。

とりあえず動かしたいならdtをpublic staticにしたらどうでしょ?後はクロージャ使うか。
thisがmyLoadを指すようにする方法はちょっとわからないです。

後どーでもいいけど変数名短すぎ。作ってるうちはいいけど、後で読んでわからなくなっても知らないよ。
364Now_loading...774KB:2006/10/29(日) 00:16:31 ID:yM4aM8t2
>>361
>意図通りに動作しません。
がどういう状態なのか(どこが原因なのか)よくわからないけど、thisがlvを指してるなら、
dt = this.hoge.split(",");
でいいんじゃない?
365Now_loading...774KB:2006/10/29(日) 07:09:55 ID:r5r7LTNM
「this」じゃなくて「onLoadFuncメソッドでのスコープ」です。
thisがLoadVarsを指してしまっているメソッド内で、
myLoadの変数dtを示すにはどうしたらいいか?という質問でした。
説明がヘタで申し訳ない…。

>>363がおっしゃるクロージャ、
調べてみたらいまやりたいことにピッタリで、
使ってみたところ意図した動きをシンプル書くことができました。
ありがとうございました。

>変数名
アドバイスありです。
上のコードは説明のために相当簡略して書いてたもので、
実際のコードでは和英辞典片手に唸ってますw
366Now_loading...774KB:2006/10/29(日) 19:19:46 ID:yhq3FtLV
お答えいただきたいのですが。version8.0で製作しています。
ActionScript2.0において、ムービークリップを変数または配列を使用して
指定することは可能でしょうか。
ちょっとわかり辛いと思いますが、たとえば
ひとつのシンボルから複数のインスタンスを作り、それぞれに
movie_1,movie_2,movie_3…と名前をつけ、ActionScriptで

movie_1.gotoAndPlay(1);
movie_2.gotoAndPlay(1);
movie_3.gotoAndPlay(1);



とするところを

for(var i = 0; i <=10; i++)
{
movie_i.gotoAndPlay(1);
}

のように_1,_2,_3の部分を変数を変数iで置き換える、というようにしたいのですが。
いま256個のインスタンスを操作するゲームを作ってるのですが、
仕様変更やデバッグの事を考えると上の方法では作業効率が
著しく悪いと目に見えてるので…
これに代替できる方法でもいいのでご教授ください。
367Now_loading...774KB:2006/10/29(日) 19:41:17 ID:36lo7hJa
for(var i = 1; i <=10; i++)
{
this["movie_"+i].gotoAndPlay(1);
}
368Now_loading...774KB:2006/10/29(日) 21:16:19 ID:yhq3FtLV
>>367さん物凄い勢いで解答ありがとうございます!
ここ3週間の悩みが1時間で解決しました。
これで行数も1000行減りスッキリ。
よくよく見てみたら上の方法が本に書いてありましたが、
この問題とその箇所が結びつかず悩み続けていました…
プログラムは柔軟性がないとだめですね…
またお手数かけるかも知れませんがそのときもまたよろしくお願いします。

369Now_loading...774KB:2006/10/30(月) 00:18:55 ID:RrLqtdiq
>>368
3週間あったらリファレンス10回読めるぞ
370Now_loading...774KB:2006/10/30(月) 18:12:39 ID:plmYgSMI
質問させてください。
車の運転席から見える景色を撮影したビデオファイルがあったとします。
[アクセル][ブレーキ]というボタンを押すことによって、そのビデオファイル
の再生速度を自由に変更することは可能でしょうか?
Flashに直接、埋め込みビデオとして埋め込んだ場合は、nextFrame();でコマ送りする
ことが可能ですが、8分という制約もありますし、メモリを食うので、長いビデオには
不向きです。そこで、メモリを食わない、外部flvファイルを再生することを考えているのですが、
このflvファイルの再生速度を外部から変えることって出来るんでしょうか?
そもそも、flvに「コマ」の概念はあるのでしょうか?
お知恵を貸してください。
371Now_loading...774KB:2006/10/30(月) 18:56:05 ID:qzysAIlf
>>370
YouTubeからの推測になりますが、おっしゃることは可能だとおもいます。コマの概念もおそらくあるでしょう。
ですがメモリ食うのはどっちにしろ同じですよ。
372Now_loading...774KB:2006/10/30(月) 21:57:47 ID:qikbqhKR
YouTubeのバー操作はコマ移動させてるワケでは無く、
秒単位で移動させてるだけだから、結論から言うと無理じゃないかな?
再生ヘッドの位置変更で指定可能な値は、単位:秒の整数です。
373Now_loading...774KB:2006/10/30(月) 22:19:31 ID:wPhUmByf
・質問
再生開始用のボタンを押しても再生が開始されない(1フレームぐらいだけ再生されて、すぐに元に戻る)

ソース
http://seiekiradio.jf.land.to/kowww.fla

コード

・プリローダー(frame1-2)
_root.onEnterFrame = function():Void{
if ( _totalframes == _framesloaded){
gotoAndStop("done");
}
total = _root.getBytesTotal();
loaded = _root.getBytesLoaded();
parpar = Math.floor(loaded/total*100);
_root.bar_dl._xscale = parpar;
updateAfterEvent();
}

stop();

・再生ボタンのあるフレーム(frame3-13/名前done)

・再生ボタン
on (release){
gotoAndPlay("st")
}

・ムービー本体(frame14-/名前st)
374373:2006/10/30(月) 22:23:56 ID:wPhUmByf
環境を書き忘れてたorz

windowsXP
FLASH MX
ActionScript2.0
375Now_loading...774KB:2006/10/30(月) 22:43:37 ID:/cJK8/ce
>>373
if ( _totalframes == _framesloaded){
gotoAndStop("done");
delete this.onEnterFrame;
}
376373:2006/10/30(月) 22:45:59 ID:wPhUmByf
>>375
動いた…トンクス

教本のばかやろー!
377Now_loading...774KB:2006/10/31(火) 00:09:42 ID:PxFJMgGT
質問です。
今、1からテキストに記述された数までのランダムな数+.swfと言う名前のswfを
読み込むASを組んでいるのですが、どうしてもファイル名がNan.swfになってしまいます。
いかにそのコードを載せますが、どこが問題になっているのでしょうか?

AS:フレームに実装
stop();
loadVariables("num.txt",_root)
n = parseInt(Text)
path = (Math.floor(Math.random()*n) +1) + ".swf";
this.myMovie.loadMovie(path);

num.txtの内容:
Text=3

よろしくお願いします。
378Now_loading...774KB:2006/10/31(火) 00:50:57 ID:SyIdZvQX
>>377
受信開始の処理と、受信後の処理がほぼ同時に行われてるから、
_root.Textには値が代入されません。 > trace(Text) ; //出力結果 : undefined

つまりその処理の流れの場合、
n= parseInt(Text) ;
から最後までを

_root.onData = function(){
} ;
で括る必要があります。

何はともあれloadVariables()よりも、LoadVarsクラスの使用を心掛けた方が良さそうな気も。
379Now_loading...774KB:2006/10/31(火) 10:28:07 ID:N+wOe09r
(環境)FlashMX2004とPlayer7

あるMC(xy0)に入れ子としてMC(dragM)を置き、ここに
on (press) {
this._parent.startDrag();
}
on (release) {
this._parent.stopDrag();
}

を書いて親(xy0)をDragできるようにしました。今まではこれで動かせて
いたのですが、xy0に外枠を表示させるxy0自身のフレームアクション

1フレ目
stop();
this.onRelease = function() {//xy0(=this)の2フレ目に移動し、xy0に外枠を表示する
this.nextFrame();
};

2フレ目
stop();
this.onRelease = function() {//xy0(=this)の1フレ目に戻り、xy0に外枠を消すする
this.prevFrame();
};

を書き足したところ、Dragが出来なくなりました。
原因は何でしょうか? on (release) の対象は入れ子のdragMなのですが、
これでも処理が衝突しているのでしょうか?
380Now_loading...774KB:2006/10/31(火) 20:02:19 ID:KsUE+7+x
環境:Flash Professional 8
やりたいこと:NetStreamで読み込んだflvファイルの全時間が知りたい

NetStreamには再生中の現時間を取得するtimeメソッドはありますが、
全時間を取得する方法はありますか?
初歩的すぎる質問かもしれませんが、どうか助けてください
381Now_loading...774KB:2006/10/31(火) 22:30:19 ID:pVpqRsWa
>>379
以前近いことを試したとき、やはり深度が最も浅いMCのみが反応しました。
その時は
dragM
on(press){
this._parent.startDrag();
this._parent.nextFrame();
}
on(release){
this._parent.stopDrag();
this._parent.prevFrame();
}
というような感じで(実際はフレーム移動以外の処理もしてたので親のFunctionを呼んでました)
対処したと記憶してます。非常に場当たり的ですが。
382Now_loading...774KB:2006/10/31(火) 22:55:42 ID:Cb0hTjQH
>>379
親にアクション設定したら出来なくなったってことは、それが原因だってわかるんじゃないか?
onイベントは排他的に呼ばれる。
つまり、入れ子にすると一番外側に書かれたものが有効になる。
383377:2006/10/31(火) 22:55:46 ID:sMeHSlIl
>>378
>_root.onData = function(){ 
>} ; 
>で括る必要があります。

ご解答のとおりに、n= parseInt(Text);から最後までを_root.onData〜で
括るとうまくいきました。
ありがとうございました。
384Now_loading...774KB:2006/10/31(火) 23:28:21 ID:x6caRZXb
385Now_loading...774KB:2006/11/01(水) 07:41:19 ID:ydLweeGU
基本的な〜スレでも質問したんですが、ASなのでこちらでも質問させてください。

異なるドメインのサーバからの画像読み込みの際、そのリクエストにヘッダ情報を
追加することは可能でしょうか?
イメージ的にはLoadClipでaddRequestHeaderをやる感じです。

現在はMXで開発をしていますが、AS3で可能ということであれば
FLEX2の勉強をしようかと思います。よろしくおねがいします。
386Now_loading...774KB:2006/11/01(水) 17:50:55 ID:BwuGWePA
環境 winXP
flashMX2004
ActionScript2.0
メインがthis.stop();状態で
同じボタンを押すたびに変数を取得して、_mcのラベルにジャンプする。
という感じにしたいのですが、今まで、教本などを見て
ボタンインスタンスに
on (release) {
_root.get変数 = 1;

_rootの2フレームに
if (_root.変数<=0) {
_mc.gotoAndStop("ラベル");
} else if (_root.変数<=1) {
_mc.gotoAndStop("ラベル1");
} else if (_root.kabe<=2) {
_mc.gotoAndStop("ラベル2");
} else if (_root.kabe2<=3) {
_mc.gotoAndStop("ラベル3");
}
と書いて、
3フレーム目に this.gotoAndPlay(_currentframe-1);
で、一応は動作できていたのですが
_rootでループさせると重くなる。との事を聞き、いろいろな方法を試している
のですが、上手く動作できないでいます。

よろしくお願いいたします。
387Now_loading...774KB:2006/11/01(水) 18:06:16 ID:5osTFoqN
>>385
マルチには解答しない
>>386
>_rootでループさせると重くなる
変わらない。ひどいプログラムの組み方をすれば変わるけど。
388380:2006/11/01(水) 18:44:42 ID:p7KL4QNS
>>384
レスありがとうございます。
非常に参考になるページを紹介して頂いたので頑張れそうです。
重ねて、ありがとうございました。
389385:2006/11/02(木) 09:21:44 ID:RlD+HXJb
マルチっていうか基本的な〜スレに書いた後にこっちのスレを知り、
こっちの方が適切なスレだと思って誘導される前に自ら移動しただけなんですが。

まあ、わかる人もいないようなので撤退します。
390Now_loading...774KB:2006/11/02(木) 12:27:46 ID:J7tHP/mu
環境
XP
MX2004
ActionScript2.0

swfをはってあるhtmlにjavascriptを書きます。

<SCRIPT LANGUAGE="JavaScript1.1"><!--
var msg = "start";
//--></SCRIPT>

javascriptの関数を呼び出すことが出来るようですが
javascript内の変数をflash内から取得できるのでしょうか?

以上よろしくお願いします
391Now_loading...774KB:2006/11/02(木) 22:40:08 ID:9wvPqAMe
>>390
ttp://hakuhin.hp.infoseek.co.jp/main/js/javascript.html#JAVASCRIPT_01

Flash側からjavascriptの関数を呼んで
そのjavascriptの関数がFlashに変数の値を渡してやればいいんでない。
392Now_loading...774KB:2006/11/02(木) 22:46:25 ID:R+KxkIz3
>>354です
質問ばかりで申し訳ございません
いろいろいじって形らしき物はできたのですが、
「MCがちゃんと動いて表示されない」というのと、
「↑を向いて歩いている状態でボタンを離すと↑を向いたまま」をしたいのですが、
これ以上どういじっていいのかわかりません
後無駄なスライドが気になります

よろしくお願いします
http://www.geocities.jp/buchi0122/tesu.html
393Now_loading...774KB:2006/11/03(金) 04:51:17 ID:AxXsUiEz
394Now_loading...774KB:2006/11/03(金) 12:13:17 ID:3ujcnW8p
>>393ありがとうございます!!
もっと勉強しなくちゃなぁ・・・
 <(w・ )(>
395Now_loading...774KB:2006/11/04(土) 02:38:14 ID:+EYpmR13
趣味でActionScript覚え始めたんですが、とりあえず「おしえてフラッシュ〜」の本は総合的に
理解できました。しかし、この板の方々の話全く理解できないんですよねぇ…w
次のステップへ踏み出したいのですが、何かオススメの書籍ありますでしょうか?
396Now_loading...774KB:2006/11/04(土) 03:09:23 ID:ToBACCP1
質問です。

現在以下のようなスクリプトを書いています
logo = createEmptyMovieClip("logo", getNextHighestDepth());
logo.loadMovie("img/logo.jpg");
logo_listener = new Object();
logo_listener.click = enter_site;
logo.addEventListener("click", logo_listener );

function enter_site()
{
  trace("enter_site");
}

ですが、表示された画像をクリックしても無反応です。

createEmptyMovieClipで動的に作ったMCに対して
イベントを定義するにはどうしたらよいでしょうか?

よろしくお願いします。
397Now_loading...774KB:2006/11/04(土) 04:52:52 ID:LGha0E24
■環境
Windows XP Flash Player8

■多次元配列の宣言について
あらかじめ2次元配列を宣言しておき、後で受け渡される値から、配列の中に各々の値を入れ込むという作業を行いたいと思っています。
後で受け渡される値は、重複のないランダムで最大いくつまで増えるかはわかりません。

まず、以下のような宣言を行いました。
var list = new Array
list[0] = new Array

このとき、
load_list[0][0]= "00"
load_list[0][1] = "01"
load_list[0][2] = "02"
という形で値を受け渡すと(実際は変数で配列の場所を指定)、意図通りに格納されたのですが、
load_list[1][0] = "10"
と指定してデバッガで見てみると、値は格納されていませんでした。
最初の宣言の後ろに、
list[1] = new Array
と指定してやれば、list[1][n]については、格納できるようにはなるんですが、最初に一括で、多次元配列を宣言するには、どうすればよいのでしょうか?
()
398Now_loading...774KB:2006/11/04(土) 07:59:20 ID:9ijcMqf6
ふぉーねくすとやわいるでるーぷしょりしる
399Now_loading...774KB:2006/11/04(土) 09:40:16 ID:i7pkQbBA BE:185006467-2BP(123)
>>395
それ総合的に理解してないよ。
知ってるところだけをかいつまんで理解してるんじゃないか?
400Now_loading...774KB:2006/11/04(土) 10:38:12 ID:2E8urwj9
>>396
ロードが完了してから定義してあげたらどうかな。
>>397
そこまで出来てるならforループを理解すればすぐできるよ。
401Now_loading...774KB:2006/11/04(土) 13:41:46 ID:LW0kdqjk
>395
「オブジェクト指向とは」「ハッシュとは」「参照型とは」でぐぐって、
(ActionScriptに限らない)解説サイトを一通り読むと理解が深まると思うよ。

>397
// load_listのn番目がundefined(未定義)だったら。
if(load_list[n] == undefined){
 load_list[n] = new Array();
}
load_list[n][m] = "10";

配列の中に配列がなかったらその都度作ってあげればおk。
402Now_loading...774KB:2006/11/04(土) 16:25:00 ID:9ijcMqf6
×:undefined
○:"undefined"
403Now_loading...774KB:2006/11/04(土) 16:43:40 ID:LGha0E24
>>398,400,401
素早いご解答ありがとうございます。
やはり、各要素ごとに宣言しないといけないんですね。
とりあえず、401さんに教えていただいた方法で、対応しようと思います。
404Now_loading...774KB:2006/11/04(土) 18:10:28 ID:lLyPQJua
arr=[];
if(arr[0]==undefined){
trace("undefinedはstringじゃないです");
}
//>>402
405Now_loading...774KB:2006/11/05(日) 22:45:24 ID:2uhkscol
12フレームあるAVIを埋め込んだflvムービーを30fpsで再生しているのですが、
このムービーをgotoAndPlay(都合上この命令ループさせなければならない)でループ再生しているのですが、
映像の最後がひっかかる感じでガクついてスムーズに再生できません。
原因は何なんでしょうか?よろしくお願いします。
406405:2006/11/05(日) 22:51:08 ID:2uhkscol
環境はflashMX7.2
CPU 2.75GHz
メモリ 725MB

です。
407Now_loading...774KB:2006/11/05(日) 23:13:00 ID:TVUFmCpQ
>>405
12フレームではなく、13フレーム目にgotoAndPlayを入れてみてはどうだろう。
408Now_loading...774KB:2006/11/05(日) 23:21:06 ID:2uhkscol
>>407
13フレーム目や11フレーム目にも入れてみたのですがカクつきは治りませんでした・・・
409Now_loading...774KB:2006/11/05(日) 23:56:54 ID:lj/YKqkk
>>405
じゃあ二枚用意して、片方が終わったときにもう片方の映像を流すのはどう?
ダブルバッファリングみたいになっていけるかも。
410Now_loading...774KB:2006/11/06(月) 16:34:43 ID:msfom1v2
環境は、WinXP, FLASH8です。

既存の複数のSWFファイルをロードするMovieClipを作成していますが、ロードするSWFに配置してあるボタンのイベント(getURLをするなどの内容)を無効化して、
代わりのイベントを追加したいのですが、このようなことはできるものでしょうか?
既存のファイルはバージョン違い、フォントも自分のシステムにないためSWFのつくり直しはしたくないのです。 以下のような感じのコードです。

createEmptyMovieClip("myClip", 999);
myClip._lockroot = true;

loadMovie(currentSWF, myClip);

var mouseListener:Object = new Object();
mouseListener.onMouseMove = function() {
myClip.susumu.onPress = function() {
loadMovie(nextSWF, myClip);
}
myClip.modoru.onPress = function() {
loadMovie(preSWF, myClip);
}
};
Mouse.addListener(mouseListener);

btn2.onRelease = function() {
unloadMovie(myClip);
preSWF = currentSWF;
currentSWF = "02.swf";
nextSWF = "03.swf";
loadMovie(currentSWF, myClip);
};
411Now_loading...774KB:2006/11/06(月) 21:03:48 ID:ivcghLTI
ムービーをランダムに再生する様にしたいのですが
どうやったらいいのでしょうか?
このサイト見ろとかでもいいのでよろしくお願いします。
412Now_loading...774KB:2006/11/06(月) 21:56:14 ID:Hai/v4gw
TextFieldのフォーカスを外す方法を教えてください。
何度フィールドの外をクリックしても、
またすぐに元のTextFieldにフォーカスが合ってしまいます。

Selection.setFocus(null); でも駄目だし、
{TextField}.selectable = false; としてカーソルを消しても、
裏ではフォーカスが合ってるらしくて、希望の動作の阻害となります。

環境は、Windows2000 / Flash Player 9.0、
Flash Basic 8.0 / ActionScript 2.0 です。
よろしくお願いします。
413Now_loading...774KB:2006/11/06(月) 22:05:36 ID:L9Ccm7nk
>>411
どういう作りをしたいのか解らないので
Math.random();を使うとしかこたえられんがな。
>>412
どういう事をやりたいの?
あなたの言う希望の動作がわからんのでなんとも。
414Now_loading...774KB:2006/11/06(月) 22:41:35 ID:Hai/v4gw
>>413
Undo/Redoボタンで、配置したムービークリップを
表示/非表示にしているのですが(_visible使用)、
TextField を配置した時だけ動作がおかしくなります。

普通ならボタン押下後に、またそのボタンがオーバー状態になり、
連続して押せば動作が繰り返せます。
しかし、TextFieldがあると、Undo/Redoボタンを押した瞬間、
フォーカスがすぐにTextFieldに移ってしまい、
ボタンはオーバーではなく、オフの状態になってしまいます。

一旦マウスを動かして、
またそのボタンをオーバー状態にすればいいのですが、
かなり使いづらいので何とかしたいのです。
415Now_loading...774KB:2006/11/07(火) 01:10:38 ID:RtIKYCoP
>>410
読み込んだswf中のボタンのイベントを消すなら、

//読み込まれるswf loaded.swf
my_btn.onRelease=function (){
trace("click")
}

//loaded.swfを読み込むswf
load_mc.loadMovie("loaded.swf");

//完全に読み込まれた後の処理
trace(load_mc.my_btn); //確認
delete load_mc.my_btn.onRelease;
load_mc.my_btn.onRelease = function() {
trace("click2");
};

>>411
Math.random()

>>412
XP Flash2004 Player7
テキストフィールド(テキスト入力タイプ)とボタンを置いてやってみたけど、
その状況を再現できなかった。(テキストにフォーカスは行かない)
なんかやりかた違う?
416Now_loading...774KB:2006/11/07(火) 13:08:08 ID:MfJbTqO9
Flash ver.8.0 Player6 です。

swfからプリントアウトできるようにしたのですが
用紙の 縦方向/横方向 をflash側で決めることはできますか?

if (myPrintJob.orientation == PrintJobOrientation.Portrait) {
  //もし用紙が縦方向なら、MCを90度回転させる
mySprite.rotation = 90;
}


このように、プリンタの設定を読み込み
それに合わせて、画像を回転させることはできたのですが
できれば、プリンタの設定自体を 縦方向/横方向 に変更したいのです。
プリンタの設定を変えることは無理なのでしょうか。
よろしくお願いします。
417Now_loading...774KB:2006/11/07(火) 14:18:50 ID:Cht28okt
>>415
410ですが、
//完全に読み込まれた後の処理
trace(load_mc.my_btn); //確認 (undefinedになっていない)
ができても、
load_mc.my_btn.onRelease への参照がundefinedになっておりイベントの削除はできませんでした。


418Now_loading...774KB:2006/11/07(火) 18:14:58 ID:2/pO5GjA
ttp://www.fredperry.jp/home.html#home
このトップにあるような画像をループ&マウスでスピード調整する方法を
解説しているページ等教えて頂けませんでしょうか
419Now_loading...774KB:2006/11/07(火) 20:10:37 ID:bY/jctQH
テキスト読み込みで、キャッシュを読まないようにする手法なにかありませんかね・・・?
奇数フレームをキーフレームとして、同じMC、おなじテキストを読み込んでいるんですが。

色々調べた結果、
テキストファイルの後ろにランダムな文字列や日付をつけて読み込めば読める、
という回避方法をみつけてやってみたんですが…

on(load){
   url = "xxx.txt?" + new Date();
   this.loadVariables(url);
}

これだと、今度はテキストファイル自体読み込んでくれません。
なにか凡ミスでもしてるんでしょうか…お知恵をかしてくださいorz
420Now_loading...774KB:2006/11/07(火) 23:24:14 ID:wYx6SZrY
>>418
その程度の情報じゃ ttp://hakuhin.hp.infoseek.co.jp/main/as.html
のマウス操作について、とムービークリップについて、を読んでとしかいえないよ。
実際組んでみて詰まったらまたここに来たほうがいいと思う。
421Now_loading...774KB:2006/11/07(火) 23:40:47 ID:wYx6SZrY
>これだと、今度はテキストファイル自体読み込んでくれません。
サーバー側のテキストファイルの名前は"xxx.txt?日付"って形式になってる?なってないなら無理だよ。
Flash側からしたら存在しないファイル読み込もうとしてるんだから。

素直に利用者にF5キー押してくださいとお願いする方法しか私には思いつかない。パスorz
422Now_loading...774KB:2006/11/07(火) 23:41:46 ID:wYx6SZrY
すいません、上は>>419へのレスです。
423Now_loading...774KB:2006/11/07(火) 23:47:55 ID:OpU9qTL8
412ですが、原因がわかりました。
配置していたプログレスバーを削除したら正常に動きました。
どうもコンポーネントを配置していると、
TextFieldのフォーカスの動きがおかしくなるようです。
Flash自体のバグでしょうか。

ちなみに、コンポーネントはライブラリに置くだけでも
フォーカスの動きが変になります。
コンポーネントのプロパティで、
「リンケージ」→「ActionScriptに書き出し」のチェックを外せば
正常に戻るのですが、インスタンスを配置したら、
結局また動きがおかしくなるので、あんまり意味ないですね……。

プログレスバーは自作したので、とりあえず問題解決です。
424418:2006/11/08(水) 00:30:55 ID:84gn+O0g
>>420
遅くなりましたがどうも!
そのページで勉強してきます
425419:2006/11/08(水) 01:50:45 ID:Hjo7gl9f
>421-422
そうなんですか…
flashプレイヤー単体だと読み込めないけどhtmlに埋め込んだ状態ならできる、
と書いてあったのでいけると思いましたけど、テキストの名前がそうなってないとダメなんですね。

F5つかえない仕様なので、なんとか違う方法模索してみます。
ありがとうございました。
426Now_loading...774KB:2006/11/08(水) 17:53:22 ID:lLLJqy22
>>419
url = "xxx.txt?" + new Data().getTime() ;
427Now_loading...774KB:2006/11/08(水) 18:10:21 ID:9uJ0sYIx
Date()だべ
428Now_loading...774KB:2006/11/08(水) 18:26:50 ID:lLLJqy22
>>427
訂正ありがとう。気付かなかった。
429Now_loading...774KB:2006/11/08(水) 22:38:12 ID:PaVLeFWw
商用のオールFLASHのサイト等で、メニューボタンを押すとローディング画面が出てからその項目が表示されてるタイプは
あらかじめその項目ページのswfを作って、その部分をloadMovie等でMCに読み込み表示しているって方法でやっているのでしょうか?
430Now_loading...774KB:2006/11/08(水) 22:47:50 ID:06TuAldg
flvムービーをライブラリに取り込んでいるのですが、
それぞれのムービーの全フレーム数を知るにはどうすればいいでしょうか?
プロパティには秒数は書いてあるのですがフレーム数が分かりません。
431Now_loading...774KB:2006/11/08(水) 23:05:35 ID:CET+famY
>>430
取り込み方を見直すべし
432Now_loading...774KB:2006/11/09(木) 07:48:57 ID:+LBTGEex
>>429
そう。最初から全部読み込むと重いから。
433430:2006/11/09(木) 13:12:23 ID:FbyHo+Su
>>431
すいません。どのように取り込めばいいんでしょうか?
434Now_loading...774KB:2006/11/10(金) 10:21:14 ID:uF5DoVFM
教えてください。
aという変数にランダムで0から10までの整数を入れたいんですが、
やり方がよく分かりません。
Math.random()を使うとランダムな整数は生成できるんですが、
指定の変数への代入ができません。
よろしくです。
435Now_loading...774KB:2006/11/10(金) 10:32:12 ID:tEYkls1B
a = Math.floor(Math.random() * 11)
436434:2006/11/10(金) 10:36:37 ID:uF5DoVFM
はや!
てかありがとう。
なんと、こんな単純だったとは。
えらい長々と書いてたのに・・・・。
アリガトン。
437Now_loading...774KB:2006/11/10(金) 18:30:38 ID:yzMyb5iy
ダイナミックに作成するテキストフィールドで埋め込みフォントを使おうと
思ったのですが、ライブラリにフォントを作成しようとすると文字セットを
選択する項目が見当たりません。数字だけ使いたいのですが、文字セットを
使う方法ってありませんか?
438Now_loading...774KB:2006/11/10(金) 18:46:23 ID:dRK9E451
>>437
必要な文字埋め込んだテキストフィールドをどっかに配置しとくとか。
439Now_loading...774KB:2006/11/10(金) 18:52:02 ID:yzMyb5iy
>>438
ダイナミックには作成しない方が良いということでしょうか?
440Now_loading...774KB:2006/11/10(金) 18:59:33 ID:dRK9E451
>>439
テキストフィールドをASで作ってもフォントの埋め込みは別に必要だろうと。
フォントシンボルはフォント全体埋め込みだったから、限定したフォントを埋め込むなら
限定した文字だけのフォントを用意するか、リンケージとか隠し配置とかして必要フォントを
swfに埋め込む必要があるじゃないかな。
441Now_loading...774KB:2006/11/10(金) 19:28:38 ID:GobW6+Ul
数字だけなら1つづつシンボル化しちゃえば?
442Now_loading...774KB:2006/11/10(金) 20:12:17 ID:yzMyb5iy
テキストフィールドのダイナミック作成は、特定の文字だけの使用には適していないと
いうことですね。別の方法でやってみます。ありがとうございました。
443Now_loading...774KB:2006/11/10(金) 20:27:31 ID:/GdefPCR
>>442
埋め込みフォントの場合>>438の言ってるように、オーサリング時に、
使いたいフォントを埋め込んだダミーのテキストフィールドを作っておいて、
createしたテキストフィールドに、そのフォーマット情報を適用する。
444Now_loading...774KB:2006/11/10(金) 23:21:41 ID:yzMyb5iy
>>443
新規に作成したフォーマット情報をsetTextFormatで適用するやり方はわかるのですが、
ダミーのテキストフィールドのフォーマット情報をTextFormatとして扱うには
どうすればよいのでしょうか?
445Now_loading...774KB:2006/11/10(金) 23:25:31 ID:yzMyb5iy
わかりました。
getTextFormat()ですね。ありがとうございます。
446Now_loading...774KB:2006/11/11(土) 12:29:05 ID:irs+OSUi
attachMovieでリンゲージした円のMCを、alphaやサイズをランダム表示させているのですが
このままではランダムで表示された円が全て同じタイミングで表示されてしまいます
それぞれをバラバラのタイミングで表示させるにはどうすれば良いのでしょうか
因みにOSはWINxp、FLASH2004です

for (i=0; i <= 5; i++) {
newName = "en"+i;
new_mc = this.attachMovie("en_mc", newName, i);
new_mc._alpha = Math.floor(Math.random()*100);
sca = Math.floor(Math.random()*100);
new_mc._xscale = sca;
new_mc._yscale = sca;
new_mc._x = Math.floor(Math.random()*200);
new_mc._y = Math.floor(Math.random()*200);
}
447446:2006/11/11(土) 12:38:54 ID:irs+OSUi
あと、446をプレビューすると、一度円が表示された場所・形でずっと表示されているのですが
そこもランダムにさせる方法もあれば宜しくお願いします;
448sage:2006/11/11(土) 12:56:10 ID:WFzRzdtA
Flash9 Public Alpha + ActionScript3.0 での
swf 全体のサイズ取得について教えてください。
2.0 では _root.getBytesTotal() で取得出来ていたやつです。

LoaderInfoクラスのbytesTotalプロパティ
(メインタイムライン上で this.root.loaderInfo)
を取得すれば、と思ってリファレンスを読みました。

bytesTotalプロパティの説明:
>メディアファイル全体の圧縮後のバイト数です。
>
>この LoaderInfo オブジェクトの対応する Loader オブジェクトによって
>最初の progress イベントが送出される前は、bytesTotal は 0 です。
>Loader オブジェクトからの最初の progress イベントの後は、bytesTotal は
>ダウンロード済みの実際のバイト数を反映します。

というわけで Loader からのイベントが必要みたいですが

LoaderInfoクラスの説明では
>SWF ファイルのメインクラスのインスタンスに Loader オブジェクトは含まれない
という事なので
メインタイムラインクラスの Loader のイベントを受ける
設定済みのリスナとかないと bytesTotal は 0 のままのような気がします。

swf のサイズを取得できないハズは無いだろうし
根本的に方法を勘違いしているのか・・・
どうしたら良いのか分かりません。どうかご示唆下さい。

Adobe Flex 2 リファレンスガイド Class LoaderInfo
http://livedocs.macromedia.com/flex/2_jp/langref/flash/display/LoaderInfo.html
449Now_loading...774KB:2006/11/11(土) 12:59:16 ID:WFzRzdtA
すんません…慣れてないもので
450Now_loading...774KB:2006/11/11(土) 13:39:11 ID:L3xMNBpN
>>446
何がしたいのかイマイチ解らん
特に
>一度円が表示された場所・形でずっと表示されているのですが
>そこもランダムにさせる方法
どうゆうタイミングでランダムに変化させたいの
どうゆうふうに移動させたいの
とりあえず適当に↓でどう フレームアクションにコピペね

rootCount=0;
_root.onEnterFrame=function(){
if(rootCount<=5){
newName = "en"+rootCount;
new_mc = this.attachMovie("en_mc", newName, rootCount);
new_mc._alpha = Math.floor(Math.random()*100);
sca = Math.floor(Math.random()*100);
new_mc._xscale = sca;
new_mc._yscale = sca;
new_mc._x = Math.floor(Math.random()*200);
new_mc._y = Math.floor(Math.random()*200);
new_mc.onEnterFrame=function(){
var sca=Math.floor(Math.random()*100);
this._xscale=sca;
this._yscale=sca;
this._x=Math.floor(Math.random()*200);
this._y=Math.floor(Math.random()*200);
}
rootCount++;
}
}
451Now_loading...774KB:2006/11/11(土) 15:31:00 ID:eKUrn2uy
ヘルプにあるムービークリップ(以下MC)のサブクラス作成についてはできた…けど

仮に、その MC 内に何か別の MC インスタンスを配置して、そのインスタンスを
サブクラスから参照したい場合はどうすればいいんですか?
452Now_loading...774KB:2006/11/11(土) 15:34:08 ID:xkaksNnR
>>448
ローカルでは0を返すみたい。サーバにアップすれば取得できると思うよ。
453Now_loading...774KB:2006/11/11(土) 15:49:33 ID:WFzRzdtA
>>452
ありがとうございました!
454Now_loading...774KB:2006/11/11(土) 20:13:18 ID:AuqVd95h
flvを読み込む際、そのflvの現在の位置(秒数)をtimeで取得することはできました。
しかし総時間を取得することができませんでした。
どうにか取得する方法はありませんか?

どなたかご存知の方よろしくお願いします。
455Now_loading...774KB:2006/11/12(日) 15:21:24 ID:B7jbf99E
マウスクリックを3回されるとネクストシーンに行くボタンが出現

というのを作りたいのですが どういう指定をすればよいでしょうか。
456Now_loading...774KB:2006/11/12(日) 17:28:31 ID:lfnFoAvB
>>454
メタデータを読む。

>>455
on(release){
if (cnt >= 2){
this.gotoAndPlay(2)
}else{
cnt++
}
trace(cnt)

FlashMX2004以上ならどっかでcnt=0と初期化しとく
457Now_loading...774KB:2006/11/12(日) 21:21:34 ID:puB27Dwn
Q)ファイル名の検出
環境:FlashMX2004_ver7.2(Playerは6か7) OSはWinXP-Pro

フォルダを指定し、そこにあるファイル名の一覧を取得する方法を探って
います。先ずは、ムービーと同一のフォルダ内で取得したいのですが、どう
すればいいでしょうか?

ファイル名を指定した場合には、Xmlを使って中身を見る段階までは出来て
います。

※Flash-JPでも同様の質問をしていましたが、あちらは削除して
こっちに移動しました。
458Now_loading...774KB:2006/11/13(月) 02:35:48 ID:az7AN/9v
>>457
フォルダ内のファイルの取得は出来ない。
txtとかに取得したいファイル一覧見たいのをつくっておけばできる。
459Now_loading...774KB:2006/11/13(月) 03:00:23 ID:ZOVhOW3Z
>>457
サーバサイドで工夫しないと無理
460457:2006/11/13(月) 06:02:27 ID:pynvoLO/
>>458,459
さんきゅうです。FlashのAS単独では無理なんですね。



では、今から録画しておいたU-19の試合を見ます ノシ
461Now_loading...774KB:2006/11/13(月) 15:25:37 ID:HgGD0OBC
test
462Now_loading...774KB:2006/11/15(水) 22:47:05 ID:Sec2qlvK
on (release) {
getURL("/test.cgi","_blank","POST")
}
これでcgiに変数を送信してもGETとしてデータを送ってしまいます。
POSTで送信したいのですが、スプリクトもこの3行しか書いていなく
もはやどこをいぢれば良いのか分かりません
POSTで送信するにはどうすればよいのでしょうか
463Now_loading...774KB:2006/11/15(水) 22:54:30 ID:WkOyCcqY
>>462
LoadVarsクラス
464Now_loading...774KB:2006/11/15(水) 23:03:28 ID:Sec2qlvK
>>463
LoadVarsクラス用いたsendやsendAndLoadでやりとりしてもGETになってしまうのです
ちなみに今回はgetURLの使用を目的としています
465Now_loading...774KB:2006/11/15(水) 23:13:50 ID:WkOyCcqY
>>464
ヘルプによるとムービープレビューやswfからではなくブラウザ
(多分htmlにswf貼り付けたやつ)からやらないとGETになるらしい。
466Now_loading...774KB:2006/11/15(水) 23:21:04 ID:Sec2qlvK
>>465
ブラウザウィンドウでドキュメントをテストしてくださいそうでないと〜と書いてありましたね
ありがとうございます
467Now_loading...774KB:2006/11/16(木) 18:04:17 ID:/EB/HiwB
ムービークリップAをフレーム名CとBの時に非表示にするという記述はどうすれば良いですか?
468Now_loading...774KB:2006/11/16(木) 18:33:54 ID:cpTcQhaq
>>467
AS2.0まではラベル名の取得はできないから
何フレーム目かとか該当フレームに来たらフラグ立てるとかして
それを基準に表示非表示を切り替える。
469Now_loading...774KB:2006/11/16(木) 19:41:47 ID:wUmZpedd
今、ある計算の結果の数値を小数点以下の桁数を揃えて表示しようとしています。
とりあえず余計な桁を四捨五入した上で
省かれた末尾の0の数を調べて補うという愚直な方法ならできそうなのですが、
整数の場合は小数点も補わなきゃならないし、
足りない桁数を調べるのにif文を複数使う羽目になるし、
何より、後から表示桁数を変えようと思ったときに大変なのが目に見えています。
最終的に得られるものはもちろんStringでかまわないので、
もっとすっきりとした処理で桁を揃える方法はないでしょうか?
そういう関数か何かが見つかれば一発で話が済むんですが・・・
470Now_loading...774KB:2006/11/16(木) 20:08:18 ID:rOYyZjFh
>>469
>そういう関数か何かが見つかれば一発で話が済むんですが・・・
作ればいいじゃん
function mm(num, t) {
//tは小数点以下の桁数
var zerostr = new String();
for (var i = 0; i<t; i++) {
zerostr += "0";
}
var tmp = Math.round(num*Math.pow(10, t))/Math.pow(10, t);
var tmpstr = new String(tmp);
var tmparr = tmpstr.split(".");
tmparr[1] += zerostr.substr(tmparr[1].length, t);
tmpstr = tmparr.join(".");
return (tmpstr);
}
471Now_loading...774KB:2006/11/16(木) 20:13:37 ID:Rm3LT5x3
>>469
関数作ってしまえばいいんじゃないかな?
例えばこんな。

function t(n,f){
return String(n>>0) + "." + String((n*Math.pow(10,f))>>0).substr(-f,f)
}

trace(t(1,2))
trace(t(1.5,2))
trace(t(1.5,3))
472Now_loading...774KB:2006/11/16(木) 20:19:06 ID:rOYyZjFh
四捨五入じゃなくて切捨てだと>>471の方が短くてイイ!惚れた。
473Now_loading...774KB:2006/11/16(木) 20:25:31 ID:cyL5bBCA
ActionScriptで、サーバから画像(jpeg)とサウンドデータが結合されているファイルをhttp経由で取得して、
受け取ったデータの中から画像データと音楽データを切り出して、
それぞれ画像を表示、音楽を再生する
といったことって可能なのでしょうか?
バイナリデータのヘッダ部分を切り出したりとか。

WinXP, Flash 8 Pro、AS 2.0 で可能であれば mtasc での開発を考えてます。
474Now_loading...774KB:2006/11/16(木) 20:34:28 ID:wUmZpedd
最後の一行はそういう関数がもとからあるなら、という意味で書いたのですが、
勘違いを招いたようで、申し訳ありません。

>>470
一度配列にしてしまうという発想はありませんでした。
この方法はいろいろと応用できそうですね。
大変参考になりました。ありがとうございます。

>>471
あまりにスマートでびっくりしました。
四捨五入にするには、先に
n += 0.5/Math.pow(10,f);
を入れればいけそうですね。
助かりました。ありがとうございます。
475Now_loading...774KB:2006/11/16(木) 21:08:15 ID:zHpTOQwG
>>473
ASでバイナリは扱えない。
476Now_loading...774KB:2006/11/16(木) 21:30:07 ID:cyL5bBCA
AS 3.0 に ByteArrayクラス というのがあるので出来るのかと思ったのですが、、、
>>473 のような使い方はできない?
477Now_loading...774KB:2006/11/16(木) 21:56:35 ID:bdmgUuaQ
>>476
なんかさ、サーバサイドのPGとごちゃ混ぜにしてると思われるんだけど。
何をしようとしてるか解らんが。
478475:2006/11/16(木) 22:31:16 ID:zHpTOQwG
>>476
>WinXP, Flash 8 Pro、AS 2.0 で可能であれば
AS2.0の話じゃないの?3.0のことはわからない。
cgiとかで画像と音楽のアドレスを渡すんじゃだめなの?
479473:2006/11/16(木) 22:40:07 ID:cyL5bBCA
うーん、分かりづらくてすいません。

簡単に言うと、jpegファイル1枚と wavファイル1枚 を cat で結合して、
頭にwav部分の開始位置情報(4octetぐらい)を付けたファイル、とお考えいただければ問題ないです。

ASでそのファイルをhttp経由で受け取り、
頭4octetを数値として取り出して、5バイト目〜分割位置までをjpegとして取り出し、残りをwavとして取り出す。
で、jpeg をステージに置いて、同時にwavを再生する

って感じなのですが。
バイナリから必要なデータを切り出すといった処理自体は特に珍しくはないと思うのですが、確かにASでは今までバイナリ直接を扱えなかったのが、
AS 3.0から使えそうなクラスがあるみたいなので、利用できるかなと。
何か勘違いしてますかね?
480473:2006/11/16(木) 22:56:54 ID:cyL5bBCA
>>478

AS 2.0 で可能であれば嬉しいんですが、
3.0 じゃないと駄目であればそれ用の環境を用意するつもりです。

>cgiとかで画像と音楽のアドレスを渡すんじゃだめなの?

んー ちょっと今回の目的はバイナリデータをASで操作できるかという点を知りたいもので、、、
481Now_loading...774KB:2006/11/17(金) 02:19:46 ID:zxDovQ0P
OS:WinXP-ProでFlashMX2004(Player7) AS2.0

この環境で、テキストファイルの属性情報(プロパティ)の内、
テキスト作成時間を取得する方法がありましたらお教え下さい。
482Now_loading...774KB:2006/11/17(金) 06:58:21 ID:lIvGYf+6
>>479
この板にAS3扱える人間は数えるほどしかいないよ。
で、言ってることは半分可能。

まずバイナリデータを読みこむ、これは可能。URLStreamクラスとByteArrayはまさにそのために用意されてる。
だけど後半は無理。バイトデータからSoundやBitmapImageを直接生成する方法がないから。JPEGデコード自前で
やる!って気合が入ってるならJPEGに関しては話は別だけど、Soundにいたってはどうあがいても無理。

483473:2006/11/17(金) 12:18:25 ID:2UZJOvrQ
>>482

なるほど! まさにバイトデータからイメージのオブジェクト化の部分が問題かなと思ってたとこです。
BitmapData ってのがあるようですが、そうするとjpegではなくbitmapであれば読んだデータをsetPixelとかで直接再構築できますかね?
あるいは、切り出したjpeg、wavをローカルに書き出して、Image() とかで再取得すれば可能かなと、、、どうでしょう?
484Now_loading...774KB:2006/11/17(金) 14:32:19 ID:lIvGYf+6
>読んだデータをsetPixelとかで直接再構築できますかね?
BMPだろうがGIFだろうがJEPGだろうが自前でデコードできるなら可能。察しのとおりsetPixelメソッドがあるから。

>切り出したjpeg、wavをローカルに書き出して
この作業がFlashでは無理。これはFlashが悪いってわけではなく、FlashはWebアプリケーションのフロントエンド
を目指しているから、必要ないと切り捨てたというのが正しい。
もちろんこの作業をしてくれるCGIを作れば可能だけど、それじゃ意味ないんでしょ?よく分からないけど。
485473:2006/11/18(土) 01:18:56 ID:QPUl8mEg
>>484

うはーなるほど。的確な回答ありがとうございます。
その後も調べてみたんですが、やはり難しそうですね、、、
すげー助かりました。ありがとうございましたー!!
486Now_loading...774KB:2006/11/18(土) 10:42:57 ID:+Ue6i1GZ
配列要素を全て削除するメソッドor方法ってありますか?
487Now_loading...774KB:2006/11/18(土) 10:55:13 ID:+Ue6i1GZ
自己レス。こんな具合でできました。さらばw

test = new Array();
test = [2,2,22,22,222,2];
trace(test[2]);
test = new Array();
trace(test[2]);
488Now_loading...774KB:2006/11/18(土) 11:05:42 ID:oI0dejCg
>>487
はぁ?別の配列を新しく作ってるだけじゃん。
前の配列は参照されずに消滅しちゃってますけど?
489Now_loading...774KB:2006/11/18(土) 13:09:36 ID:kI0xrjRf
>>488
それをやりたかったんだろ。
490Now_loading...774KB:2006/11/18(土) 13:30:24 ID:S3NkdwIy
削除するならdeleteすればいいのに
491Now_loading...774KB:2006/11/18(土) 13:53:41 ID:psPn0pLZ
別に削除しなくたっていいよ。もう使わないんでしょ
492Now_loading...774KB:2006/11/18(土) 18:08:11 ID:XqHMP8qV
>>487
できてないし。正しくはこう。

var arr: Array = [ 0, 1, 2, 3 ];
arr.splice(0);

trace( arr.length ); // = 0

終わり。AS3だけどAS2にもspliceメソッドがあるのは確認したよ。
493Now_loading...774KB:2006/11/18(土) 18:37:10 ID:sWZmH9L0
AS1.0どころかflash5の時代からありますが。

>正しくはこう。

( ゚д゚)・・・・。

(つд⊂)ゴシゴシ

(;゚д゚)・・・・。

( ゚д゚ )
494Now_loading...774KB:2006/11/18(土) 18:51:41 ID:XqHMP8qV
>>493
??意味が取れないけどnew Array()するのが正しいの?
495Now_loading...774KB:2006/11/18(土) 23:57:15 ID:Tr8f2xJ+
>>492
が正しく思える俺
496Now_loading...774KB:2006/11/19(日) 06:14:51 ID:6J2wK7I/
>>493は脊髄レスということで処理しとくよ。ありがと>>495
497Now_loading...774KB:2006/11/19(日) 07:18:45 ID:i2ZxEfFx
>>492
>できてないし。

>>486-487
デバッカでブレイクポイントいくつかつけて確認。
少なくとも元の配列要素は表向き消えている。

つまり>>492はflashplayerのガーベッジコレクションが機能したか機能してないかわかったことになる
たしかタイミングはクライアント環境によるはずだったんだけど、できてないと断言できるのかすごいなぁ

もしよろしければ断言した理由を教えてもらえませんか?

ちなみにnew Arrayが間違いでArray.spliceが正しいとした理由もお願いします。
498Now_loading...774KB:2006/11/19(日) 07:59:47 ID:rQvw2Lup
>>497
>>487のやり方だとArrayクラス自体別のものを作ってしまってるので
元の配列クラスにアクセスできなくなる。
参照の概念を理解してないとみえる。
var a = b = [0, 1, 2, 3];
a = new Array();
a[0] = 4;
trace(b[0]);

>>492のやり方は連結リストだけが消滅してるので
アクセスが維持される。こっちが正しい。
まあ早いかは知らんけどな。
var a = b = [0, 1, 2, 3];
a.splice(0);
a[0] = 4;
trace(b[0]);

変数testに新たなnew Array()クラスの参照をいれて
しまったためにはじめに作ったArrayクラスにアクセスできなくなる。
誰からも参照されなくなったかわいそうな
Arrayクラスはガベージコレクトが回収してくれる。
499Now_loading...774KB:2006/11/19(日) 08:02:05 ID:6J2wK7I/
>>497
あまりにも挑発的すぎて反論するのマンドクセ('A`)

・Flash PlayerのGC実装がウンコ。自前でメモリ管理してる人すらいる(自分もしてる)
・配列をクリアするメソッドがわざわざ用意されているのにnewするのは無駄

この二点から察してくれ('A`)
500Now_loading...774KB:2006/11/19(日) 08:19:02 ID:6J2wK7I/
もうひとつ追記しとくと、Arrayが複数で参照されてるとき>>487は謎のバグに泣くことになる。

問題が起こる可能性がある解法はバッドノウハウと呼ばれる。
分かって使うならいいけど、そうじゃないなら使わないほうがいいし、つまりはここで紹介すべき方法じゃない。
501Now_loading...774KB:2006/11/19(日) 08:31:17 ID:ozZbpUMr
>自分もしてる
>配列をクリアするメソッド
>謎のバグ

察しておくよw
502Now_loading...774KB:2006/11/19(日) 13:48:30 ID:LHz/Pts9
GCが完璧なら487でも問題ないけど、安全策をとるなら断然492だろう
503Now_loading...774KB:2006/11/19(日) 14:27:28 ID:Vwvqp9dc
自分でメモリ管理するとか何なの?
504Now_loading...774KB:2006/11/19(日) 14:47:40 ID:HePVf9uV
脳内だろ。そっとしといてやれよ。
505Now_loading...774KB:2006/11/19(日) 15:39:58 ID:d+/GyZIb
こんにちは。最近FLASHの勉強を始めた者です。
actionscriptで行き詰まって質問しに来ました。
ステージ上に星マークを3つ並べて動かすアニメを作っていて、ボタンで制御するために
一旦動きを止めようと思って「_root.stop();」を書き込んだのですが、プレビューすると星が止まらず
動いてしまいます。これは何が原因なのでしょうか。どなたかご教授願います。
↓1フレーム目に書き込んだ内容
_root.stop();
function stars() {
this._x = (this._x+5)%550;
}
_root.star1.onEnterFrame = stars;
_root.star2.onEnterFrame = stars;
_root.star3.onEnterFrame = stars;
506Now_loading...774KB:2006/11/19(日) 16:18:42 ID:rQvw2Lup
>>505
アニメーションをとめたかったら
_root.star1.stop();
_root.star2.stop();
_root.star3.stop();

移動をとめたかったら
_root.star1.onEnterFrame = null;
_root.star2.onEnterFrame = null;
_root.star3.onEnterFrame = null;
イベントハンドラをnullで潰せ。
507Now_loading...774KB:2006/11/19(日) 16:53:16 ID:+uSJLDOE
>>503
オブジェクトプールを使ってる。使わなくなったオブジェクトはプールに回収する手法で、
オブジェクトが必要になったらプールから引っ張り出す。

自身でメモリ管理する方法としては一般的で、>>504には悪いけど私が考案した手法じゃないよ。
508Now_loading...774KB:2006/11/19(日) 17:27:25 ID:HePVf9uV
>>507
おいおいどこがメモリ管理なんだよw
509Now_loading...774KB:2006/11/19(日) 17:39:04 ID:+uSJLDOE
>>508
これがメモリ管理じゃなくて何がメモリ管理なのさw
いっとくけどASはObjectが最小単位だから、CやC++のような低レベルメモリ管理を想定
してるんだったらお門違いだよ。

これでもわからないって言うなら、あなたと自分のメモリ管理の定義が違うって、それだけだよ。
510Now_loading...774KB:2006/11/19(日) 17:46:40 ID:+uSJLDOE
まぁ定義なんてどうでもいいや。
ともかくFlashPlayerのGCを経由しないって点が肝要。
特にSpriteとか動的生成する場合、作って捨ててじゃもったいないからさ。
511Now_loading...774KB:2006/11/19(日) 17:53:11 ID:ozZbpUMr
あーそうなの。
反論するのマンドクセ('A`) wwwwwwwwwwwww
512Now_loading...774KB:2006/11/19(日) 19:29:58 ID:rQvw2Lup
>>510
つうか後ろで常にGCエンジンが動いてるのに
糞遅いASでわざわざ管理するほうが速度的に無駄じゃないか?
513Now_loading...774KB:2006/11/19(日) 20:18:57 ID:+uSJLDOE
>>512
ArrayにPush、Popするだけの手間だから負荷はそこまでかからないよ。
ただ面倒だから使う場所は限定的。(例えば大量のSpriteとか)

>速度的に無駄
自分の場合AS3だからそうは思わないのかも知れない。
ともかく、そういう手段も存在する、くらいに思っててくれたら幸い。
514Now_loading...774KB:2006/11/19(日) 20:25:17 ID:+uSJLDOE
それとGC走らせたくない理由は、高FPSのゲームだとGC中とまるってのがある。
FlashPlayerは世代別GCを積んでるみたいだから、そこまで神経質になる必要は
ないのかもしれないけど、

自分の場合Spriteみたいな大きいオブジェクトを作っては捨てしてたら
もったいないおばけが出るってのが大きな理由かもしれない。

まぁそれだけの話。
515Now_loading...774KB:2006/11/19(日) 20:36:55 ID:rQvw2Lup
>>513
AS1は超おっせーよ。
今使ってるAS3を1/10にしたくらい遅いと思ってくれ。
Arrayクラスのメソッドで連結リストを
はずしたものは結局GCが回収するだろ。
手動で消そうと思ったら1つ1つdeleteするしかないのでは?

>>514
GCは意図せずとも常に走ってるだろ。
自分で完璧に生成破棄しててもな。
むしろゲーム中にとまるのは、swfファイルにアセットで埋め込んだ
リソースの読み込み時。

ところでSpriteクラスってのは、
BitmapDataみたいにメモリ馬鹿食い
するものなのか。それなら納得だが?
516Now_loading...774KB:2006/11/19(日) 20:38:32 ID:ozZbpUMr
そういう何も作れない奴の脳内技術談義は
「技術交換スレ」という隔離スレでしてくれ
517Now_loading...774KB:2006/11/19(日) 21:07:21 ID:+uSJLDOE
えーとなんでそんな喧嘩腰なの?自分気弱いから勘弁してよ…

>はずしたものは結局GCが回収するだろ。
GCが回収しないようにリンクを保持するのがオブジェクトプールのポイント。
オブジェクトプールには、未使用のオブジェクトへのリンクがたまってると思ったらいいよ。
必要に応じてオブジェクトプールから引き出していく。

>GCは意図せずとも常に走ってるだろ。
えーと、GCは常に走ってないよ。
走るときはメモリが閾値を超えたとか、なんらかの要因でメモリが足りないとGCが判断したとき。
リファレンスカウンタ法以外のGCは、GC中には原理的に必ず止まる。

これがサーバーサイドならともかくクライアントサイドじゃGCは使えないって昔言われてた原因。
今は世代別GCである程度緩和されてる。

>メモリ馬鹿食い
普通重いものぶら下げたりするから、重いよ。先に読み込こんでおけるのもオブジェクトプールの
利点かな。
518Now_loading...774KB:2006/11/19(日) 21:18:50 ID:+uSJLDOE
この辺で終わりにするよ。以後レスしないことにする。
519Now_loading...774KB:2006/11/19(日) 21:28:23 ID:ozZbpUMr
最後まで元の配列の質問に関係無い俺様技術のご披露御苦労様
520Now_loading...774KB:2006/11/19(日) 22:44:26 ID:rQvw2Lup
>>519
お前もんもう(←ただしいけど変換できない)か?
ちゃんと配列に関係した話してるだろ?
521Now_loading...774KB:2006/11/19(日) 22:54:26 ID:ozZbpUMr
お前は連結リストでも解除してろよww
522Now_loading...774KB:2006/11/19(日) 23:07:46 ID:rQvw2Lup
521 :Now_loading...774KB:2006/11/19(日) 22:54:26 ID:ozZbpUMr
お前は連結リストでも解除してろよww
523Now_loading...774KB:2006/11/19(日) 23:31:55 ID:62qgztUj
>>520
マジで聞くけど「もんもう」ってなんのこと?
「がいしゅつ」的なことを言いたいんだろうけど正直わからん。
524Now_loading...774KB:2006/11/19(日) 23:34:40 ID:sxMCUVdo
文盲ってATOKなら変換できるぞ
525Now_loading...774KB:2006/11/19(日) 23:35:43 ID:535y0oga
            _, ._       
   んもー! ( ・ω・)    .  .
         ○={=}〇, ; .'´ `. ゙ ; `
          |:::::::::\,.'.;´," :´,´' . ゙ .` .
 .,,.,.,,,,.,,.,.,,,.,.,,,.,.,,,.,.,し,,.,.,`(.@)wwwwwwwwwwwww
526505:2006/11/19(日) 23:48:05 ID:rGJWqDfN
>>506
ご教授ありがとうございます!!
やってみたところ、移動を止める方法で止まりました。
・・・ですがアニメーションを止める方法で記入すると止まりませんでした。
そこでまた初歩的な質問で申し訳ないのですが、「移動を止める」「アニメーションを止める」
の違いってどういうことでしょうか。
527Now_loading...774KB:2006/11/19(日) 23:55:36 ID:ozZbpUMr
>>523
>>520の使ってる「文盲」は「文章の意味が読み取れない馬鹿」という意味。
「元の配列の話」を「配列の話」と読み違えるような文章読み取りスキルの低い
連結リスト馬鹿の事を指したい時等に使いたんだろう。
528523:2006/11/20(月) 00:23:01 ID:d2ctkOyy
>>527
なるほど。どうも。

>>526
onEnterFrameを使って動かしているものは
onEnterFrame=nullかdelete onEnterFrameで止めて、
フレームの再生はstop()で止めましょうってことだと思うよ
529505:2006/11/20(月) 00:27:58 ID:DUA4p3qF
>>528
なるほど...
頭ではわかった気になってもいざ実践になると難しいものですね。。
いろいろあがいてみます。
ありがとうございました!
530Now_loading...774KB:2006/11/20(月) 02:04:58 ID:jHyycJ4d
>>527
データ構造のアルゴリズム理解してから全レス100回読め。
531Now_loading...774KB:2006/11/20(月) 13:58:13 ID:BfEQBIa5
複数のMC(同じMCをステージ上でコピペしたもの)に、
それぞれに同じASを書きたいのですが、効率の良い方法はあるでしょうか?

今、ステージ上に同じMCのコピーが100個以上あり、全て同じASを書きたいのです。
しかし、これだと作業をしていくうちにASを書き換えたいと思ったら、
100個全てにコピペのしなおしで手間がかかります。

例えば、「ドラッグして複数のMCを選択してASを書くと、
全てにそのASが書き込まれる(この方法はできませんでした)」
といったような、複数のMCのASを一括操作する方法はあるでしょうか?


自分で考えてみたのは、
今ステージ上に配置したMCにASを書き込んだ状態のものを、
さらにMCにすれば、一括管理できそうだということなのですが、
インスタンス名をまた全部書き直しなので他の方法があれば知りたいところです。
よろしくお願いします。
532Now_loading...774KB:2006/11/20(月) 14:17:04 ID:WaUuyfsz
>>531
ほしい数だけ、attachMovieすりゃいいじゃん。
533Now_loading...774KB:2006/11/20(月) 15:03:45 ID:BfEQBIa5
>>532
すいません、attachMovieというのを知らなかったのでググッてみたのですが、
いまいち、今の状況にどう利用するのかがわかりません。


>ほしい数だけ、attachMovieする

というのは、>>531で自分が書いた、

>今ステージ上に配置したMCにASを書き込んだ状態のものを、
>さらにMCにすれば、一括管理できそうだということなのですが、
>インスタンス名をまた全部書き直しなので他の方法があれば知りたいところです。

という部分に対してのことでしょうか?


上で質問したような、
既に配置されている複数のMCのスクリプトを一括して変更するような方法のことではないですよね?
例えば、複数のMCを拡大縮小させたいときは、
複数のMCを選択した状態で拡大縮小ツールを使えば一括して変更できますよね。
ああいう感じで、スクリプトもできないかな?と思っているのですが。
534Now_loading...774KB:2006/11/20(月) 15:13:19 ID:LZlmGW5w
>>533
シンボルのなかに書けば?
535Now_loading...774KB:2006/11/20(月) 15:22:14 ID:WaUuyfsz
>>533
まず、attachMovieでヘルプを検索する。それでも解らないなら再度質問してくれ。

ま、シンボルにMCつくってそれを動的にattachするだけなんだけど。
536Now_loading...774KB:2006/11/20(月) 15:23:27 ID:c4JN4olb
>>533
だから、ひとつMCを作るって、(これがオリジナル)
それを100回attachMovieすればいいんだって。

もちろん、実行してはじめてMCが表示される。

こういうことができないっていうなら、
構成しなおしたほうがいい。
537Now_loading...774KB:2006/11/20(月) 16:24:34 ID:BfEQBIa5
>>534-536
多分こちらの聞き方が分かりにくいのだろうと思いますが、
例えば、
ステージに、同じシンボルのMCからつくられた丸が10個あったとして、
それぞれに「クリックで自分のalphaが50になる」というスクリプトが書いてあるとします。
ここで、「やっぱりalphaは50じゃなくて25にしたい」と思ったら、
全てのスクリプトを一つ一つ直す必要がありますよね?

それを一括して直せるような方法があればいいな。と思っていたのです。
(もともとシンボルの中に書いたものを配置すればよかったのですが、
やり直さなくても上手い方法は何かないかな?と。)

ヘルプも読んでattachMovieのことは少し理解したのですが、
100回attachMovieをした場合、
その複製されたMCにはASが書き込まれている状態にできるのか?というのがいまいち分からないのと、
今つくっているものの場合、MCの配置が規則的でもなくランダムでもないアナログ的な配置なので、
100個全ての場所を一つ一つ書かなければならないと思うので、ちょっと合わないかなと思っています。


>>536さんも言っていますが、>>534さんの言うようにシンボルの中に書いたものでもう一度構成しなおすのが良いようです。
みなさんありがとうございました、わかりにくくてすみません。
538Now_loading...774KB:2006/11/20(月) 17:27:30 ID:E7T1KFPh
>>537
> それぞれに「クリックで自分のalphaが50になる」というスクリプトが書いてあるとします。

残念ながらこの方法が最大のミスだと思う。
シンボルに書くか
ASでわりあてるか
クラスを作っちゃうか
にすれば今回のような問題はおきない。
今後のためにも、クリップアクションは使わない方向で作るように、変えた方がいいと思う。

そして構成しなおすも何も、今シンボル編集画面でAS書けば、配置済みインスタンスMCには
そのASが反映されるよ?
またフレームアクションでMCにfunctionを定義することもできる。
その場合はforループで一括定義するので、ひとつひとつにASを書く必要はない。
どこまで理解してるかわからんので蛇足だったら失礼。
539Now_loading...774KB:2006/11/20(月) 18:01:37 ID:c4JN4olb
これはクラス使ったほうがよさげな感じしてきた。
>アナログ的な配置
ってことは絵は違うんだろ。
それでASだけは一緒にする必要がある、と。

ヘルプでクラスのとこ探して、一通りやってみたら
閃くんじゃないかな。
540Now_loading...774KB:2006/11/20(月) 19:11:02 ID:BfEQBIa5
>>538-539
わざわざありがとうございます。

ずっと「同じAS」と言っていたんですが、
完全に同じではなく、MC01の場合は「MC01point=1」とかいうように、
微妙に違うとうのも書くのを忘れていました。
なので、単純にシンボル編集画面にAS書いて一括変換というのもできません。

>>539
>>アナログ的な配置
>ってことは絵は違うんだろ。
これも説明が分かりにくくてすみませんが、絵は同じです。
100個のMCの配置の仕方が規則的なら、配置の仕方もプログラムでかけると思うのですが、
規則的ではないので、プログラムで配置するとしたら1つ1つの座標を打たないと配置できないということです。


皆さんの言っているように、ステージ上に
MC.onPress = function(){〜〜〜}
でやるといけそうなのですが、そこで新たな質問です。

練習用につくってみたもので、
ステージ上にインスタンス名が「maru1」「maru2」の二つのMCがあります。
で、ステージのほうに

this["_root"]["maru" + i ].onPress = function(){
 this["_root"]["maru" + i ]._alpha=50;
}

と書きました。この状態でステージに「i=1;」と書けば「maru1」を、2ならmaru2を変化させることができましたが、
iを片方しか指定していないので、当然常に片方しか反応しません。
このiをいじって、maru1,maru2両方反応するようにはできないでしょうか?
これができればMCが100個に増えても一括して操作できると思ったのですが。
541Now_loading...774KB:2006/11/20(月) 19:37:14 ID:YkIurMgG
for(var i = 1;i<=2;i++) _root["maru"+i ].onPress = function() {this._alpha=50;};
542Now_loading...774KB:2006/11/20(月) 19:46:04 ID:Z3WwcmtI
フォーは流行語大賞にもなったしな
543Now_loading...774KB:2006/11/20(月) 21:09:08 ID:BfEQBIa5
>>541
すみません、またしても説明不足だったんですが、

this["_root"]["maru" + i ].onPress = function(){
 this["_root"]["maru" + i ]._alpha=50;
}

というのは、onPress=functionのときに使ったiを、
中の処理で別の関数の名前を使うときにも使いたいということでした。
(確かにこれならthis使えばいいので悪い例ですみません)


this["_root"]["maru" + i ].onPress = function(){
this["_root"]["maru" + i ]._alpha=50;
this["_root"]["kansu"+ i ]=1;
}
のように。iを中でも使いたいのです。

for(var i = 1;i<=2;i++)
をやると、i=3の固定になってしまいますよね?
maru1をクリックしたとき、maru1を変化させると共にkansu1も変化、
maru2ならkansu2を変化、maru3ならkansu3を、というようにしたいのですがどうにかならないでしょうか。

自分ばっかり質問しっぱなしで悪いなぁ。
544Now_loading...774KB:2006/11/20(月) 22:05:03 ID:YkIurMgG
>>543

for(var i=0;i<3;i++){
_root["maru"+i].onPress = (function (x) {
return function () {
this._alpha = 50;
_root["kansu"+x] = 1;
}
})(i);
}
545Now_loading...774KB:2006/11/20(月) 23:29:48 ID:BfEQBIa5
>>544
何度もありがとうございます。
今そのまま貼り付けたところalphaが変わらないので、
自分でつけたインスタンス名などチェックしています。
あとreturun functionというのも初耳なので調べてます。

やり方があるということは分かったのでかなりやる気もでてきました。
546Now_loading...774KB:2006/11/20(月) 23:51:13 ID:WaUuyfsz
>>545
やりたいことがいまいち見えないので適切なコメントが出来ない。
たとえば、葉っぱの絵をクリックするとアルファが変わるようにしたいとか云々。。
具体的にどういった動きをするものを作りたいのかを言ってくれれば、
適切なコーディング方法やプログラムの方針をアドバイスできると思う。
547Now_loading...774KB:2006/11/21(火) 00:01:14 ID:BfEQBIa5
>>546
すいません、できかけのファイルをアップできると良いんですが、
大学のほうでつくっているものなのでちょっとできなくて、仮の話になってしまってます。

/*SP01の判定が無し(1)のときにはロールオーバーとロールアウト反応がある*/
cosmo12.nostar001.onRollOver = function();{
 if(_root.nostar001SP==0){ this.gotoAndPlay("rollOverframe");/*ロールオーバーフレームへ*/
}
cosmo12.nostar001.onRollOut = function();{
if(_root.nostar001SP==0){/*もし判定前なら・・・*/
this.gotoAndStop("normal");/*ロールアウトで元の1フレに*/
}else if(_root.nostar001SP==1){/*もし×判定後なら・・・*/
this.gotoAndStop("no");/*ロールアウト後もnoフレームへ*/
}
}

/*nostarが押されたときに、判定無し(0)に変化させる。ロールオーバー・アウトはしなくなる*/
cosmo12.nostar001.onPress = function(){
cosmo12.nostar001.gotoAndStop("no");/*クリックされたらnoフレームへ*/
_root.nostar001SP=1;/*クリックされた後の状態*/
_root.cosmo12.nostar001.enabled = false;/*判定をなくす*/
}
548Now_loading...774KB:2006/11/21(火) 00:10:22 ID:ZtisaSQU
すいません、送信ミスして途中で送っちゃいました。

上に書いたのが今あるスクリプトなんですが、
やりたいことは、
・ステージ上に多数(100個以上)のMCがある
・「当たり」のMCが数個、残りの全てが「はずれ」のMC(当たりとはずれ2種類のシンボルをそれぞれコピー)

で、上に書いたのは「はずれ」のMCの処理です。

クリックされるまではrollOver,rollOutの処理があって、
クリックされると「はずれ」の状態になって、以降クリックできなくなります。
>>543で関数が必要といったのは、ここの処理のためです。
(クリックされると関数が変わって、クリックできなくなる)

で、このはずれの処理を1つ1つに対して書いていると、もの凄い量になってしまうので、
名前に数字をつけて連番にして、うまくまとめられないかと思っているんです。
549Now_loading...774KB:2006/11/21(火) 00:29:42 ID:ZtisaSQU
補足というほどでもないですが、
>>547であるように、クリックした後のMCの動きは、
MC内に用意されたそれ用のフレームに移動します。
550Now_loading...774KB:2006/11/21(火) 01:07:17 ID:zSdX+crB
大学生とは思えない質問の下手さ
文章理解力のなさ
応用力のなさ
551Now_loading...774KB:2006/11/21(火) 01:18:40 ID:ZtisaSQU
普段Flashはアニメーションで使っていて、
ASのことはほとんど分かってないので見当違いのことばかり聞いているんでしょうか。

1日このスレ占領してそろそろ邪魔だと思うので、教えてもらったものを調べてやってみます。
みなさんありがとうございました。
552Now_loading...774KB:2006/11/21(火) 01:24:34 ID:Bh0iESao
確かに質問の仕方がデスマ案件発注する担当者に似てるからちょっと腹がたつ。
説明不足が原因で次から次へと仕様変更・・・
553Now_loading...774KB:2006/11/21(火) 01:36:46 ID:VUtKrNkq
>>551
ttp://23rd-moon.ddo.jp/web/water/fu/uploader/upload.html
fu0013.fla

やりたいこととは違うかもしれないが、複数のMCに一括(AS)で
Releaseイベントを割り当てる方法がわかると思う。
>>543で言っている i の値を保持しておきたいってのも(多分こういう意味?)書いといた。
trace()使ってるのでムービープレビューで。

MCが規則的に並ぶのであればattachMovieも使えばいい。
554Now_loading...774KB:2006/11/21(火) 02:18:20 ID:ZtisaSQU
>>553
まさにこういうことをやりたかったです。
わざわざつくってくれて本当にありがとうございます。なんか涙出そうです。
これを使ってなんとかつくってみます。

>>552
自分でも答えてもらう度に新しいこと聞いて申し訳なく思っていました。
プログラムを聞くときって、「これを聞けば応用して出来るだろう」ということを聞くのではなく、
ちょっと説明が長くなっても、やりたいことそのものを聞くのがいいんですね。
勉強になりました&すみませんでした。
555Now_loading...774KB:2006/11/21(火) 03:13:23 ID:6+SE+XXk
mc_aをドラッグで時計方向にのみ回転させて30度ごとに音を鳴らし1周するとmc_bが起動

っていうのはどうやるとできるでしょう
556Now_loading...774KB:2006/11/21(火) 03:41:38 ID:1qtbsq2n
thePath =eval( "_root.theArray"+_root.theNum+"["+this._name+"]");

こんな感じで動的に配列にアクセスしたいのですが、帰ってくるのは
undefined…。どうやったら良いか教えてください。お願い致します。
557Now_loading...774KB:2006/11/21(火) 03:56:21 ID:meIaFfZP
>>556
thePath =eval( "_root.theArray"+_root.theNum)[this._name];

evalはAS3でなくなるから、別の方法も覚えとくといいよっ。
_root["theArray"+_root.theNum][this._name];

e.g. :
var arr1:Array = [1,2,3,4];
var arr2:Array = [5,6,7,8];
var num:Number = 1;

trace(this["arr"+num][0]);
558556:2006/11/21(火) 16:07:05 ID:vZBKxEUO
>557

ありがとうございました!無事アクセスできました^^
559Now_loading...774KB:2006/11/22(水) 00:40:47 ID:TbsBngtY
読み込んだFLASHをリロードするにはどうすれば良いですか?
560Now_loading...774KB:2006/11/22(水) 01:27:46 ID:AWUP3Ui6
>>559
もう一度読み込む。
561Now_loading...774KB:2006/11/22(水) 01:39:54 ID:3h03fRgN
>>559
Flashから自分のHTMLを呼ぶ
562Now_loading...774KB:2006/11/22(水) 15:04:49 ID:GW/LNt4o
環境 FLASH8

アクションスクリプトで、変数名をループで回してやりたいんですが、
以下の文で何が間違っているでしょうか?

for (i = 0; i < 100; i++){
   this["NEW"+i] = this["OLD"+i];
}
563Now_loading...774KB:2006/11/22(水) 15:09:38 ID:nVbQKOj7
>>562
>何が間違っているでしょうか?
って、何をやりたいの?
564Now_loading...774KB:2006/11/22(水) 15:12:10 ID:GW/LNt4o
>>563
変数名をループで回したいんですよ。

NEW1 = OLD1
NEW2 = OLD2
NEW3 = OLD3

・・・・・・

てな感じです
565Now_loading...774KB:2006/11/22(水) 16:04:10 ID:x+K5Kcqs
>>564
とりあえず、
i = 0 から始めるのではなく、
i = 1 から。
566562:2006/11/22(水) 16:34:57 ID:GW/LNt4o
別の方法で解決しました。
お騒がせしました。
567Now_loading...774KB:2006/11/23(木) 07:29:55 ID:eSBNI254
duplicateMovieClipで複数個MCを複製したのはいいのですが、
同時にランダムでアルファ値を設定する記述がわからないです
568Now_loading...774KB:2006/11/23(木) 07:52:06 ID:q+gbTBPk
>>567
dup._alpha = Math.floor(Math.random()*101);
とか。範囲を限定したいときは、
dup._alpha = Math.floor(Math.random()*51)+50;
みたくする。
569Now_loading...774KB:2006/11/23(木) 08:41:15 ID:eSBNI254
>>568
ありがとうございます、やってみました

x = 1;
for (i=1; i<=5; i++) {
_root.test0.duplicateMovieClip("chara0"+x, x);
dup._alpha = Math.floor(Math.random()*101);
_root["chara0"+x]._x = 50+i*50;
x++;
}

こうした場合、複製した全てが同じアルファ値になってしまいます
どれもバラバラの値にしたいのです
570Now_loading...774KB:2006/11/23(木) 08:50:09 ID:q+gbTBPk
dup = _root.test0.duplicateMovieClip("chara0"+x, x);
571Now_loading...774KB:2006/11/24(金) 06:40:54 ID:J6/BhQKW
マウスストーカーを作りたいのですが
散らばるようなものはどうしたらいいんでしょうか?
どういう計算をしたらいいか教えてください

ttp://blog25.fc2.com/0/010101/file/clock030.swf
ここのフラッシュのようなのが作りたいです
星部分はひとつの画像をASで拡大縮小回転させているんでしょうか?
572Now_loading...774KB:2006/11/24(金) 15:36:28 ID:XlIvmZGu
>>571
マウスの位置チェックして、一回前の座標と違ったら、
一回前の座標から、今の座標を引いて、
それになんか定数を掛けて、それを速度にする。
星とかのインスタンス作って、その速度を足していけばいいと
思うよ。
星のMCはちゃんと作らなくても、後からいくらでも修正できるはず。
573Now_loading...774KB:2006/11/24(金) 17:08:15 ID:agi+szc2
UFOキャッチャーのようにボタンを押してる間だけ対象を移動させるのってどう記述しますか?
574Now_loading...774KB:2006/11/24(金) 17:24:16 ID:GsCm2+Rr
>>573
this.onPress = function(){this.onEnterFrame = function(){subject._x++};};
this.onRelease = function(){this.onEnterFrame = null};
575Now_loading...774KB:2006/11/24(金) 17:26:00 ID:h4ATsGKN
ボタンをヲチして押されたら対象を動かす関数を書く。
576Now_loading...774KB:2006/11/24(金) 17:35:34 ID:agi+szc2
>>574
ありがとうございます!
577Now_loading...774KB:2006/11/24(金) 22:10:25 ID:nNMknIf9
かなり初歩的な質問ですがどなたかお知恵を貸して下さい。
あるボタンに
on (release, keyPress "5") {
gotoAndStop(2);
}
と記述したのですが、Keypressの"5"を変数にしたいのです。

r=5
on (release, keyPress r) {
gotoAndStop(2);
}

って書いたら怒られますよね。"r"にしても、無効なキーコードだと言われますし…。
どう記述すればよいのでしょうか。Keypressの指定先を変数にできませんか。

578Now_loading...774KB:2006/11/24(金) 22:35:32 ID:GsCm2+Rr
>>577
キーリスナーを使う
Flash古いなら知らん
579Now_loading...774KB:2006/11/25(土) 01:31:31 ID:tUUiY+wP
>>577
"5"で動いてるなら、
r="5";
だろうとは思うが、お勧めはしない。>>578の言うようにリスナー使う。
文字と数値の違いは基本的なことだからしっかり覚えておく。
580Now_loading...774KB:2006/11/25(土) 19:10:20 ID:v7iPAcNl
環境:WinXP-ProでFlashMX2004

attachSound()でアタッチされたwavファイルをボタンのon (release)後、
一定時間(5秒)毎にsetIntervalの関数呼び出しで再生させるASを書
いています。

−フレームアクション−
s1_sound = new Sound();
s1_sound.attachSound("borginco.wav");
timer = 5*1000;//5秒設定
function borgAlart() {
trace("Play");
trace("this Path= "+this);//パス確認用
_root.s1_sound.start(); //サウンドを再生する
_root.s1_sound.setVolume(50);
}

−ボタンアクション−
on (release) {
clearInterval(ID);//一旦クリアする
ID = setInterval(borgAlart, timer);
}

この場合、Traceウインドウには Play が5秒間隔で出ますが、音が
鳴りません。パスの間違いがあると思いましたが、this Path= の右辺
は何も無いため、実際の確認はできません。

アドバス願います。
581Now_loading...774KB:2006/11/25(土) 19:37:50 ID:f9oypFNK
>>580
s1_sound = new Sound();

_root.s1_sound.start();

とでターゲットが違うかもしれないので確認汁。

それと
s1_sound.attachSound("borginco.wav");

なんか拡張子がついてるけど、
外部読み込みと勘違いしてないよな?
いや、それは全くの的外れかもしれませんが、可能性として指摘させていただきました。
レスの文章だけしか情報がない精神科Q&Aの、これは限界とお考えください。

582580:2006/11/25(土) 22:20:05 ID:v7iPAcNl
>>>581
さんきゅうです。パスの確認のため、
function borgAlart() {
trace("Play");
trace("this Path= "+this);
trace("sound Path1= "+_root.s1_sound);
trace("sound Path2= "+this.s1_sound);
}

では、
Play
this Path=
sound Path1= [object Object]
sound Path2=

となり、borgAlart()関数からはs1_soundの場所が分からない状態です。


それと、s1_sound.attachSound("borginco.wav"); の拡張子wavは
私の環境では必要なようです。
583Now_loading...774KB:2006/11/25(土) 22:43:33 ID:MguQ5tmm
Flex SDK 2で

var str:String = "さいたさいた桜がさいた";
trace(str.indexOf("桜"), "String.indexOfの場合");

var reg:RegExp = /桜/;
var result:* = reg.exec(str);
trace(result.index, "RegExp execの戻り値のindexの場合");

どっちも「桜」の位置を検索しているのに、結果が違うのは仕様なんでしょうか?
execの方は文字数じゃなくてバイト数で返ってくるの?
584Now_loading...774KB:2006/11/25(土) 23:13:15 ID:f9oypFNK
>>582
trace(_root.s1_sound)
でオブジェクトが返ってるのでここは問題なさそう。


>それと、s1_sound.attachSound("borginco.wav"); の拡張子wavは
>私の環境では必要なようです。

ん?私の環境?
ちゃんと識別子を付けてないのでは?

585Now_loading...774KB:2006/11/26(日) 00:54:05 ID:4tNm0Ibm
コード的な質問じゃないんですが、
ActionScript3.0で三次元ライブラリってどこかにないでしょうか?
自作もしているのですが、空間操作が面倒で…。
586Now_loading...774KB:2006/11/26(日) 10:51:09 ID:rO/xitQd
時間の経過とともに、1個ずつランダム位置に配置される
オブジェクト(X)をシーンに10個出現させます。
(最終的に画面に10個表示されている。)

つまりランダム処理を行う同じオブジェクトを10回べば済むと思うんですが、
その場合どういった記述にすればいいのでしょうか?

単純に
X1、X2、X3・・・・と回数分インスタンス化させればできるのですが
何かスマートじゃありません。

また、回数分一つのインスタンスを呼ぶと呼ばれる度に初期化(?)され、
1個しか表示されません。

解決法お願いします。
587Now_loading...774KB:2006/11/26(日) 11:06:38 ID:wUcPWSZO
>>586
1)attachMovieでインスタンスを作成して初期値をランダムに設定する。
2)setIntervalで指定時間ごとに上記を呼んで10個を超えたら呼ぶのを停止する。
これらができれば出来ると思うが、どの部分がわからんか?
588586:2006/11/26(日) 11:31:49 ID:rO/xitQd
>>587
>1)attachMovieでインスタンスを作成して初期値をランダムに設定する。
まさにこれが望んでいた答えです。
ありがとうございます。
589580, 582:2006/11/27(月) 01:24:48 ID:WoZS2r2J
自己解決しました。
問題は、function borgAlart() {・・・} の s1_sound のパスの設定では
なく、s1_soundのボリューム変数の受け渡し方でした。
590Now_loading...774KB:2006/11/27(月) 03:36:16 ID:03sL5xAU
どうも完成品が重くなる
部分的にじゃなく、全体の数値を整数にするような方法ないかな
整数じゃなくても、計算が軽くなる方法あったら教えてちょ
591Now_loading...774KB:2006/11/27(月) 08:24:54 ID:MKKZl/6n
>>590
おまえ、誰だよw
592Now_loading...774KB:2006/11/27(月) 11:31:32 ID:uGswoTLO
>>590
無駄を省け。
ステージのサイズ、アルファの多用。
ムービープレビューで見たときのあの棒グラフを参考にするんだ!!
593Now_loading...774KB:2006/11/27(月) 15:16:38 ID:k4/Gxdpm
スポイトでパレットから色を取得するみたいにMCの色を変更したいのですが命令はどうすれば良いでしょうか?
594Now_loading...774KB:2006/11/27(月) 16:25:14 ID:03sL5xAU
>>592
棒グラフってなに・・・?
スマソ、マジでわからん
595Now_loading...774KB:2006/11/27(月) 16:49:21 ID:1mFL5lN2
スクリプトが重いのかグラフィックが重いのかはっきりすべし
>>593
getPixel
596Now_loading...774KB:2006/11/27(月) 17:01:36 ID:uTi7PD1B
>>594
ムービープレビューした状態で、メニューから
表示→プロファイラ
を選択してみてー
597Now_loading...774KB:2006/11/27(月) 23:05:27 ID:JKeXt1/j
↓雪が降るスクリプトです。マウスに反応して雪のインスタンスが動きます
これをマウスに反応させずにただ雪を降らせるだけにしたいんです
ご教授お願いします

width = 550;
height = 400;
total = 200;
for (var t = 0; t != total; t++) {
var mc = _root.attachMovie("snowflake", "snowflake"+t, _root.getNextHighestDepth());
mc._x = (Math.random()*(width+20))-10;
mc._y = (Math.random()*(height+20))-10;
mc.yspeed = (Math.random()*1.75)+0.25;
mc.speed = (Math.random()*3)+2;
mc._xscale = mc._yscale=(mc.speed+mc.yspeed)*10;
mc.onEnterFrame = function() {
var angle = Math.atan2(_root._xmouse-(width/2), _root._ymouse)+1.5707963267949;
this._y += Math.sin(angle)*this.speed+this.yspeed;
this._x += Math.cos(angle)*this.speed;
if (this._x>width+10) {
this._x = -10;
} else if (this._x<0-10) {
this._x = width+10;
}
if (this._y>height+10) {
this._y = -10;
} else if (this._y<0-10) {
this._y = height+10;
}
};
}
598Now_loading...774KB:2006/11/27(月) 23:34:04 ID:03sL5xAU
>>596
でけた!なんか使えそう、さんくすこ!
599Now_loading...774KB:2006/11/28(火) 01:05:05 ID:8VupKE9P
winXP 2004MX
ストップウォッチのAsを勉強しています。
1フレーム目にthis.stop(); とstartのボタンインスタンス
2フレーム目に
time = getTimer();
text = Math.floor(time/1000/60)+":";
// 分
if (Math.floor(time/1000%60)<10) {
text += "0";
}
text += Math.floor(time/1000%60)+":";
// 秒
if (Math.floor(time%1000)<100) {
hyouji += "0";
}
if (Math.floor(time%1000)<10) {
text += "0";
}
text += time%1000;
// ミリ秒
と書いて、3フレーム目にstopボタンを置いています。
スタートストップは動作させることが出来たのですが
スタート時に0から始める方法で悩んでいます。
初歩的な質問ですいませんがお教え頂けると幸いです。
600Now_loading...774KB:2006/11/28(火) 01:54:52 ID:h8Kgw5fA
>>597
自分でやる気ないだろ(`‐ω‐´)ムー
>var angle = Math.atan2(_root._xmouse-(width/2), _root._ymouse)+1.5707963267949;
を var angle = 2.41; に。

>>559
getTimer()はFlashが起動(表示)されてからの経過時間の取得だから
stopを押したときのgetTimer()を取得して、それを引いてやる。
(フレームを使ってないけど)そこら辺はコンナ感じ。
ttp://23rd-moon.ddo.jp/web/water/fu/uploader/upload.html
fu0014.fla
601599:2006/11/28(火) 02:05:07 ID:8VupKE9P
>>600
DLさせて頂きました
勉強させて頂きます
ありがとうございます!
602597:2006/11/28(火) 09:13:38 ID:9c+56/2e
>>600
ありがとうございました^^
603Now_loading...774KB:2006/11/29(水) 00:26:10 ID:sgTKnvVz
初心者なので恐縮なんですが、
フラッシュから指令を出してブラウザを閉じるようにしたいんですが、
ボタンに

on (release) {getURL("JavaScript:close=window.close();void(0);");}

と記述したところ、テスト用に作った簡単なファイルでは上手く閉じたのですが、
本番用のちょっと重いファイルでは何故か閉じません。
インスタンスをコピペで持ってきたので同じはずなんですが。。。

同じスクリプトなのにどうして出来るのと出来ないのがあるんでしょうか?
また、もっと確実な記述の仕方とかありますか?
教えて頂けると嬉しいです!
604Now_loading...774KB:2006/11/29(水) 01:39:02 ID:TRLDNgqQ
>>603
同じスクリプトは同じ動きをします。違ったら大事です。
プログラムが違うから、つまりコーディングが違うから、異なった動きをするのでしょう。
本番用のプログラムでのコーディングが悪いからとしか言えないよ。
605Now_loading...774KB:2006/11/29(水) 12:54:16 ID:Is3ds3Wi
Flash 8 の v2 コンポーネントなんですが、よくあるチュートリアル通り
に DataSet と DataGrid の selectedIndex を bind したところ
DataGrid の選択行に色が付かない現象が出ます。
bind する際の値を調べてみたところ、
DataGrid → DataSet … OK
DataSet → DataGrid … undefined になる模様
バグかな…と思うんですが同様の経験をされた方おられますかね。
606603:2006/11/29(水) 23:51:04 ID:sgTKnvVz
>>604
ありがとうございます。
テスト用が上手くいったということは
スクリプトの記述自体は正しいということですよね。

本番用はどこかのスクリプトがひっかかって上手く働かないというところなんでしょうか。
でも閉じる用のボタンインスタンスは独立したもので上記の記述しかしてないし、
他のアクションもgotoAndPlay();ぐらいしか使ってないんだけどなあ。。。
607Now_loading...774KB:2006/11/30(木) 00:02:36 ID:0FpeJdoj
少しすれ違いのような気もしますが、質問させてください。

秀和システムのAcitonScript逆引き大全を買おうと思ったのですが
どこにも置いてないんですよね・・・ネット見ても取り扱い不可になってるし orz
近々新しいのでも出るのでしょうか?
608Now_loading...774KB:2006/11/30(木) 04:18:03 ID:zohtO+gF
秀和システムに問い合わせたらいいじゃない
609Now_loading...774KB:2006/11/30(木) 21:55:46 ID:j/6ZoxPA
これ?

Flash ActionScript逆引き大全550の極意 (単行本)
単行本: 590ページ
出版社: 秀和システム; 増補改訂版版 (2005/04)
ASIN: 4798010502
サイズ (cm): 21 x 15

AmazonでISBN検索したら古本でいくつかあったよ
和書で「4798010502」を検索してみ
610Now_loading...774KB:2006/11/30(木) 21:57:31 ID:j/6ZoxPA
価格見て違和感覚えたから詳細見たけど、1000円くらいのプレミア付いてるんだね
売らないで持ってて良かった
611Now_loading...774KB:2006/12/01(金) 14:09:34 ID:c6wZ1mC6
attachMovieで「image」とインスタンス名をつけてrootに配置したものを、

_root.image.onPress = function(){
・・・・・
}

と、rootのフレームにスクリプトを書いても上手くいきません。
パスの指定が間違っているのでしょうか?
あるいはattachMovieで配置したものにonPressなどの命令は使えないのでしょうか?
もしわかる方がいらっしゃいましたらご教授よろしくお願いします。

flashは2004MXで、WindowsXPです。
612Now_loading...774KB:2006/12/01(金) 14:23:56 ID:xpK+9NlS
>>611
考えられる原因
リンケージ名が間違ってる
インスタンス名が間違ってる(attach時に、文字列で指定してない)(つまり、_root.attachMovie("image","image",1);とすべきところを_root.attachMovie("image",image,1);と呼んでる。
パスが間違ってる(本当に_rootにattachしたのか)
上手くいかない、というのはonPressが呼ばれてるのか呼ばれてないのか(traceで確認する)

>パスの指定が間違っているのでしょうか?
自分で確認しろ

>attachMovieで配置したものにonPressなどの命令は使えないのでしょうか?
使える

推奨デバック
kakunin=_root.attach〜、というふうにattach時の返り値を変数に代入してそれを
trace(kakunin);確認してみる

_root.image.onPress=function(){
trace("onPress");
}
とかもしてみる

とにかく、どこでつまづいてるのかを明確にする
613611:2006/12/01(金) 15:02:36 ID:c6wZ1mC6
>>612
ありがとうございます。

ご指摘されたリンケージ名とインスタンス名についてですが、とくに間違っておらず、
またデバッグしてみたところ、_level0.imageとなっており、ちゃんとrootに配置されているようなのです。

その上で、
_root.image.onPress = function(){
trace("onPress");
}
としても反応しないという次第なのです。

そもそもこのスクリプトが何をしようとしているかと言いますと、
まずloadMovieで画像をあるムービークリップ(orijinalimage)に読み込み、
そのムービークリップをリンケージ名(imagemc)をつけた別のムービークリップに配置し、
その上で、そのムービークリップをattachMovieしているのです。
以下がスクリプトです。

newImage = _root.attachMovie("imagemc", "image"+i, 100+i);
newImage.orijinalimage.loadMovie(imgurl[i]);

ムービークリップを入れ子構造にしていることが問題なのでしょうか?
もし何かありましたらご指摘よろしくお願いします。
614Now_loading...774KB:2006/12/01(金) 17:12:01 ID:SDM+TGnq
すみません、質問させて下さい。
外部jpgとテキストを読み込ませ、
テキストに<a href="" target="_blank">で記述し、
該当箇所をクリックすると別窓で別のページを開くものを作りたいのですが、、
ポインタは変わるのにページが開かない状態です
(右クリックすると「開く」などの選択はできます)
お分かりになりましたら、教えて頂けるとても助かります。

onClipEvent (load) {
_parent.createEmptyMovieClip("target_mc10",1);
_parent.target_mc10.loadMovie("image/b.jpg");
_parent.target_mc10._x = 0;
_parent._target_mc10._y = 0;

_parent.createEmptyMovieClip("target_mc5",2);
_parent.target_mc5.loadMovie("image/a.jpg");
_parent.target_mc5._x = 439;
_parent._target_mc5._y = 0;

System.useCodepage = true;
loadVariables("image/c.txt",_parent);
}

onClipEvent(enterFrame){
_parent.createTextField("_txt",5,10,298,240,100);
_parent._txt.border = false;
_parent._txt.wordWrap = true;
_parent._txt.html = true;
_parent._txt.selectable = false;
_parent._txt.htmlText =_parent.main;
}
615Now_loading...774KB:2006/12/01(金) 17:29:48 ID:edpLjdkd
>>614
まずenterFrameイベントを理解してください
616携帯のフラッシュ:2006/12/01(金) 22:16:28 ID:ubpE+ncW
ここでしても良い質問なのか少々躊躇いましたが、
出来るか否かだけでも知ることができれば本当に助かるのでご指南の程お願い致します。
最近よく見かける携帯の待ち受けフラッシュで時間を取得して表示するタイプのものは
よく見かけるのですが、携帯の電波状況を取得してそれに連動した画像又は動画を表示させることは出来るのでしょうか。
携帯の機種はなどは問いません。
また、既に詳しく掲載されたサイトがあれば教えて頂けるとさらに助かります。
617Now_loading...774KB:2006/12/01(金) 23:24:01 ID:j5LiolgP
>>613
>loadMovieで画像をあるムービークリップ(orijinalimage)に読み込み、
>そのムービークリップをリンケージ名(imagemc)をつけた別のムービークリップに配置
最初imagemcの中にorijinalimageはないってこと?
attachしたMCの中にorijinalimageを後から配置してもリンケージ名をつけたもとのMCの中身はかわんないよ。

_level0.imageが存在するのにonPressが反応しないってのはありえないとおもうよ。
imageが君の思っていたMCと別のものだったとか。_root.image._width=500とかして確認してみては?

>>616
status = FSCommand2( "GetSignalLevel" ) だと思う。
adobeのサイトにFlash liteの説明書があると思うからそれ落とすといい。
(俺が落としたのはMacromediaのときだったけど)
618Now_loading...774KB:2006/12/01(金) 23:46:26 ID:u8oVkPPw
>>613

やりたい事があっているかどうかわかんないけど

container = _root.createEmptyMovieClip("container", 1);
image = container.attachMovie("image", "image", 1);
image.loadMovie("image.jpg");

container.onPress = function()
{
trace("container onPress");
}

loadMovieをやってしまうと、何故か他のメソッドを定義できない。
読み込みが完了すれば、出来るらしいけど、よくわからない。
なのでフレーム用のmc(今回は"container")を作り、そいつにメソッドを定義すると上手く行く
619611:2006/12/02(土) 00:43:58 ID:VKz5nbxx
>>617,618
ご丁寧にありがとうございます。
先ほど解決しました。

問題はとても単純で、attachMovieを行ったfunctionとは別の場所に、
_root.image.onPress = function(){
trace("onPress");
}
と予め書いていたため、まだ存在しないインスタンスimageが参照され、
無反応だったという次第のようです。
本当にまぬけなミスで、丁寧にご教授していただいたのに申し訳なかったです。

どうもありがとうございました。
620Now_loading...774KB:2006/12/02(土) 11:29:11 ID:MR6B8elr
>>619
まぬけってことはないけど、解決してよかったね。
621Now_loading...774KB:2006/12/02(土) 11:59:35 ID:QsuWp3OR
>>620
優しいね
622Now_loading...774KB:2006/12/02(土) 15:18:19 ID:MR6B8elr
>>621
え、でも誰でもそんくらいのミスはするでしょ。
またーりなのは駄目かな。
623Now_loading...774KB:2006/12/02(土) 18:08:57 ID:QsuWp3OR
俺もマターリな流れのほうがいいんだけど
他スレとか見ても最近冷たい人が多いからさ…
624Now_loading...774KB:2006/12/02(土) 21:46:07 ID:oF9s1FGO
2ちゃんでも腰の低い質問者にはみんな優しいと思うけどな。
ただmixiとかでも回答者をサポセン扱いする高圧的な質問者が増えてる気がする。
625Now_loading...774KB:2006/12/03(日) 07:49:30 ID:KKksTLLB
ASじゃないっぽいけど、
バイナリの仕様っていうか、パブリッシュした後のファイルの仕様
ってどこかで公開されてた?
626Now_loading...774KB:2006/12/03(日) 08:48:56 ID:ZTkjX4QU
>>625
swfファイルの仕様ならアドビラボで開発者用に公開されてる
627Now_loading...774KB:2006/12/03(日) 10:02:02 ID:xdpox0UE
済みません、お聞きしたいのですが、
アクションスクリプトで、COUNTを設定したいんですが、FLASHMXで出来るんでしょうか…?


628Now_loading...774KB:2006/12/03(日) 16:26:52 ID:XC1nurtG
何のカウントやねん
629Now_loading...774KB:2006/12/03(日) 17:16:23 ID:54f3iZgb
FLEXとactionscriptの質問ってここでいいですか?
630Now_loading...774KB:2006/12/03(日) 20:24:19 ID:KKksTLLB
>>626
どうも
631Now_loading...774KB:2006/12/03(日) 20:41:43 ID:ujMSDO6s
>>628
済みません…
FLASHMXを使っているのですが…
クリックした回数で違うイベント発生させたいんですが、
買った本には
on(press){
count +=1
gotoAndstop(数字)
と設定汁、と書いてあるんですがそれ以上の事が書いていなくて…
どなたか、教えていただけないでしょうか…??
632Now_loading...774KB:2006/12/03(日) 21:04:45 ID:ZTkjX4QU
>>631
こう書いたらわかる?
on(press){
count +=1;
if(count == 1) gotoAndstop(1);
else if(count == 2) gotoAndstop(2);
else if(count == 3) gotoAndstop(3);
else if(count == 4) gotoAndstop(4);
else if(count == 5) gotoAndstop(5);
else if(count == 6) gotoAndstop(6);
}


とまあ長々しく書くのもあれなので
on(press){
count +=1;
gotoAndstop(count);
}
633Now_loading...774KB:2006/12/03(日) 21:31:30 ID:0bzIdVFl
>>627
マルチやめとけ
634Now_loading...774KB:2006/12/03(日) 21:38:18 ID:ujMSDO6s
>>632
あわわありがとうございます…!
えっと…今ちょっとやってみたんですが、

on(press){
count +=1; ←これはどうやって置くんでしょうか…!
gotoAndstop(count);
}
スクリプトの中から探してみたんですが見当たらなくて…;;
635Now_loading...774KB:2006/12/03(日) 22:16:52 ID:+oKs73Bq
>>634
置くってどういういみ?
count +=1
はcountという変数に1を足すって言う意味。++演算子と同じ。
636Now_loading...774KB:2006/12/03(日) 23:01:24 ID:ujMSDO6s
>>635
済みません…初心者丸出しですね;;
えっと…置くって言ったのは、
【アクション-フレーム】っていうフォルダにある…
【スクリプトウィンドウ】にスクリプトを入れるってことです…!;;

アクションスクリプトの中にcountって入力するんでしょうか…??
演算子…??
637Now_loading...774KB:2006/12/03(日) 23:03:43 ID:Yd5W0o/q
FLASHでお絵かきツールを作ったのですが、描き終えた絵をBMPやPNG等のラスタイメージにして保存する命令ってありますか?
638Now_loading...774KB:2006/12/03(日) 23:30:40 ID:jZ9zYl1q
ソフト:FlashMX2004_Ver7(AS2.0、Player6) OS:WinXP-Pro

この環境で扱える小さな実数の数値を表現するにはどうしたらいいでしょうか?

Javaの場合は、ttp://www.geocities.jp/supermisosan/bairstowjava.html のように
10のマイナス5乗を double eps=1.0e-5; と書けますが、Flashの場合はこのような
表現は無いのでしょうか?

ちなみに当方の環境で
eps = new Number(1.0e-15);
trace("EPS= "+eps);
と書くと、EPS= 1e-15 と出力されます。
639Now_loading...774KB:2006/12/03(日) 23:31:36 ID:0bzIdVFl
まあとりあえず
countっていうのは何か特別な機能があるものではなく、単なる変数名。
aとかbとかcとか、別の名前を使っても同じ。
countというのを関数か何かと勘違いしているようだったので。

演算子というのは数値を足したり引いたりするための記号。
+(プラス)、−(マイナス)、*(乗法)、/(除法)など。

>アクションスクリプトの中にcountって入力するんでしょうか…??

on(press){  //押したら
count +=1;  //countという変数に1を足す
gotoAndstop(count);  //countに入っている数値へ飛ぶ
}

とりあえずこのASの読解をしてごらん。
640638:2006/12/04(月) 01:04:00 ID:9g/QFJ63
自己レスです
eps = 1.0e-5;
trace("EPS= "+eps);
sa = 1-eps;
trace("sa= "+sa);
ならば、
EPS= 0.00001
sa= 0.99999

となり、問題有りませんが eps = 1.0e-15; とすると
EPS= 1e-15
sa= 0.999999999999999
です。 eps = 1.0e-10; も同じく EPS= 1e-10 です。どうやら eps = 1.0e-6;
以下は小数点の形式では表示されないようです。
641Now_loading...774KB:2006/12/04(月) 09:12:24 ID:48z48kzi
>>639
はい〜;;わかりました!
ちょっと頑張ってみます!
お手数おかけして済みませんでした;;
ありがとうございました〜〜〜!!><
642616:2006/12/04(月) 12:25:11 ID:bQu/b/LG
>>617
諸事情により遅レス申し訳ないです。
おかげ様で解決いたしました。
ありがとうございます!
643Now_loading...774KB:2006/12/04(月) 15:50:19 ID:bGM31o6/
ActionScriptで積分できませんか?
どんな方法でもいいので。
644Now_loading...774KB:2006/12/04(月) 18:30:06 ID:z0NGcUNA
>> 637
ActionScriptから直接ファイルに保存することはできないような気がします。
ActionScript3.0とCGIを組み合わせて

@、[AS側]URLRequestで画像とファイル名をCGIに送信。
A、[CGI側]送られてきたデータ受信。画像ファイル作ってサーバー上に保存
B、[AS側]FileReferenceでCGIが保存したサーバー上ファイルをダウンロード

とかやればできるかもしれません。
645Now_loading...774KB:2006/12/05(火) 00:11:10 ID:ldnu2fvP
>>643
式を展開して好きなだけ計算しろ
646Now_loading...774KB:2006/12/05(火) 18:56:26 ID:GXt4Wl0e
スミマセン。
質問なんですが、

大量の変数を持っているとして、
検索用の「テキスト入力窓」と、「結果表示窓」を画面に用意します。

「テキスト入力窓」に変数を入力し、
「結果表示窓」に対応した値を表示させるには、
どうActionScriptを記述すればよいですか?

例えば、a=12であれば
「a」と入力した時、結果表示窓に「12」と表示させたいんです。

647Now_loading...774KB:2006/12/05(火) 19:00:45 ID:fbbPaYpI
テキスト入力窓の変数をtextInだとするでしょ

trace(_root[textIn]);
648Now_loading...774KB:2006/12/05(火) 19:16:59 ID:38G4jo9V
ウインドウコンポーネントに、ボタンコンポーネント等を関連付けるには
どうすればよいですか?
649646:2006/12/05(火) 19:20:47 ID:GXt4Wl0e
>>647
ありがとうございます。
試してみたのですが、よく分かりませんでした。

「検索実行ボタンjikkou」を用意して、

jikkou.onRelease = function(){
kekka=trace(_root[textIn]);
}

で、いいのですか?
650Now_loading...774KB:2006/12/05(火) 19:24:51 ID:X/zouD0D
指定したムービークリップが動いているか止まっているか判定するには、
どうしたらいいんでしょうか?
651Now_loading...774KB:2006/12/05(火) 20:06:31 ID:fbbPaYpI
>>649
traceっていうのは引数を出力ウィンドウに表示する関数ね
だからその場合は
jikkou.onRelease = function(){
kekka=_root[textIn];
}
でいいよ
652Now_loading...774KB:2006/12/05(火) 20:45:20 ID:ABPs/ieD
fcsを使ったflvのストリーミング配信で
NetStream.seek後、NetStream.timeで正確な再生ヘッドの位置が取得できなく
困っております。

例えば、10fpsでキーフレーム間隔が50のflvを再生したとします。
NetStream.seek(3)とすると、一番近いキーフレームがある50フレームから再生が再開するのですが
NetStream.timeで返ってくる値は3秒から再開してしまいます。

どなたか同じような状況を解決された方、ご教授ねがいます。
653Now_loading...774KB:2006/12/05(火) 20:46:48 ID:sp8mOSPf
>>650
回答でなくてすまんが、そういう判定が必要な時点で設計が悪いのではないか?
654646:2006/12/05(火) 20:59:43 ID:GXt4Wl0e
>>651
ありがとうございました。
助かりました。
655Now_loading...774KB:2006/12/06(水) 00:07:19 ID:mFLerjrI
>>652
世の中、分からないことは多いもの。
そして、自分の知らない知識を手に入れるための手っ取り早い方法は、誰かに教えてもらうこと。
質問を投げれば誰かが答えてくれる、そんなサイトもあちこちで繁盛しています。

そういった不特定多数の場に質問を投げるときには、なぜか「定番」のフレーズがあります。
それが今回の表題、「ご教授願います」あるいは「ご教授ください」といった言い回しです。
単に「教えてください」を丁寧にしただけの感覚で気軽に使われているようですが、果たしてそれで良いのでしょうか。

日本語には、確かに「教授する」という言葉があります。
その意味は、文字通り「教え授ける」こと。
一見すると、何も問題ないように感じられるかもしれません。

しかし、本来「教授」とは、学問や技芸などをきっちりと体系立てて教える場面に使われる言葉です。
それは、大学や高専で教員の最高位にいる人を「教授」と呼ぶことにもあらわれています。
単に「教える」を丁寧にしただけとは違う、「重い」言葉となります。

掲示板に質問を書き込んでいる人は、本当に「教授」を希望しているのでしょうか。
高度で難解な講義に付いていく勇気と自信がありますか?
本当にそうならば、「ご教授願います」を誤字とは言いません。
掲示板というツールが「教授」にふさわしいかどうかは、また別問題ですが。
656Now_loading...774KB:2006/12/06(水) 00:51:22 ID:u1xBa7ZO
コピペじゃなかったら、よく考えた文だな。
暇人すぎだろw
657Now_loading...774KB:2006/12/06(水) 00:52:57 ID:+jejA//d
>>652
一番近いフレームから再生されるなら、
.timeで取得した値を最寄のフレームの秒数に直せばいいんじゃない?
これならフレームレートがわかればできる。
658Now_loading...774KB:2006/12/06(水) 01:13:35 ID:cNZEeM7U
役立たずほど意味のない説教垂れたがる。
659Now_loading...774KB:2006/12/06(水) 01:39:21 ID:dbRUw1m4
8basicで勉強中の者です。

特定の場所をクリックすることでカウントを貯め、貯めたカウントを視覚表現したり、
そのカウントの数値でムービーが切り替わったりするようなものを作りたいと思っています。

とりあえず、自分のできる範囲でやったらこのようになりましたが、
http://up.spawn.jp/file/up56399.zip.html
(星や、赤丸をクリックすることでカウントが貯まり、黄色い丸が色が変わったり膨張して、
最終的には消え、終了と表示される画面になります)


現状ではgotoで行ったりきたりを繰り返し続けているので、他の処理を同じような記述を
つらつら並べるより、もっと冴えたやり方があるのではないかなと思いまして、
なにかヒントでもいいので教えていただけないでしょうか。
660659:2006/12/06(水) 10:50:25 ID:dbRUw1m4
すいません変な文でした。

>他の処理を同じような記述を

他の処理をさせると重くなりそうな気がしますし、同じような記述を

と読み替えてください。

661Now_loading...774KB:2006/12/06(水) 15:51:00 ID:AP29C+q2
シンボルでマウスオーバーすると
gotoAndPlayするインスタンス(仮にaaaとします)を作成して
それを_root.mc1の中にaaaを配置して
そのaaaをduplicateMovieClipで複製しています。
でも、それを書き出したときにはマウスオーバーが反応しません。
mc1とaaaはドラッグで一緒に動くようにしたいので同じところじゃないと
いけないですよね?
どうすれば反応するようになるか、ご指導ください。
662Now_loading...774KB:2006/12/07(木) 03:04:03 ID:Q/BBFUvh
どこをgotoAndPlayしてるかがわからない。
_rootだったら、普通に_root.gotoAndPlayで動くと思いますが。
663Now_loading...774KB:2006/12/07(木) 03:36:43 ID:ijhmMVZG
親となっているムービークリップをplay()したりstop()したときに、
子となっているムービークリップなどをまとめてplay()したりstop()したりできるんでしょうか?
664Now_loading...774KB:2006/12/07(木) 04:43:46 ID:Wp2D2kAk
ライブラリィに読み込んであるJPEG画像データを表示させる手順について教えてください。

JPEGデータを手動でシンボルに変換して、リンケージの識別子を設定すれば
attachMovie を使って画面に表示できるのですが、
JPEGデータが多いため、手動でのシンボルへの変換がちょっと大変です。
できればシンボルへの変換を行わずに(タイプがビットマップデータのまま)
ライブラリィに読み込んであるJPEG画像データを表示させたいのですが、
方法はありませんでしょうか。
665Now_loading...774KB:2006/12/07(木) 07:28:06 ID:tmjGBIfu
>>663
MCのタイムラインは独立しているので、連番付けするなりして
子それぞれに操作する。
>>664
名前も付けずにASでの操作は不可能。
作成時にフレームに配置したMC作るなり、外部読み込みにしたりする。
666Flash8です:2006/12/07(木) 09:49:21 ID:p6D80rEg
ロールオーバーするとアンダーバーがビヨーンって伸びて(フレーム20)
ロールアウトするとアンダーバーが引っ込むんで、
クリックするとフレーム21に飛ぶって感じをつくりたいのですが、

class tesuto extends MovieClip {
var rollover:Boolean = false;
function onLoad() {
stop();
}
function onRollOver() {
rollover = true;
onEnterFrame = animation;
}
function onRollOut() {
rollover = false;
onEnterFrame = animation;
}
function animation() {
if (rollover) {
nextFrame();
} else {
prevFrame();
}
if ((_currentframe == 1) || (_currentframe == 20)) {
delete onEnterFrame;
}
}
}
これにreleaseをどこにどういれたらいいですか?
どうやってもフレーム20と21を繰り返しちゃってできません。
多分、フレーム21でも prevFrame が機能しちゃってると思います。
よろしくお願いします。
667Now_loading...774KB:2006/12/07(木) 11:25:20 ID:CatqdQBt
>>663
for...inを使えばmcに名前があろうがなかろうが何個あろうが操作できるんだお
mcの階層に応じてfor...inは増やすんだお
for ( var i1 in _root ){
var tag1=_root[ i1 ];
if ( tag1._currentframe==1 ) tag1.play();
for ( var i2 in tag1 ){
var tag2=tag1[ i2 ];
if ( tag2._currentframe==1 ) tag2.play();
for ( var i3 in tag2 ){
var tag3=tag2[ i3 ];
if ( tag3._currentframe==1 ) tag3.play();
}
}
}
668Now_loading...774KB:2006/12/07(木) 13:25:15 ID:b47V2d0z
【やりたいこと】
FLASHを入力デバイスとして使用して、
データ(例:品名=みかん、価格=50、個数=20、登録番号=0012)
をdatファイルに追加登録していきたい。

【datファイル「data.dat」の中身】
「みかん,50,20,0012
 りんご,100,10,0013
 もも,200,5,,0014
:
:
:          」



【FLASH】
4つ(品名、価格、個数、登録番号)のテキスト入力窓(変数付き)と「登録ボタンtouroku」を用意。

System.useCodepage = true;
CGIFIle = "save.cgi";

touroku.onRelease = function(){
mySendVars = new LoadVars();
writedata = hinmei+","+kakaku+","+kosuu+","+tourokubangou;
mySendVars.senddata = writedata;
mySendVars.sendAndLoad(CGIFile,myLoadVars,"POST");
};
stop();
669668:2006/12/07(木) 13:26:27 ID:b47V2d0z
【CGIファイル】
#!/usr/local/bin/perl
$logfile="./data.dat";
if ($ENV{'REQUEST_METHOD'} eq "POST"){
read(STDIN,$buffer,$ENV{'CONTENT_LENGTH'});
}
if ($ENV{'REQUEST_METHOD'} eq "GET"){
$buffer = $ENV{'QUERY_STRING'};
}

@getlist = split(/&/,$buffer);
foreach (@getlist){
($key,$value) = split(/=/,$_);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
$getdata{$key}=$value;
}

open(IN,"$logfile");
@loaddata = <IN>;
chomp($loaddata);
close(IN);

open(OUT,">$logfile");
$length = @loaddata;
for($=0;$i==$length;$i++){
print OUT "$loaddata[$i]";
print OUT "$getdata{'senddata'}\n";
}
close(OUT);
exit;
670Now_loading...774KB:2006/12/07(木) 13:27:13 ID:b47V2d0z

「登録ボタン」押した後にdatファイル開いても登録されてません。
何か、基本的なことを間違えているんだと思います。
参考書片手に悪戦苦闘してる初心者です・・・。
長くてスマソ。
671Now_loading...774KB:2006/12/07(木) 13:31:01 ID:n0ugYbbG
>>668
問題を切り分けよう。
登録ボタン押した段階で、hinmeiやkakakuといった変数にちゃんとアクセスできてんのか?
CGIは単体で動かせば問題ないのか?
672668:2006/12/07(木) 13:56:53 ID:b47V2d0z
>>671
アドバイスありがとうございます。

登録ボタンを押した段階で、
別窓に変数の値を出力させることで
すべての変数にアクセス出来ている事が確認できました。

CGIを単体で動かす方法がわからないのですが・・・。
サーバーのsave.cgiに直接IEでアクセスしたところ、
「問題があるため表示できません。」でした・・・orz。
673Now_loading...774KB:2006/12/07(木) 20:05:15 ID:azkvE/Sk
>>668
for文の初期値が
$=0ってなってますよ
674668:2006/12/07(木) 20:35:15 ID:b47V2d0z
>>673
あ、ホントだ!

ありがとうございます。
$i=0に修正しました。

・・・それでも、ダメでした。
まだなんかミスがあるみたいですorz。
もしかしてsendAndLoadって
受信するものもないと使っちゃダメなんでしょうか?

今回みたいに送信するだけの用途でも使えますか?
675664:2006/12/07(木) 21:14:09 ID:uVX58Mbr
>>665
レスサンクスです。
やはり無理ですか。
手動でコツコツ作業することにします・・・
676Now_loading...774KB:2006/12/07(木) 22:10:40 ID:hE7MzErp
>>668
@loaddata = <IN>;
chomp($loaddata);
本題とは関係ないです(と思います)が、
これは意味がないですね。($loaddataが使われていないので)
@loaddata = <IN>;
chomp(@loaddata);
とか、
chomp(@loaddata = <IN>);
と書くみたいです。

$length = @loaddata;
for($=0;$i==$length;$i++){
print OUT "$loaddata[$i]";
print OUT "$getdata{'senddata'}\n";
}
この部分を
$length = @loaddata;
for($i=0;$i<$length;$i++){
print OUT "$loaddata[$i]\n";
}
print OUT "$getdata{'senddata'}\n";
とするのが、この場合正しいでしょう。
でも、
print OUT join("\n", @loaddata);
print OUT "$getdata{'senddata'}\n";
とした方が楽なような……?
677Now_loading...774KB:2006/12/07(木) 23:03:06 ID:b47V2d0z
>>676
ありがとうございます!
なるほど、いろいろ勉強になります。
さっそく修正しました。


しかし、根本的な解決はまだです・・・。
うーーーん。
678Now_loading...774KB:2006/12/07(木) 23:41:08 ID:U1sFlTUV
以前こちらで質問させて頂いた603です。
603の質問内容はフラッシュの書き出しのバージョンを
Flash Player8から7へ落とすことによって解決致しました。
その節はありがとうございました。
それで、実はまた困ってます。

フルスクリーンでフラッシュを見せたいのですが、

Stage.scaleMode="noScale";
Stage.align = "";

と記述して、フラッシュが適正なサイズで見え、
かつ真ん中へ配置するようにしたのですが、
そうすると四方はステージの大きさの外のものが見えるようになり、
この見える範囲は個々の人のモニターの環境によって
広かったり狭かったりしますよね?

ブラウザを閉じるボタンのムービークリップがあるのですが、
このボタンだけをモニターの環境に左右されず、
画面の右上に配置することって可能でしょうか?
上記のスクリプトだと右上に配置しても端っこへいきません。

私の作っているフラッシュは画面いっぱいでアニメーションするので
htmlでフレームを分けるとかはしたくないので
出来ればフラッシュ中で処理したいのです。

教えてちゃんで申し訳ないのですが、もし可能でしたら
そのスクリプトを教えてください。お願い致します。
679Now_loading...774KB:2006/12/08(金) 00:22:24 ID:+1WQ0RVi
Stage.align = "TL"; にして画面幅取得してMCの_xに入れる。
というかフルスクリーンは迷惑極まりない。
680Now_loading...774KB:2006/12/08(金) 00:28:54 ID:1qwnBzVh
>>678
うわ。気がついたら解説の絵まで作ってた....。
暇だな俺。
http://www-2ch.net:8080/up/download/1165505097878103.i3eEsl

ボタンにこんな感じのスクリプト。
---------------------------------------------------
var movieWidth = 作ってるムービーの横幅;
var movieHeight = 作ってるムービーの横幅;


function onResize() {
// 右上の座標をゲット
var ltx = Math.floor(movieWidth + ((Stage.width - movieWidth) / 2));

var lty = Math.floor(0 - ((Stage.height - movieHeight) /2);

// 常に右端から10pxの間隔を開ける
this._x = ltx - this._width - 10;
this._y = lty + this._height + 10;
}

onResize();
Stage.addListener(this);
---------------------------------------------------

>>679
俺も Stage.align = "TL" にした方がいいと思う。計算メンドクセ。
そして、ウィンドウサイズが奇数の時って右、左、どっちのピクセルが加算されんだろ...。
681Now_loading...774KB:2006/12/08(金) 03:09:50 ID:3w6aU1rN
少し長いんですがお願いします。



var intervalId1:Number;
var intervalId2:Number;

function setInt():Void{
if(_root.mc._x < 0){
_root.mc._x += 7;
}
if(_root.mc._x >= 0){
clearInterval(intervalId1);
}
updateAfterEvent();
}

function downInt():Void{
if(_root.mc._x > -100){
_root.mc._x -= 7;
}
if(_root.mc._x <= -100){
clearInterval(intervalId2);
}
updateAfterEvent();
}

//続く
682Now_loading...774KB:2006/12/08(金) 03:19:24 ID:3w6aU1rN

_root.mc.mc2.onRollOver = function(){
clearInterval(intervalId1);
clearInterval(intervalId2);
intervalId = setInterval(setInt,"setInt", 1);
}

_root.mc.mc2.onRollOut = function(){
if(_root._xmouse >= 100){ ←※
clearInterval(intervalId1);
clearInterval(intervalId2);
intervalId2 = setInterval(downInt,"downInt", 1);
}
}

ステージの端にある mc.mc2 の階層にあるMovieClipが
フォーカスインでステージに、X座標を+7づつ移動しながら出てくる。
フォーカスアウトで初期位置に戻る。
というスクリプトなんですが、MCがちらついて困っています。
12fpsで_xを+7づつ、このスピードを維持したまま、このちらつきを抑えたいのですが
方法がわかりません。_x += 1にするとちらつきが見えないので
恐らくMCを出すfunctionをMCを隠すfunctionが競合しているんだと思っています。


※mc2の上の階層にボタンが置いてあり、ボタンにフォーカスが当たっても
mcがフォーカスアウトしてしまうので、

if(_root._xmouse >= 100){

として
フォーカスが外れて、
尚且つフォーカスがボタン上でなく、ステージ上という風にしています。
683Now_loading...774KB:2006/12/08(金) 14:42:17 ID:Lhro+/PB
>>668
サーバからのレスポンスいらないなら、sendでいいんじゃない?

mySendVarsがどこで宣言されているのかも気になるけど。
684668:2006/12/08(金) 20:00:29 ID:JqgGBaLa
>>683
ありがとうございます。
sendを使ってみたらできました!
ただしsendを使用すると、FLASHからCGIページに飛んでしまうので
最終的にはsendAndLoadを使用しました。

どうやらFLASHでの
mySendVars.sendAndLoad(CGIFile,myLoadVars,"POST");
がまずかったみたいで、
mySendVars.sendAndLoad("save2.cgi",myLoadVars,"POST");
という風に、直接アドレスを記述するとうまくいきました。

ただ、問題は残ってまして、
追記されたdatファイルをnotepadで開くと、

「みかん,50,20,0012
 りんご,100,10,0013
 もも,200,5,,0014
 すいか,350,20,0015■オレンジ,60,20,0016■」

みたいになってしまいます。
(すいか以降が追記されたデータです。)
追記されたデータの文末が改行されずに、
細長い黒四角形ができてしまいました。

\nの記述がまずいんでしょうか?
685Now_loading...774KB:2006/12/08(金) 21:59:53 ID:g1I/8Hzv
>>684
Windowsの改行コードは\r\nだから、notepadだと\nは改行コードと判断しない。
Macだと\rだけだったりするから改行コードってややこしい。
686668:2006/12/08(金) 22:57:37 ID:JqgGBaLa
>>685
なるほど!そういうことですか。
datファイルをダウンロードして
TeraPadで開くとちゃんと改行されてました。

正しいデータが出来ていたというわけですね。
これで解決しました。

皆さん、どうもありがとうございました。
おかげでなんとか形になりそうです。
すごく勉強になりました。
687678:2006/12/08(金) 23:53:28 ID:AMejAFWs
>>680さま!
神のような解説をありがとうございます!!
図解までして頂いてとっても解り易かったです!
679さんもどうもありがとう!
おかげで完成しました!

アクションスクリプトはまだまだ初心者で、
辞典を片手にやってますが、わからないことばかりで難しいです。
もっと勉強して頑張りたいと思います。
本当にありがとうございました!
688Now_loading...774KB:2006/12/10(日) 01:01:40 ID:tugFxUYm
時間ごとに表示するMCを変更するにはどうしたら良いでしょうか?
689688:2006/12/10(日) 01:17:16 ID:tugFxUYm
自己解決しました
690Now_loading...774KB:2006/12/10(日) 22:29:14 ID:5v7HeHY8
ある配列hairetsu2が存在する時に、

c = hairetsu2[5];ではcに値がきちんと呼び出せるんですが、

aaa=2
bbb=5として、
c = _root["hairetsu"+ aaa + "[" + bbb + "]" ];では値が呼び出せず困っています。
c = _root["hairetsu"+ aaa + [bbb]];ではエラーがでます。

何か書式がまずいのでしょうか?
教えて下さい。
691Now_loading...774KB:2006/12/10(日) 22:49:44 ID:Khc3DG94
>>690
c = _root["hairetsu"+aaa][bbb];
かもよ。
692690:2006/12/10(日) 22:55:30 ID:5v7HeHY8
>>691
出来ました!
ありがとうございますっ!
693Now_loading...774KB:2006/12/10(日) 22:58:05 ID:72HF8c18
なんで_root使うんだ
694690:2006/12/10(日) 23:09:49 ID:5v7HeHY8
>>693
_root使わずにもっと簡単に表現できるんですか?
よかったら教えて下さい。
695Now_loading...774KB:2006/12/10(日) 23:37:38 ID:72HF8c18
いや、690に限ったことじゃなく、
絶対パスだと親swfに読み込まれたとき不具合起きないか?
696Now_loading...774KB:2006/12/11(月) 00:09:26 ID:at/6mlUm
すいません、超初心者なんですが教えてください!!
現在再生中のムービーを再生/停止/一時停止するムービーを作っています。
再生はGoto and Playでなんとかなるんですが他がどうにもわかりません。
どうすればヨイですか!?
697Now_loading...774KB:2006/12/11(月) 00:28:24 ID:K4YI8R2o
>>695
MovieClip._lockroot使えば大丈夫じゃない?

>>696
Goto and PlayじゃなくてgotoAndPlayね。
一時停止はstop()、再生はplay()、停止はgotoAndStop(1)
698690:2006/12/11(月) 00:29:26 ID:N1tC+3vr
>>695
なるほど、そういうことですね。
まだそこまで複雑なものを作った事がないので、
絶対パスの欠点をそこまで考慮していませんでした。
その辺、気をつけながら作ることにしますノシ
699696:2006/12/11(月) 00:33:37 ID:at/6mlUm
再生/停止はできました、ありがとうございます!!
一時停止なんですが、一時停止したところから再生を再開できるようにしたいのですが。
700Now_loading...774KB:2006/12/11(月) 06:30:57 ID:kQVt19fo
WinXP, Flash MXです。
着せ替えのようなFlashを作成しています。

●ステージ上に体mcが複数置いてある
●体mcの周りに、洋服や帽子などのパーツmcがたくさん配置してある
●パーツmcをpressしたとき、真下に複製を作りたい
 ただし、体以外でpressしたときだけ。体の上に置いたパーツmcを
 pressしても何も起こらない。--->これが上手くできません。。。
●体以外でパーツmcがreleaseされたときには、そのパーツmcを削除する

というような作りです。
パーツmcに、

on (press) {
num++;
this.startDrag(true);
this.swapDepths(num);
_root.パーツ_mc.duplicateMovieClip("パーツ_mc"+num, num);
_root["パーツ_mc"+num]._x = 50;
_root["パーツ_mc"+num]._y = 200;
}

と書いてみましたが、これだと、体の上に置いたパーツを再び
ドラッグした場合にも複製されてしまいますよね。
「元あった位置」からパーツmcがなくなったときにだけ複製させ
たいのですが、どこにどのようなスクリプトを書けばよいのか。。。
ヒントだけでもいいので助けてください。
よろしくお願いします。
701Now_loading...774KB:2006/12/11(月) 06:48:56 ID:6JrGQBz4
>>700
どういう設計してるのかわからないけど、
MovieClip._droptarget プロパティを見れば、
どこにドロップしたか分かるから、これ見て処理を分ける。
初期位置はonLoadで初期値覚えておいて比較するとか。
702700:2006/12/11(月) 07:17:33 ID:kQVt19fo
>701
レスありがとうございます。

MovieClip._droptargetを使っての判定だと、ドロップしたタイミング
でパーツmcが複製される(orされない)ですよね。
できればパーツmcをpressしたとき(ドラッグ開始時)に、真下に
パーツmcが複製されて欲しいのですが。。。

actionフレームに、パーツが元の位置にあるかないかを判定する
変数を入れておいて、

flg = "";

on (press) {
if (flg == "") {
パーツ_mc.duplicateMovieClip();
} else {
flg = 1;
}
}

ということも考えたのですが、なんだか書いていて自分でもよくわ
からなくなってきました。。。
ちょっと寝て頭をリフレッシュします。
703Now_loading...774KB:2006/12/11(月) 13:04:57 ID:6JrGQBz4
>>702
ん、ちがうちがうw 書き方が悪かったかな。

>パーツmcをpressしたとき、真下に複製を作りたい
>ただし、体以外でpressしたときだけ。体の上に置いたパーツmcを
>pressしても何も起こらない。--->これが上手くできません。
>「元あった位置」からパーツmcがなくなったときにだけ複製させたい

元の位置をonClipEvent(load)とかで保存しといて、
on(press)でこの値と現在位置を比較して同じだったら複製。
クリップイベントもコピーされるから複製されたMCもon(press)で
複製できちゃうからこれをどうするのかは仕様次第か。

>体以外でパーツmcがreleaseされたときには、そのパーツmcを削除する

この処理は_droptargetをみて処理を分岐

omPress時に複製つくる必要ってあるのかな?
最初に複製作っといて、オリジナルとコピーの2つを使いまわせば
いいんじゃないかな?ずっとシンプルになると思うけど。
_rootのフレームとかで、
パーツmc.duplicateMovieClip(パーツmc._name+"_copy",パーツmc.getDepth()-1);
パーツmc.initPoint ={x:パーツmc._x,y:パーツmc._y};
しといて、でonReleaseで
_droptargetみて体以外だったら、initPointに戻すとか。

まぁ、仕様がどうなってるのかわからないからあれだけど。
704702:2006/12/11(月) 14:08:49 ID:kQVt19fo
>703さん
レスありがとうございました!
私の理解度が低いせいで、お手数おかけしています。
今、他のことで追われていてFlashを起動できませんが、今夜、必ず
試してみます。
(ちょっと読んだだけではわからなくて……)

でも、「最初に複製を作る」というのは、こういう方法もあるのかと、
質問してよかったです。

onPress時に、ちょっとでもドラッグしたら複製を見せたいので、最初
から2枚重ねにしてみます。
705704:2006/12/11(月) 14:09:37 ID:kQVt19fo
連続すみません。

着せ替えの例えが悪かったので、別のも考えてみました。

コマmc
   ●

○○○○○……○(いっぱい)
配 置 先

●をドラッグして○上に運びます。
ユーザーは好きな配置先(○)を選ぶことができますし、いったん、
○まで運ばれた●も、再びドラッグして別の○上に移動することもでき
ます。元の●の位置まで戻すこともできます。
また、●を運ぶのは一度ではなく、何度でも運べます(なので複製させ
たい)。

実際には、コマmc●もいっぱいありますが、まずは1つで考えてみたい
と思います。
前の説明よりわかりやすくなったでしょうか。。。
706Now_loading...774KB:2006/12/11(月) 16:30:25 ID:ho/6ZpsM
mc_aを追尾するように移動するmc_bを作りたいのですが、どう書けば良いでしょうか?
707706:2006/12/11(月) 16:37:44 ID:ho/6ZpsM
すいませんできてました
708Now_loading...774KB:2006/12/11(月) 20:37:39 ID:t1rXdcUn
if文についての質問なのですが、

hensu1=ok;
hensu2=ng;
hensu3=ng;
のように変数を3つ用意して、もしこの内のどれか一つでもokだったら〜する、という
条件式を作りたいのですが、どのようにすれば良いのでしょうか?

イメージ的には

if(hensu* ==ok){
 trace("OKです");
}

のような感じです。

どなたかお知恵を貸してください。
709Now_loading...774KB:2006/12/11(月) 20:42:31 ID:t1rXdcUn

誤爆しました 無視してください
710Now_loading...774KB:2006/12/11(月) 20:58:11 ID:HlR5AjqE
ネ申にちょっとお伺いしたいのだが、

例えば、09:00〜09:20までは「テキスト1」の表示、
09:21〜09:50までは「テキスト2」の表示・・・
のように、その時間毎で表示を変えるのは
どういった方法をしたらいいんだ?
とりあえず、newDate().getHours()の類を
使えばいいってことは分かったんだが・・・
711Now_loading...774KB:2006/12/11(月) 22:38:29 ID:t1rXdcUn
onClipEvent (enterFrame){

hour=getHours();
min=getMinutes();

if(hour==9 && min>=0 && min<=20){
 trace("テキスト1");
}else if(hour==0 && min>=21 && min<=50){
 trace("テキスト2");
}

}
712Now_loading...774KB:2006/12/11(月) 23:22:54 ID:I8oAsFan
flash playerがヴァージョンアップしてくれません。

ttp://www.adobe.com/shockwave/download/?P1_Prod_Version=ShockwaveFlash&Lang=Japanese
でV9.0 28.0をなんどDLしてもできないのです。
8.0 24.0のまんまでどうしようもありません。

Live2chのようつべ機能を使いたいので9.0は必須なのですが・・・
なにか方法はないでしょうか?
713Now_loading...774KB:2006/12/11(月) 23:43:39 ID:wnXp4O/m
>>710
setIntervalを使って、例えば10秒ごととか1分ごとに時刻を監視する。
>>712
スレ違い。>>1を読みましょう。ここはASのプログラミングに関する話題です。
↓でも参照しる
ttp://www.adobe.com/jp/support/flashplayer/ts/documents/tn_15511.htm
714Now_loading...774KB:2006/12/11(月) 23:56:54 ID:t1rXdcUn
block22=1;
cursor=22;
baikai="block" add cursor;
if(baikai eq 1){
trace("おめでとう");
}

以上のスクリプトがどうしても動きません。
どうすればよいでしょうか?addを用いているのはflash lite環境だからです。。
715Now_loading...774KB:2006/12/11(月) 23:57:14 ID:I8oAsFan
>>713

問題は解決しました。ありがとうございました。
716Now_loading...774KB:2006/12/12(火) 00:08:50 ID:bestgRvf
>>714
変数が文字列であるのか数値であるのかを考えましょう
717Now_loading...774KB:2006/12/12(火) 00:11:07 ID:L6FhC19E
>>716
それについてもう数時間以上悩んでいます。
たぶんif文の中のbaikaiは変数ではありませんよね。
でもそこから先どうやってよいのか分かりません。
718Now_loading...774KB:2006/12/12(火) 01:57:03 ID:L6FhC19E
ぬぉーーー!4時間悩んだあげく、evalを使えばよい事が分かりました。
Flash liteでは配列をシュミレートしないといけないのを忘れていました。
716さんありがとうございました。
719705:2006/12/12(火) 12:08:48 ID:qPRbfmSl
>703さんにアドバイスいただいたにもかかわらず、私の頭では
できませんでした……。

次の作業もあるので、ドラッグ&ドロップできるコマmc(●)を複
数のレイヤーに配置して対応することにしました。
(配置先の○は30コしかないので、とりあえず30レイヤー分作れ
ば大丈夫だろうと。でも、こんなやりかたしかできないなんてダメ
ダメですよね)
720Now_loading...774KB:2006/12/12(火) 17:54:30 ID:oZr2V/iC
flash8 で作成しています。

特定の場所に来たら Mouse.hide();
を使って,マウスカーソルやハンドカーソルをかくし,
自分で用意したグラフィックのx.y座標をマウス位置にすることで
オリジナルのマウスカーソルにしました。

しかしそうすると、ボタンがクリックできなくなってしまいました。
レイヤー順などを変えてみましたが
ボタンオブジェクトを一番上にすると、ボタンに触れるときだけ
いつものハンドカーソルになってしまいます。

オリジナルのマウスカーソルにまま、ボタンを機能させることは
可能なんでしょうか。
よろしくお願いします。
721Now_loading...774KB:2006/12/12(火) 18:23:44 ID:OzJ1qLHt
WinXP,FlashMX2004で作ってます。

外部テキストファイル"hoge.txt"の読み込みがどうもうまくいきません。
7行目のtraceでは値が確認できるのに一番下の行でのtraceでは確認できません。
traceの実行順も意図通りではなく、下のtraceが先に実行されます。
何とかなりませんかな…。

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

var strTest = new String();
System.useCodepage = true;
objLoader = new LoadVars();
objLoader.onData = function(src) {
 if (src != undefined) {
  strTest = src;
  trace(strTest);//←表示される
 }
};
objLoader.load("hoge.txt");
trace(strTest);//←表示されない
722Now_loading...774KB:2006/12/12(火) 18:28:38 ID:D7wvtu/P
>>721
まぁ、Flashは非同期処理だからねぇ...。
723Now_loading...774KB:2006/12/12(火) 18:37:37 ID:D7wvtu/P
>>721
なんか上手く説明してるところないかなーと思って
検索してみたけど発見できず。

Loadvarsクラス :: onData メソッドの説明
> サーバーからのデータのダウンロードが完了したとき、またはサーバーからデータを
> ダウンロード中にエラーが発生したときに呼び出されます。

つまり、そのfunctionが実行されるタイミングは、hoge.txtのロードが完了した時。
objLoader.onDataの部分は、「もし俺のインスタンスに何かしらデータが来たら
これこれを実行してね」っていう登録にすぎないわけで。

要するに↓の順番で実行されるから、そりゃ一番したでtraceしてもまだ中身入ってないよね。

(1) var strTest = new String();
(2) System.useCodepage = true;
(3) objLoader = new LoadVars();
(6) objLoader.onData = function(src) {
 if (src != undefined) {
  strTest = src;
  trace(strTest);
 }
};
(4) objLoader.load("hoge.txt");
(5) trace(strTest);
724Now_loading...774KB:2006/12/12(火) 20:48:09 ID:rPsSiO0K
初心者で恐縮なんですが
on (press) {
ID++;
blocks = "waveblocks_" +ID;
_root.attachMovie("waveblocks", block, ID);
_root[block].x_ = 110;
_root[block].y_ = 150;
}
これを押した後に一定時間ボタンを無効にしたいんですがなんかうまくできないのですが、
何かいい方法ありますか?
725Now_loading...774KB:2006/12/12(火) 21:04:39 ID:bestgRvf
>>724
無効にしたい以前の問題だとおもわれ
726Now_loading...774KB:2006/12/12(火) 22:25:36 ID:PRhREt/H
>>724
やったことないからわからんけど
ボタンを押した時間を取得しておいて、何秒以上経過してたら処理を行う。そうでないなら、行わない。
とか、どうだろか。
727710:2006/12/12(火) 22:48:53 ID:VCo8Lulp
神様、ありがとうございます!
728726:2006/12/12(火) 23:59:54 ID:PRhREt/H
time_B=0;//経過時間比較用。1フレーム目かどっかで初期化しとく。
---
on(press){

time_A = getTimer() ;//現在のFlash開始経過時間取得

if( time_B == 0 || ( 5000 < (time_A - time_B) ) ){//time_Bが0(初回実行時)か、5000ミリ秒経過したら、処理実行。
trace( (time_A - time_B)+"ミリ秒経過 : 処理しますお( ^ω^)");
time_B=getTimer();
}else{
trace( (time_A - time_B)+"ミリ秒経過 : 処理しませんお(ヽ´ω`)");
//time_B=getTimer(); //ボタンを押すたびに待ち時間をリセットするなら、これを有効にする。
}

}

>>724
俺も初心者だけど、俺なりに考えてみた結果こうなった。
一般的に、これがいい方法なのかどうかは分からないけど、参考になれば。

 と、ここまで書いてやっと分かった。君はボタンそのものを消したかっただけなのか・・・。
729Now_loading...774KB:2006/12/13(水) 00:43:01 ID:y4DC0DK/
>>724
//ボタンインスタンスメイをmy_btnとしてフレームに記述

var id; //clearInterval用
this.my_btn.onRelease = function() { //ボタンを押したとき
trace("release");
this.enabled = false;    //ボタンを無効にする
id = setInterval(Kaijo, 5000); //5秒後にKaijo関数を呼ぶ
};
function Kaijo() {
my_btn.enabled = true; //ボタンを有効にする
clearInterval(id);
trace("操作できるよ");
}
730721:2006/12/13(水) 08:03:04 ID:ZTqQq8qg
>>723
数フレーム後で strTest を参照するようスクリプトを変更したら、値が取得できました。
非同期処理ということなので、毎回動作するかは不安が残るところです。

ホントは同じフレーム内で処理をしたかったのですが、問題は解決したので良しとします。
解説どうもありがとうございます。
731Now_loading...774KB:2006/12/13(水) 10:24:09 ID:rLpKAZYl
>>728-729
亀レスになりすみません・・・。
イメージ的には消すというよりは一回押したら10秒間使えなくなる
みたいな感じにしたかったのです。

これからちょっと試してみます。
ありがとうございました。
732Now_loading...774KB:2006/12/13(水) 17:59:08 ID:uRIGs/id
FlashMX2004で作っています。
新規でflaを開けた後に、UIコンポーネントのテキストフィールド、
コンボボックス、ボタンをおきました。
アクセシブルのところでタブインデックスをつけたのですが、タブ移動
していくと、コンボボックスにフォーカスがあたったまま止まって
しまいます。
なにか特別な設定が必要でしょうか?
733Now_loading...774KB:2006/12/13(水) 22:10:12 ID:s1tiCLxZ
for文を何度も使うとき、for文内の変数(普通は「i」かな?)の名前は、
それぞれ変更するべきですか?
734Now_loading...774KB:2006/12/13(水) 22:13:45 ID:End27j7Z
>>733
for をネストしないなら別に平気。
個人的には、特に気にせず同じ名前。

ネストするときは、i2 とかやって、いつも変数名間違えてハマる。
735Now_loading...774KB:2006/12/13(水) 22:35:59 ID:MIkT+59Q
var指定とスコープを理解してればおけ。
ASでは関数内でもvar無しで普通にi=0とするとタイムライン変数になるから注意。
736Now_loading...774KB:2006/12/13(水) 22:37:04 ID:En3DnHfo
for(i=0;i<8;i++){
 for(j=0;j<8;j++){
  for(k=0;k<8;k++){
   for(l=0;l<8;l++){
    
   }
  }
 }
}
こんな風に書いた覚えがあったが何だったか忘れた。
737Now_loading...774KB:2006/12/13(水) 23:34:42 ID:NW3JzLff
Flash MXです。

あるMC上にドラッグドロップされた、インスタンスの名前と
数を取得する方法ってありますか?

あるMCはステージのフレーム1に座標0:0、サイズ500*500
に配置されています。
その上に、A.mc、B.mc、C.mcを複製しつつドラッグ&ドロップ。
(A_copy1、A_copy2、B_copy3、B_copy4、C_copy5など)
計算ボタンをクリックするとフレーム2に移動し、あるMC上
にあるA〜CのMCの個数を表示したいのです。
このとき、あるMCにドラッグしたA〜Cはフレーム2移動時
には削除したいので、ドラッグされたMCの名前も知りたいの
ですが。。。

hitTest()を使って、1つずつ確かめていくしかないのでしょう
か?
738Now_loading...774KB:2006/12/14(木) 00:07:25 ID:U3Qtp+iR
>>737
MovieClip._droptargetでドロップされたムービークリップインスタンスの
絶対パスを取得できるみたい。

A_copy1、A_copy2、B_copy3とかがあるMCにドロップされた時に
その名前を配列に入れていけばいいんじゃない?
739Now_loading...774KB:2006/12/14(木) 00:07:56 ID:3tazjyhY
>>734-735

ありがとうございました。勉強します。
740737:2006/12/14(木) 00:13:14 ID:lDRduFrW
>738
レスありがとうございます。
やっぱりその方法ですよね。
手元にActionScript大辞典とActioScript逆引き大全がある
ので調べていたのですが、他の方法は見つからなかったで
す。
配列に入れていく方法でやってみます。
741Now_loading...774KB:2006/12/14(木) 01:17:09 ID:Wj2UiaWy
_root.NameFieldに名前を入れて、
EnterとSHIFTを押したら
2chトリップ付きで名前を返したいのですが、
saltの作成やcryptの代わりをヘルプを見ても分からないので訊きに来ました。

一応分かる部分は書いてみました。

環境は、Flash 8 proで対象はFLASH player8、OSはWinXPです。

//_root.NameFieldはテキストフィールド
_root.onEnterFrame = function() {
   /* EnterとSHIFTが押されたとき */
   if (Key.isDown(Key.ENTER) && Key.isDown(Key.SHIFT) && !bInit) {
      /* 名前が入っているか? */
      if (_root.NameField.text != "" && _root.NameField.text != "ここに名前を入れてください") {
         /* 文字列取得 */
         sNameBack = _root.NameField.text;
         i = sNameBack.indexOf("#");               // "#"の位置確認
         if (i > 0) {                           // #があるなら...
            sTripData = sNameBack.substring(i+1,sNameBack.length);
            //この間が分からない... (salt作成/crypt()実行/後ろの文字を取る)
            sNameData = sNameBack.substr(0,i)+sTripData;
         }else {                             // #が無いなら...
            sNameData = sNameBack;             // そのまま返す
         }
         trace(sNameData);                     // 結果を確認
         bInit = true;                         // もう二度とやってやんねーよヽ(`Д´)ノウワァァーン
      }
   }
}
742Now_loading...774KB:2006/12/14(木) 01:46:57 ID:U3Qtp+iR
>>741
Flashにはcryptみたいな関数はない。

javascriptだけど参考になる?
ttp://user1.matsumoto.ne.jp/~goma/js/des.html
743741:2006/12/14(木) 02:12:04 ID:Wj2UiaWy
>742
ありがとうございます。
やっぱりFLASHにはないですか...
でも、Javascriptっていう手があるのを忘れていました。
すごく参考になりました。
744Now_loading...774KB:2006/12/14(木) 05:14:18 ID:6yRyXg3J
「深度」に関する初歩的質問です
・0と100だとどちらが上に表示されますか?
・MCに深度を設定する方法はどうするのでしょうか?
初歩的過ぎて申し訳ないのですが、情報頂けると幸です
745Now_loading...774KB:2006/12/14(木) 07:39:08 ID:4H2OPQB5
746Now_loading...774KB:2006/12/14(木) 12:35:39 ID:6yRyXg3J
>>745
ありがとうございます
解説の順序見て、かなり初歩的だったのだと痛感しました
747Now_loading...774KB:2006/12/14(木) 17:51:23 ID:bLva8J+B
初歩的な質問だと思いますがよろしくお願いします。

AというmcとBというmcがあります。

「Bにロールオーバーしたとき、Aが拡大。ロールアウトしたときに縮小。」
といった動きを作りたいのですが、どのようにスクリプトを書いたらいいでしょうか。

Aに変数を書き込んで、Bにif else文を使うやり方でいけるかなと思うのですが
書き方がわかりませんorz

ネ申の方々助言よろしくお願いします!
748Now_loading...774KB:2006/12/14(木) 18:27:54 ID:3tazjyhY
>>747

( ゚д゚)ポカーン………

つ ttp://homepage3.nifty.com/ginga-b/MX/if_statement1.html
749Now_loading...774KB:2006/12/14(木) 18:33:34 ID:0eZdlHbM
>>747
こんな感じで出来ると思うけど、
「誰でも分かるFlash」みたいなのを読んで、
もう少し概念を理解したほうがよさげ。

-----
B.onRollOver = function() {
trace("A拡大");
};
B.onRollOut = B.onDragOut=function () {
trace("A縮小");
};
750Now_loading...774KB:2006/12/14(木) 20:25:12 ID:MMEBDRNx
質問します。

FLASH8でシーンをまたいで変数を持たせて
画面上のオブジェクトを非表示にさせようと思っているのです。
たとえばAのシーンで何かやった事によって該当するオブジェクトが
Bのシーンでは非表示に最初からなっている。と言うもの。

if (_root.unko==1) {
_root.pon.chin._visible=false;
}

とBの最初のフレームに書いて、Aのシーンのイベント終了後のフレームに

_root.unko = 1;

とやっただけでは駄目なのでしょうか?
と言うかこれでいいんですよね?
751750:2006/12/14(木) 21:32:43 ID:ORy6GFMV
すみません、解決しました。

同一フレーム上に、そのif文で指定したオブジェクトが存在しないといけなかったんですね。
同一シーンのあとのフレームから出る物についてはいくら指定しても駄目だったのか。

実験では出来てただけにちょっと焦って分からなくなってしまってました。
752Now_loading...774KB:2006/12/15(金) 17:07:07 ID:K1P+PHTL
Flash8で、スライドプレゼンテーションの形式で、プロジェクトを
作っており、

階層化にあるスクリーンのフレームを1フレームで、ストップさせておきたいのですが、
通常のstop();では、止まらないようです。そのまま、フレームが進んでしまいます。
なにか、別の記載方法があるのでしょうか?
よろしくお願いいたします。

753Now_loading...774KB:2006/12/15(金) 18:15:13 ID:LndMFZYj
>>752
ストップさせておきたいのはムービークリップ?
754Now_loading...774KB:2006/12/15(金) 21:22:59 ID:LrGSmOzR
いまさらAS2.0の話なのですが、
リンケージプロパティから割り当てられたAS2.0クラスは、
そのクラスファイルがパッケージ内に存在するとロードできないですよね?

これはそういう仕様 - つまりパッケージ内のクラスファイルを使用する場合は、スクリプトでインスタンスに割り当てなけらばならない - なのでしょうか?
755Now_loading...774KB:2006/12/15(金) 21:40:39 ID:GLdXQG0n
AS2.0(笑)
756Now_loading...774KB:2006/12/15(金) 23:01:51 ID:aDyEIZCN
>>754
言ってることがよくわからん。
具体的にどういう問題がでてるのでとかいわないと、何とも答えられんがな。
これこれこういうクラスを使いたいときに、どうやったらうまくいかなかったとか。
757Now_loading...774KB:2006/12/15(金) 23:32:24 ID:qtZ+Pk4h
752です。 いえ、フレーム自体です。
758754:2006/12/16(土) 01:40:50 ID:4iDs+8mH
スマソ。これで分かるかな。

1. ライブラリにあるMCを右クリックし、AS 2.0クラスに自作クラスを割り当てる。このクラス定義ファイルは任意のパッケージに存在し、ルートの1フレーム目の最初に、
import somePackage.MyClass;
のようにして使用できるようにしている(つもり)。

2. パブリッシュすると「MyClassクラスあるいはインターフェースをロードできませんでした」という旨のアラートが表示され、MyClassが使用できない。

3. 試しにこのクラス定義ファイルをパッケージの外に出し、flaファイルと同じディレクトリにおいてやると、問題なくパブリッシュされる。

どうして?
759Now_loading...774KB:2006/12/16(土) 02:10:52 ID:PFRuBAHe
>>758
クラスのことは詳しくないが、
リンケージから割り当てるクラスはflaファイルと同じディレクトリにないとダメなんでないの?
もしくはパブリッシュ設定や環境設定でクラスパス指定してやればいいんでないの?
760Now_loading...774KB:2006/12/16(土) 07:47:09 ID:Xcf8FKc9
質問ですー。
8からcolorオブジェクトが非推奨になったので
var trans = new flash.geom.Transform(obj);
var color = new flash.geom.ColorTransform(1,1,1,1,100,100,100,100);
trans.colorTransform = color;
のようにカラー設定をしているのですが、以前にあった色情報を取得する getTransformに当たるものがないので
var i = 0;
for(var cl in trans.colorTransform){
 iro[i] = trans.colorTransform[cl]
 i++;
}
みたいに地味に情報を取得しているのですが、もっとスマートに取得する方法はないでしょうか?
教えてください。
761Now_loading...774KB:2006/12/16(土) 07:49:57 ID:DiCtb89W
>>752
間違ってたらごめんね
多分"_root.stop();"を1フレーム目に置かれてる
インスタンスの何処かに記述すればいいんじゃないかな?
762age:2006/12/16(土) 12:37:44 ID:vs3Zr00L
何かイベント(クリックならクリック)を起こした後に、
そのフラッシュだけをリロードするとかっていう、
アクションスクリプトはありますか?
763Now_loading...774KB:2006/12/16(土) 13:26:47 ID:wxU6/0dg
>>762
読み込みなおしたいってことなら
_root.gotoAndPlay(1)
でいいんじゃない。
764age:2006/12/16(土) 13:32:58 ID:vs3Zr00L
>>763
ありがとうございます。
全部のインスタンス等をフレーム1に書いてて、
動きは全部actionscriptで記述してるんですけど、
_root.gotoAndPlay(1)
でいけるんですかね?
765Now_loading...774KB:2006/12/16(土) 17:23:54 ID:7Xc5p744
ステージ上に100個近くのMCが置いてあります。
名前は、mc01, mc02, mc03, .... mc99です。
それぞれのMCに、on pressとon release時のスクリプト
を書いているのですが、このスクリプトの内容がすべて
同じです。
スクリプトに修正があるたび、mc01のスクリプトを直して
他のMCにコピー&ペーストしているのですが……とても
手間です。

on (press) {
function scriptA();
}

みたいに記述して、修正がある場合には、直すのは1箇
所のコードだけのようなことはできないでしょうか?
自分で試していたのですが、上手く動きませんでした。
(上記のコードをMCに書いて、funtion scriptA ();をステー
ジのactionレイヤーに書いてみた)

外部.asも考えましたが、納品物なのでそれは選択できま
せんでした。
Flash MXです。
よろしくお願いします。
766Now_loading...774KB:2006/12/16(土) 17:32:29 ID:+tePI6gy
WinXP, FLASH8 Proです。

2つのボタンが重なっていて、aボタンをクリックすると下からbボタンが
現れて、なおかつ2つのボタンは線でつながっているというのを作りたい
のですが、線を描くスクリプトを書いても、つながってくれません。
bボタンの動きはタイムラインで動かしています。
メインのフレームアクションに、
flag=0;

lineMC = this.createEmptyMovieClip("line", 1);
this.onEnterFrame = function() {
x0 = a_mc._x;
y0 = a_mc._y;
x1 = b_mc._x;
y1 = b_mc._y;
lineMC.clear();
lineMC.lineStyle(1, 0x006666, 100);
lineMC.moveTo(x0, y0);
lineMC.lineTo(x1, y1);
}
と書いて、aボタンのMCのボタンアクションに、
on(release){
if(_root.flag==0){
_root.b_mc.gotoAndPlay("as");
_root.flag=1;
}
}
と書きましたがつながりません。bボタンが動くとそれに線が
ついていきません。どなたかご指導よろしくお願いします。
767Now_loading...774KB:2006/12/16(土) 17:33:25 ID:odOhj2qV
>>765
できる。

> (上記のコードをMCに書いて、funtion scriptA ();をステー
> ジのactionレイヤーに書いてみた)

それ、パス違うだろ。MCからみたら_parentの階層に書いたんじゃねーの?
うまくいかないにしても、trace()で躓いてる部分を見つけて、何がどんなふうに
うまくいかないのか確認した方がいいぞ。
for()ループで、MCに定義するっちゅう方法もあるけど。
768765:2006/12/16(土) 17:49:16 ID:7Xc5p744
>767さん
ありがとうございます。

MC自身に、

on (press) {
function drag();
}

MCが配置されているレイヤーに

function drag () {
this.startDrag(true);
}

と書いたのですが、

シーン = シーン 1, レイヤー = mc, フレーム = 4 : 行 2:'{' が必要です。
function drag();

というエラーが出ます(それ以降にもエラーが続いています)。
769Now_loading...774KB:2006/12/16(土) 18:07:29 ID:pIo7fjYs
flvファイルを再生するときに拡大して表示するとピクセルごとに拡大されて汚くなってしまうんですが、
アンチエイリアスみたいなのをかけるにはどうしたらいいんでしょうか?
できればyoutubeでフルスクリーン再生したときのような感じにしたいです。
770Now_loading...774KB:2006/12/16(土) 18:17:28 ID:wxU6/0dg
>>766
b_mcが動いたように錯覚しているんじゃない?
動いているのはb_mcの中身。
中身がどんなに動こうとも_rootに配置してあるb_mcは1ピクセルも動いていない。

>>768
関数を
function drag(){}って定義したら呼ぶときはdrag()ね。
でもそれだと>>767の言うようにパスが違う。

forループで定義した方が簡単。( mc01って言う名前はmc1にしないとだめだけど)

for(var i=0;i<100;i++){
this["mc"+i].onPress = fStartDrag();
}
function fStartDrag(){
this.startDrag(true)
}
771Now_loading...774KB:2006/12/16(土) 18:22:23 ID:Xcf8FKc9
誰か>>760に答えてください・・・。
それともすごい変なことを聞いているのでしょうか・・・?
772Now_loading...774KB:2006/12/16(土) 18:49:27 ID:+tePI6gy
>>770さん、
ありがとうございます。
rootではMCを動かさない方がいいと聞いたのですが、この場合
どうすればいいのでしょうか?
もう一つMCをあいだに挟むということでしょうか。
773768:2006/12/16(土) 19:56:47 ID:7Xc5p744
>770さん
レスありがとうございます。

試してみたのですが、ステージ全体がマウスにくっついて
動いてしまいます。
スクリプトを書く場所が違うのでしょうか。

i = "01";
_root["mc"+i].onPress = drag();
trace("onPress = drag();");

function drag(){
this.startDrag(true);
trace("function();");
}

をMCが配置されているレイヤーに記述しました。
実行すると、

function();
onPress = drag();

と出力されます。
774Now_loading...774KB:2006/12/16(土) 21:56:40 ID:oUopIQBw
教えてください。
Flash上に「ここを押すと○○○の詳細を表示します」を表示して
(○○○の部分は可変)
その文字上をクリックすると次のページへ…とやりたいのですが、
TextFieldにその文字を設定するだけでは、幅が固定されているので
文字数が変わったときに幅があふれたり、文字数が少ないときに不要な部分までリンクになってしまいます。

任意のフォントで任意の文字列を表示するときに、
それがどの程度の幅・高さを必要とするか調べる方法はないでしょうか?
iアプリなんかだとfontクラスというのがあるのですが。
775Now_loading...774KB:2006/12/16(土) 23:45:10 ID:wxU6/0dg
>>772
a_mcとb_mcを線でつなぐんじゃなくて
a_mcと[b_mcの中身の動いているmc]を線でつなげばいいんじゃない?

>>773
書き間違えでした。

× _root["mc"+i].onPress = drag();
○ _root["mc"+i].onPress = drag;

dragの後ろの()は必要なかったわ。
776Now_loading...774KB:2006/12/16(土) 23:52:29 ID:wxU6/0dg
>>774
文章の長さにあわせてテキストの長さを変えてあげるか、
「ココを押すと」の部分をmcにしてattachMovieするとか。
777773:2006/12/16(土) 23:58:17 ID:7Xc5p744
>775さん
できました!!! 嬉しいです。
これでコードに修正があっても楽勝になりました。
多謝です。
778Now_loading...774KB:2006/12/17(日) 00:05:37 ID:xtRy7a3z

テキストの高さと幅については、この情報が参考になるだろうか。
ttp://livedocs.macromedia.com/flashlite/2_jp/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts_wEcute&file=00000855.html
779758:2006/12/17(日) 00:41:56 ID:4YwAV0om
 >>759
クラスを保存してあるディレクトリへのクラスパスは環境設定で指定してあるんだよね。やっぱり仕様なのかもね。
780Now_loading...774KB:2006/12/17(日) 01:42:51 ID:BnzHcD4x
詳しい方ご教授ください。。

getURLでcgiファイルに2つの変数を渡したいのです。

on(release){
getURL("test.cgi","","GET");
}

と書くと、2つとも変数を渡せたのですが、GETをPOSTにすると、
どうやら片方しか渡してないみたいです。

原因は何なのでしょうか?
781759:2006/12/17(日) 03:14:34 ID:Iln48Bnw
>>779
>>759で出来たけど。こういうことじゃないの?

適当なフォルダ
 ├ flaファイル
 ├ somePackage (フォルダ)
   ├ クラスファイル MyClass

リンケージ設定でMyClassを割り当てる。これでパブリッシュすると
「クラス 'MyClass' がロードされませんでした。」
とエラーメッセージ。
(↑これをなんとかしたいって質問だと思ったんだけど違ったらごめんよ。)

[パブリッシュ設定]-[Flash]タブ-[設定]ボタンから絶対パスでクラスパスを指定。
D:\適当なフォルダ\somePackage コンナ感じ。

パブリッシュで(゚д゚)ウマー だったよ。

環境はFlashMX2004pro
782Now_loading...774KB:2006/12/17(日) 03:15:23 ID:Iln48Bnw
>>780
cgiとやりとりするならLoadVarsクラスを使ったほうがいい。
783Now_loading...774KB:2006/12/17(日) 05:43:55 ID:BnzHcD4x
>>782
夜分遅く回答ありがとうございます。
製作環境を明示していませんでした。。申し訳ありません。
Flash Liteで書き出し、携帯端末のデータフォルダ内で実行しているため、
LoadVarsが使えないのです。そこでgetURLでcgiに変数を渡すのですが、
POSTだと何故か>>780のような現象が起こるのです…。
784777:2006/12/17(日) 07:08:00 ID:NZ4NkhrB
>777で、できたと書いたのですが……問題が発生しました。

for ( i=1; i < 100; i++ ) {
if ( i < 10 ) { t = "0" + i; } else { t = i; }
_root["m"+t].onPress = drag;
_root["m"+t].onRelease = drop;
}

function drag(){ this.startDrag(true); }

function drop(){
this.stopDrag();
_global.num++;
newName = this._name+"_"+_global.num;
this.duplicateMovieClip(newName, _global.num);
}
 
上記のASをステージのactionレイヤーに書きました。
m01〜m99のMCには何も書いていません。
↑にあるように、ドラッグ時にMCを複製する仕様なので、現在のAS
のままだと複製されたMCが動きません。。。
m01〜m99のMCにfunctionを動かす記述をしてみたのですが、

on (press) { drag(); } or on (press) { drag; }
on (release) { drop(); } or on (release) { drop() }

だと動きませんでした。
複製されたMCも同じように動かすには、どのように書けばよいので
しょうか?
785Now_loading...774KB:2006/12/17(日) 07:50:05 ID:iRQFX4DK
>>775さん
ありがとうございました!
ようやくつながりました〜。
感謝します!
786Now_loading...774KB:2006/12/17(日) 07:53:03 ID:Uv5mRwJZ
>>784
ボタン自身を複製することはできないので、
MovieClipの中にボタンを作って引数でメソッドに受け渡して。
変数定義も忘れずに。

_global.num = 0;

function drag(mc:MovieClip) :Void { mc.startDrag(true); }

function drop(mc:MovieClip) :Void {
mc.stopDrag();
_global.num++;
newName = mc._name+"_"+_global.num;
mc.duplicateMovieClip(newName, _global.num);
}

on (press) { _root.drag(this); }
on (release) { _root.drop(this); }
787784:2006/12/17(日) 10:06:20 ID:NZ4NkhrB
>786
回答ありがとうございます!
これから試してみたいと思います。
(理解するのに時間がかかりそうなので。。。)
788Now_loading...774KB:2006/12/17(日) 13:30:12 ID:24mLtf9h
線をサウンドのエフェクトの様にランダムに波打たせるにはこれから何を使えばいいのでしょうか?
どなたかアドバイスだけでもお願いします。
onClipEvent (load) {
this.lineStyle(1, 0x666666)
this.moveTo(10,10);
this.lineTo(400,10);
}
789Now_loading...774KB:2006/12/17(日) 16:11:58 ID:Cj0NyiLW
質問ですー。
8からcolorオブジェクトが非推奨になったので
var trans = new flash.geom.Transform(obj);
var color = new flash.geom.ColorTransform(1,1,1,1,100,100,100,100);
trans.colorTransform = color;
のようにカラー設定をしているのですが、以前にあった色情報を取得する getTransformに当たるものがないので
var i = 0;
for(var cl in trans.colorTransform){
 iro[i] = trans.colorTransform[cl]
 i++;
}
みたいに地味に情報を取得しているのですが、もっとスマートに取得する方法はないでしょうか?
教えてください。
790Now_loading...774KB:2006/12/17(日) 19:58:26 ID:MBu7kFmc
名前:
E-mail:
内容:
質問です
onClipEvent (load) {
_x = 0;
_y = 0;
ido =3;

}
-
onClipEvent (enterFrame) {


if(_x==60){counter++;
instance_name = "gazo" + counter; //インスタンス名
sindo = 1000 + counter; //深度はカウンターの数字を利用
_root.gazo.duplicateMovieClip(instance_name,sindo);}

_x += ido;

}

@○→
     _x=60
A○ → ○ →
_x=60
B○ → ○ → ○→

このようにスプライトを複製して上の図のような動きを作りたいのですがうまくいきません。
教えてください。
791Now_loading...774KB:2006/12/17(日) 20:00:06 ID:MBu7kFmc
↑上のは間違いです、すみません

onClipEvent (load) {
_x = 0;
_y = 0;
ido =3;

}
-
onClipEvent (enterFrame) {


if(_x==60){counter++;
instance_name = "gazo" + counter; //インスタンス名
sindo = 1000 + counter; //深度はカウンターの数字を利用
_root.gazo.duplicateMovieClip(instance_name,sindo);}

_x += ido;

}

@○→   進行方向
     _x=60
A○ → ○ →  進行方向
  
B○ → ○ → ○→  進行方向

このようにスプライトを複製して上の図のような動きを作りたいのですがうまくいきません。
教えてください。
792Now_loading...774KB:2006/12/17(日) 22:27:04 ID:Cj0NyiLW
とりあえず、新しくduplicateしたMCの挙動もつくってあげないといけないよ。
自分をコピーしたからって、onClipEvent (load)とかまでコピーしてくれないのさ。
793Now_loading...774KB:2006/12/17(日) 22:28:37 ID:f6jowKOs
>>791
if ( _x==60){}
ってのはx座標がジャスト60のときって意味で
61でも60.1でもダメ。そこらへんも大丈夫?
794Now_loading...774KB:2006/12/17(日) 23:53:28 ID:0yZ7zo8F
gotoAndPlayについて、教えてください。
飛び先にラベルを指定しているのですが、ラベル名のついたフレームで静止してしまい、後のムービーにつながってくれません。
なにか特殊な設定をする必要があるのでしょうか?

ローディング画面から、本編のムービーに飛ばしたいです。

_root.onEnterFrame = function() {
if (_framesloaded>=_totalframes) {
gotoAndPlay("done");
}
total = _root.getBytesTotal();
loaded = _root.getBytesLoaded();
percent = Math.floor(loaded/total*100);
_root.bar_mc._xscale = percent;
updateAfterEvent();
};
stop();
795794:2006/12/18(月) 00:18:46 ID:yfAM5IbI
自己解決しました。。
796Now_loading...774KB:2006/12/18(月) 09:02:51 ID:wtba1LDr
おはようございます
基本的な質問スレかこちらに描くべきか迷いましたが、一応アクションスクリプトのことなのでこちらにかかせてもらいました

ステージ上にmc_Aがあります。こいつは
on (press) {
this.startDrag();
}
on (release, releaseOutside) {
this.stopDrag();
}
とドラッグで自由に動かせるようにしています。

他にステージ上にはmc_Bがあり、Bのほうは最初は見えなくて
ボタンを押すと浮き出てくるようにしています。

ボタン押してmc_Bが浮き出てきた後
Aのほうをドラッグして移動させると
Bも浮き出てきた場所から一緒にAと連動させれることって可能ですか?
可能でしたらご教授のほうお願いいたします。

日本語が下手で申し訳ないです。
つまりはmc_Bがmc_Aと連動していて、mc_Aを動かしたらmc_Bも動いてほしいのです。(うまく説明ができない・・・
797Now_loading...774KB:2006/12/18(月) 11:15:21 ID:IXR9ZkZt
>>796
//mc_a と mc_b を配置したタイムラインに書く
function moveTogether(a:MovieClip, b:MovieClip) {
oldX = nowX;
oldY = nowY;
nowX = a._x;
nowY = a._y;
diffX = nowX-oldX;
diffY = nowY-oldY;
b._x += diffX;
b._y += diffY;
}
mc_a.onPress = function() {
this.onMouseMove = function() {
moveTogether(this, mc_b);
};
this.startDrag();
};
mc_a.onRelease = mc_a.onReleaseOutside=function () {
delete this.onMouseMove;
this.stopDrag();
};
798Now_loading...774KB:2006/12/18(月) 13:17:04 ID:ksPJcINf
教えて下さい m(__)m 。 Flash8使用です。xmlデータで画像スライドを製作中です。
blog_XML = new XML();
blog_XML.ignoreWhite = true;
blog_XML.onLoad = function(success) {
if (success) { // xml読み込み成功なら... 
var err = this.status;
if (err == 0) { // 読み込みエラーがなければ...
・・・・・・・・ // 読み込んだxmlのデータを処理   
} else { // 読み込みエラーがあれば...
_root.message.text = "analysis:err"+err;
stop();
}
} else { // xml読み込み失敗なら...
_root.message.text = "load:err"+err; ←☆☆☆
stop();
}
};
blog_XML.load("http://blog.xxx.ne.jp/xxx/index.xml");
Flash8上でのムービープレビューやパブリッシュプレビューではxmlを読み込むのですが、
Flash Player上やsite上では読み込まず、Flash Playerでは接続の安全上の理由で停止と表示され、
☆☆☆のところでerr==undefinedが出ます。site上でスーパードメインは一致していて、
また自分がblogに上げた画像を読み込むだけなので、著作権等の問題はないと思うのですけど...
何かスクリプトを追加した方がいいのでしょうか、ご教授お願いします。
799Now_loading...774KB:2006/12/18(月) 16:29:59 ID:Dh2hnMC3
質問させてください。
ある変数を消去するにはどうすれば良いのでしょうか。
環境はFlash lite 1.1です。(Flash 4相当)
800Now_loading...774KB:2006/12/18(月) 16:57:17 ID:e+whTpoy
>>798
読み込み失敗の時にerr変数が定義されていない。
>>799
消去というか、もう少し具体的に言ってくれないとわからん。
つか、消去する必要性ってあるの?
801799:2006/12/18(月) 19:21:20 ID:Dh2hnMC3
>>800
回答ありがとうございます。質問を言い換えると、

たとえば、
name=太郎;
score=1000;
time=0;
coin=100;
などの変数が存在したときに、getURLで、cgiへ変数を送信したいのです。
このとき、nameとscoreのみを送信したのですが、どうすればよいのでしょうか?

以下ボタンアクション
on (release, keyPress "#") {
getURL("http://www.hoge.com/hoge.cgi", "", "POST");
}

802Now_loading...774KB:2006/12/18(月) 20:40:20 ID:4UTOLmBn
ボタンreleaseで、読み込んだ直後の初期状態に戻すという動作をさせたいのですが、
フレームはstopさせているのでgotoandstop(1)は使えません。

座標を変えたシンボルや読み込んだ画像など、とにかく最初の状態に戻すという命令はありますか?
803Now_loading...774KB:2006/12/18(月) 20:50:28 ID:lHs1l7gn
>>802
getURL("javascritp:location.reload();");
804Now_loading...774KB:2006/12/18(月) 21:28:08 ID:901jUvi6
>>802
フレームを一つ増やしてそこでthis.stop()させとけば、gotoAndPlay(this._currentframe-1)は使えるでしょ。
それだけじゃ不十分かもしれんが、状態を初期化したいならそれを前提に設計するしかない。
ASですべてをもとの位置に戻していらない画像は非表示にしたりunloadするとかの仕組みを自分で作る。
805Now_loading...774KB:2006/12/19(火) 00:18:37 ID:yUJhFPxx
スイマセン、すげえ初歩的なんですが、今までやってて自分の知ってる挙動で
動かなくて困ってます。
こんなことなかった気がするので質問させていただきます。

onEnterFrame = function(){
now = new Date();
hoge = now.getSeconds();
_root.mes.text = hoge;
trace(hoge);
}
this.stop();

とだけ書いたflashを作って
ダイナミックテキストのmesというものにhoge秒を入れようとしているの
ですが、traceでは秒数が更新されているのに、textでは最初の一回を表示
しただけで止まってしまいます。
script部分のenterFrameではtextって更新されないのでしたっけ?
今までloadingbar等作っていた時、ちゃんと動いていた気がするのです。

Flashの設定等でおかしいところがあるのでしょうか。
アドバイスいただければ幸いです。
806Now_loading...774KB:2006/12/19(火) 00:23:41 ID:yUJhFPxx
↑Flash8です
807Now_loading...774KB:2006/12/19(火) 00:24:18 ID:jWPCEMsY
FlashからASPに変数の値を渡す方法を教えてください。
ASPのプログラムはVB.NET言語で記述してあり、単体では動作している状態です。
その入力画面をFlash化したいと思い、そのためにFlashからASPへ値を渡す必要があります。
値を渡して表示するだけではなく、その値を元に計算をしたいので、
板違いかもしれませんが、できればVBの変数に代入するところまで教えていただきたいです。

環境はFlashMXでOSはWindowsXPです。ASP2.0のWebDeveloperを使っています。
使用言語はVisualBasic.NET言語です。
回答よろしくお願いします。
808Now_loading...774KB:2006/12/19(火) 01:21:19 ID:xt463zRC
質問です。
ASを書くとこにHTMLの<!-- -->みたいに
注意書きとか書いておきたいんですけど、
どうすれば??教えてください。
809Now_loading...774KB:2006/12/19(火) 01:32:20 ID:cg2aX2RR
>>807
LoadVarsクラスでPOSTかGETで送ってやって、asp側で取得する。
ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=31774&forum=6
コンナ感じでない。

>>808
一行なら //
複数行なら /*  */
810Now_loading...774KB:2006/12/19(火) 01:49:27 ID:kDNgG/MZ
>>801
別のスコープでgetURLをすればよいと思うよ。
obj = new Object();
obj.name=name;
obj.score=score; で
obj.getURL(〜)とかなんとか
でもgetURLに引数としてobjをいれるんだったかもしれない。

>>805
動き始めからフレームを移動したせいで
テキストフィールドの名前が変わってたり消えたりしてない?
trace(root.mes)やtrace(root.mes.text)もしてみるといいよ。
811808:2006/12/19(火) 03:09:21 ID:xt463zRC
>>809
ありがとう!
812Now_loading...774KB:2006/12/19(火) 05:10:34 ID:C3JtUcqJ
ボタンのことで質問です。Flash8PRO使ってます。
1回目のクリック→ムービークリップのmc1をattachまではできるんですが
2回目はmc2をattach
3回目はmc3を・・・、という風にやりたいんですが変数を使ってみてもいまいち
使いこなせなくて・・・、どうすればいいんでしょうか。お願いします
813Now_loading...774KB:2006/12/19(火) 06:32:41 ID:kDNgG/MZ
i = 回数
attachMovieClip("mc?の元","mc"+i,適当な深度数値+i);
みたいに、名前と深度に通し番号つけないといけないよ。
814812:2006/12/19(火) 06:53:02 ID:C3JtUcqJ
>>813
//mc_Aは仮です

on (press) {
this.mc_A._alpha = 100; //attachは使わず、アルファの調整で出現させるようにしました

}
リスナー使ってみましたが、ボタンではなく画面ぜんたいのクリックを反応してしまってうまくいかず・・・

if文でも無理でした。どうしたらよろしいですか?
815Now_loading...774KB:2006/12/19(火) 07:13:03 ID:C3JtUcqJ
>>814の補足です。
on (press) {
this.mc_A._alpha = 100; //attachは使わず、アルファの調整で出現させるようにしました

}

クリック1回目だと上の工程でmc_Aが出てきます。
そしてもう1回同じボタンを押したら
mc_Bのアルファ値を変更させれないですか?という質問です。
816Now_loading...774KB:2006/12/19(火) 07:28:14 ID:kDNgG/MZ
>>814
それはどこに書き込んでるの?
on(〜)のスクリプトはフレームとかじゃなくてボタンに書き込まないといけないよ。

pressした回数(=i)を保持しておいてon(press){〜}の中に
i++;
// 1回目
if(i==1){
 this.mc_A._alpha = 100;
}
// 2回目
if(i==2){
 this.mc_B._alpha = 100;
}
・・・
みたいにすればどうかな。
817Now_loading...774KB:2006/12/19(火) 07:29:36 ID:PCn4U/QC
>815
_root.btnAを押して_root.mc_A._alphaを変化させる
_rootの1フレーム目に書く

i = 0;
mcList = ["mc_A", "mc_B"];
btnA.onPress = function() {
this._parent[mcList[i]]._alpha = 100;
i++;
};

813の言ってること調べれば応用でいろいろ出来る
それと、アドバイスには返事した方が近道だよ
818Now_loading...774KB:2006/12/19(火) 07:34:56 ID:C3JtUcqJ
>>816
あ、ボタンのところに書いてます。
試して見ます!
1回目のアドバイスが無駄になってしまい、申し訳無いです・・・。

>>817
早朝からレスありがとうございます。
こちらも試してみようと思います!
819812:2006/12/19(火) 07:59:52 ID:C3JtUcqJ
>>ID:kDNgG/MZ
できました!

>>ID:PCn4U/QC
メモっておきます!

早朝からご迷惑かけました。
本当にありがとうございます。
以下名無しに戻ります
820Now_loading...774KB:2006/12/19(火) 08:18:08 ID:8BQBfDTE
>>805
そのコードをコピペしたらちゃんと動いているよ
やりたいことは、trace結果と同じように
処理の履歴をmesに表示したいのかな?

だとしたら
_root.mes.text = hoge;

_root.mes.text += hoge+newline;
とかに変更してみたらどーでしょう
821Now_loading...774KB:2006/12/19(火) 11:03:40 ID:ffiwaoif
こんにちは。
Flashにて動的なフォトギャラリーを作りたいのですが、
参考になる書籍や、ウェブサイトなどはありますか?
無精なんで更新が楽な方が良いのですが・・・。
MacOSX 10.4.6 FlashMX です。

理想としては、外部の寒ネール読み込み→サムネールクリック→本画像読み込み
のような感じで、箇所箇所でアニメーションさせたいです。

宜しくおねがいします!
822798:2006/12/19(火) 11:04:44 ID:bER1YbNm
自己解決しました。ドメインが完全一致していない場合、
ポリシーファイルなどで許可されていないと、
flash playerがxmlを読み込もうとしないようです。
で、phpなどを間に挟めば回避出来るようです。
823Now_loading...774KB:2006/12/19(火) 12:45:04 ID:PCn4U/QC
>821
Flash製作初心者の質問スレッド レイヤー35
ttp://pc8.2ch.net/test/read.cgi/swf/1163236142/
824Now_loading...774KB:2006/12/19(火) 18:45:28 ID:D0MUTQ6o
ver9のswfにver5のswfを読み込んだ際に
ver5のswfから_root.関数名という感じで関数が呼び出されるのを
ver9のswfにて認識することができません。
何か方法があるのでしょうか。

「警告 : onSetFocus は関数ではありません」
こんな感じでエラーが出ています。

ver6とかでしたらその関数を_rootに相当するところに用意したら
認識できていたのですが。


一応環境はeclipseのantでflex2ビルドをかけているという状態です。
うまく説明できなくてすみません。
825Now_loading...774KB:2006/12/20(水) 17:06:31 ID:9Y1ko84T
FLASH MX(version 6.0) です。

PC のシステム時刻が、ある時刻になったら、何か処理するような
事をやりたいのですが、方法があれば教えてください。

例えば 10:00、 12:30、15:00 になったら、関数が呼ばれるように
時間をトリガにイベントを発生させたいのですが、方法があれば
アドバイスをお願いします。

もし、そのものずばり、がなくても、1日24時間動き続ける FLASH となりますので、
ある時間間隔(5分間隔など)で関数を呼び出すような方法でもなんとかなると
思います。

アドバイスのほどよろしくおねがいします。
826Now_loading...774KB:2006/12/20(水) 17:14:10 ID:0tt2Nw6c
>>825
以前に同様な質問にsetIntervalを使って、毎分とか毎時間ごとに時刻チェックをすれば
良いってレスしたけど、違う人なのかな。やり方解らないとかだったらそう言っておくれ。
827Now_loading...774KB:2006/12/20(水) 17:25:22 ID:orI7gaF7
FLASH 8使ってます。質問なのですが、

オールFLASHで制作されたWEBサイトってスクロールができないですよね・・・?

コンポーネントをひとつも使わず自作ムービークリップのみで製作したり、
パブリッシュする時に背景を透過するとスクロールは出来ますが・・
前者ではシステム的なFLASHを制作できないし、
後者ではSWFが、既知の変な挙動を起こします。(IMEが効かなかったり異常な重さになる)

でもWEB制作会社が作ったフルFLASHのサイトを見ると、
思いっきりテキストエリアのコンポーネントを使っているのに
縦スクロールが出来ていて、挙動もおかしくないです。これはどのようにしているんでしょうか?

参考[MoneyKit]
ttp://moneykit.net/visitor/demo/PTOP0000.html

テーブルで囲ってみたり、ポジションで透明の画像をSWFの前に貼ってみたりと
色々してみたのですが、どうしてもスクロールが出来ません。

スクロールを有効にする方法をご存じの方がいれば、ご教授お願いします。
828Now_loading...774KB:2006/12/20(水) 17:55:46 ID:0S+Tnmf3
>>827
どこのどういうスクロールだよ
オレ用語で勝手に話を進めるな
ブラウザのスクロールバーのことか?それともScrollPaneの挙動のことか?
どっちにしてもそんな変な挙動に悩まされたことはないけどな
829Now_loading...774KB:2006/12/20(水) 23:19:04 ID:uOmaD6DK
>>828
macromedia謹製コンポーネントを使うと、
スクロールがそっちに取られちゃって、ブラウザ(HTML)のスクロールが出来ない件でしょ。
ぼちぼち有名。
830Now_loading...774KB:2006/12/21(木) 00:01:18 ID:QsB2bqbU
>>829
それって古いIntelliPointで起きるやつ?もう改善されてるんじゃないの?
違うとしたら解決方法は?有名かどうかより解決方法が重要だろ。
831Now_loading...774KB:2006/12/21(木) 00:08:48 ID:Iyzu7SXJ
っていうか>>827の参考サイトはどこもスクロールしてないけど・・・?
作りかけなのかボタン押しても反応少ないけど。
832Now_loading...774KB:2006/12/21(木) 00:41:36 ID:WPOjVa4j
>>831
マウスのグリグリでスクロールってことでしょ?
Flash操作中でもスクロールできる。

>>827が言っているサイトはコンポーネントっぽいけど
自作したもの使ってるんじゃない?

っていうかコンポーネント使わないとシステム的ナFlashを制作できないって何故?
デザインが・・・って話ならコンポーネント置いて拡大表示して真似て作ればそれっぽくなるし。
動作のことならAS使えば出来る。
833Now_loading...774KB:2006/12/21(木) 01:08:27 ID:pfmiGaLA
マウスのグリグリの件は、疑問点はボチボチ見つかるけど
回答なしか、「仕様だから仕方ないんじゃね?」って感じだなぁ。
ttp://spfdesign.com/blog/archives/entries/000186.html

もうちょいちゃんと調べたら、どっかに解決策載ってるのかなー。

>>827
独自でコンポーネント作ればイイジャン。
834Now_loading...774KB:2006/12/21(木) 11:01:49 ID:OK6BaZNF
>>827
おれがいた
おれもそのサイトしってておかしいと思ってたんだが
やっぱりJavascriptか自作コントロールなのかね〜

>>832
おれの作り方が悪いのかもしれんが
コンポーネント自作って大変じゃない?
あのプロパティをちまちま作る作業がもう・・・
二度としたくないんだが('A`)
835Now_loading...774KB:2006/12/21(木) 11:32:13 ID:Iyzu7SXJ
むむ。
>>827
ttp://moneykit.net/visitor/demo/PTOP0000.html
のどこがスクロールするの?話についていけない。。。
836Now_loading...774KB:2006/12/21(木) 15:38:40 ID:aNcLcwGw
FLASH MXですがswfと同じフォルダにある、wmvをswfの中で再生したいのですが
方法を御存知の方がいらっしゃれば御教示ください。
(swf の中に wmv を取り込むのではなくて、外部ファイルを読み込んで再生したい)
837Now_loading...774KB:2006/12/21(木) 15:51:13 ID:pfmiGaLA
>>836
無理。
「外部の動画ファイル」っつー意味合いで言うと、FLVしか対応してません。
838836:2006/12/21(木) 16:07:24 ID:aNcLcwGw
>>837
情報ありがとうございます。できないのですね。
ちなみに、最新版ではできるか調べてみましたが、
これもよくわかりませんでした。大変すみませんが、
これは、最新版のFLASHでも同様に、外部の動画ファイルを扱うには、
FLV しか対応していないでしょうか?
839Now_loading...774KB:2006/12/21(木) 16:13:15 ID:kHPcB3zJ
うん
840Now_loading...774KB:2006/12/21(木) 17:29:00 ID:VeKc/Gwj
841Now_loading...774KB:2006/12/21(木) 18:16:47 ID:OK6BaZNF
>>835
普通はコンポーネント使うと
マウスホイールか矢印キーを使ったブラウザのスクロールが出来ない

ANAのサイトにあるフルフラッシュの席予約システムとかと見比べると分かる

まぁWEB制作会社がフルフラッシュのサイトを作るとき
よくブラウザのスクロールバーをCSSで消すが、これが原因のひとつにもなってる。
まぁ縦に長いFlashなんて気持ち悪いし、ステージ伸ばせないしとか、他にも色々理由はあるが

ちなみに俺は対処法はJavascriptと、面倒だが自作コントールの2つしか知らん。
他に何かあるなら教えてくれ
842Now_loading...774KB:2006/12/22(金) 19:42:53 ID:5eE+azx6
初歩的な質問かもしれませんが
よろしくお願いいたします。

コンポーネントのmediaDisplayを使い、ムービー制御をしているのですが、
ここに配置したムービをスクリプト上で、止めたい(ストップ)のですが
どう記述するか、お教えください。

また、止めた後に再び再生したいのですが、
合わせてお願いいたします。

flash2004MXです
843Now_loading...774KB:2006/12/22(金) 20:21:51 ID:kynwAOXM
質問です
文字列のn番目の文字を別の文字に変更したいのですが
どのようなスクリプトにしたらよいでしょうか?

var bun=゙あさうえお゙;
var moji=゙い゙
(bunの2番目の文字をmojiに変更して以下のような内容にしたい)
moji=゙あいうえお゙;
844Now_loading...774KB:2006/12/22(金) 21:43:53 ID:7X6IVltB
>>843
var bun="あさうえお", moji="い";
moji = bun.substr(0, 1)+moji+bun.substr(2);
845Now_loading...774KB:2006/12/23(土) 01:45:19 ID:9Seiyk78
フラッシュのタイムラインでバナーを作成しました。
これに、
偶数秒にアクセスしてきた人をindex.html
奇数秒にアクセスしてきた人をindex2.html
にとばすことはできますか。
846Now_loading...774KB:2006/12/23(土) 02:08:55 ID:94hgB6uz
>>842
playとpause
そういう基本的なことはヘルプ見たほうが早い。
ヘルプの[Flashコンポーネントガイド]-[コンポーネント辞書]-[メディアコンポーネント]

>>845
ローカル時間でいいなら、Date.getSeconds()
847Now_loading...774KB:2006/12/25(月) 14:40:18 ID:SELTkFmC
EXE形式に publish した場合、外部テキストファイルの読み込みや、
外部のムービー(FLV)の読み込みができないのですが、
EXE形式の場合は、このあたり何らかの制限があるのでしょうか?
848Now_loading...774KB:2006/12/25(月) 15:08:14 ID:nqr9g0MP
exeの場合、読み込み先のパスに2バイトが含まれると問題が起きたはず
パスは1バイトのみになってる?
849Now_loading...774KB:2006/12/25(月) 15:44:28 ID:SELTkFmC
>>848
ビンゴでした。パスに2バイト文字列が含まれていない環境で動かしたら
正常に動作しました。ありがとうございました。
850Now_loading...774KB:2006/12/25(月) 18:30:45 ID:ldBTwD3B
FLASH8 です。
ダイナミックテキストに表示する文字のフォントについて質問です。
ダイナミックテキストのフォントサイズを表示する文字列に最適になるように
自動で処理(設定)する事はできますか?

例えば、ダイナミックテキストに表示する文字列が「あいうえおかきくけこ」
の場合は、「あいうえお」を表示する時より自動的にフォントサイズを
小さくする。

たくさん表示したい時は、たくさん表示できるようにフォントサイズを小さくし、
少しだけ表示したい時は、大きなフォントで表示する。

説明が下手糞ですみませんが、上記行なう方法があれば教えてください。
851Now_loading...774KB:2006/12/25(月) 19:32:10 ID:ZUZwRy8J
ライブチャットのようなチャットシステムを作りたいのですが、
まず何から始めればよいのでしょうか

適当に使いそうな関数を教えてください。
適当すぎたらこまります。
852Now_loading...774KB:2006/12/25(月) 23:02:32 ID:4BfebsM+
>>851
Flash Communication Serverを買う。
ライブチャットって良くわからないけどCGIとかでもできるのかな?
できるならそっちの勉強した方いい。
853Now_loading...774KB:2006/12/26(火) 05:09:05 ID:tbQNyGC/
外部から読み込んだテキストを縁取り表示したいのですがどうすればできますか?
854Now_loading...774KB:2006/12/26(火) 09:14:30 ID:fcG8m8SR
特定の方向にドラッグを一定距離する度に、MCを次のフレームに進め、
また、元の方向にドラッグしたらとフレームが戻っていく、という仕掛けを作りたいんですが、
ドラッグの部分の処理をどうすればいいのかわかりません。よければ教えてください
855Now_loading...774KB:2006/12/26(火) 20:03:40 ID:7cfy65Zj
>>853
うーん、フォント埋め込んで、、、やっぱむりっぽい。普通に静止テキストでやる。
>>854
ドラッグ開始時のxy座標を記憶してとかになるとおもうけど、普通に
MC内のある領域にマウスが移動したら、フレーム移動でいんじゃないかな。
きちんと止まる様に作るのもたいへんそう。
856Now_loading...774KB:2006/12/27(水) 04:59:08 ID:pxyUj6e7
>>853
取り込んだフォントをビットマップ化してから加工とかできないかな?
857854:2006/12/27(水) 10:54:05 ID:H9g4VTsw
>>855
ありがとうございます。参考にさせてもらいます。
858Now_loading...774KB:2006/12/27(水) 16:37:21 ID:WGpiKB8q
基本的な質問スレで一回質問したのですが
基本的でもないし、どちらかといえばASの質問なのでこちらで質問させてください
getURLからjavascriptでwindow.open()をしようしたいのですが、プレイヤーとバージョンは
どこまで可能なのでしょうか?flash player ver.5では動作確認できました
よろしくお願いします
859Now_loading...774KB:2006/12/27(水) 18:17:15 ID:WGpiKB8q
追記します。

フラッシュ作ったページにはflash player8 AS2.0で開くことができましたが
フラッシュを載せてないページが開いてくれません
XP2ではちゃんと動作しないことがあるみたいなことも目にしましたがどうなんでしょう?
860Now_loading...774KB:2006/12/27(水) 18:50:24 ID:TGAUI5Zt
カウントダウンを作っているのですが、期日まで数字が無くなったら
指定のフレームに移動するよう

if( ( eventUTC - todayUTC ) <= 0 )
{
_root.count_end.gotoAndStop( 2 );
removeMovieClip( _root.count_down );
}

と作ったのですが、期日の10秒前にフレーム移動をする場合

if( ( eventUTC - todayUTC ) <= 0 )

の部分をどのようにしたらいいでしょうか?
861Now_loading...774KB:2006/12/27(水) 19:03:57 ID:WGpiKB8q
自己解決したっぽいです
ローカルでの動作とサーバーにアップしたときで違っただけみたいです
862Now_loading...774KB:2006/12/28(木) 14:28:29 ID:j0D+D78W
よろしくお願いします。

function abc(hoge){

  trace(hoge)   …@
  if(hoge){    …A
   _root.num++
   trace(_root.num)
 }
}

としたときに、

abc(_root.num==1);

と、いう具合に判定しようとしても、先に@のところでfalesに変換されてしまい、
Aのifの部分では、うまく判定してくれません。

変数で命令内容を代入して書くことは不可能なんでしょうか…?
863Now_loading...774KB:2006/12/28(木) 14:34:17 ID:0zO0UVpx
>>862
まず、コーディングの基礎からやり直すことをお奨めする

「_root.num == 1」は、「「_root.num」が「1」かどうかを判断する式
その結果が関数の引数として渡されるから、「_root.num」が「1」でなければ「false」が返って当然

文字列としての「"_root.num == 1"」をevalに渡すことで対応はできるが、そういう構造にならないように仕様を再検討することをお奨めする
864862:2006/12/28(木) 14:37:41 ID:j0D+D78W
ありがとうございます。
文字列として代入して実験してみたりもしたのですが、
文字列として代入したら、最後まで文字列扱いになってしまうので、
どうにもなりませんでした。

文字列として代入したものを、後で式として読み取ったりすることは
不可能なのでしょうか? それが無理でしたら、再検討することに致します。
865Now_loading...774KB:2006/12/28(木) 14:43:16 ID:0zO0UVpx
ごめんうそついた
ActionScriptのevalはオブジェクト名しか解決できないのか

文字列を式として展開するアルゴリズムは色々あるけど、汎用的なのは知らないなー
一発で実行できるのは、オレが知らないだけであるのかもしれない
他の知ってる方、フォローお願いします
866862:2006/12/28(木) 14:57:52 ID:j0D+D78W
一応、再検討案として考えたのは…

function abc(hoge){
 if(hoge==1)
   if(_root.num==hoge){
    trace(_root.num)
   }
 }else if(hoge==5){
   if(_root.num==hoge){
    trace(_root.num)
   }
 }else if(hoge==10){
   if(_root.num==hoge){
    trace(_root.num)
   }
 }else if(hoge==15){
   if(_root.num==hoge){
    trace(_root.num)
   }
}
}

abc(1);

みたいな感じなんですけど…。一応、これで綺麗に書けてるんでしょうか…。
867Now_loading...774KB:2006/12/28(木) 15:01:10 ID:vJXEMhik
>>862
関数

function abc(hoge){
  trace(hoge())
  if(hoge()){
   _root.num++
   trace(_root.num)
 }
}
abc(function(){return _root.num==1});
868Now_loading...774KB:2006/12/28(木) 15:09:54 ID:gkRkQdTX
MacIEのバカッ!
869862:2006/12/28(木) 15:14:25 ID:j0D+D78W
>>867
どうしてこれで動くのか、まだよく分かっていませんが、成功しました!
ありがとうございます。勉強して出直してきます。
870Now_loading...774KB:2006/12/28(木) 23:27:30 ID:Ty64kRki
すいませんくだらない質問です。

loadMovie ("aaa.swf", 1);

これを利用してFLASHを埋め込んで再生しているのですが・・・
テキストをダイナミックに見せるために画面外までに大きくひっぱってトゥイーンしてるんですが。
埋め込んだらそのはみ出ている部分も見えてしまうんです;

なんとかいい解決方法があったら教えてください;
871Now_loading...774KB:2006/12/28(木) 23:59:35 ID:xTO0l3gy
画面外ってどこですか?もしかしてモニタの外に表示されるってことですか?

マジレスするとマスクかな
872Now_loading...774KB:2006/12/29(金) 11:17:35 ID:FB5iBDCP
背景に巨大なjpg画像をおいてボタンクリックで指定した画像の座標にスクロール
+イージング移動させたいのですがスクリプトかけないので教えてください。
このサイト↓みてください
http://www.rockstargames.com/thewarriors/warriors.html
873Now_loading...774KB:2006/12/29(金) 17:30:49 ID:mHXpb0m4
かいてください
874Now_loading...774KB:2006/12/29(金) 22:15:33 ID:FB5iBDCP
872ですが
嫁が今日ママさんバレーの忘年会だった!
それなら言ってから出かけろよ!ばーかばーか俺の財布の中154円しかないよ
おなかすいたけど、晩飯がない、あーあ昨日パチスロ行くんじゃなかった。
キムチが冷蔵庫にある、お茶漬けもある、豆腐ある、野菜少々、お米はない
何も作れない俺、やばい泣きそう、嫁は酔っぱらって帰って来るんだろーなー
おしえれ
875Now_loading...774KB:2006/12/30(土) 23:27:14 ID:xHLOnJWQ
そんな家庭の事情など知らん。
ちなみにオレは拠り所がなにもないので一人で夕飯作ってる。
家に帰っても誰もいないし部屋は常に真っ暗。仕事以外に生きがいがない。
そんなオレからのアドバイス。

ある程度スクリプトの勉強をして、
何を教えて欲しいのか、といった質問ができるようにしてください。
876Now_loading...774KB:2006/12/31(日) 01:54:28 ID:qLFfMWB5
ダイナミックテキストの上でクリックしても、
テキストが反転しないようにするにはどうすればよいでしょうか
877Now_loading...774KB:2006/12/31(日) 02:01:03 ID:HyH5uLeD
>>876
プロパティパネル内に選択させるかどうかの設定がある。
878Now_loading...774KB:2006/12/31(日) 02:23:59 ID:qLFfMWB5
>>877
おー、見逃してました。
どうもです。
879Now_loading...774KB:2006/12/31(日) 17:36:35 ID:/UEb3M1U
環境:Flex SDK(asファイルのみのコンパイル)
やりたいこと:swfへのflv埋め込み&再生

おねがいします
880Now_loading...774KB:2007/01/01(月) 22:39:41 ID:Q/MUuwQ1
すまん。誰かこのフラッシュに使われてる洋楽とアニメ教えてくれ。
ttp://29g.net/html/a092805.php
何回もすまん。
881Now_loading...774KB:2007/01/02(火) 00:37:06 ID:9AVzgnAP
>880
すまんあんて微塵も思ってないだろw
スレ違いだ他あたってくんねぇ
882Now_loading...774KB:2007/01/02(火) 02:15:23 ID:Fu/XFUic
すみません。質問です。
URLエンコードしてものをテキストファイルに出力する
⇒テキストファイルを開く
そうすると、
テキストファイルにはいってるのは、
エンコードされる前の文字列になるんですか?

883Now_loading...774KB:2007/01/02(火) 10:38:26 ID:8AJKuHeq
>>881すまんかった
884Now_loading...774KB:2007/01/02(火) 18:01:53 ID:fuh2lKmd
WinXP、Flash Professional8で制作しているのですが、hitTestが思うように機能してくれず困っています

ttp://kossie.run.buttobi.net/cgi-bin/up/src/kos0479.zip.html
(DLP:as)

スクリプトの記述状況は上のflaファイルの通りです
「block1(インスタンス名)がplayer(インスタンス名)に当たったら次のフレーム(miss)に飛ぶ」
という流れを想定しているのですが、block1にplayerが当たっても何も起こらないといった状態です
hitTest関係のスクリプトはblock1に記述しています

宜しければ、何方かご教授お願いします
885Now_loading...774KB:2007/01/02(火) 19:09:04 ID:9AVzgnAP
>884
hitTestかフレームに飛ぶのかどちらが実行できてないの?
trace("test");
でも入れて問題の切り分けしたらどうよ
886884:2007/01/02(火) 19:30:29 ID:fuh2lKmd
>>885
どちらが、というか「指定したフレームに飛ばないので、hitTestが機能していない」という意味で書いたんですが・・・

onClipEvent(enterFrame){
       if (this.hitTest(_root.player._x,_root.player._y,true)){
              _root.gotoAndStop(miss);
       }
}

block1に書いたスクリプトは上の通りです
887Now_loading...774KB:2007/01/02(火) 19:34:07 ID:2Dy+i9PL
miss
"miss"
888884:2007/01/02(火) 19:39:13 ID:fuh2lKmd
>>887
ちゃんと機能しました。有り難う御座います。
gotoAndStopでフレーム名を指定する時は""が必要だったんですね・・・
889Now_loading...774KB:2007/01/02(火) 19:50:38 ID:9AVzgnAP
問題を切り分けする意識を持つほうが早いお
890884:2007/01/02(火) 20:03:43 ID:fuh2lKmd
>>889さんもアドバイス有り難う御座います
891Now_loading...774KB:2007/01/03(水) 17:53:38 ID:1VF7y19w
重複スレに誤爆してしまいました

外部から変数読み込むFlash作ったんだけど、
外部ファイルの値が変わっても、Flashで表示される値は変わらない。

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

解決する方法を教えてください
892Now_loading...774KB:2007/01/03(水) 18:16:19 ID:wbv6Lzo2
>891
キャシュを回避するためにファイル名のおしりにランダム要素を加えます
filename = "test.jpg"+"?"+Math.random(1000);
893Now_loading...774KB:2007/01/03(水) 19:16:49 ID:bt6ZMPmc
得点を表示させようと思ったのですが、何故か初期値が表示されず得点が加算されてもNaNと表示されてしまいます

・テキストフィールド
インスタンス名はscore
形式はダイナミックテキスト

・フレームのスクリプト
onLoad = function(){
       _global.point = 0;
       _root.score.text = 0;
}

・得点アイテムのスクリプト
onClipEvent(enterFrame){
       if (this.hitTest(_root.(操作キャラのインスタンス名)._x, _root.(操作キャラのインスタンス名)._y, true)){
              _global.point = point + 100;
              _root.score.text = point;
       }
}

問題点が分かる方が居ましたらお助け願います
894Now_loading...774KB:2007/01/03(水) 19:52:17 ID:XoA4jDSJ
>>893
pointを初期化していないからじゃない?
895Now_loading...774KB:2007/01/03(水) 20:16:53 ID:1VF7y19w
>>892
なるほど!とんです。
896893:2007/01/03(水) 20:33:43 ID:bt6ZMPmc
>>894
onLoad = function(){
       _global.point = 0;
       _root.score.text = 0;
}

これでpointの初期化と得点の初期値表示をしているつもりなんですが、これでは駄目ということでしょうか?
897Now_loading...774KB:2007/01/03(水) 20:51:50 ID:Pr+xi8gY
>>896
onClipEvent(enterFrame){ ...
の中の右辺のpointには何で_glovalをつけてないの?
898Now_loading...774KB:2007/01/03(水) 21:10:26 ID:nDsYdH5o
こんにちわ、さっそくですが質問させていただきます。
「A.swf」「B.swf」「C.swf」というファイルがありまして
A.swf内のボタンリンクでB.swfを読み込ませ、B.swfをA.swfに
表示中にB.swf内でC.swfへ移動する。というリンクを作りたい
のですがA,B,Cすべて別のswfなのでAというメインページで表
示しながらBというページで次のCというページにリンクさせよ
うとしたのですがloadやonclipなどを使っても表示させること
ができませんでした。初歩的な質問で申し訳ないです。加えて
雑な説明で申し訳ありませんが先輩方の知恵を貸していただき
たく投稿させていただきました。よろしくお願いします。

ttp://tune.ache-bang.com/~vg/outitem/up/img/12582.jpg

ttp://www.rupan.net/uploader/download/1167826186.jpg
899894:2007/01/03(水) 21:36:38 ID:XoA4jDSJ
>>896
ちゃんとなるけど。

//フレーム
onLoad = function () {
_global.point = 0;
_root.score.text = 0;
};

//MC
onClipEvent (enterFrame) {
point = point+100;
_root.score.text = point;
}

いろんなところにtrace(point)いれてみる。
900Now_loading...774KB:2007/01/03(水) 21:38:29 ID:Pr+xi8gY
_global.pointとpoint変えてちゃんとって。。。ちがうだろそれw
901Now_loading...774KB:2007/01/03(水) 21:48:24 ID:XoA4jDSJ
>>898
_parentで上の階層を取得できる。

ムービークリップA
 ├ムービークリップB

って階層ならB.swf内に
this._parent でA.swf内のB.swfを読み込んだMC
this._parent._parent でA.swfの_rootのはず。
902893:2007/01/03(水) 21:51:26 ID:bt6ZMPmc
>>897
つけてみましたが変化はありませんでした


問題のフレームは6フレーム目なんですが、onLoad〜を1フレーム目に置くと、
何故か初期値は表示されないままなんですが得点加算のほうはちゃんと機能するんです
ちなみに1フレーム目は適当なMCを一つ置いて、そのMCに

onClipEvent (load) {
       _root.stop();
}

onClipEvent (enterFrame) {
       if (100 == Math.floor(_root.getBytesLoaded()/_root.getBytesTotal()*100)) {
              _root.gotoAndPlay(3);
       }
}

上記のスクリプトを記入してローディング画面としています
903Now_loading...774KB:2007/01/03(水) 21:54:21 ID:XoA4jDSJ
>>900
_globalは一度宣言したらもうつける必要はない。
フレームに書いた_global.point = 0;をコメントにしたらNaNになる。

>>902
フレームに書くならonLoad = function () {} はいらないんじゃない?
904Now_loading...774KB:2007/01/03(水) 22:02:57 ID:Pr+xi8gY
>>903
参照は可能だけど、代入とか演算に使うと、タイムライン変数が作られてしまう。
必要ないはまちがいでしょ?
905898:2007/01/03(水) 22:12:02 ID:nDsYdH5o
ありがとうございます。それはloadmovieで指定すればいいのでしょうか?
906893:2007/01/03(水) 22:19:35 ID:bt6ZMPmc
>>903
onLoad = function () {}を省いたらちゃんと機能するようになりました
本当にどうも有り難う御座いました
907903:2007/01/03(水) 23:18:02 ID:XoA4jDSJ
>>904
あ、ほんとだ。参照だけだった。間違えました。

[訂正]参照だけなら省略可能。

_global.xx = 0;
xx += 3;
_global.xx++;
trace(xx);// 3
右辺で使ったり、+=で使うときは_globalが必要。

ってことだよね?
908Now_loading...774KB:2007/01/04(木) 18:32:36 ID:sNnCp3Pa
○フレーム目を再生してから一定時間、たとえば30秒後に指定フレームへと移動するにはどうすればいいのでしょうか?
getTimer()だとSWFが再生すると同時に時間のカウントが始まってしまうので悩んでいます
909Now_loading...774KB:2007/01/04(木) 19:12:38 ID:SKRK5XKg
>>908
setInterval

getTimer()でも、毎フレーム時間を計り続けて、スタートと現在の差が30秒くらいになったら移動
という強引な方法はなくもない。
更にfpsから30秒後のフレームを割り出して、そこに移動アクションを書くという
タイムライン手法も一応可能。
910908:2007/01/04(木) 20:47:13 ID:sNnCp3Pa
>>909
有り難う御座います。
ただ、setIntervalについて調べてみたところ、「指定されたアクションを指定されたミリ秒ごとに実行する」
とあり、自分がしたいことと少し機能が違っていました。

1&2フレーム目:ローディング画面
3フレーム目:タイトル画面
4フレーム目:ステージセレクト画面
5フレーム目:ステージA開始画面(ボタンをクリックすると6フレーム目に移動)
6フレーム目:ステージAゲーム画面(30秒以内に被弾すると7フレーム目に、30秒経過すると8フレーム目に移動)
7フレーム目:ミス画面(ボタンαをクリックすると6フレーム目に、ボタンβをクリックすると3フレーム目に移動)
8フレーム目:クリア画面(ボタンをクリックすると3フレーム目に移動)

こういうゲームを作りたく、6フレーム目のフレーム内に

onEnterFrame = function(){
       _root.time.text = 30.000 - getTimer()/1000;
       if (getTimer() > 30000){
              _root.gotoAndStop("practice_clear");
       }
}

と書いたのですが、>>908に書いたように1フレーム目からカウントが始まってしまい、
6フレーム目開始時には既に何秒か経過した状態となってしまう上に、getTimer() > 30000を満たした後は
どのフレームに居ても8フレーム目に飛んで、ボタンをクリックしても瞬時に8フレームに飛ばされてしまいます。

分かり難い説明で申し訳ありませんが、解決法が分かる方が居ましたらお助け願います。
あと、実物を確認したい方が居ましたらflaファイルをアップします。
911Now_loading...774KB:2007/01/04(木) 21:52:57 ID:PtfBSljA
明けましておめでとうございます。早速質問ですが、

<img src="http://xxx.ne.jp/ooo.jpg" /><br class="auto"/>
<p class="auto">
明けましておめでとうございます。<br class="auto"/>
<img src="http://xxx.ne.jp/xxx.jpg" /><br class="auto"/>
今年も宜しくお願いします。<br class="auto"/>

上記のが入っている Text.txt から、indexOf と substr を使って < > タグを除去して、
「明けましておめでとうございます。今年も宜しくお願いします。」
だけ残すようにしたのですが、文頭などに"改行"の空白が混じっていて、

明けましておめでとうございます。
今年も宜しくお願いします。

のようになります。この"改行"の空白を取り除く方法はありませんでしょうか。
912Now_loading...774KB:2007/01/04(木) 21:59:06 ID:76U+QFdW
>>911
改行文字は"\r"か"\n"か"\r\n"
913Now_loading...774KB:2007/01/04(木) 22:42:10 ID:SKRK5XKg
>>910
1フレーム目でgetTimer()をして、その値を毎フレームごとにgetTimer()で得た値から引くのじゃ。
ミリ秒ごとの何が違うのかわからんが、ミリ秒単位なだけで、何秒後でも何分後でも
設定は自由だぞ?
それに一回だけのアクションだっていいのだぞ?
何事も応用できねば進まんぞ。
914Now_loading...774KB:2007/01/04(木) 23:41:18 ID:L0GbtN8e
>>910
>「指定されたアクションを指定されたミリ秒ごとに実行する」
>とあり、自分がしたいことと少し機能が違っていました。
setIntervalで指定フレームへと移動する関数を30秒ごとに呼べばいい。
その関数が呼ばれた時点でclearIntervalすればいい。
これで30秒後に1回だけ呼ばれることになる。
915908:2007/01/05(金) 00:30:09 ID:pLAS34x5
>>913
何度か読み返してみましたが意味が理解出来ませんでした・・・すみません。


>>914
setInterval(gotoAndStop("practice_clear"), 30000);

こう書いたところ、何故かいきなり"practice_clear"フレームに移動してしまいました。
916Now_loading...774KB:2007/01/05(金) 00:48:14 ID:h+BLOCzT
>>915
setIntervalはそんな使い方しません。

id = setInterval(GO, 5000);
function GO() {
trace("5秒後です");
clearInterval(id);
}

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

>>913が言ってるのは

getTimer()はswfが起動してからの経過時間を取得するもの

 →→ 時間の流れ →→
swf起動────→1────→2

1の時点でgetTimer()したら5000(ミリ秒)が返ってきた
2の時点でgetTimer()したら8000(ミリ秒)が返ってきた

このとき1→2間の経過時間は8000-5000=3000(ミリ秒)=3秒となる。

ってこと。
917908:2007/01/05(金) 02:09:48 ID:pLAS34x5
>>916
id = setInterval(CLEAR, 30000);

function CLEAR(){
       _root.gotoAndStop("practice_clear");
       clearInterval(id);
}

ゲーム画面のフレームに上のスクリプトを、ミス画面のフレームにclearInterval(id);を書いたところ上手く機能してくれました。
>>913さんの内容も何とか理解出来ました。
どうも有り難う御座いました。
918911:2007/01/05(金) 16:41:13 ID:OpqWkgWf
>>912
レスありがとうございます m(__)m。解決のヒントになりました。

何とか解決しました。
.charCodeAt(位置) で trace したら該当箇所は全て 10(→%0A→改行文字) だったので、
.charCodeAt(位置) == 10 ならそこを飛ばすように条件分を加えたら改行されずに、
「明けましておめでとうございます。今年も宜しくお願いします。」と出ました。
919Now_loading...774KB:2007/01/05(金) 17:37:18 ID:d6g7AqhG
今、ポンクソフトのリアルタイムオセロ(ttp://ponk.jp/flash_game/index.php?page=4)を元にして、
アタック25風のパネルプログラムを作っているのですが、
どうしても1枚1枚ごとにコマ(パネル)を返すことができません(現状では挟み込むとすべてのコマが一瞬で変わってしまう)。
時間差で一枚一枚変えたいのですが、どうすればいいでしょうか。
また、actionscriptで生成したパネルをそのままにした状態でフレームを移動するにはどうすればいいでしょうか。
ご教示願えたら幸いですm(__)m。
920Now_loading...774KB:2007/01/06(土) 03:05:30 ID:aW1kck3b
>>919
ひっくり返すコマが決まったらその座標を配列に入れて
setIntervalで順番にひっくり返す。
921Now_loading...774KB:2007/01/06(土) 07:33:23 ID:L5QXTIOP
WinXP、Flash8Pro使って製作をしているのですが、
attachMovieを使って配置したMCインスタンスのイベントに
ASを設定するにはどうしたら良いのでしょうか?
922Now_loading...774KB:2007/01/06(土) 09:33:31 ID:1ijIBrCd
>>921
attachした後にそのインスタンスに対して設定を書く。
もしくは、attach元のMCに最初か書いておく。
後者が楽。
923921:2007/01/07(日) 07:09:55 ID:ZgCP9GH7
attach元のMCに最初から設定を書いておく方法だと、
後でASを検索するのが困難になるので、
attachした後に設定を書く方法を教えて欲しいです。
お願いします。
924Now_loading...774KB:2007/01/07(日) 11:22:49 ID:KIuAiDPO
>>923
ヘルプに載ってんだから調べれば?
925Now_loading...774KB:2007/01/07(日) 13:43:39 ID:oLi+3+h0
removeMovieClipでムービークリップを消去すると
そのムービークリップ内のタイムラインに存在したタイムライン変数も破棄されますか?
926Now_loading...774KB:2007/01/07(日) 14:02:30 ID:UFGcsGLD
うん
927925:2007/01/07(日) 14:09:12 ID:oLi+3+h0
ありがとりんこ
928Now_loading...774KB:2007/01/07(日) 14:19:50 ID:RySp264w
わからない5大理由
1 読まない
2 調べない
3 試さない 
4 理解力が足りない
5 人を利用することしか頭にない
929Now_loading...774KB:2007/01/07(日) 15:31:14 ID:UFGcsGLD
なぜQ&Aスレにいるかわからないアホに足りない5大要素

1 読む場所を教えてあげる優しさ
2 調べる場所を教えてあげる教養
3 試した事を後進に伝えられる経験
4 理解させるコミュニケーション力
5 損得ばかり追求しない人間性
930Now_loading...774KB:2007/01/08(月) 02:59:27 ID:GR6gd9Re
ttp://20.megaloda.org/uploda/www.megaloda.org0124.txt.html sage
スクリプト長すぎワロタ
931Now_loading...774KB:2007/01/08(月) 14:02:07 ID:LXZVIKRT
>>930
で、どういう目的のスクリプトなのかな。
932Now_loading...774KB:2007/01/08(月) 16:53:57 ID:NuLmzy3o
質問いたします。
flashでユーザー認証のフォームを作成しているのですが
ASPから変数を受け取る方法が解らず、止まっています。
実装したい機能として
・flash側でID,PASSを入力。送信。
・受け取った変数をASP側で処理、登録可能だったら変数にok(たとえば1)を設定
・その変数をflashで受け取り、結果を表示させる(登録完了しました等)

geturlを用いて、ASPへ変数を送信する所までは進んだのですが
計算後、変数を返すところが解りません。
何方様かご教示お願いいたします。
933Now_loading...774KB:2007/01/08(月) 16:55:16 ID:FcCGEluV
>>932
LoadVarsではなくgetURLを使わなくちゃいけないのか?
934Now_loading...774KB:2007/01/08(月) 16:56:42 ID:72LSmc+X
ExternalInterfaceまわりを調べるといいと思うよ。
バージョンによってはliveconnect。
935Now_loading...774KB:2007/01/08(月) 17:17:08 ID:NuLmzy3o
>>933
あ、いえ
値を送られるのならなんでもいいです。たまたまGETURLだっただけです
936Now_loading...774KB:2007/01/08(月) 17:33:42 ID:FcCGEluV
>>935
なら、LoadVars.sendAndLoad()を使ってはどうかな。
937Now_loading...774KB:2007/01/08(月) 18:03:19 ID:NuLmzy3o
>>936
ありがとう御座います。
どうやらいけそうではありますが、ASP側の記述が解らず結局詰まってしまいました。
アドバイスありがとう御座いました。
938Now_loading...774KB:2007/01/08(月) 18:51:05 ID:NuLmzy3o
>>936
出来ました!!
これで二日間悩んでいましたが、これで寝られます。
多sかりました
939919:2007/01/09(火) 18:09:47 ID:jsvehbML
>>920
所用で忙しかったためレスが非常に遅くなり申し訳ありませんでしたが、
回答ありがとうございました。現在はまだうまくいっていませんが、
時間の許す限りこの方法を試してみたいと思います。ありがとうございました。
940Now_loading...774KB:2007/01/09(火) 18:36:22 ID:TBTylmOJ
素人です。
【実行したいこと】
1〜20フレームを1回だけ実行、20〜30フレームを3回繰り返し、
30〜40フレームを1回実行して終了

こういうことはできるのでしょうか?
20〜30フレームの繰り返しはgotoAndPlayでできるのですが、
3回繰り返しができません…教えてください(・ω・`)
941Now_loading...774KB:2007/01/09(火) 19:28:26 ID:uc0i3CWt
>>940
例えば一つの考え方として、
最初のフレームでまず適当な変数を一つ作る(最初は0を代入しておく)。
30フレーム目で、変数の値に1足す。
で、30フレーム目で変数の値が3未満だったら20フレーム目へ戻る
そうじゃなかったら戻らないで次のフレームへ
942Now_loading...774KB:2007/01/09(火) 19:40:00 ID:SF4fKeTj
>>941
それだと3回戻る、つまり4回繰り返しになるんじゃないか?
2未満だったら20フレーム目へ戻る、じゃないと。
943Now_loading...774KB:2007/01/09(火) 19:49:48 ID:CiPdLR7o
>>941

//frame1
var counter:Number = 0;

//frame30
if(counter++ < 2){
gotoAndPlay(20);
}

で、ふと思ったんだけど、
1-20 20-30 30-40
って、20フレーム目と、30フレーム目がかぶってるけど、
1-20 21-30 31-40
ってことかな。
なら、

//frame30
if(counter++ < 2){
gotoAndPlay(21);
}
になる。
944Now_loading...774KB:2007/01/09(火) 19:52:47 ID:uc0i3CWt
>>942
まさに自分でもそのように訂正レスしそうになったんだけど
直前に1足してるので案外大丈夫だった
945Now_loading...774KB:2007/01/09(火) 20:46:02 ID:SF4fKeTj
>>944
あ、1足してから判定って考えてたのか。
if(++counter < 3){
gotoAndPlay(20); //21かも
}

if(counter++ < 2){
gotoAndPlay(20); //21かも
}
の違いってことだな。
946Now_loading...774KB:2007/01/09(火) 20:52:34 ID:CiPdLR7o
まあ、どっちでもいいのかな。
こんな処理で速度気にしなくもいいけど
if(countr < 2){
gotoAndPlay(20);
++counter;
}
ってするのが無駄がないのかも。

if(++counter < 3){
gotoAndPlay(20); //21かも
}

if(counter++ < 2){
gotoAndPlay(20); //21かも
}
は無駄に一回足してる。
947Now_loading...774KB:2007/01/09(火) 21:12:51 ID:SF4fKeTj
無駄に1回足してるのは気づいたけど、
毎フレーム無駄が1回出るわけじゃないからなぁ。
そこを気にするのってどうなんだろうなw

あと、これは純粋に俺が訊きたいんだが、
if(counter < 2){
gotoAndPlay(20);
++counter;
}
って2行目でフレーム飛んでも3行目って実行されるの?
昔なんかこんな感じの処理でおかしな挙動したから
ためしに順番変えたら上手くいったということがあって以来、
gotoAndPlay()は絶対最後に書くようにしてるんだが。
948Now_loading...774KB:2007/01/09(火) 21:40:43 ID:CiPdLR7o
>>947
うは、編集ミスw
おれも順序間違ってると思う。

まあ、気にし始めたら霧がないわけですよ。
949Now_loading...774KB:2007/01/09(火) 21:49:12 ID:B1GhIiah
940です。
みなさんありがとうございました、できました。
何だか細かい方に話が進んでいって素人にはさっぱりです(・ω・`)
またよろしくお願いします。
950Now_loading...774KB:2007/01/10(水) 14:41:25 ID:eDOvv5xt
画像を読み込んで表示させたいのですが、
画像を表示させる際にサイズ(たて、横比率)が
バラバラの画像を読み込ませようとしています。
そこで、たとえばどの画像(縦長であろうが、横長であろうが)も
横を100pxで縮小して表示させたいという場合、
どのようにすればいいか、ご教授いただけないでしょうか?
よろしくお願いします。
951Now_loading...774KB:2007/01/10(水) 14:56:19 ID:jZjg39Yg

4/2=1000/500
952Now_loading...774KB:2007/01/10(水) 15:19:50 ID:eDOvv5xt
ありがとうございます。
フラッシュで画像の縦、横のピクセル数を読むことってできるのでしょうか?
教えてください。
953Now_loading...774KB:2007/01/10(水) 19:22:29 ID:R2MWudsF
flvを再生していて、
ある特定のキューポイントの指定のところへ
くると、ムービ(flv)が一時停止し、
ムービクリップが再生されるようにしています。

以下

//

import mx.video.*;
my_FLVPlybk.autoPlay = false;
my_FLVPlybk.contentPath = "test.flv";
var listenerObject:Object = new Object();
listenerObject.ready = function(eventObject:Object) {
my_FLVPlybk.seekSeconds(0);
my_FLVPlybk.play();
my_FLVPlybk.addASCuePoint(4, "stopPoint");
};
listenerObject.cuePoint = function(e) {
trace([e.info.time+"秒", e.info.name+"を通過"]);
my_FLVPlybk.pause();
_root.menu.gotoAndPlay(2);
};
my_FLVPlybk.addEventListener("ready", listenerObject);
my_FLVPlybk.addEventListener("cuePoint", listenerObject);

これを複数のキューポイントごとに、別のムービクリップを
再生させたいのですが、どのように記述を書き直せばいいでしょうか?
いろいろ試しては、検証しているのですが、どうしても、うまくいきません。
なにか特別な書き方があるのでしょうか。
どうぞよろしくおねがいします。
954Now_loading...774KB:2007/01/10(水) 20:53:22 ID:05Z0nUhK
スライドショー作成で躓いてます。
FLASH上に外部画像ファイルを読み込むattachMCと
その上のレイヤーに外部からURLとターゲットを読み込むリンクボタンを設置しています。
それらの記述はさらに外部xmlで管理していて。
全部で3つのnodeがあります。

<Slides>
<Slide jpegURL="slideimages/aaa.jpg" Target="_blank">http://www.aaa.pdf</Slide>
<Slide jpegURL="slideimages/bbb.jpg" Target="_top">http://www.bbb.html</Slide>
<Slide jpegURL="slideimages/cccjpg" Target="_top">http://www.ccc.html</Slide>
</Slides>

attachMCの内容は10秒で次のnodeの要素に更新されます。
さらにないよう画更新される際this._alpha += 10;などでフェードインするように設定したいです。


構造的には理解できるのですが、
記述側から図困っています。
どなたかご教授よろしくお願いいたします。
955Now_loading...774KB:2007/01/10(水) 23:39:21 ID:f5pH7qLB
>>953
キューポイントは使ったことないから勘で答えるけど、
switch(e.info.name){}で分ければいけるんじゃない?

>>954
XMLクラス
956Now_loading...774KB:2007/01/11(木) 21:48:00 ID:tK0ZKHqZ
Flash MX 2004を使用しております。
Flashゲームを製作しておりますが、セーブがうまく出来ずに困っております。
ゲームデータは全てplaydateというオブジェクトのプロパティとして管理しているのですが、
これを一括して一時保存用オブジェクトsavedateのプロパティとすることは出来ないでしょうか。
savedate.my_property = playdate.my_property;
と全てのプロパティについて記述するのもスマートじゃないですし、
savedate[“my_property”+i] = playdate[“my_property”+i];
としてforで繰り返すのも、変数名がわかりづらくなってしまうので、
何とかスマートに全てのプロパティを引用する方法は無いでしょうか。

現在製作中のものは、ゲーム中に一時保存するクイックセーブの様なものなので、
shared objectでローカルに保存する必要はありません。
957Now_loading...774KB:2007/01/11(木) 21:55:28 ID:aIehiMAL
>>956
データセーブはベタな書き方しかできないよ。
2次元配列とかデータクラス使ってちょっと楽にはできるけどね。
958956:2007/01/11(木) 22:00:34 ID:tK0ZKHqZ
>>957
objectAの全てのプロパティをobjectBの全てのプロパティとしたい時、
全てのプロパティについて
objectA.propertyA = objectB.propertyA ;
objectA.propertyB = objectB.propertyB ;
objectA.propertyC = objectB.propertyC ;
と書くしか無いと言うことでしょうか。
959Now_loading...774KB:2007/01/11(木) 22:02:59 ID:aIehiMAL
うん。参照変えるだけならいいけど、それだとセーブになんないし。
960Now_loading...774KB:2007/01/11(木) 22:10:34 ID:iMfOMmu8
>>958
for inを使えばいいのでは?
961Now_loading...774KB:2007/01/12(金) 09:44:33 ID:lf4pwe+l
FlashPro8を使用しています。
複数のムービークリップに同じ命令を与えたいのですが、やり方がわかりません。
以下は私が試した例です。
1つのobjというムービークリップを複製してobjという同じインスタンス名
を持ったものを2つ作りました。そして、obj._visible=false;でそれらを
同時に消そうとしたのですが複製元のほうしか消えません。
同じインスタンス名2つに同じ命令を与えることは不可能なのでしょうか?
できるだけ少ない命令で作成したいので、何か方法があれば教えてください
よろしくおねがいします。
962Now_loading...774KB:2007/01/12(金) 10:14:50 ID:joxYaa50
>>961
同名のインスタンスを同じ階層に置くのはNG
_mc1、_mc2などと連番の名前をつければ>>956が書いているようなforループで繰り返して
指示を与えることができる。
名前に規則性がないなら、for...inという手もある。

たとえば、君が双子の母親だったら、同じ名前の子供にすれば指示が一つで楽と考えますか?
むしろ、どっちの子供のことを指しているのか混乱して子供も適切に反応してくれないなど
不便さの方が先に思いつきませんか?
名前とは識別子、つまり識別するためのものなので、別の存在だとわかる名前をつけなくてはいかん。
MCも、どんなにそっくりでもひとつひとつは別の存在なので、別々の名前をもたせ個別に指示を
与える必要がある。
963Now_loading...774KB:2007/01/12(金) 10:18:58 ID:/cYe+C5V
>>961
親のフラグを見て、子が身の振り方を決める方法もありますよ。
964Now_loading...774KB:2007/01/12(金) 19:47:29 ID:0s83sW9X
actionScript3.0+Flex2です。

ascb.util.NumberUtilitiesがインポートできない旨のエラーメッセージがでるんですが、これ、インポートできますか?
965Now_loading...774KB:2007/01/13(土) 11:04:15 ID:QuZYX+bE
>>964
エラーメッセージのインポートできない旨の...をそのままコピペしてくれるとわかるかも。
たいていはパスが通ってないとか、インポートする必要ないとかだけど。
966Now_loading...774KB:2007/01/13(土) 12:21:38 ID:BHFtUAES
http://www.saturn.dti.ne.jp/~npaka/flash/as30/

このサイト通りにやってコマンドラインでコンパイルしたのはいいけど
画面を塗りつぶすだけでHelloWorldがでません。
967Now_loading...774KB:2007/01/13(土) 12:30:01 ID:BHFtUAES
Flash Player 9は入っているし何がなんだか分かりません
968Now_loading...774KB:2007/01/13(土) 18:58:27 ID:tK/39hrP
>>966
ちゃんと9で再生してる?てか、どのサンプルなのか分からない
969Now_loading...774KB:2007/01/14(日) 03:57:50 ID:O7Lo6XHg
package {
import flash.display.*;
import flash.text.*;

//HelloWorld
public class HelloWorld extends Sprite {
//コンストラクタ
public function HelloWorld() {
//テキストフィールドの生成
var textField:TextField=new TextField();
textField.text="Hello World!";
addChild(textField);
}
}
}

この部分です
実行はSDKにはいっているSAFlashPlayer.exeを使いました
970Now_loading...774KB:2007/01/14(日) 16:37:21 ID:yS8e+e52
var al:Number = 10;//透明度の変化量
_root.ball_mc._alpha = 0 //ball_mcの透明度の初期値
this.ball_mc.onEnterFrame = function(){
this._alpha +=al;
if(this._alpha>100 || this._alpha<0){
al = -al;
}
};
というスクリプトで、MCの透明度を変更しているのですが、
if文のところで、this._alpha == 100 || this._alpha == 0
とすると、うまくいきません。
100と0になったら反転させたいので、==でもいけると思うのですが…
理由をご存知の方、ご教示願います。
971Now_loading...774KB:2007/01/14(日) 17:45:06 ID:WlafGy/F
>>969
flexのサンプルとかやってみたの?環境作ってあれば普通に動くはずだけどね。
>>970
境界条件は==は使わない。>や>=を使う。
数値の丸めとか調べてみそ。
972Now_loading...774KB:2007/01/14(日) 18:22:33 ID:yS8e+e52
>>971
返答ありがとうございます。
厳密には100とか0にはならないってことですね
973Now_loading...774KB:2007/01/14(日) 18:42:42 ID:N36yRimp
traceとかデバッガで追えば解る事を何故質問する
974Now_loading...774KB:2007/01/14(日) 20:03:05 ID:dh++DbnV
マウスポインタがステージの外にいるかどうかの
チェックは可能でしょうか?
975Now_loading...774KB:2007/01/14(日) 22:49:27 ID:D05Pi+0e
>>974
確かマウスがFlashの外に出てしまうとイベントを取得できないので、無理。
javascriptを使えば出来るかもしれない。
976Now_loading...774KB:2007/01/14(日) 22:58:01 ID:WSNRQbmE
ステージ全体に透明なボタンを置けば可
977Now_loading...774KB:2007/01/15(月) 00:06:58 ID:k21tr7zJ
くっそう
もっとスマートなやり方があったら恥ずかしいと思って様子見してたらサラリと書かれた
978Now_loading...774KB:2007/01/16(火) 17:11:31 ID:7PlC6xux
ascb.util.NumberUtilitiesはググッてもオライリーのサイトしかヒットしないのでもともとないのかもしれません。
(ちなみに本家アドビのリファレンスサイトにもありませんでした。)
979Now_loading...774KB:2007/01/16(火) 19:22:06 ID:k0aDPBpw
こんにちわ。質問させていただきます。

動画を読み込ませているのですがその動画の一部分のみに音声がなっている状態で
動画を読み込んでいる間すべての音を消したいのですがsoundクラスでやってみましたができませんでした。
動画再生中に動画の音を消す方法をご存知の方ご教示お願いします。
980Now_loading...774KB:2007/01/17(水) 21:04:58 ID:oVUxuWjB
on (release) {
mcl.loadClip ("1.swf", _root.mc1);
}

を使ってmcに読み込んだswfを、解除してmcを空に戻したいのですが、
どう記述すればいいのでしょうか。
981Now_loading...774KB:2007/01/17(水) 21:20:07 ID:x1pXCVow
日付チェックが必要になったのですが、それっぽい関数が見当たりません。
よろしくお願いします。
MX2004使用です。
982Now_loading...774KB:2007/01/17(水) 21:24:21 ID:x+R10O2R
>>981
Dateクラス
983Now_loading...774KB:2007/01/17(水) 21:26:26 ID:gRJPyV2S
jj
984Now_loading...774KB:2007/01/17(水) 21:28:24 ID:x1pXCVow
>>982
すいません、Dateクラスのどのメソッドですか?
985Now_loading...774KB:2007/01/17(水) 21:49:12 ID:x+R10O2R
>>984
具体的になにがしたいかわからんのにこれ以上アドバイスできんよ
986Now_loading...774KB:2007/01/17(水) 21:54:15 ID:x1pXCVow
>>985
すいません、情報不足でした。
西暦で年月日を個別に入力し、その妥当性をチェックしたいのです。
9月31日でエラーや閏年の2月29日のチェックしたいです。
ご教授、お願い致します。
987Now_loading...774KB:2007/01/17(水) 21:59:59 ID:ezEarqae
>>980
mcl.unloadClip (_root.mc1);
988Now_loading...774KB:2007/01/17(水) 22:17:51 ID:x+R10O2R
>>986
こういうことかな

function checkDate(y, m, d) {
var date = new Date(y, m-1, d);
return y == date.getFullYear() && m-1 == date.getMonth() && d == date.getDate();
}
trace(checkDate(2006, 2, 29) )
989Now_loading...774KB:2007/01/17(水) 22:26:19 ID:x1pXCVow
>>988
バッチリです!!ちゃんとチェックできました!
大変助かりました!

#やっと帰ることができます。。。
990Now_loading...774KB:2007/01/17(水) 22:40:23 ID:xoK29vAW
答える方もすばやくしようね
991Now_loading...774KB:2007/01/18(木) 16:28:03 ID:djHc64Os
質問です。
Funcitonの、applyとcallってどう違うんでしょうか?><
992Now_loading...774KB:2007/01/18(木) 23:34:19 ID:odZh7sS0
>>987
ありがトン
993Now_loading...774KB:2007/01/19(金) 00:42:57 ID:COVYG7OD
>>991
func.apply( null, [1,2] ); //引数はArrayで渡す

func.call( null, 1, 2 ); //引数はそのまま渡す
の違いしかないよ確か
994991:2007/01/19(金) 20:20:13 ID:+G1AZBGJ
>>993
レスどうもです。なるほどー。
いつもどっち使えばいいのか悩むんですが、、、あまり気にしないことにします。
995Now_loading...774KB:2007/01/19(金) 20:21:57 ID:7LU/yBRf
func();じゃだめなんだ?w
996Now_loading...774KB:2007/01/20(土) 11:12:52 ID:mlXvaSDt
>>994
特別な理由が無い限りcallで、Arrayで渡す必要があるならapply、でいいんじゃないかと思ってる。
特に理由が無いのにapply使うのは冗長だろうからね。

>>995
Luaじゃないっての
997Now_loading...774KB:2007/01/20(土) 13:44:57 ID:P4BkvW2U
Luaって何?
998Now_loading...774KB:2007/01/20(土) 15:12:42 ID:mlXvaSDt
>>997
ごめん俺の勘違い。忘れてくれスマソ。
999Now_loading...774KB:2007/01/20(土) 16:23:56 ID:8gfBlSxX
次スレ
ActionScript 誰かが物凄い勢いで解答するスレ 15
http://pc10.2ch.net/test/read.cgi/swf/1169277793/
1000Now_loading...774KB:2007/01/20(土) 16:24:29 ID:JVLgLnYL
1000(・∀・)
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。