5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

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

1 :Now_loading...774KB:2009/01/11(日) 11:08:31 ID:FicsEN1I
AcitonScriptのことなら
初歩的な質問でもなんでもおk

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

●質問する時は自分の環境を書く(AS2,AS3の別も)
●質問はものすごい勢いじゃなくて結構
●できるだけコードも示す
●まず自分がやりたいことを明確に書く。そのために試してみた処理を書く

前スレ
ActionScript 誰かが物凄い勢いで解答するスレ 21
http://pc11.2ch.net/test/read.cgi/swf/1225258423/
関連スレ
Flashの超基本的な質問はここでしろ! part39
http://pc11.2ch.net/test/read.cgi/swf/1226284753/
Flash製作初心者の質問スレッド レイヤー39
http://pc11.2ch.net/test/read.cgi/swf/1223896635/

2 :Now_loading...774KB:2009/01/11(日) 13:55:07 ID:5gN5JNqE
>>1
産休


3 :あやや:2009/01/11(日) 20:44:39 ID:+wNHdYl7

flashでダイアログボックスを呼び出してサーバーにファイルのアップロードをしたいのですが

flashからPHPに受け渡す方法がわかりません。だれか教えてください!

4 :Now_loading...774KB:2009/01/12(月) 00:45:37 ID:IjIMltZr
ドキュメント嫁。 ttp://livedocs.adobe.com/flash/9.0_jp/main/
ActionScript 2.0 の学習 > 外部データの操作 > ファイルのアップロードとダウンロードについて  または
ActionScript 3.0 のプログラミング > ネットワーキングとコミュニケーション > ファイルのアップロードおよびダウンロード操作

5 :Now_loading...774KB:2009/01/12(月) 01:35:13 ID:N1JyVs3B
CS3 XP

AS3.0でちょっと質問。
クイズを作ってて、問題データはxml外部読み込み。
xmlには問題、N択解答、解説とノードがある。

xmlデータ読み込んでそれを
テキストボックスに表示させる事をしたいんだけど
タイムラインの1フレームに読み込みの記述書いておいて
そのタイムラインの問題、解答などのテキストボックスには反映されるんだけど
クリックして別のフレームに飛んだとき(正解用フレームなど)に
そのフレームのテキストボックスにはxmlのデータ(解説)が反映されない。
これって1フレームに書いた読み出しコードをそのフレームにも
書かないといけないの?

移動先フレームに同じ変数使うとCS3様に
怒られるからなんか1フレームの変数を呼び出す、的な利用方法が
あると思うんだけど・・・・本見てもサッパリ。

また改めて1フレームに書いたようなxml読み出しを別の変数名で書かないと
動いてくれないのだろうか。

どなたか分かる方いないでしょうか?

6 :Now_loading...774KB:2009/01/12(月) 01:52:05 ID:+Fs7tV2B
Actionscriptにマウスカーソルをマウス以外の外部入力装置によって移動させることが出来るような関数ってありますか?
GainerやArudinoなどを使ってオリジナルのマウスみたいなのを作ってみようと思っているんですが、ハード面よりも
プログラミングで躓いてしまっている初心者ですorz

7 :Now_loading...774KB:2009/01/12(月) 03:50:55 ID:NC4Gqhjt
>>6
「Wii AS3 Flash」でググる。
コーディングは、簡単なサンプルが多数載っている本を買って、
改変しながら勉強すると良い。


8 :Now_loading...774KB:2009/01/12(月) 04:05:42 ID:+Fs7tV2B
>>7
ありがとうございます、早速参考にして勉強させてもらいます ノシ

9 :Now_loading...774KB:2009/01/13(火) 06:51:41 ID:zcQl2Si6
ついさっきからas始めた者です
as3なんですがマウスホイールでムービークリップの制御(という言い方なのかな?)は
出来るんでしょうか?
ホイールで動く時計の針と連動させたいのですが、行き詰ってしまいました

10 :Now_loading...774KB:2009/01/13(火) 07:07:35 ID:mpKATc2U
>>9
ヘルプを ホイール で検索すれ

11 :Now_loading...774KB:2009/01/13(火) 07:22:21 ID:zcQl2Si6
>>10
ヘルプ機能初めて使ってみました^^;;
けっこう詳しくいろいろと載ってますね。

で、結局出来ないってことですよね? 初心者にはあのヘルプすらキツイというorz

12 :Now_loading...774KB:2009/01/13(火) 09:20:10 ID:mpKATc2U
出来るに決まってるだろw

13 :Now_loading...774KB:2009/01/13(火) 15:56:52 ID:st7HWLnu
ActionScript3でゲームを制作してる者です。
[Embed]でmp3を埋め込んで効果音を鳴らしてるのですが
出だしが0.5秒くらい遅れて再生されてしまいます。

14 :Now_loading...774KB:2009/01/13(火) 15:58:12 ID:st7HWLnu
すいません、途中で投稿してしまいました。
音の出だしをもっと早くする方法はあるでしょうか。
よろしくお願いします。

15 :Now_loading...774KB:2009/01/13(火) 16:20:49 ID:mnd9df8d
・0.5秒前から再生する
・サウンドの無音部分を削除する
・動的に無音部分を飛ばして再生する

16 :Now_loading...774KB:2009/01/14(水) 07:12:32 ID:+j2EBBNy
出来るって教えてくれた方、ありがとうございました。
出来るとさえわかったので自分なりに調べたらそれっぽくできました!


17 :Now_loading...774KB:2009/01/14(水) 14:02:44 ID:yfHgP3pr
AS2で質問です。

下のページを参考にXPathAPIを使っているんですが、
http://itpro.nikkeibp.co.jp/article/COLUMN/20061130/254416/


trace(XPathAPI.selectSingleNode(this.firstChild,"/データ/商品[@id=1]/商品名"));

こういった場合の[@id=1]の1のところに変数を使いたい場合は、
どう記述すればよいのでしょうか?

18 :Now_loading...774KB:2009/01/14(水) 14:14:23 ID:aBJL2uTq
"/データ/商品[@id=" + 変数名 + "]/商品名"

19 :17:2009/01/14(水) 14:53:17 ID:yfHgP3pr
できました!
ありがとうございます!

20 :Now_loading...774KB:2009/01/16(金) 23:46:42 ID:unblxp1S
FLASH CS3上で矩形図形をムービークリップ(インスタンス名:mc)にして、その中にテキストフィールドやムービークリップを追加して
AS3でライブラリからこのムービークリップを呼び出し、ムービークリップの中のテキストフィールドに文字を入れたりムービークリップを動かしたり
そういった事はできたのですが、
この呼び出したmcインスタンスを処理中に消したい場合、このmcに
removeChild(mc);
mc = null;
としただけで、ライブラリから呼び出したデータは全部消えるのでしょうか?

もしくは、全部消すならこのmcの中にあるムービークリップ等に全てインスタンス名を付け、全部getChildByNameで呼び込んで
mc.removeChild(mc内のムービークリップ)
mc内のムービークリップ = null;
等として全部中身を消した後、最後にmcにnullを渡さないと、ライブラリから呼び出したデータ全部は消えないのでしょうか?
どうかお願いします

21 :Now_loading...774KB:2009/01/17(土) 03:43:17 ID:D55Hv6Zk
>>20
上の方法だと、
1. 参照が無くなったmcが削除候補になり、そのうち消える
2. (mcが消えたことで)参照が無くなったmc内のムービークリップが削除候補になり、そのうち消える
下の方法にすると、
1. 参照が無くなったmcと、mc内のムービークリップが削除候補になり、そのうち消える

とにかく参照が無くなった(どこからもアクセスできなくなった)時点で
自動的に削除候補になり、そのうち自動的に削除されると考えるとOK。
mc内のムービークリップを参照しているのがmcだけなら、上の方法でも全く問題無しです。

22 :20:2009/01/17(土) 10:01:36 ID:2dSrA4uS
>>21
オブジェクト同士が幾ら表示リスト上で繋がっていても、参照されずstageからの大元の表示リストから外れたら
いずれはその塊は削除されるといった感じでしょうか
削除についてあまり具体的にわかっていなかったのでとても勉強になりました!
返信ありがとうございました

23 :Now_loading...774KB:2009/01/17(土) 15:48:31 ID:wfapOyy9
as3、cs3環境で質問です
メインタイムラインで定義した変数に外部ファイルのクラスからアクセスするにはどうしたらよいでしょう?メインタイムラインじゃstaticも使えないしお手上げです…

よろしくお願いします

24 :Now_loading...774KB:2009/01/17(土) 23:04:15 ID:5H12adRg
>>23
変数 var abc:int; として、MovieClip(root).abc は?

25 :Now_loading...774KB:2009/01/18(日) 12:11:42 ID:wjLyBMpt
>>24
できました!
助かりました、直してやらないといかんのですね。ありがとうございます!

26 :Now_loading...774KB:2009/01/19(月) 00:28:40 ID:4mjMfXDT
flash CS、AS3.0でインスタンスの削除がよくわからないのでお尋ねします。
flash CSで作成したアニメMCにリンケージを設定して、スクリプトで
var ほにゃらら:MovieClip = new MCの名前();
と呼び出して、MCの再生が終了したら
このインスタンスを自動的に削除したいと思っています。

今のところ、MCの最後のフレームのアクションに、
stage.removeChild(this);
delete(this);
stop();
と書いていますが、これで問題なく削除されていますか?

27 :Now_loading...774KB:2009/01/19(月) 01:20:48 ID:hgslr40p
うん
参照とリスナがなければ

28 :Now_loading...774KB:2009/01/19(月) 03:57:05 ID:pIUGdFoe
>>26
・AS3.0では、オブジェクトのインスタンスに対してdeleteは使えません。
・呼び出し側の変数「ほにゃらら」がMCの参照を持っているので削除されません。

多分、呼び出し側で、
var ほにゃらら:MovieClip = new MCの名前();
stage.addChild(ほにゃらら);
とかしていると思うので、それを、
stage.addChild(new MCの名前());
として、MCの参照を持つ変数を作らないようにします。
MCのフレームアクションは、
stage.removeChild(this);
stop();
だけでOKです。
stage.removeChild(this)を呼び出した時点で
MCは参照がなくなるので、削除対象となり自動的に削除されます。
(AS3.0では、明示的にオブジェクトを削除する手段はありません)

29 :Now_loading...774KB:2009/01/19(月) 11:59:09 ID:lgm6yMTn
初心者ですが、AEのようにオブジェクトに動きを付けたいと思っています。
例えば、キラッ☆のように、円形に配置された状態で渦を巻きながら外方向へ移動するとか、
流れ星のように、奇跡にランダムで表示しながら移動のような感じです。
このASそのものを探しています。コピペで使えるようなサンプルサイトがありましたら教えてください。

あと、
http://hakuhin.hp.infoseek.co.jp/main/as/raster_efc.html#RASTER_EFC_04
これをゲームとしてではなく視点移動も含めた動画として利用したいのですが、
方法がわかりません。マリカのレーススタートのように接近する動きを考えています。
描画さえできればよいので、ご教授ください。

30 :Now_loading...774KB:2009/01/19(月) 12:21:39 ID:eNuehtqY
>>29
後者のマリオカート風味の映像は
FlashCS4から比較的簡単にできる
3D回転を用いればよい

31 :Now_loading...774KB:2009/01/19(月) 21:53:25 ID:zUsrWYRE
function a (str){
trace(str);
}
(true ? a : b)("あいう")

これがJavaScriptじゃ動くのにどうしてFlashじゃ動かないんですか><おしえてください
代替策もお願いします

32 :Now_loading...774KB:2009/01/19(月) 22:00:50 ID:qlx0cOnC
JavaScriptでも動かんだろそれ

33 :Now_loading...774KB:2009/01/19(月) 22:04:33 ID:qlx0cOnC
あー、alertにするのか
つか、player10だとbさえ定義しときゃ動いたよ
9はしらん

34 :Now_loading...774KB:2009/01/21(水) 00:14:41 ID:VIAI9CrJ
お願いします。教えて下さい! CS3 XP AS2.0です。

ブラウザの横幅に合わせて縦横の大きさが変動するムービークリップ(contents)を
作ったのですが、
ブラウザの横幅に合わせて横幅のみ変動する高さは常に一定のムービークリップ(footer)を
いつもこのムービークリップ(contents)のすぐ下に配置するには
どうすればいいでしょうか?
contentsのスクリプトは以下のようになってます。
よろしくお願いします。


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

var MW:Number = contents._width;
var MH:Number = contents._height;

var sListener:Object = new Object();

sListener.onResize = function() {

contents._width = Stage.width;
contents._height = MH/MW*Stage.width;
}

updateAfterEvent();

Stage.addListener(sListener);

sListener.onResize();

35 :Now_loading...774KB:2009/01/21(水) 00:50:23 ID:X+OCiw+W
footerのY座標はcontentsの縦幅

後、updateAfterEvent何か意味あるの?
明らかに書く場所間違えてるように思うけど、意図してのこと?

36 :Now_loading...774KB:2009/01/21(水) 08:10:32 ID:VIAI9CrJ
>>35
ありがとうございます!
おっしゃるようにY座標をcontentsの縦幅にしたら思うように出来ました。

updateAfterEventは見本にしたサンプルソースをそのままコピペして
しまいました。すいません意味はありません。

37 :Now_loading...774KB:2009/01/22(木) 22:41:29 ID:sC8xzXGa
>>34ですが、
footer._y = contents._height;

を入れることによってfooterはcontentsの下に置くことが出来たのですが、
ブラウザの大きさによってはfooterが隠れてしまう場合があります。
常にfooterの高さ分(仮に100px)を確保するにはどうすればいいのでしょう?

contentsの高さ + footerの高さ よりステージの高さが大きいときは
ステージが見えていて構いません。

わかりにくい表現ですみません。教えて下さい。

38 :Now_loading...774KB:2009/01/23(金) 00:42:17 ID:6GJxr1wE
たびたびすみません。34です。
いいサンプルがあったので。
ちょうどこのサイトみたいな感じです。

ttp://swfc-shanghai.com/

もしかして考え方自体が違っているかもしれません。
よろしくお願いします。

39 :Now_loading...774KB:2009/01/24(土) 18:30:57 ID:3O4tfDUp
各asファイルをどうディレクトリ分けすればいいのかわからないんだけど
参考になるサイトとかあったら教えて下さい…。

40 :Now_loading...774KB:2009/01/24(土) 23:20:25 ID:+wWI71Cj
どうでも良いかもしれんけどちょっと質問。
AS2.0で

_parent.gotoAndPlay("label");

gotoAndPlay("_parent.label");
は記述的にはどっちが良いとかある?気になって昼寝もできません。

41 :Now_loading...774KB:2009/01/24(土) 23:26:49 ID:LeScmody
>>39
参考にするも何も自分の好きなように分けたらいいんじゃない?
別に分けなきゃいけないルール・制約があるわけで無いんだし

42 :Now_loading...774KB:2009/01/25(日) 11:16:14 ID:aUdtqsmP
>>40
上はMovieClipクラスのgotoAndPlayメソッド
下はgotoAndPlayグローバル関数

43 :Now_loading...774KB:2009/01/26(月) 17:30:54 ID:sO17OXmi
すいません、詰まってます、ご教示ください。
MovieClipのモーショントゥーインで作った動きの移動量(ベクトル)
をとることは出来るのでしょうか。



44 :43:2009/01/26(月) 17:36:18 ID:sO17OXmi
イメージは動く床に物体が乗ってるって感じです

45 :Now_loading...774KB:2009/01/26(月) 18:09:03 ID:53Ne6y/P
モーショントゥイーンを設定した MovieClip にインスタンス名を設定すれば
各フレーム毎にその MovieClip インスタンスの位置データ(x, y)を取得できる。
そこから移動量を割り出せばよいのでは

46 :Now_loading...774KB:2009/01/26(月) 20:30:13 ID:xLv/aYBe
getDefinitionByNameを使いたいのですが上手くいかず、試しに
新しいflaファイルを作り、タイムラインに
import pack.*;
for(var i:int=0; i<2; i++) {
var testClass:Class = Class( getDefinitionByName("pack.TestClass" + (i+1) ) );
}
そしてflaファイルと同じ階層にpackというフォルダを作りクラス名とトレース文が違うだけのTestClass1・TestClass2を入れて
package pack {
public class TestClass1 {
public function TestClass1() {
trace("TestClass1");
}

}
}
としたのですが、プレビューをすると、変数 TestClass1 は定義されていませんというエラーが出てしまいます
一体何が足りないのでしょうか・・・
actionscript3、FLASH CS3です

47 :43:2009/01/26(月) 20:44:45 ID:sO17OXmi
FPSで現在値は分かるのですが、前回値がと、とれなひ・・

48 :Now_loading...774KB:2009/01/26(月) 20:51:54 ID:53Ne6y/P
>>46
ttp://bondesign.jp/blog/archives/48
これかな?

49 :46:2009/01/26(月) 23:08:58 ID:xLv/aYBe
>>48
レスありがとうございます
記事を教えてもらって恐縮ですが、未だに上手く掴めません・・・
ただ、結局for文の繰り返し内だけで処理の記述をを纏める事はできず
for文の前に自前に
var testClass1:TestClass1;
var testClass2:TestClass2;
という様に先に個々の呼び出しを行なっておかないとダメという事なのでしょうか

ライブラリにムービークリップを作りリンゲージして呼び出す方は普通に出来ましたので
こちらの方でなんとかやっていった方が無難なんでしょうかね

50 :Now_loading...774KB:2009/01/27(火) 01:17:10 ID:bxrBGuAT
>>49
flashはコンパイルしたときに一度も使われてないクラスはswfに含めないようになってる
だからコンパイル後にgetDefinitionByName()しても定義されてませんってなる

なのでswfに含まれるようにするには、リンケージしておくか、
var testClass1:TestClass1;
var testClass2:TestClass2;
というように型を宣言しておくか、コンパイルオプションですべてのクラスを含めるようにする

51 :Now_loading...774KB:2009/01/28(水) 16:15:16 ID:UjH6BzW3
AS3の質問です!
抽象クラスのコンストラクタに引数が設定されている場合
その抽象クラスを継承したサブクラスには、かならずその抽象クラスの
コンストラクタをオーバーロードしなければいけないのですか??

抽象クラスを継承したサブクラスのコンストラクタに
superにパラメータを渡すだけのコードを記述しなければならないのが
ばかばかしい(コードの重複になる)と思ったので質問しました。

もしかしたら、サブクラスにコンストラクタを記述しない場合
自動的にスーパークラスのコンストラクタがサブクラスに生成
されるのではないかと思い、試してみたのですが

サブクラスにコンストラクタを記述しないで実行したら
「引数の数が正しくありません」とコンパイラに怒られてしまいました。

あきらめてさっさと各サブクラスにsuperにパラメータを渡すコンストラクタを記述すべきでしょうか。

52 :Now_loading...774KB:2009/01/28(水) 20:58:07 ID:dYPgy85W
>>51
うん

53 :Now_loading...774KB:2009/01/29(木) 22:37:21 ID:BysMUrX4
AS3.0です。
1.四角いボタン(movieclip)にマウスオーバーでoverの処理
2.四角いボタン(movieclip)からマウスアウトででoutの処理

その四角いボタンの中にmovieclip(矢印が点滅している)があります。
四角いボタンからはマウスアウトはしていないのですが中に含まれている
矢印のムービークリップにマウスが重なると四角いボタンのマウスアウトの処理が実行
されてしまいます・・・四角いボタンの中なのでオーバー状態にしたいのですがなにかうまい方法はありますでしょうか?





54 :Now_loading...774KB:2009/01/29(木) 23:04:49 ID:8hwen1xM
rollOver rollOut

55 :Now_loading...774KB:2009/01/29(木) 23:40:43 ID:BysMUrX4
>>54
ありがとうございます。
MouseEvent.ROLL_OVER
MouseEvent.ROLL_OUT
ですね!
助かりました。


56 :Now_loading...774KB:2009/01/30(金) 01:59:55 ID:KElJQM8O
CS3 AS3.0で、
ブラウザがFirefoxのときのみ再現するのですが、

var loaderinfo : LoaderInfo = root.loaderInfo;
loaderinfo.addEventListener(Event.COMPLETE, LoadComplete);

としたときに、COMPLETEイベントが起きません。
SWFのキャッシュがあるときに起きるような感じがするのですが。。。
原因のわかる方、解決策をお願いします。

57 :Now_loading...774KB:2009/01/30(金) 12:50:24 ID:xIXfCi2U
>>56
Event.ENTER_FRAME で bytesLoaded と bytesTotal を比較して、
completeしているか判断するしかないみたいですよ。

58 :Now_loading...774KB:2009/01/30(金) 15:51:03 ID:nccG/xyw
FLVのストリーミング再生ってむずい?
(Flash Media Serverはあるみたい。)

59 :Now_loading...774KB:2009/01/30(金) 17:33:52 ID:c4hP/QTz
>>57
ぁー、そうなんですか。
どうもありがとうございます〜、助かりました。

60 :Now_loading...774KB:2009/01/31(土) 13:23:20 ID:Vcu4AIju
cs3ですがmcAにイレゴにしたmcボタンがあります。タイムラインのルートからそのボタンを参照しようとすると、mcAがプロパティ未定義な感じのエラー。

まずmcAを参照できないみたい。リンケージせずにインスタンス名で普通に呼んでるんですが、どなたか解決法ご存知でしたら教えて欲しいです

お願いします

61 :Now_loading...774KB:2009/01/31(土) 16:33:33 ID:YCH6qc80
>>60
俺も似たようなトラブルに見舞われた。
ttp://d.hatena.ne.jp/flashrod/20070317/1174093786
などを参照して事前の『仕掛け』が必要っぽい。

はっきり言って、これはバグだと思う。


62 :Now_loading...774KB:2009/01/31(土) 19:08:30 ID:AWs6FmF7
AS3.0で質問です。
ステージにオブジェクト名をつけたムービークリップがあるのですが、
これを自前のクラスから参照するにはどうしたらいいのでしょうか?

メインのタイムライン
var a:testClass = new testClass();
stop();

自前のクラス
package {
import flash.display.Stage;

public class testClass {
function testClass()
{
trace(Stage.myMc);
}
}
}

これだと、trace(Stage.myMc);のところで
1119: 未定義である可能性が〜
というコンパイルエラーになってしまうのです。どうやったら
ステージにあるMCにたどり着く事ができるのでしょうか?

63 :Now_loading...774KB:2009/01/31(土) 20:11:00 ID:f0C88A41
>>62
タイムラインなら
MovieClip(root).myMc;
でいけないかな?
それかstageの参照を引数でとるとか

64 :Now_loading...774KB:2009/01/31(土) 21:11:16 ID:AWs6FmF7
>>63
>MovieClip(root).myMc;
これだと、「1120: 未定義のプロパティrootへのアクセスです」になってしまいました。
このクラス自身にはrootがない、と判断されてしまっているのかなと。

クラス側でステージを受け取るメソッドを作ってから、
タイムラインでstageを渡すようにメソッドを呼ぶとステージは受け取れる?
みたいなのですが、
public function init(st, mc:MovieClip)
{
 trace(st);  // class [Stage]
 trace(st.myMc);  // undefined
}
となってしまってmyMcにたどり着けませんでした。
じゃあ、myMcを渡せばいいという話ではあるんですが、ステージ上の
MCが複数あると大変なことに・・・。

65 :Now_loading...774KB:2009/01/31(土) 22:04:28 ID:f0C88A41
>>64
そうだった、そのクラス自体はDisplayObjectを継承してないからrootとかないな

Stageには直接アクセスできないからDisplayObjectのstageプロパティを介さなきゃいけない はず
public function Foo(s:DisplayObject) {
trace(s.stage);
}

というかstageなのかrootなのかw

66 :Now_loading...774KB:2009/01/31(土) 22:07:33 ID:gV9db6kl
addedToStageイベント(ADDED_TO_STAGE)でステージに追加されたときにrootなりstageなりから辿っていけばおkじゃね?


67 :Now_loading...774KB:2009/01/31(土) 22:27:25 ID:AWs6FmF7
>>65
DisplayObjectなるほど、と思って試してみたのですが、
s.stageまではアクセスできるのですが、s.stage.myMcにすると
やはり1119エラーでした。
なんか変だなと、ステージにテキストフィードやらムービークリップを
たくさん置いてから、メインのタイムラインに以下のコード書いて実行したところ...
var num = stage;
for(var i=0;i < num;i++){
  var mc = stage.getChildAt(i);
  trace(mc);
}
結果は
[object Stage]
[object MainTimeline]
2つしかありませんでした。たぶん、FLASHでステージに置いたMCとか
テキストフィールドとかコンポーネントはstageに含まれるのではなく、
stageと等価な関係?っぽいです。実際、メインのタイムラインで
trace(myMc);とすればオブジェクト名が出てきますが、trace(Stage.myMc);
としたら1119エラーに。

これはもう、最初からステージにモノを置くなって事でしょうか?

68 :Now_loading...774KB:2009/01/31(土) 22:42:30 ID:AWs6FmF7
>>66
イベントが飛んでこないようです。理由はきっと>>67でstageに含まれていないから?
もしかして、初回のAS実行時にはMCとかテキストフィールドが
生成されていないのかと、2フレ目以降で監視するようにしてみたのですが、
結果は>>67と同じでした。

69 :Now_loading...774KB:2009/01/31(土) 22:46:07 ID:gV9db6kl
意味わからん
どんな作りになってんのそれ

70 :Now_loading...774KB:2009/01/31(土) 22:48:41 ID:gV9db6kl
あーあー、ステージに配置するんじゃないのか
じゃあstaticなクラスプロパティにでもステージへの参照つっこんどけば?
ステージ側から初回にそこへ参照突っ込んどけばあとはいけんじゃ?

71 :Now_loading...774KB:2009/01/31(土) 22:55:24 ID:AWs6FmF7
>>69
FLASHを起動して、真っ白い画面にテキストフィールドを置いたり
絵を描いてMC化したりです。それらに自作のクラスからアクセスしたいのです。
もちろん、ドキュメントクラスからはアクセスできます。

>>70
オブジェクトがステージ内に含まれていない事がわかったので、それだとうまくいきませんでした。

72 :Now_loading...774KB:2009/01/31(土) 23:03:30 ID:gV9db6kl
うまくいかない理由がさっぱりわからん
まーがんばってくれ

73 :Now_loading...774KB:2009/02/01(日) 02:43:07 ID:GXbpPFja
パブリッシュ設定のFlashのタブにある、
ActionScriptのバージョンっていうとこの右の「設定」を押して。

Strictモードのチェックをはずしてパブリッシュしてみたらどうだろう。

74 :Now_loading...774KB:2009/02/03(火) 01:42:48 ID:kL5yL3UE
 >>71
ttp://blog.bonkura.jp/2008/09/as30rootstage.html
ttp://www.imajuk.com/blog/archives/2008/01/as3root_1.html



75 :Now_loading...774KB:2009/02/03(火) 06:43:46 ID:fiT5GXs+
比較演算子で()の中が真なら1、偽なら0を返すような計算をするのって
ASでできますか?
(例) a= (b==c)*10 ;aの値は、bとcが同じなら10,違うなら0になる

76 :Now_loading...774KB:2009/02/03(火) 09:46:34 ID:7+8t7a69
a=b==c?10:0

77 :Now_loading...774KB:2009/02/03(火) 11:59:23 ID:fiT5GXs+
できました。ありがとうございます。

78 :71:2009/02/03(火) 14:04:37 ID:7hc0/nyC
>>73
だめでした。
>>74
ありがとうございます。できないみたいですね。

79 :Now_loading...774KB:2009/02/03(火) 14:08:18 ID:7+8t7a69
自作のクラスをnewするときに参照を渡してあげれば済む話ではないのか

80 :Now_loading...774KB:2009/02/03(火) 16:26:33 ID:kL5yL3UE
>>78
いや、79の言う通りで参照を渡せばいいだけの話

   

81 :71:2009/02/04(水) 22:23:57 ID:1Vr++Uqi
>>79-80
ステージの参照をですか?
それとも最初からFLASHで配置したムービークリップとか
テキストエリアをですか?

前者の場合、実際にやってみると出来ませんでした。
コンパイル時1199か実行時にundefinedという感じです。

後者の場合、それが出来る事は>>64の段階でわかっているのですが
個数が多いと引数が大変だなと。それらをひっくるめたMCを作れば
いいんですけど。

82 :Now_loading...774KB:2009/02/05(木) 01:02:55 ID:v2y1IwiT
>>81
解っているというのではなく、適当に書いたら動いたんだろw
参照を渡すって解るか?

83 :Now_loading...774KB:2009/02/05(木) 01:51:18 ID:NaAoHmkq
AS3です。
テキスト入力フィールドに入れる文字数を
全角なら何文字、半角なら何文字というように制限する方法はありますでしょうか?

84 :Now_loading...774KB:2009/02/05(木) 08:03:25 ID:hPRBao0h
>>81

これでいける

・タイムラインに配置したオブジェクト
myMc

・タイムライン
import TestClass

var tc:TestClass = new TestClass(this);


・自作クラス
package
{
import flash.display.MovieClip;

public class TestClass
{
public function TestClass(obj:MovieClip)
{
trace(MovieClip(obj).myMc);
}
}
}

後、ここを見て表示リストや表示オブジェクトやrootについて知っておいた方がいいよ

ttp://hakuhin.hp.infoseek.co.jp/main/as3/container.html
ttp://help.adobe.com/ja_JP/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7e58.html


85 :Now_loading...774KB:2009/02/05(木) 11:34:22 ID:5K8E//sg
>>84
ありがとうございます!ここのサイト↓はみていたのですけど、
ttp://hakuhin.hp.infoseek.co.jp/main/as3/container.html
この図だとstageの下のroot1(root)のように書かれているのに、
stage経由だとmyMcにたどり着けなかったので変だなぁと思っていました。
まだちょっと、thisとrootの関係があやふやですが、つかみ所が
わかってきました。本当にありがとうございます。

var tc:TestClass = new TestClass(root);
trace("myMc.name = " + myMc.name);
trace("this = " + this);
trace("this.myMc.name = " + this.myMc.name);
trace("root = " + root);
trace("root.myMc.name = " + root.myMc.name);
trace("stage = " + this.stage);
trace("root.stage = " + root.stage);
trace("stage.root = " + stage.root);  // ?

>>82
参照を渡す意味は(C++やjavaでさんざんやってきたので)わかるのですが、
何を渡すのかのところで考え違いを起こしていました。

86 :Now_loading...774KB:2009/02/07(土) 14:27:30 ID:A1tneeCg
AS3なのですが
ユーザーが右クリックで拡大/縮小した場合の倍率を
取得するにはどのようにしたら良いでしょうか?

衝突判定の処理の中で
Matrix.tx Matrix.ty を使用しているのですが
ムービーの拡大/縮小で値が変わってしまうので
倍率を取得して補正したいのです。。。

87 :Now_loading...774KB:2009/02/07(土) 14:58:47 ID:KrAd0DDR
matrixのaとかでわかるんじゃね?
コンテナで一括で倍率変更してるならコンテナので

88 :Now_loading...774KB:2009/02/07(土) 15:14:23 ID:A1tneeCg
>>87

ありがとうございます

matrixのaとかdで正しい値が取得出来ました!

1週間悩んで、散々ヘルプ見てても気がつかなかったです。。
脳みそ腐ってきてるのかな。。

89 :Now_loading...774KB:2009/02/08(日) 14:00:34 ID:228j9EfA
Flex Builder 3上でFileReferenceを使ってローカル上のファイルを読み込み
取り扱うファイルを読み取りたいのですが、FileReference.loadを実行しても

ReferenceError: Error #1069: flash.net.FileReference にプロパティ load が見つからず、デフォルト値もありません。

Flex SDKを3.0.1で実行した際には正常に動作する様なのですが、
Flex SDKを3.2.0として実行すると上記のようなメッセージが表示され、
load関数自体を実行できません。

実行の際に必要なFlashのバージョンを10.0.*にしたり、
読み込まれるplayerglobalを複数選択などしてみたのですが
どれも正しい動作には至りませんでした。

もし宜しければ調べるためのキーワードなどを教えて頂けないでしょうか。

90 :Now_loading...774KB:2009/02/08(日) 15:29:14 ID:228j9EfA
すいません、事故解決しました。

今までFlashのデバッグ作業をローカル上のFlashで行っていたのを、
ブラウザ上からのデバッグに切り替えたら正常に動作しました。
もし調べてくれていた方がいたらすいません。

91 :Now_loading...774KB:2009/02/08(日) 18:03:58 ID:pNXBfy4V
ネットにある、ページのサムネイル画像をクリックすると、元画像が表示されるみたいな仕組みについてですが
あれは読み込む画像を、サムネイル用の小さい画像と元画像とを別々に用意してあるものなのでしょうか?

上記のようなスクリプトサンプル
(xmlにurlを明記して、それを元に画像を読み込みサムネイル・元画像を作る)
を見つけたのですが、読み込んでる画像urlがサムネイル側・元画像側とも同じでした(元画像一枚を双方で読み込み)
サムネイル側では読み込んだLoaderはサイズを小さくし表示、元画像側で読み込んだLoaderはそのまま表示していました
実装はできたのですが、なんだか動作が重いような感じがします
こういった仕組みは初めて作ったのですが、ネットにあるこの様な仕組みも同じ画像を読み込んで縮小したりで処理してるのでしょうか?

ふと思ったのが、元々サイズを小さくしたサムネイル画像と元画像を別々に用意して
それぞれをサムネイル側・本画像側で読み込みして表示した方が重くなったりしないのかなと思ったのですが
この仕組みのセオリーとしてはどっちの方法が良いのでしょうか?
Actionscript3.0をFlashCS3使用です

92 :Now_loading...774KB:2009/02/08(日) 22:08:44 ID:228j9EfA
>>91
その通りです。
縮小する処理や、さらにその画像をそのまま動かす処理というのは意外と重いです。
サムネイルを用意しておくことにはサーバとの通信負荷の軽減にも繋がります。

元画像しか用意してないのなら、読み込み時にサムネイル用のBitmapなどを用意して
その後に動かしたりするといいと思います。

93 :Now_loading...774KB:2009/02/09(月) 23:54:09 ID:/IJc1ra5
>>92
ありがとうございました、サムネイル用・元画像と別々に用意した方がやっぱりいいんですね
サムネイルBitmapというのも調べてみようと思います、遅くなりましたがありがとうございました

94 :Now_loading...774KB:2009/02/10(火) 12:32:17 ID:ZBzCffMP
モロゾフって誰ですか?

95 :Now_loading...774KB:2009/02/10(火) 15:18:14 ID:KWlBU+dN
ttp://www.adobe.com/flashon/?v=0404106bc1f8022
このサイトのプレイヤーにHD(High Definition)のON/OFFがあるのですが、
AS3+FMS3のみで切り替えできるのでしょうか?

96 :Now_loading...774KB:2009/02/10(火) 18:12:11 ID:ygAoQOnz
環境:xp flexSDK3.2 FlashDevelop AS3 MXML

mxmlのaccordionパネルについて教えて下さい。
以下のような構成の時にスクリプトからボタンにアクセスができません。
Accordion
├HBox1 / Button1(初期表示)
├HBox2 / Button2
├HBox3 / Button3

○Button1(初期状態からアクセスできる)
×Button2(一旦HBox2を表示すればそれ以降アクセスできる)
×Button3(一旦HBox3を表示すればそれ以降アクセスできる)

accordionパネルはいったん表示しないと、中の子が定義されないようなので困っています。
最初から全てのボタンにアクセスしたい場合はどうしたらいいでしょうか?

97 :96:2009/02/10(火) 19:10:15 ID:ygAoQOnz
>>96
自己レスです。
accordionパネルのcreationPolicyプロパティをallにすることでいけました。

98 :Now_loading...774KB:2009/02/11(水) 18:02:27 ID:lEleu7xb
AS3の文字化け解決で質問です。
サーバからの日本語文字列をコード変換する方法を教えてください。

AIRでURLLoaderを利用して、サーバからのレスポンスを取得したところ、
日本語部分が文字化けしています。(ブラウザだとちゃんと見れる)

sparkで提供されているライブラリ(DetectOnWeb)を利用し、文字コード判定したところ
レスポンスデータはUTF-8でした。
unescapeMultiByteを利用しても違う文字化けに変わるだけで解決できません。

この後どのように解決すれば良いでしょうか?




99 :Now_loading...774KB:2009/02/11(水) 21:33:52 ID:Mdmk1dc4
トゥイーンエンジンの自作について詳しく解説しているサイトか書籍はありませんでしょうか?

100 ::2009/02/11(水) 21:57:25 ID:34ChhF3X
初めて投稿します。
今、ホームページを作成していて、下記のインテルホームページのようにフラッシュ動画のボタンを
押すと、画像が移動し次の画像が横から出てくるという動きを作りたいのです。
ttp://www.intel.co.jp/ja_JP/consumer/index.htm?iid=gg_play-jp+home_consumer

これは、ActionScriptというものを使ってできるのかわからないのですが、どなたかやり方を知っている方いたら
教えてくださぃ。
どうかお願いします。

101 :Now_loading...774KB:2009/02/12(木) 01:03:10 ID:lAYuhZhg
100へ
多少は違うけど
http://exyz.cocolog-nifty.com/good_sleep/2007/12/au_45b8.html#more



102 ::2009/02/12(木) 01:31:17 ID:qtpZIyCE
101へ
ありがとう!!
早速行ってきます♪


103 :Now_loading...774KB:2009/02/12(木) 02:39:43 ID:VhsSTmyQ
103へ
アンカー書けや阿呆
初心者は3年ROMれよ。恥を知れクズ


104 :Now_loading...774KB:2009/02/12(木) 03:06:17 ID:Y+uDgvHo
>>95
ストリームの読み込みは別として
fcommand辺りでいけたはず
gglで「flash 全画面」辺りで調べてみて
一応あとで調べなおしてみる

>>98
useCodePageで調べればいけると思う

105 :Now_loading...774KB:2009/02/12(木) 04:19:54 ID:ypmfssxE
初歩的な質問ですみません。
ムービークリップ内からタイムラインの変数を参照&書き換えを行いたいのです
下記を実行すると1120エラーでうまく参照されていないようです
皆様の知恵をご教授下さい。
・タイムライン内
MCr1というMCを配置
var a = 2;
var b = 2;
//MCが止まっていたらスペースキーを押すことによってスタートする
if ( b == 2 ) {
stage.addEventListener(KeyboardEvent.KEY_DOWN, dousa);
function dousa(evt) {
if(evt.keyCode == 32){
a = 1;
MCr1.play();
}}}
//MCが動いていたら左矢印を押すことによってストップ信号を出す
if ( b == 1 ) {
stage.addEventListener(KeyboardEvent.KEY_DOWN, dousa);
function dousa(evt) {
if(evt.keyCode == 37){
a = 2;
}}}
・MCr1内
//ストップ信号を受け取ったら停止する
if( a == 2 ) {
stop();
b = 2;
}

106 :Now_loading...774KB:2009/02/12(木) 08:25:32 ID:LJFd0/LR
キーが押されたときというイベントに対するリスナーを登録
そのハンドラ内でaなりbなどの判定してplay,stopを実行
なんでif文の中に関数定義なんか書いてるんだ?
インスタンス名は小文字で始める
重要なflgにはa,bなどのわかりづらい名前は付けない
型をちゃんと指定する

107 :Now_loading...774KB:2009/02/12(木) 12:16:08 ID:ihZ9xDdB
as3.0で、外部から読み込んだ複数の数値のデータの
最大値を求める方法はありますか?
配列だと、

var a:Array = [10,21,35];
Math.max.apply(null,a);

で求められるんですが、外部から読み込んだデータを
Arrayの配列にぶっこむ方法とかはあるのでしょうか。

108 :Now_loading...774KB:2009/02/12(木) 12:23:36 ID:LJFd0/LR
普通に配列に代入すりゃいいじゃん

109 :107:2009/02/12(木) 12:35:45 ID:ihZ9xDdB
>>108
自分でやった代入の方法がおかしいみたいです
例えば外部のXMLのnumdataという項目にそれぞれ数値が
設定してあって、その最大値を読み込みたいんですが、

var xxx = myXML.numdata;
var a:Array = [xxx];
var yyy = Math.max.apply(null,a);
trace(yyy);

というような記入方法だとうまく出て来ず…

110 :Now_loading...774KB:2009/02/12(木) 12:45:16 ID:e3I8fFpi
xxxが文字列でカンマ区切りになっているのなら
まず分解しなくてはだめ
var a:Array = xxx.split(",");
各aの配列の内容は数値ではなく文字列で分解されるかもしれないので
更に各要素を数値変換する必要があるかも

111 :107:2009/02/12(木) 13:15:29 ID:ihZ9xDdB
>>110
すみません、書くのを忘れていました、読み込みたいデータが複数あるので
(1つのデータ内の項目のひとつがnumdata)、for〜でループさせて処理をしてます。
よって、データ1つの持つnumdataの数値は1つで、カンマ区切りにはなっていないのです。

var xxx = myXML.numdata[i];
var a:Array = [xxx];
var yyy = Math.max.apply(null,a);
trace(yyy);

xxxで、とりあえず全データのnumdataの数値を拾ってきているのですが、
逆にそれを、カンマのついたArrayの形にしたい、という感じです。

112 :Now_loading...774KB:2009/02/12(木) 13:39:02 ID:e3I8fFpi
それこそ一つ一つ配列に代入すればいいだけの話
配列の使用方法を調査してみて

113 :107:2009/02/12(木) 15:07:25 ID:ihZ9xDdB
>>112
これしか思いつかず、やってみたのですが、やはりトレースすると
全部のnumdataが列挙されるだけになってしまいます…
Arrayの基礎がわかってないですかね…

var xxx = myXML.numdata[i];
var a = new Array;
a[i] = xxx;
var yyy = Math.max.apply(null,a);
trace(yyy);

114 :Now_loading...774KB:2009/02/12(木) 16:13:00 ID:LJFd0/LR
つか、最大値を求めるだけなら、xml取得してから
for文で最大値求めるコード書くだけでいんじゃね
特に配列使う必要があるなら別だけど

115 :Now_loading...774KB:2009/02/12(木) 19:00:57 ID:XbzaQrJc
なんで一個ずつ新しい配列つくるのさ
全部同じ配列にいれなきゃ

116 :Now_loading...774KB:2009/02/12(木) 20:30:47 ID:Y+uDgvHo
俺も練習がてら>>107のサンプル書いてみた
皆ならどんな風に書くか
スレ盛り上げるつもりで書いてみようぜ

package {
import flash.display.Sprite;
import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLRequest;

public class asMIK22_107 extends Sprite
{
private var _loader:URLLoader;
public function asMIK22_107()
{
_loader = new URLLoader();
var req :URLRequest = new URLRequest("data.xml");
_loader.load(req);
_loader.addEventListener(Event.COMPLETE,loadComplete);
}
private function loadComplete(e:Event):void{
var myXML:XML = XML(_loader.data);
var max:uint = 0;
for each(var v:int in myXML.value) if(max < v)max = v;
trace(max);
}
}
}

117 :Now_loading...774KB:2009/02/12(木) 20:31:36 ID:Y+uDgvHo
>>116に使ったXMLの中身

<data>
<value>23</value>
<value>51</value>
<value>43</value>
<value>16</value>
</data>

118 :Now_loading...774KB:2009/02/13(金) 00:41:19 ID:IPyKSBGW
AS3.0でFlashCS3-ProをWinXP-Proで使っています。

Root上(Stage上)に置いたインスタンスがNullになり困っています。
(本やWebで調べても原因が分かりません)

HosiというMCのASファイルからRoot上のインスタンス(starSetB)を参照したいのですが、
どうしてもNullになり参照できません。
参照の経路は Hosi → Root → starSetB で、starSetBを押すとHosiに関連付けられた
ASファイル中の trace ("starSetB"); が実行されるようにしたく思っています。
(つまり 子 → 親 → 子 で、兄弟の参照です)

ところが、プレビューすると下記のメッセージが現れて参照出来ません。
 TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません

今までは同じようなASを組んでも問題なく実行出来ましたが、年明けから同様な症状
になります。一応、CS3のアップデートを試みましたが「利用可能なアップデートはありません」
と出ます(CS3のバージョンは9.0です)。下記はHosiで書いたASの抜粋です。

var RootTL:MovieClip = root as MovieClip; //rootの指定

public function TestSet_01 () {
RootTL.starSetB.buttonMode=true; // マウスポインタを指の形に
RootTL.starSetB.addEventListener (MouseEvent.MOUSE_UP,starSetB_up);
}

private function starSetB_up (mouseEvt:MouseEvent) {
trace ("starSetB"); //出力
}

どうしたら良いでしょうか?


119 :Now_loading...774KB:2009/02/13(金) 02:43:45 ID:Py6H3+2F
>>118
package{
import flash.display.MovieClip;
import flash.events.MouseEvent;

public class Hosi extends MovieClip {
var RootTL:MovieClip;

function Hosi() {
TestSet_01();
}

public function TestSet_01() {
RootTL = root as MovieClip; //rootの指定
RootTL.starSetB.buttonMode=true; // マウスポインタを指の形に
RootTL.starSetB.addEventListener(MouseEvent.MOUSE_UP,starSetB_up);
}

private function starSetB_up(mouseEvt:MouseEvent) {
trace ("starSetB"); //出力
}
}
}

できるじゃん。
starSetBがない。starSetBが別の階層にある。starSetBのインスタンス名を付け忘れた。
・・・とかじゃないかなぁ。なんでもかんでもrootってもあれだけど。

MOUSE_UPよりMOUSE_CLICKのがいいような気が。

120 :Now_loading...774KB:2009/02/13(金) 04:48:39 ID:HwhM5Ab5
Rootでスクリプトを書かない事情が何かあるんだろうか

121 :118:2009/02/13(金) 05:21:09 ID:pywSiMVS
>>119
有難うございます&ゴメンなさい。最初の説明が不十分でした。

上で書いた「HosiというMCのASファイルからRoot上の」は正しくは、
  HosiというMCのASファイル(名前:TestSet_01.as)からRoot上の

です。全体は http://uproda11.2ch-library.com/src/11158522.jpg の通りです。
これだとNullになるという意味です。

教えて頂いた http://uproda11.2ch-library.com/src/11158523.jpg をHosiという
ASファイル名で保存しテストしましたが、これでもNullが表示されます。

すいませんが、再度アドバイス願います。

122 :118:2009/02/13(金) 05:26:01 ID:pywSiMVS
>>120
部品ごとに制御をしたいので、個別に書いています。
今回は部品間の通信(参照)が出来ないので困っています。


123 :Now_loading...774KB:2009/02/13(金) 09:39:20 ID:Py6H3+2F
>>121
upローダ使えるんだったらflaをUpしてください。
その方が話がはやいです。

124 :Now_loading...774KB:2009/02/13(金) 11:36:28 ID:EqPjaE6W
>>121
RootTL.startSetB... のところを Stage.startSetB...
にしたらいいかと(TestSet_01がドキュメントクラスの場合)

TestSet_01がドキュメントクラスじゃないなら、
TestSet_01の引数にドキュメントクラスへの参照変数を追加する
(new するときにthisを与える)


125 :Now_loading...774KB:2009/02/13(金) 12:20:53 ID:EqPjaE6W
>>121
Vistaインストール中でヒマだから
サンプルプログラム作ったよ

http://uproda11.2ch-library.com/src/11158543.zip.shtml


126 :Now_loading...774KB:2009/02/13(金) 14:28:12 ID:VqIvAhCj
WinXP Flash CS3を使用していますが、
元々作っていたFlashのソースが前バージョンから引き継いだもののため、
ActionScript2を使っています。

Flashアプリを

 getURL("FSCommand:fullscreen", "true");
 getURL("FSCommand:allowscale", "false");

で、フルスクリーン表示させています。

そのFlashアプリでPDFを起動させる必要があるのですが、
PDFファイルを起動させる方法がわからなかったので、

 getURL("test.pdf");

を使ってブラウザからPDFを開こうと試みたのですが、
これをするとPDFは開くものの、フルスクリーンで起動していた
元画面がリサイズされて小さくなってしまいます。

解決するにはどうしたらよいでしょうか?

127 :118:2009/02/13(金) 14:31:20 ID:9v1HkEjy
>>123
すいません。ZipでUpしました(解凍後のフォルダ名:PassWay)。
http://uproda11.2ch-library.com/src/11158556.zip.shtml
内容は、
1) AS3_PassWay_01.as ・・・ メインASファイル(t01a,t02共通)
2) PassWay -t01a.fla ・・・ 当初のFla
3) TestSet_01a    ・・・ 当初のASファイル
4) PassWay -t02.fla ・・・ 119さん方式のFla
5) Hosi.as      ・・・ 119さん方式のASファイル

PassWay -t01a.fla と PassWay -t02.fla は共に starSetB をRoot(Stage)上に持つのですが、
共にインスタンスstarSetBがNullになります。
なお、メインのASファイル AS3_PassWay_01.as は現時点では特に動作を指定していません。


>>124
「ドキュメントクラスへの参照変数を追加する」の具体的な方法が分かりません。引数に
メインASファイル(ドキュメントクラス)の AS3_PassWay_01 を入れましたが、Nullになります。


>>125
有難うございます。
しかしこれでは、ライブラリMCのリンケージ設定が無いので目的のものとは違ってしまいます。


128 :107:2009/02/13(金) 14:34:05 ID:dt1m184T
>>116
ありがとうございます、>>114さんの、for文で最大値を求める、という部分で
躓いてたんですが、変数用意して、自分より数値が大きければつっこんでいく、
という考え方でいけたんですね。

発想の引き出しがまだまだ足りないので、がんばります。
ありがとうございました。

129 :Now_loading...774KB:2009/02/13(金) 14:47:42 ID:3nCFpb1b
>>126
とりあえずマルチはよせ

130 :Now_loading...774KB:2009/02/13(金) 15:38:53 ID:VqIvAhCj
>>129
完全にテンパってました。すいません。気をつけます。

131 :Now_loading...774KB:2009/02/13(金) 16:03:52 ID:EqPjaE6W
>>127
せっかくサンプル作ったのに、ちょっとは自分でも調べようよ
1から10まで全部丁寧に説明せにゃいかんのかい

132 :Now_loading...774KB:2009/02/13(金) 16:21:56 ID:EqPjaE6W
とりあえずソース見た感じ
RootTL.starSetB. を this. に直せば動くから

リンケージ名と同じ名前のASファイルは自分自身、つまりthis


133 :Now_loading...774KB:2009/02/13(金) 16:24:11 ID:EqPjaE6W
あとこれは消す
var RootTL:MovieClip = root as MovieClip;//rootの指定


134 :118, 127:2009/02/13(金) 20:20:08 ID:c1yOLIKJ
>>131-133
有難うございます&大変申し訳ございません。
UpしたZipではリンケージ設定で根本的な間違いをしていましたので訂正します。
※その前に再度質問の整理をさせて下さい。

元々は、部品や処理内容を個別のASファイルに記述して 子 → 親 → 子 という
兄弟間の参照をしたく思っていました。再UpしたZip(下)の場合なら、同じRoot(Stage)上に
ある 「インスタンスstarSetB」→「インスタンスstarBeginMとstarEndM」 の処理です

つまり、キーボード(starSetB)と画面(starBeginMとstarEndM)に分離している状態です。
今までもこのように処理を分け、兄弟間の参照を書いても問題なかったのですが、今年の
初め辺りから不可能になり(Nullが表示され)困っていました。

尚、再UpしたZipは http://uproda11.2ch-library.com/src/11158613.zip.shtml で、
TestSet_01e.as の RootTL.starSetB.buttonMode=true; でエラーになります。

度々申し訳ありませんが、宜しくお願い致します。


135 :Now_loading...774KB:2009/02/13(金) 20:26:51 ID:/1TyRIl0
前はas2.0で書いてたんだろ
あんた人の話し何も聞かないでできないできない言って勝手にテンパるからうざいわ
何度同じ事聞かれても同じ答えしか出ねーよ
しかも動くサンプルあるし
技術どうこうのレベルじゃない
あんたに言っても無駄


136 :118, 127:2009/02/13(金) 21:31:07 ID:c1yOLIKJ
>>135
最初の質問の記述に間違いがあって、更にUpしたFlaファイルにも間違いがあったので、
混乱を避けるため(出発点に戻るつもりで)134を書いて再Upしました。


> 前はas2.0で書いてたんだろ

この目的の動作は最初からAS3.0で書いています。AS3.0のもっと複雑な記述のコンストラクタ
で問題なく兄弟間の参照はできていましたが、再三書いている通り、今年に入り参照できなくなりました。


137 :Now_loading...774KB:2009/02/13(金) 21:55:30 ID:/1TyRIl0
動くわけ無いコード書いてあるのに今年も去年もねーだろ
好きに書けば?動かないけどな

138 :Now_loading...774KB:2009/02/13(金) 23:05:49 ID:HwhM5Ab5
>>135
落ち着け。テンパってるのはこの人じゃないぞ
それじゃあ人を怒りたいが為にここに着てるように見えるぞ
>>136
もう少しFlash上のスコープについて調べてみな
Flex(スクリプトのみ)で動かしてるスコープとFlashのスコープで
見比べてみるとよく解るかもしれないぞ
それと再三って言葉のイメージが良くないな

139 :118, 127, 136:2009/02/13(金) 23:52:42 ID:Cnx9oIzQ
>>138
つい感情的になってしまいました。言葉には気を付けます。

「Flash上のスコープ」について調べてみます。
あと、このスレの>>60>>85は私の疑問と近い気がしますので
参考にしてみます。


140 :Now_loading...774KB:2009/02/14(土) 15:47:46 ID:iX64rQxt
int, uint, voidの頭文字がなぜ小文字なのかが気になる
わかるひといる?

141 :Now_loading...774KB:2009/02/14(土) 16:04:04 ID:y1vBolil
慣性じゃない?

142 :Now_loading...774KB:2009/02/14(土) 16:16:40 ID:X6pNZNO8
>>140
Flex SDKコード記述に関する規則とベストプラクティス
http://opensource.adobe.com/wiki/display/flexsdk/Coding+Conventions-ja



143 :Now_loading...774KB:2009/02/14(土) 16:43:04 ID:iX64rQxt
>>141
Javaからの慣例ってことなのかもしれないけど、
AS3の場合の大文字小文字が、プリミティブ型とオブジェクト型、
って分け方でもないし不自然じゃない?

>>142
ごめんそのURLの意味がわからない

144 :Now_loading...774KB:2009/02/14(土) 17:28:21 ID:rxu6JF3U
> AS3の場合の大文字小文字が、プリミティブ型とオブジェクト型、
> って分け方でもない

どういうこと?


145 :Now_loading...774KB:2009/02/14(土) 18:40:39 ID:X6pNZNO8
>>143
わからないというのは、プリミティブ型について記載されてないから、
という意味で?
それとも、このページの存在意味がわからない方?

146 :Now_loading...774KB:2009/02/14(土) 22:12:06 ID:iX64rQxt
レス遅れました、すんません

>>144
Javaはプリミティブ型(基本データ型)の時は頭文字小文字、オブジェクト型の時は頭文字大文字で
始まる型名で宣言するようになってるけど、AS3はそうはなってないですよね?って意味です。
もしそういうJavaみたいな分け方での頭文字の大文字小文字を使うのであれば、プリミティブ型っぽい
BooleanやNumberなども頭文字小文字にすべきだと思うし、そうではなく「厳密に言えばAS3での型は
すべてオブジェクトだ」ってことならなぜint, uintだけ頭文字小文字なの?って思うし、中途半端に思えるんです。

>>145
そのページは以前から知っていて読んだこともあるんですが、今回の自分の質問との関連性がわからないっす。
Adpbeが提唱するコーディング規約にも、なぜint, uintが頭文字小文字になってるのか、とか、わかりやすさの
ために頭文字を大文字にしてIntやUintやVoidを使って良い、とかは書いてないですよね?

JavaとAS3をちょっとかじっただけの知識しかないので、根本的なことを見落としているかもしれません。
さっきC#を調べてみたら、プリミティブ型はすべて小文字、オブジェクト型はすべて大文字で統一されてる気がします。

147 :Now_loading...774KB:2009/02/14(土) 22:53:43 ID:gDkAwmPa
Flash8のactionscript2で書いています

ムービークリップ中のボタンのonReleaseの処理をタイムラインに書いて、
getURLさせようとしてるんですが動きません

_root.infoMC1.b_link1_1.onRelease = function(){
getURL("http://www.hoge.com/","_blank");
}

って感じです
infoMC1はMovieClip、b_link1_1はボタンのインスタンス名です。
このアクションはタイムラインの10コマ目に書いてあって、対象のボタンも10コマ目に
出てくる設定です。
どこかおかしいでしょうか?
基礎的なことで恥ずかしいですが、基礎的なことだからこそ大ハマリしてしまいました
よろしく御願いします

148 :Now_loading...774KB:2009/02/14(土) 23:27:20 ID:ZQTZEFJA
>>146
ECMAScript準拠かそうでないかで分けてるんじゃないの?

149 :Now_loading...774KB:2009/02/14(土) 23:37:37 ID:LsUzzL4b
>>147
それで動くはず。何か別の要因かと。

150 :Now_loading...774KB:2009/02/14(土) 23:54:22 ID:X6pNZNO8
>>147
そのonRelease()前に
trace("name = " + _root.infoMC1.b_link1_1);
って書いてみて出力をチェックする。なにもでなきゃ
infoMC1.b_link1_1がない。
trace("name = " + _root.infoMC1);
って書いてみて何も出なきゃinfoMC1がない。

インスタンス名がついてないとかね。

151 :Now_loading...774KB:2009/02/15(日) 01:10:35 ID:KYMvOx+s
>>149,150
どうもありがとう 言われたことチェックしてみます
またきたらまたヨロシクです


152 :Now_loading...774KB:2009/02/15(日) 02:07:16 ID:xUpRDZDp
>>146
Boolean や Number がオブジェクト型であるということが中途半端だ
という理由はあるのかな?

153 :Now_loading...774KB:2009/02/15(日) 12:16:26 ID:THCfAlSL
var flag:Boolean = true;
var flag:Boolean = new Boolean(true);
var flag:Boolean = Boolean(true);

こういうところが嫌いだな。Arrayなんか最悪だわ。

154 :Now_loading...774KB:2009/02/15(日) 13:50:12 ID:xUpRDZDp
好みなのね
初めは抵抗あっても
なれてしまえばなんとも感じなくなるさ

155 :Now_loading...774KB:2009/02/15(日) 13:57:30 ID:BMWY/xmk
>>146
ECMAScript4にあわせたんじゃないかな?
あれが確かint,uintとかになってたはず

>>152
そういうことじゃなくて、クラス名の先頭は全て大文字にするという命名規則があるのに
大文字だったり小文字だったり中途半端なことをするのか と言いたいんじゃないのかな?

>>153
それは
Booleanデータを代入
新しいBoolean型を生成
Boolean型に変換
ってだけで、作る側が統一すればいいだけの話では?

156 :153:2009/02/15(日) 14:01:12 ID:THCfAlSL
1行目はプリミティブ型
2行目のはオブジェクト型

だと思ってたんだけど違うの?全部オブジェクト型なの?

157 :Now_loading...774KB:2009/02/15(日) 14:10:44 ID:BMWY/xmk
全てプリミティブのように振る舞うが全てオブジェクト
3つとも全て同じこと

158 :Now_loading...774KB:2009/02/15(日) 14:33:49 ID:lUMnBeXF
質問
trace( !false );
これなんでtrueになるの?オブジェクトならfalseが返るはずだと思って気になった。
NOT演算子って何やってるの?

159 :Now_loading...774KB:2009/02/15(日) 14:37:48 ID:xUpRDZDp
>>155
> そういうことじゃなくて、クラス名の先頭は全て大文字にするという命名規則があるのに
> 大文字だったり小文字だったり中途半端なことをするのか と言いたいんじゃないのかな?

int, uint ってクラスだっけ?

160 :Now_loading...774KB:2009/02/15(日) 14:38:06 ID:5m0Kp91k
データタイプとデータバリューを一緒にしてるしw

161 :Now_loading...774KB:2009/02/15(日) 14:40:26 ID:xUpRDZDp
>>158
!false

false != true

false は true ではないから true が返る

162 :Now_loading...774KB:2009/02/15(日) 14:58:44 ID:BMWY/xmk
>>158
もともとブール値を評価するものだから

>>159
クラスだよー

163 :Now_loading...774KB:2009/02/15(日) 15:09:16 ID:lUMnBeXF
メモリの1bit目が0になるデータバリューを持つオブジェクトが倫理否定でtrueになるという認識で合ってますか?
Objectは1bit目が1のため倫理否定で必ずfalseが返って、
Bool型はObjectだけど、1だったり0だったり・・・と?

164 :Now_loading...774KB:2009/02/15(日) 15:13:31 ID:5m0Kp91k
オートキャストの表でも見ろw

165 :Now_loading...774KB:2009/02/15(日) 15:17:11 ID:lUMnBeXF
なにそれー・・

166 :Now_loading...774KB:2009/02/15(日) 15:21:33 ID:lUMnBeXF
わかった。Boolにキャストされるって事か。ありがとう

167 :Now_loading...774KB:2009/02/15(日) 15:21:49 ID:BMWY/xmk
>>163
Booleanがオブジェクトだから、とかではなく
!はもともとBooleanのtrue、falseをみるもの
!にBoolean以外を入れた場合Booleanに変換してから評価する
基本的に
0, NaN ,"", null, undefined
以外は全てtrueになる



168 :Now_loading...774KB:2009/02/16(月) 15:24:23 ID:zUdKOiSX
Fla8 AS1.0書き出しです。

テキスト入力でユーザーに数字を入力させるのですが、
先頭に0が付いていると8進数になってしまうと調べて分かりました。
substringなどをつかって頭の0を取り除くのはできましたが、
000123のように頭に連続して0がある場合もすべて取り除きたいのですが、
頭から順に0を取っていく簡単なfunctionを教えていただけますでしょうか。

169 :Now_loading...774KB:2009/02/16(月) 15:30:09 ID:doL+FOee
>>168
parseInt(n,10);

170 :169:2009/02/16(月) 16:04:11 ID:zUdKOiSX
ありがとうございます・・・わざわざforとsubstr使って0を取ってました・・・。

追加で質問です。
電卓のようなものを作っているのですが、テキスト入力に数字を
入力させるのですが、空欄のままだとそのまま先に進んで
計算を続行してしまいます。

始めに「0」と表示させたくないので、最初は var n:String="";
で空欄にしているのですが、
if文で n="" とやっても判定されません。
数字を一旦入力してDELキーで数字を消して空欄にしても同じです。

テキスト入力やStringにおいて ="" で定義したものは =""ではないのでしょうか?

171 :169:2009/02/16(月) 16:05:31 ID:zUdKOiSX
n=="" の間違いです。すいmせん。

172 :Now_loading...774KB:2009/02/16(月) 16:15:51 ID:bRAuf6dT
>>170
=""は""のはず。
スコープが間違ってないか、参照している変数が間違ってないかなど
trace()でまずは確認をしてみては?

173 :168:2009/02/16(月) 16:39:23 ID:zUdKOiSX
上のコメントのナンバリング169じゃなくて168でした、すいません。

>>172
ありがとうございます。解決いたしました。
if文で==""を跳ねたあとにも別の判定でgotoAndPlayを
実行していたので後ろのif文でOK判定が出たら進んでしまうようでした。


174 :Now_loading...774KB:2009/02/16(月) 22:39:58 ID:nAJ/W0m7
FlashDevelop (3.0.0 RC1)、Flex3 SDK (3.3.0.4589)、XP SP3 にて作成しております。

AS3で動画プレイヤーを作成しようと思い、とりあえず再生のみ実装した状態で
Youtubeの動画ダウンロードし、再生テストを行ってみたのですが、
Youtube上での再生に比べて、カクカクした再生になってしまいます。

スペックの高いPCでは両者とも特に問題ないのですが、低スペックPCではカクカク度合いの差が顕著に現れるようです。

パフォーマンス上問題となる記述がありましたら、指摘願います。

テストに使用した動画
ttp://www.youtube.com/watch?v=tDqGiEdTyOg&fmt=22

package player
{
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.net.*;

public class Main extends Sprite {
private var connection:NetConnection;
private var videoStream:NetStream;
private var video:Video;
private var tf:SoundTransform;

public function Main():void {
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}



175 :174:2009/02/16(月) 22:40:37 ID:nAJ/W0m7
private function init(e:Event = null):void {
removeEventListener(Event.ADDED_TO_STAGE, init);
connection = new NetConnection();
connection.addEventListener(NetStatusEvent.NET_STATUS,netStatusHandler);
connection.connect(null);
}

private function netStatusHandler(e:NetStatusEvent):void {
switch (e.info.code) {
case "NetConnection.Connect.Success":
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.quality = StageQuality.BEST;
videoStream = new NetStream(connection);
video = new Video();
video.width = 640;
video.height = 360;
video.x = 0;
video.y = 0;
video.smoothing = true;
video.attachNetStream(videoStream);
stage.addChild(video);
tf = new SoundTransform();
tf = videoStream.soundTransform;
tf.volume = 0.5;
videoStream.soundTransform = tf;
videoStream.play("test.mp4");
}
}
}
}
以上です。

176 :Now_loading...774KB:2009/02/16(月) 22:49:15 ID:dVB9oljT
フラシャーな人はデザパタとかアルゴリズムとかちゃんとやってますか

as上がりはそういう本皆無だから大変そう

177 :Now_loading...774KB:2009/02/16(月) 23:00:31 ID:KVcmyXkw
デザートのリンゴがなんだって?

178 :Now_loading...774KB:2009/02/16(月) 23:08:10 ID:1Me5tKbh
>>176
俺はjava / C++上がりだけど、デザパタとかやってないね。
だって面倒じゃん。そういうきっちりした事したくないから
FLASHやってるんだもん。

シングルトンとかASでもがんばれば出来るけどさ、作っておけば
使い回し出来て資産もたまって、あとになるほどウマーなのは
知ってるけどさ。

179 :Now_loading...774KB:2009/02/17(火) 00:03:04 ID:EWV1sOGe
ユーザーに外部の画像ファイルを任意に開いて貰いたいのですが、
こちらでスクリプトにあらかじめ開かせるファイル名を記述しないで開かせるというのは
AS3でどうすればできますか?

180 :Now_loading...774KB:2009/02/17(火) 00:19:27 ID:NUDkYuXM
外部の画像ファイルってユーザのローカルPC上の?
それともサーバ上の?
FileReferenceクラス
または
外部ファイル読み込み
で調査すれば情報が見つかるかも

181 :Now_loading...774KB:2009/02/17(火) 02:42:34 ID:SPQyJ3QZ
ローカルPC上ですけど、
ググってもファイル名を記述しておいてそれを読み込むという形なんですよね。
case1.jpgみたいな。これだとユーザーにいちいち画像ファイルの名前を変えて
このフォルダにいれてくださいねってやんないといけないです。

182 :Now_loading...774KB:2009/02/17(火) 03:16:50 ID:aTd04jcR
>>176
英語だけど
「Advanced ActionScript 3 with Design Patterns」
はいい本だぜ

183 :Now_loading...774KB:2009/02/17(火) 04:13:46 ID:NUDkYuXM
>>181
テキストフィールドに記述した文字列を
読み込むファイル名に指定するとかできないの?

184 :Now_loading...774KB:2009/02/17(火) 13:32:30 ID:8QUL+1yf
>>183
ちょっとユーザーに負担は減るかもしれないけど50歩100歩ですよね。
もしFlashで製作中にファイル開こうと思って
テキストフィールドに文字列を記述して
ファイル名を読み込む製品だったとしたら…。

185 :Now_loading...774KB:2009/02/17(火) 14:25:13 ID:NiiB9Lto
>>181
普通にAirならできるんじゃない。
AS3 Air ファイルの操作でググレばいっぱい出てくると思う。

186 :Now_loading...774KB:2009/02/17(火) 19:53:47 ID:d3il71c+
>>178>>182
どうもです
知ってはいるけど今やることもないかな…とか業務に忙しいとかでしょうかね

今後as3に見られるようにもっと言語が固くなってくとしたらやっといたほうがいいのかなと思い始めてまして。

英書あるんですね!読んでみます。

187 :Now_loading...774KB:2009/02/18(水) 00:03:37 ID:TYhwfq5U
addChildAt()の使い方で困っています。
環境は、WinXP-ProでFlashCS3-ProのAS3.0です。

1秒毎にMC内に別MC(HaikeiStar)を子としてランダムな位置に500個設置するため、
for (id=0; id<500; id++) {
var tmpMC0:MovieClip=new tmpClass0 as MovieClip;
//
//ここでランダムな位置と大きさと透明度を設定
//
this.addChildAt (tmpMC0, id+1); //配置インデックスは1より
}

を書きました。目標としては1秒毎に再描画され、この500個を前とは別の位置等で出現させたいの
ですが、時間経過と共に子が増えていく一方です。

本などでは、addChildAt(mc, 100)などとインデックス位置を指定すると、既に100番目に別の子供
が居る場合には前の子が消されて新しい子が配置される(上書き?)ということですがその通り
になりません。

考えられる原因と対策をお願いします。

なお別案として、一旦全部消して再配置する意味で
for (var id=0; id<500; id++) {
this.removeChildAt (1); //配置インデックス1を500回消す
}
を試しましたが、これだと
  RangeError: Error #2006: 指定したインデックスが境界外です。

になります。

188 :Now_loading...774KB:2009/02/18(水) 00:13:48 ID:8zclMyVM
>本などでは、addChildAt(mc, 100)などとインデックス位置を指定すると、既に100番目に別の子供
>が居る場合には前の子が消されて新しい子が配置される(上書き?)ということですがその通り
>になりません。

ならないと思った。ずれるんじゃない?

189 :Now_loading...774KB:2009/02/18(水) 00:17:39 ID:8zclMyVM
AS3.0
コンテクストメニューで「画質」▼→低中高。
これと同じ動作をカスタムメニューに入れたいんだけどどうやればいいか
ヒント下さい。(二段階にメニューを構築したい)
カスタムメニューは自分で作る事は出来ます。

190 :Now_loading...774KB:2009/02/18(水) 00:31:33 ID:wWFSZb4F
>一旦全部消して再配置する意味で
この消し方だとforの最後に残るのがインデックス0の要素だから
removeChildAt(1);
しても、1番目は空っぽだよ、というエラーではないかと。

for (var id=0; id<500; id++) removeChildAt(0);

191 :Now_loading...774KB:2009/02/18(水) 00:56:27 ID:modCBuH5
>>189
無理でござる

192 :Now_loading...774KB:2009/02/18(水) 01:04:43 ID:TYhwfq5U
>>188
すいません。勘違いしていました。
既にある場合は後ろにずれます。


>>190
あー確かに。でも、インデックス0には共通のオブジェクト(絵)を配置しているので
これは消せないです。

今やったのですが、一旦全部消すことをせずに this.getChildByName(名前).x
などでプロパティ変更することでOKでした。
有難うございます。


193 :Now_loading...774KB:2009/02/18(水) 01:53:25 ID:wWFSZb4F
>>192
インデックス0が対象外なら
for (var id=1; id<500; id++) removeChildAt(1);
for (var id=0; id<=500; id++) removeChildAt(1);
for (var id=499; id>0; id--) removeChildAt(i);
とかさ。
あんましよくないけど。

194 :Now_loading...774KB:2009/02/18(水) 06:12:40 ID:i5dg6tkn
AS2での深度とAS3での表示リストは全く違う
深度管理では空きの深度があるけど、表示リストの場合は自動的に
前つめになる(空きは無い)
for文で削除が関与するときにnumChildrenを使うときは要注意

195 :Now_loading...774KB:2009/02/18(水) 12:57:38 ID:8zclMyVM
>>191
無理でござるか…サンクス

196 :Now_loading...774KB:2009/02/18(水) 17:03:28 ID:8X4iMHb7
>>179
FileReferenceオブジェクトを作ってリスナーを登録
FileReference.browse()
FileReference.load()
イベントリスナーでコンプリートきたら
FileReference.data
にByteArrayで入ってるからそこから読めばおk

197 :Now_loading...774KB:2009/02/18(水) 17:11:09 ID:5JjW5ZLS
環境:WinXP-ProでFlashCS3-ProのAS3.0です。scaleXとscaleYが作用せず困っています。

ステージに配置したMCインスタンス(名前:shipM ←Matrixクラスでの変形対象)の大きさをムービー
開始時に1/10に変更しようとコンストラクタで
public function AS3_ShipForm_01 () {
this.shipM.scaleX=0.1;
this.shipM.scaleY=0.1;
//
//Matrix操作
//mtr = shipM.transform.matrix;
// ・・・

としたのですが、大きさが変化しません。
試しに、this.shipM.scaleX=1000; としてもX方向の寸法はそのままです。

どうすべきでしょうか? Matrixクラスを併用するとMCプロパティ設定(インスタンスの大きさ設定)は
無効になるのでしょうか?


198 :Now_loading...774KB:2009/02/18(水) 17:21:12 ID:i5dg6tkn
>//mtr = shipM.transform.matrix;
って何?順番変えてみれば?

199 :Now_loading...774KB:2009/02/18(水) 18:25:50 ID:m4fsEnEs
今晩は。質問失礼いたします。
外部から画像を読み込んでいるのですが、それを

ステージに既に配置してあるテキストボックスの下で、
なおかつ
既にステージに配置してある背景画像よりは上に出したいのですが、
表示順序が上手くいじれず呼び出した画像が一番上にどうしても表示されてしまいます。

どう書けば上手く行くか分かる方はいらっしゃるでしょうか…!


200 :Now_loading...774KB:2009/02/18(水) 18:36:32 ID:dDjiTrCt
ASのバージョンはいくつさ

201 :199:2009/02/18(水) 18:47:57 ID:m4fsEnEs
失礼いたしました、ASは3です!

因みに画像呼び出しは
var img1:Loader = new Loader();
img1.load(new URLRequest("画像アドレス"));
addChild(img1);

という感じで書いてます。
宜しくお願いします。


202 :Now_loading...774KB:2009/02/18(水) 19:12:58 ID:5JjW5ZLS
>>198
あー、すいません。説明不足でした。
mtr = shipM.transform.matrix; のmtrとは、コンストラクタの前で var mtr:Matrix; と宣言
したものです。本来 var mtr:Matrix = shipM.transform.matrix; と一気に書きたいのですが、
これだとエラーになるので分離して書いています。

this.shipM.scaleX=0.1; を mtr = shipM.transform.matrix; の後の方に書きましたが変化
はありませんでした。また、Event.ENTER_FRAME の関数内に置いても駄目でした。

どうしたものでしょうか?



203 :Now_loading...774KB:2009/02/18(水) 19:14:51 ID:dDjiTrCt
>>201
addChild(img1);
の後で
addChild(テキストボックス);
で深度を調整してやればいけんじゃないかな

204 :199:2009/02/18(水) 19:59:13 ID:m4fsEnEs
>>203
おお…!有難うございます、助かりました!

205 :Now_loading...774KB:2009/02/18(水) 20:20:49 ID:5JjW5ZLS
>>202です(自己レス)

小細工的ですが、 mtr.scale(0.2, 0.2) で縮小できました。ただし、これだと
MCの基準点縮小ではなくMCの左上を基準に小さくなりましたので、mtr.translate();
で場所を調整しました。

scaleXは色々試しましたが駄目でした。


206 :Now_loading...774KB:2009/02/18(水) 23:40:15 ID:RDxLiEQ0
質問です
AS2で書いてます。

setTimeout()で仮に下記のような場合、

ID=setTimeout(hogeFuntion,3000)

hogeFuntionに引数を渡した状態でhogeFuntionを呼び出すにはどうすればいいでしょうか?

たとえば、hogeFuntion(hoge)みたいな感じにです。

207 :Now_loading...774KB:2009/02/18(水) 23:52:50 ID:wWFSZb4F
>>206
FLASHのヘルプって、結構、役に立つんだぜ。まずはヘルプ検索。

functionReference:Object - 実行する関数の名前。引用符や括弧を使用しないでください。また、呼び出す関数にパラメータを指定しないでください。たとえば、functionName を使用します。functionName() や functionName(param) は使用しないでください。
delay:Number - 関数が実行されるまでの遅延時間 (ミリ秒単位)。
args:Object - 関数に渡すゼロ個以上の引数 (複数の引数はコンマで区切ります)。

var my_timedProcess:Number = setTimeout(my_delayedFunction, 2000, "two second delay");
function my_delayedFunction (arg1) {
trace(arg1);
}


208 :Now_loading...774KB:2009/02/19(木) 00:03:21 ID:lFwRciuU
↓のフラッシュのタイトルで「しょぼのえにっき」という文字がぶよぶようごいていますがこういう処理を一般的になんという名前で呼ぶのでしょうか。
http://wacha.cc/2004/04/24.html


209 :Now_loading...774KB:2009/02/19(木) 00:20:30 ID:vqs49seI
>>208
モーショントゥイーンかな。

もっと細かく制御するなら、MC(ムービークリップ)を複数個置いて、それらの
透明度alphaを0にしてMC間を結ぶ線を引く。そして、MCを振動させれば線自体も振動する。
つまり右の感じ: ○━━━━━━○


210 :Now_loading...774KB:2009/02/19(木) 01:08:45 ID:4TQNAH06
>>208
震える文字w

http://mclover.net/Program/Ugo.htm
これでGIF保存して読み込め

211 :Now_loading...774KB:2009/02/19(木) 02:47:40 ID:nxm9KMX5
>>208
これはね、script制御ではないよ。
文字のラインがflashのペンツールで書いたっぽい雰囲気だから
3,4フレームくらい使って微妙にずれた文字を手書きしてるだけだね。
それらのフレームを往復再生させるか、
フレームを反転させてケツにくっつけるだけ。
シェイプトゥイーンを使ってるかも知れない。
処理の一般的な名称は聞いたことない。

212 :Now_loading...774KB:2009/02/19(木) 04:29:42 ID:KUWkrRlJ
ぶるぶる文字でしょう

213 :Now_loading...774KB:2009/02/19(木) 07:38:35 ID:2bW4/+2R
>>209-212
ありがとうございました。
なるほど。ズレた画像をコマ送りしているんですね。


214 :Now_loading...774KB:2009/02/19(木) 08:48:06 ID:l+ZvQ4gp
>>207

おお!ありがとうございます。
助かりました。
これからはヘルプできるだけ参照するようにします。


215 :Now_loading...774KB:2009/02/19(木) 14:46:29 ID:F8oIDZWf
「もし、変数 val1〜val100までの変数が、全部trueだったらファンクションAを実行」
という条件分岐を最も簡潔に書くとどうなりますか。

216 :Now_loading...774KB:2009/02/19(木) 15:43:07 ID:ReD0XMTZ
>>215
その前に変数val1-100は配列にしようぜ

217 :Now_loading...774KB:2009/02/19(木) 16:04:29 ID:QrwUW6ut
配列にする
forループでfalseがあったらbreakかreturn

218 :Now_loading...774KB:2009/02/19(木) 16:16:55 ID:e6VX3syL
>>178
残念ながらシングルトンに関しては
もちろん作れなくは無いが、C++のようにSingletonテンプレートクラスが
作れないので、クラスごとにシングルトンのコードをコピペしなきゃならない。
それはそうと、privateやprotectedのコンストラクタが認められないのは何か理由が
あるんだろうか?



219 :Now_loading...774KB:2009/02/19(木) 16:37:58 ID:dYT4F0qQ
WinXP-ProのFlashCS3ProのAS3.0です。

(何か余計なキーを押したらしく)ASファイルのコーディングで上の自動フォーマットボタンを押すと、
 次の行の近くに自動フォーマットのエラーがあります ・・・〜・・・

のメッセージが出ます。
しかし、この周囲を見渡しても特に間違いはなく、念のため「・・・〜・・・」の行の周囲の行を含めて
消して再度自動フォーマットボタンを押しても、消した次の行で同じメッセージが出ます。

考えられる原因は何でしょうか? 
過去に作った問題ないASファイルでも同じメッセージが出ます。


220 :Now_loading...774KB:2009/02/19(木) 16:45:59 ID:F8oIDZWf
>>216、217
THANKS.


221 :Now_loading...774KB:2009/02/19(木) 16:46:57 ID:3A0q3IzD
>>219
自動フォーマットなんかに頼ってることが一番の問題の原因だと思います

222 :Now_loading...774KB:2009/02/19(木) 16:52:01 ID:CFeIOpuv
>>215
arrayに変数を入れといて
var i:int = 0;
for each(var val:Boolean in array) i += val;
if (i == array.length) functionA();

223 :Now_loading...774KB:2009/02/19(木) 17:42:06 ID:F8oIDZWf
>>222
短っ!!!

224 :Now_loading...774KB:2009/02/19(木) 17:56:00 ID:QrwUW6ut
Boolをオートキャストで加算って、、、
しかも変数2つって、、、
必ず全てのインデックス分加算処理を行ってから判定するなんて、、、

225 :Now_loading...774KB:2009/02/19(木) 18:01:18 ID:brWzT07w
無駄なレスより役に立つ

226 :Now_loading...774KB:2009/02/19(木) 19:16:19 ID:327XBfXT
一行
if (array.sort()[0]) functionA();

227 :Now_loading...774KB:2009/02/19(木) 19:49:17 ID:24M0M8+g
>>226
それは気づかんかったわw
まあ、オーソドックスな方法は
var exe:Boolean = true
for each(var val:Boolean in array)
if ( !val ){ exe = false;break;}
if (exe) functionA();
こんなところでしょうなあ。


228 :Now_loading...774KB:2009/02/19(木) 20:13:55 ID:4TQNAH06
行数稼ぎたいのか処理速度を稼ぎたいのかで変わってくるよね。
>>222 型変換のコスト
>>226 ソートのコスト
>>227 forループ内でifするコスト

俺なら速度重視で
Booleanじゃなくてintかuintのvector配列
intかuintの1か0でtrue/falseを表す
配列要素をループで加算
総和で判定
ってするだろうけど、ごめん、vector使った事無いんでサンプル書けない。

229 :Now_loading...774KB:2009/02/19(木) 21:33:39 ID:ZDN/jbQO
for(var i:Number = 0;i < array.length;++i)
{
 if(!array[i])break;
}
if(i == array.length)
{
 funcA();
}

無難かな……ちょっとiのスコープに自信ないが確かいけたはず

230 :Now_loading...774KB:2009/02/19(木) 22:05:11 ID:tYtvE5XW
>>228
それでどのくらい速度が違うの?

231 :Now_loading...774KB:2009/02/19(木) 23:03:45 ID:24M0M8+g
>>229
Numberのカウンタは効率が悪いとどこかで見た気がする。
intにできるところはintにすべし、とのことだった。まああたりまえだが。

>>226はネタとしては面白いけど毎回ソートするってのはどうも・・
それに配列の順番も変わるという副作用つきだ。

232 :Now_loading...774KB:2009/02/19(木) 23:31:01 ID:l+ZvQ4gp
>>219
全角スペース入ってるかも。
俺もたまにそれやるから、エラー出た行を
一旦全部消して書き直すと出なくなること多い。

233 :Now_loading...774KB:2009/02/19(木) 23:33:39 ID:4TQNAH06
Numberは遅いね。あと、
var len:int = array.length;
for(var i:int = 0;i < len; i++)
みたいにarray.lengthを移した方が速いです。

>>230
やってみないとわかんないなぁ、やれってか?
100個ぐらいのループだと差が出なさそうだなぁ、PC速いし。

234 :Now_loading...774KB:2009/02/19(木) 23:33:47 ID:KUWkrRlJ
ユーイント使え

235 :Now_loading...774KB:2009/02/19(木) 23:45:55 ID:ZpBZmRND
stopAllSounds();
で止めた音楽を再び再生するにはどうすればいいですか?

236 :Now_loading...774KB:2009/02/20(金) 00:14:40 ID:IEsg0YTc
AS3で外部画像を読み込んで座標を指定して表示させているのですが、同じ画像を違う座標でいくつも表示させたくて、でも座標をずらして記述しても、前述のものが上書きされてしまうようで複数表示が出来ません。

なので今は表示させたい個数分だけ変数を作り、Loaderで都度画像のアドレスを読み込んでいます。

どうにかうまいやり方はないでしょうか。
宜しくお願いいたします!

237 :Now_loading...774KB:2009/02/20(金) 00:27:02 ID:n0EDCyUp
>>230 やってみた。
// array
var a:Array = new Array();
for (var i:uint = 0; i < 100; i++) a.push(i&1);
var sum:uint = 0;
var st:uint = getTimer();
for (i = 0; i < 100; i++) sum += a[i];
var et:uint = getTimer();
if (sum == 100) trace("execute funcA()");
trace("dt = " + (et - st));
// sort
var s:Array = new Array();
for (i = 0; i < 100; i++) s.push(i&1);
sum = 0;
st = getTimer();
var ret:uint = s.sort()[0];
et = getTimer();
if (ret) trace("execute funcA()");
trace("dt = " + (et - st));

手元のPCではarray足し算だと0ミリ秒、sortすると2ミリ秒。
>>226みたな記述は面白くて好きだけど遅いですね。
ちなみに要素数を1000だと195ミリ秒。

ただ、この例だと配列の中身は0101010...なんだけど、0だけとか
1だらけにするとsort()も数ミリ秒レベルになったけど、
前半500要素を1、後半500要素を0のデータにしたのをsortしたら350ミリ秒に。

238 :Now_loading...774KB:2009/02/20(金) 00:41:07 ID:xplKxO1Z
>>236
静止画像だよね?

var bmd:BitmapData = new BitmapData(loader.width,loader.height);
bmd.draw(loader); //Bitmapデータに変換

var s0:Shape = new Shape();
var s1:Shape = new Shape();

//Shapeに画像を描きこむ
var g:Graphics = s0.graphics;
g.beginBitmapFill(bmd, null,false,true);
g.drawRect(0,0, loader.width, loader.height);
g.endFill();

g=s1.graphcis;
g.beginBitmapFill(bmd, null,false,true);
g.drawRect(0,0, loader.width, loader.height);
g.endFill();

これで静止画を表示するふたつのShapeができるから
座標を適当に設定してaddchildすればよい。
ただし、オリジナルの画像ファイルをネットからツモってくる場合はこの方法は使えないことがある。

239 :Now_loading...774KB:2009/02/20(金) 00:47:30 ID:xplKxO1Z
効率を気にしだしたらここらのサイトが参考になる
http://actionscript.g.hatena.ne.jp/ConquestArrow/20070621/1182359767
こちらは英語だが一読に値すると思う。(今発見したばかりだが・・)
http://www.kirupa.com/forum/showthread.php?t=223798

240 :237:2009/02/20(金) 00:48:51 ID:n0EDCyUp
vector初体験。
// vector
var v:Vector.<uint>;
v = new Vector.<uint>();
for (var i:uint = 0; i < 1000000; i++) v.push(i&1);
var sum:uint = 0;
var st:int = getTimer();
for (i = 0; i < 1000000; i++) sum += v[i];
var et:int = getTimer();
if (sum == 1000000) trace("execute funcA()");
trace(et - st);
// array
var a:Array = new Array();
for (i = 0; i < 1000000; i++) a.push(i&1);
sum = 0;
st = getTimer();
for (i = 0; i < 1000000; i++) sum += a[i];
et = getTimer();
if (sum == 1000000) trace("execute funcA()");
trace(et - st);
// array boolean
var ab:Array = new Array();
for (i = 0; i < 1000000; i++) ab.push(true); // 最悪ケース
st = getTimer();
for (i = 0; i < 1000000; i++) if (!ab[i]) break;
et = getTimer();
if (i == ab.length) trace("execute funcC()");
trace(et - st);
vectorだと11ミリ秒でarrayだと43ミリ秒。booleanで15ミリ秒。ちゃんとテストするなら何十回か繰り返して平均取るとかしないとダメなんだけど。true / falseの型変換とかif文でのチェックとかがもう少し重いかと
思ったけど、arrayの加算より速いのはなんで??なんか間違えてる?

241 :Now_loading...774KB:2009/02/20(金) 00:49:50 ID:cV/l2hJ1
forとfor eachの使い分けはみんなどうしてる?

for(var i:int=0; i<arr.length; i++)
for each(var i:int in arr)

242 :Now_loading...774KB:2009/02/20(金) 01:12:13 ID:xplKxO1Z
>>240
arrayより遅かったらvectorの存在意義がないじゃないか。
arrayの実体は要するにStringをキーとするマップだからね。
もうちょっと効率のいいコレクションクラスを作れってんで
後からできたのがvectorてことじゃないかな。

243 :237:2009/02/20(金) 01:44:52 ID:n0EDCyUp
>>242
vectorが速いのは文句ないのです、気に入りました。
みんなPLAYER10をさっさと入れろと思いました。

arrayをuintで入れて加算するよりも、booleanをifで条件分岐
する方が速いのが妙だと思ったんですが、なるほど、arrayは
連想配列だから、uintからなんか変換&変換&算処理より、
booleanからの変換&ifのがコストがかからないってことかな。

244 :236:2009/02/20(金) 06:20:48 ID:IEsg0YTc
>>238
なるほど、こうするのですね。とても参考になりました。
有難うございます!

245 :Now_loading...774KB:2009/02/20(金) 08:54:28 ID:Rm4nzBzM
配列の中の数字が一番多いものから順に
並び替えをしたいです。
配列三つ作って、ひとつずつ中身を取り出して
もし最初の数値より大きい数字だったら配列0の中身を置き換え…
というのを配列の数だけfor文でまわしています。
もしかしてこれ、もっとあっさりかけますか?
AS3です。

246 :Now_loading...774KB:2009/02/20(金) 09:29:11 ID:CYSHzkUB
AS3です。
変数名自体に変数を使う、というのは不可能なんでしょうか。

また、
if(…){
}else{
}
のような文で、ifとelseの中に同じ変数名を定義したら重複した名前の変数があるとエラーが出ますがこれは一体どうしたら…


247 :Now_loading...774KB:2009/02/20(金) 09:42:35 ID:HFHNffaB
>>246
>変数名自体に変数を使う、というのは不可能なんでしょうか。
配列アクセス演算子で検索

>一体どうしたら…
変数を if 文の外で宣言する
var a:uint;
if(…){
a = 1;
}else{
a = 2;
}


248 :246:2009/02/20(金) 10:11:50 ID:Np/QkVRd
>>247
やり方があるんですね、調べてみます。

定義を変数外でやれば良かったんですね、重ね重ね有難うございます!

249 :Now_loading...774KB:2009/02/20(金) 10:42:36 ID:4mAsSJxs
>>245
配列3つってよくわからんが、配列の要素を並べ替えたいならsort

250 :Now_loading...774KB:2009/02/20(金) 16:17:04 ID:ZHrNnPb7
FLASHから、getURLとかで別のフラッシュを開くときにフルスクリーンにしたいときってどうすればいいですか?
ジャバスクリプト呼び出さんとだめなんですか?


251 :Now_loading...774KB:2009/02/20(金) 17:35:49 ID:1spKPEzO
自分自身ならフルスクリーン化可能
別のフラッシュをフルスクリーンで開くのは多分無理
フルスクリーンじゃなくて画面いっぱいのウィンドウでいいならjs

252 :Now_loading...774KB:2009/02/20(金) 21:21:31 ID:eL8RfDB1
actionscriptにマウスを操作するようなライブラリ(JavaのRobotみたいなもの)
ってありますか?どなたかご存知でしたらお願いします。

253 :Now_loading...774KB:2009/02/21(土) 00:15:41 ID:u1qaRBAT
OS:WinXP-Pro,Mem=3GB,ソフト:FlashCS3-Pro(Player9.0,AS3.0)

ステージ上に適当に重ねられた複数のMCをムービー開始時にswapChildrenAt()で(あるいは
他の方法で)自動的にソートするにはどうしたら良いでしょうか?
現在の例ならば、上からmc4, mc2, mc1, mc5, mc3 と5個無造作に重なったものを上から
mc1, mc2, ・・・とソートする感じです。

よろしく願います。


254 :Now_loading...774KB:2009/02/21(土) 00:49:31 ID:whMuXLhw
>>253
ソートするルールを決めて
ソートするスクリプトを記述する
上記の例ならば、各mcのインスタンス名にある数値を取得して
その数値順に配置し直すスクリプトにすればよい

255 :Now_loading...774KB:2009/02/21(土) 01:34:57 ID:PlcnWZsc
>>252
サイト開いたらflashで勝手にカーソル動かされて
変なとこクリックさせられたら怖いよねぇ

そういうのを望んでるのかな?

256 :Now_loading...774KB:2009/02/21(土) 03:02:02 ID:u1qaRBAT
>>254
有難うございます。addChildAtの性格が分かれば、さほど難しくはなかったです。
for (var id=0; id<5; id++) {
this.addChildAt (this["mc"+(id+1)],0);//thisはステージ
}
を実行するとmc1が0に位置に行き、同じくmc2も0・・・ で、下への滑り込みを
繰り返して並べることが出来ました。


257 :Now_loading...774KB:2009/02/21(土) 05:14:08 ID:iDVjkB9q
>>255
結構制約が厳しいからねえ。
絶対そんなライブラリないだろうし、作れないだろうと思う。


258 :Now_loading...774KB:2009/02/21(土) 06:25:14 ID:Amk0DNZ1
よろしくおねがいしますーー
classの中に自分で関数を定義して、使うのはできるのですが、Key.DOWNの中から
呼び出すと、undefinedになってしまいます。どうすれば、イベントリスナの中から
呼び出せますか?

259 :Now_loading...774KB:2009/02/21(土) 06:36:53 ID:Amk0DNZ1
>258続き
class Menu1 {
static function main () {
var app:Menu1 = new Menu1(_root);
}
function Menu1(path) {

var keyListener_obj:Object = new Object();
keyListener_obj.onKeyDown = function() {
switch (Key.getCode()) {
case Key.UP :
hoge();
break;
}
};
Key.addListener(keyListener_obj);
}
//関数
function hoge():Void{

return s;
}
}


260 :Now_loading...774KB:2009/02/21(土) 10:42:38 ID:eJq84mWd
AS3.0、Flash・cs3です
ブラウザサイズ変更時に、画面中央にムービークリップを常に置いておく方法で
中央配置したいムービークリップをmcとして
stage.addEventListener(Event.RESIZE, r);
private function r(event:Event):void {
if(stage.stageWidth > 600) {
this.x = stage.stageWidth / 2 - mc.width / 2;
}
if(stage.stageHeight > 600) {
this.y = stage.stageHeight / 2 - mc.height / 2;
}
}
この様にしていたのですが、この方法だとマウスでブラウザサイズを変更した瞬間から常に中央位置へとmc動いてしまいます
よくflashサイトで見かける動作で、ブラウザサイズを変えている(マウスドラッグ移動でブラウザを広げor縮めている)間は
中央に配置しているオブジェクトは動かず、サイズ変更が終わった(マウスの移動を止めた)時点で画面中央へ
オブジェクトが移動して来るというのを見かけます
あれはどうやって指定してあるのでしょうか?宜しくお願いします。

261 :Now_loading...774KB:2009/02/21(土) 13:57:56 ID:5DQ3HUDF
>>258
2.0だとその辺はDelegate使うのが一番楽じゃないかな

import mx.utils.Delegate;
class Menu1 {
//コンストラクタ
function Menu1() {
var keyListener_obj:Object = new Object();
keyListener_obj.onKeyDown = Delegate.create(this, function () {
switch (Key.getCode()) {
case Key.UP :
hoge();
break;
}
});
Key.addListener(keyListener_obj);
}
//関数
function hoge():Void {
trace("hoge");
}
}

262 :Now_loading...774KB:2009/02/21(土) 14:00:41 ID:L280k9XR
>>260
タイマーでやってみたらどうですか?
timer = new Timer(500);//マウスでリサイズ後に呼ばれる用タイマー(数値はお好みで)
timer.addEventListener(TimerEvent.TIMER, onTimer);
stage.addEventListener(Event.RESIZE,onResize);

private function onTimer(e:TimerEvent):void {//リサイズ後
timer.stop();
//リサイズ処理
}

public function onResize(ev:Event):void{//リサイズ中
timer.reset();//タイマーリセット
timer.start();//タイマースタート
}

263 :Now_loading...774KB:2009/02/21(土) 14:14:33 ID:L280k9XR
>>262
>public function onResize(ev:Event):void{//リサイズ中
FDで自動生成したらpublicになっちゃったけどprivateでおkです
private function onResize(ev:Event):void{//リサイズ中

264 :Now_loading...774KB:2009/02/21(土) 14:52:12 ID:2HywzxUv
>>260
javascriptのonRisizeイベントハンドラーは反応遅いから、それつかったらどうだろうか

こんな感じ
.js-------------
window.onresize = function() {
flashID.reSizeHandler();
}

265 :Now_loading...774KB:2009/02/21(土) 14:58:28 ID:2HywzxUv
ちょっと、困ってます。
FirefoxのFlashTracerが動かなくて困ってるんです。

こんなエラーが出てます。
flashlog.txt file does't exists. Open settings dialog first.

mm.cfgはこんな感じ
ErrorReportingEnable=1
TraceOutputFileEnable=1

flashlog.textにはちゃんとtraceログが出力されてるけど、
Tracerに表示できないって感じです。

よろしくお願いします。

266 :264:2009/02/21(土) 15:01:23 ID:2HywzxUv
>>260
ああ、すまん。
FFはリサイズ後だが、IEはリサイズ中にもイベントが出てるみたいだわ
http://www.openspc2.org/JavaScript/reference4/event/onResize/sample1/index.html

267 :Now_loading...774KB:2009/02/21(土) 15:13:04 ID:be+HGCyf
>>265
最初にflashlog.txtがある場所を指定しないといけないんじゃなかったっけ

268 :Now_loading...774KB:2009/02/21(土) 15:39:18 ID:2HywzxUv
>>267
なんとなく原因がワカタ

C://直下に「flashlog.txt」をコピペしてみて、試したら。読み込んだ。。。orz
原因はたぶんパスが
C:\Documents and Settings\日本語\Application Data\Macromedia\Flash Player\Logs\flashlog.txt
ってなってて、日本語があるからかも。。

どうしろと。。。

269 :265:2009/02/21(土) 15:52:17 ID:2HywzxUv
あきらめた
Logはでてるから、このソフト使った。
ttp://bitmap.dyndns.org/blog/archives/001306.html


270 :Now_loading...774KB:2009/02/21(土) 16:02:23 ID:be+HGCyf
>>268
ユーザー名に2バイト文字使うなww

271 :Now_loading...774KB:2009/02/21(土) 17:36:40 ID:cFPSqgTs
質問です。
AS2.0で書いてます。
重力表現で、完全に動きが止まってから、mcのonEnterFrameを削除したいのですが、
if文をどう書いたらいいかわかりません。
どうしたらいいでしょうか。

var gravity:Number = 9;
var bounce:Number = -0.7;
var vy:Number = 0;


function mc_Gravity(mc:MovieClip, Bottom:Number):Void {
var radius:Number = mc._height/2;

mc.onEnterFrame = function():Void {

vy += gravity;
this._y += vy;


if (this._y+radius>Bottom) {
this._y = Bottom-radius;
vy *= bounce;
}

};
}

272 :Now_loading...774KB:2009/02/21(土) 18:00:07 ID:whMuXLhw
1フレームごとの移動量を別途計算して
一定移動量以内の場合停止したと見なせばよい


273 :Now_loading...774KB:2009/02/21(土) 18:31:15 ID:bwkzw5vZ
>>272
それだとバウンドした後の頂点で止まってしまう。

バウンドのvy *= bounce; 後に
vyがある小さな値(0.01とか)より小さいかどうか判定すればいいんでないか?
ただし、vyは正負が反転してるので、
絶対値をとるか、-0.01より大きくなったらとするか、
そんな感じかね。

274 :Now_loading...774KB:2009/02/21(土) 18:56:24 ID:whMuXLhw
一つ一つ順を追って解決していけばいいだけの話
いっぺんに行なうから混乱するんだ

275 :Now_loading...774KB:2009/02/21(土) 19:08:17 ID:bwkzw5vZ
>>274
混乱なんてしてないが?
完全に動きが止まるのは必ずバウンドの際。
反発の速度が極小になったかどうかを判定するだけだから、
概念としてもわかりやすいと思うが?

276 :Now_loading...774KB:2009/02/21(土) 19:13:01 ID:cFPSqgTs
>>273さんのアドバイスをもとに、ちょっとコード変えたら何とか出来ました。
スマートじゃないですけどw
ありがとうございました。
var gravity:Number = 9;
var bounce:Number = -0.7;

function mc_Gravity(mc:MovieClip, Bottom:Number):Void {
var radius:Number = mc._height/2;
var vy:Number = 0;

//追加した部分
var old_y:Number;
//-------------
mc.onEnterFrame = function():Void {
vy += gravity;
this._y += vy;
//追加した部分
if ((old_y-this._y)-(this._y-old_y)==-10.5) {

delete this.onEnterFrame;
}
//-------------
if (this._y+radius>Bottom) {
this._y = Bottom-radius;
vy *= bounce;
old_y = this._y;
}

};
}

277 :Now_loading...774KB:2009/02/21(土) 19:26:45 ID:M8pVizoK
if ((old_y-this._y)-(this._y-old_y)==-10.5) {
を数学的に式の展開とかしたら
if (old_y-this._y == -5.25) {
になると思うんだが、それはともかく。

いくつか問題がある。
まず、Numberは一定の値と比較するのはまずい。
必ず誤差がが含まれる。
-5.250000000000000001みたいなことがあり得る。だから
==で比較しちゃダメ。

あと、>>273がいう>>272がまずい点は、跳ね返りのタイミングで
移動量が0や小さな値になる場合があるってこと。
1フレ目:|   ←○
2フレ目:|   ○→
跳ね返って来た場所が1フレ前と距離○1個分だけど、移動した距離は
左側の板まで行って帰ってきた分だから単に位置の差だと正しくない。

278 :Now_loading...774KB:2009/02/21(土) 21:06:34 ID:Amk0DNZ1
>>261
ありがとうございました。きっかけはわかりました。
mtascでやっているので、delegateクラスをみつけてきてやっているのですが
まだできていません。

279 :Now_loading...774KB:2009/02/21(土) 21:57:29 ID:MRcpnxJe
>>278
delegateを使う必要があるの?

class Menu1 {
    static function main () {
        var app:Menu1 = new Menu1(_root);
    }
    function Menu1(path) {
        var keyListener_obj:Object = new Object();
        var me:Menu1 = this;
        keyListener_obj.onKeyDown = function() {
        switch (Key.getCode()) {
            case Key.UP :
                me.hoge();
                break;
            }
        };
        Key.addListener(keyListener_obj);
    }
    //関数
    function hoge():Void{
        trace("hoge");
    }
}

280 :252:2009/02/21(土) 23:43:20 ID:Po/XtmxO
>>255 >>257
ありがとうございました。Flashで入力支援みたいなことってできるかなーと。
最近Flashでけっこういろいろやってみるのが楽しくなってきたのでw
多くの人がVM(というかFlashPlayer)は持っているのでアプリ配布しやすいですしね。

281 :Now_loading...774KB:2009/02/22(日) 00:56:59 ID:XWXx11pz
環境:WinXP-ProでFlashCS3-ProのAS3.0です。

外部よりLoader(var swfLoader:Loader)で読み込まれたSWF内のフラグの参照がうまく
行かず困っています。
これは、アパートの部屋に引越して来た住人の旗の上げ下げを管理人の子供(mc1)を
使って確認するというものです。

入居する外部SWFを「external_1.swf」として、このフラグ(nextSeenF)の真偽はexternal_1.swf
内のMC(nextB)をクリックすることで切り替えます(入居人の子供で切り替わる)。
ASファイルでは、
var swfLoader:Loader = new Loader();
var loadEvt:Event;
と宣言して
private function initLoad_on (loadEvt):void {
trace ("nextSeenF= "+loadEvt.target.content.nextB.parent.nextSeenF);

}

の場合は初期値のfalseが表示され参照出来るのですが、その次の記述では下のようになります。
private function mc1_click (loadEvt):void{//mc1を押す
trace ("nextSeenF= "+loadEvt.target.content.nextB.parent.nextSeenF)
// TypeError: Error #1010: 条件は未定義であり、プロパティがありません
}

まとめると、入居者が引っ越した瞬間はフラグ確認できるのですが、その後に管理人の子供
からは確認できない状況です。

どなかたアドバイス願います。

282 :Now_loading...774KB:2009/02/22(日) 03:14:00 ID:qp7aQk+J
??おかしな点が色々あるような・・・?
まずvar loadEvt:Event; この宣言は意味がないのでは?

察するにコードのどこかに
(nextBのオブジェクト).addEventListener(MouseEvent, mc1_click);
があるんですよね。ならば
private function mc1_click(e:MouseEvent):void
{
trace(e.currentTarget.parent.nextSeenF);
}
でうまくいくと思いますが・・・

283 :Now_loading...774KB:2009/02/22(日) 03:16:31 ID:qp7aQk+J
(nextBのオブジェクト).addEventListener(MouseEvent.CLICK, mc1_click);
失礼。訂正。

284 :Now_loading...774KB:2009/02/22(日) 04:15:54 ID:XWXx11pz
>>282
レス有難うございます。今回の模式図(?)は下のような感じです。

入居者SWF ・・・ ( ● )  子供MC「●」を含んでいる
管理人SWF ・・・ [  ★  ]  これも子供「★」をを含んでいる
これらは、外部SWF読み込みで

[ ★ ( ● )] の形になり、●(nextB)を押して入居者フラグをtrueにする → ★(mc1)を押して
管理人側から確認
という流れです。(nextBのオブジェクト).addEventListenerに関して言えば、これは●自身の
タイムラインに 
this.addEventListener (MouseEvent.CLICK, this_click); 
function this_click (mouseEvt:MouseEvent) {
MovieClip(parent).nextSeenF=true;
}
と書いてあり、mc1の動作とnextBの動作は完全に独立しています。

とりあえず、「var loadEvt:Event; この宣言は意味がないのでは? 」ということなので、
ここから修正してみます。


285 :Now_loading...774KB:2009/02/22(日) 04:33:17 ID:qp7aQk+J
ああ、なるほど。ちょっと勘違いしていたようだ。
private function mc1_click (loadEvt):void{//mc1を押す
trace ("nextSeenF= "+loadEvt.target.content.nextB.parent.nextSeenF)
// TypeError: Error #1010: 条件は未定義であり、プロパティがありません
}
多分、loadEvt.targetがswfLoaderと一致しないんでしょう。
trace(loadEvt.target as Loader);はnullとなるはずです。

private function mc1_click (loadEvt):void{//mc1を押す
if (loadEvt.currentTarget!=swfLoader) return;
trace ("nextSeenF= "+loadEvt.target.content.nextB.parent.nextSeenF) ;
}
としてみては?



286 :Now_loading...774KB:2009/02/22(日) 06:46:46 ID:/E35eGfO
>>279
ありがとうございました。 あっさりできました。
var me:Menu1 = this;

287 :281&284:2009/02/22(日) 15:27:42 ID:hWuIXjn6
>>285
どうも。
if文の中に trace ("不一致: "+loadEvt.currentTarget); を1行入れて試したところ、
エラーは何も出なかったですがフラグ情報も出ませんでした。
(追加のtraceでは 不一致: [object MC1] と出ます)。

別案として、var loadEvt:Event; の代わりに var loadEvt1:Event; を置いて、
private function initLoad_on (loadEvt:Event):void {} の中で loadEvt1=loadEvt; として
管理人の子供クリック private function mc1_click (mouseEvt:MouseEvent):void {}
で trace ("nextSeenF= "+loadEvt1.target.content.nextB.parent.nextSeenF);
とするとOKでした。

つまり、イベント情報オブジェクトを移し変えて参照する形です。
(余りスマートでは無いかも知れませんがw)


288 :260:2009/02/22(日) 22:46:58 ID:/uwA99JQ
>>262
>>263
教えて頂きありがとうございました。処理方法でちょっとこんがらかってしまって未だに実装できてませんが
javascriptで指定されてる可能性もあったんですね、そちらの方も調べてやってみようと思います

289 :Now_loading...774KB:2009/02/22(日) 23:27:35 ID:DDcHG7iJ
フルFlashサイトとか作ってると、いつもメニューボタンのイベントハンドラメソッドに、
サイト内のあらゆる挙動のコードが集中してしまうんだが、
そんなもんかな?

俺の作り方間違ってる?

290 :Now_loading...774KB:2009/02/22(日) 23:35:58 ID:/jrNeYyT
間違ってる

291 :Now_loading...774KB:2009/02/23(月) 01:09:29 ID:TEK5SSvh

attachMovieでランダムに配置したMCを削除してから
別のフレームに飛にはどうしたらよいのでしょうか。
現状、attachMovieで配置したMCと
飛んだ先に配置してあるMCがステージ上で重なってしまうのです。
removeMovieClip();をどのように記載すればよいのか、教えて頂けますでしょうか?

作業環境:MAC OSX FLASH8

292 :Now_loading...774KB:2009/02/23(月) 02:47:39 ID:6FUYdN4Q
attachMovieで作成したもんを配列に入れたらいい
削除はこんな感じ
for each(var obj:Object in objArr ){
removeChild(obj)
}

巻き添え規制食らって、携帯で打ってるから
辛いぜ

293 :nagisa:2009/02/23(月) 04:21:23 ID:eS5s4xpt
質問です!Flash8使っています。フルスクリーン表示でステージがリサイズされたときの右上位置固定についてですが、その場合、MC名を仮に Migi とした場合で最右上から縦横に10pxの隙間をあけた位置で固定するには下記コードにどのように追加すればよろしいでしょうか?
--------------------
myStageHeight = Stage.height;
myStageWidth = Stage.width;
resize(myStageHeight,myStageWidth);
Stage.scaleMode="noScale"
Stage.align = "TL";
myListener = new Object();
myListener.onResize = function() {
myStageHeight = Stage.height;
myStageWidth = Stage.width;
resize(myStageHeight,myStageWidth);
}
Stage.addListener(myListener);
function resize(H,W){
Line._width = W;
Title._y = 123;
Title._x = 166;
parH = H/647;
parW = W/1200;
if(parH < parW){
haikei._yscale = parW * 100;
haikei._xscale = parW * 100;
}else{
haikei._yscale = parH * 100;
haikei._xscale = parH * 100;
}
}
--------------------

294 :Now_loading...774KB:2009/02/23(月) 04:31:01 ID:ks61LeXD
>>289
Flashに限らず、大概のプログラムでは、プログラムの挙動を制御するメソッドを集めたクラスを作って
メニューのハンドラからそれを呼び出す形にしたほうがいいね。こうすると、ツールボタンからも利用できるし
外部のプログラムコードから利用できるように改良することも容易になる。

295 :Now_loading...774KB:2009/02/23(月) 06:19:19 ID:NckKBoSu
それってもしやインターフェースのこと?

296 :Now_loading...774KB:2009/02/23(月) 07:59:26 ID:vU0j0VHD
>>294
答えてくれてありがとうです。
そうすることでサイトの高速化がはかれたりするもんですかね?

297 :Now_loading...774KB:2009/02/23(月) 10:06:31 ID:vU0j0VHD
質問す。
3つ以上の変数に同じ数字がかぶらないように、
乱数代入するにはどうすればいいんでしょうか?

自分は3つ変数作って、
変数AはMath.randomで乱数入れて、変数Bには変数A+1を、変数Cには変数B+1を代入して、
+1することで乱数の上限以上になった場合は1を代入する方法を取ろうと思ったのですが、
これでは完全な乱数ではないので、 なにか良い方法はないでしょうか?

298 :Now_loading...774KB:2009/02/23(月) 10:25:38 ID:IuGK45cy
黙っててもMath.randomが同じ値を引く確率はかなり低いと思うよ。
ちなみに乱数の上限は1だから、1を加算した時点で上限突破確実だよ?w

299 :Now_loading...774KB:2009/02/23(月) 11:11:08 ID:KIUz/Y0p
>>297
まあ、乱数自体が被ることはそうないと思うが、
整数に直した値が被って欲しくないとかならこういう手。

var i:int;
var ran:int;
var a:Array = new Array();
a[0] = Math.floor( Math.random() * 11 ); // 例えば0〜10なら。
for( i=1 ; i<3 ; )
{
a[i] = Math.floor( Math.random() * 11 );
if( a[i-1] != a[i] ) i++;
}

300 :Now_loading...774KB:2009/02/23(月) 12:21:32 ID:b902jtS7
>>297
トランプのようにあらかじめ決められたカードを
十分にシャッフルして、上から3つとるなどすれば同じカードはでない。

1〜10の中から重複しない値を3つランダムなら、
[1, 2, 3, ...10]を十分にシャッフルして
[10, 2, 5, ...3]みたいにして、先頭から3つ[10,2,5]とすれば重複しない。



301 :Now_loading...774KB:2009/02/23(月) 16:13:47 ID:RR41nWx9
>>299
1つ前のとしか比較してないから、2つ以上前のとかぶる可能性アリ

整数のつもりなら>>300のやり方が一番スマートだと思う

302 :Now_loading...774KB:2009/02/23(月) 16:45:47 ID:/vteKmUy
>>278
もう見てるかわからないけど・・・。

class Menu1 {
//コンストラクタ
function Menu1() {
var path:Object = this;//クラス内で変数にパス入れておく
var keyListener_obj:Object = new Object();
keyListener_obj.onKeyDown = function() {
path.hoge();
}
Key.addListener(keyListener_obj);
}
//関数
function hoge():Void {
trace("hoge");
}
}
}

多分これが一番簡単。




303 :299:2009/02/23(月) 19:25:57 ID:KIUz/Y0p
>>301
あー。ほんとだ。これはひどい。すんません。
直すとこんな感じですかね。(AS3前提)

var i:int;
var max:int = 10 + 1; // 例えば0〜10なら。
var a:Array = new Array();
var check:Array = new Array( max );
for( i=0 ; i<3 ; )
{
a[i] = Math.floor( Math.random() * max );
if( check[ a[i] ] == undefined ){
i++;
check[ a[i] ] = a[i];
}
}

>>300-301
> 十分にシャッフルして
具体的にはどうやるんでしょうか。思いつかないので教えてもらえると嬉しいです。

304 :Now_loading...774KB:2009/02/23(月) 20:29:13 ID:Q4Ss3chh
var a,b,c:Number;
var loop:Boolean = true;
while (loop) {
a = Math.random();
b = Math.random();
c = Math.random();
if (a != b && b != c && c != a) loop = false;
}

305 :Now_loading...774KB:2009/02/23(月) 20:55:11 ID:RR41nWx9
>>303
「Fisher-Yates」で検索
>>304
while(loop) → while(true)
loop = false; → break;
の方が自然

306 :Now_loading...774KB:2009/02/23(月) 21:12:57 ID:2FYZSbIn
環境:WinXP-ProでFlashCS3-ProのAS3.0です。

外部よりLoader(var swfLoader:Loader)で読み込まれたSWFのフレーム操作が出来ず
困っています。
現在2つのSWF(AとB)があり、A→BでB[A]の形で読み込み、AのフレームをBより操作
しようとしています。つまり、B[A(1)] → B[A(2)] の形です。

ASでは、var tmpMC0:MovieClip=new MovieClip; として、これにイベント情報のオブジェクト
var loadEvt1:Event; を tmpMC0=loadEvt1.target.content; で代入しています。
ここで trace ("totalFrames= "+tmpMC0.totalFrames); とすると、設定したフレーム数(5個)
が表示され、正しく属性を見ていることが分かります。

しかし、
var frameNum:uint=1;
tmpMC0.gotoAndStop (frameNum++);
では確かにframeNumは増加しますが、Aのフレームが2に移動しません。

どうしたら良いでしょうか?


307 :Now_loading...774KB:2009/02/23(月) 21:21:32 ID:RR41nWx9
tmpMC0.gotoAndStop (++frameNum);

308 :Now_loading...774KB:2009/02/23(月) 21:36:21 ID:dlrf6Y22
>>304
100個のときはどんすんの?

309 :Now_loading...774KB:2009/02/23(月) 21:57:43 ID:ksE9zHGY
>>307
有難うございます。
前方でインクリメントをするんですね。


310 :Now_loading...774KB:2009/02/24(火) 01:34:28 ID:L56G43Rt
3個以上という前提を無視w

311 :Now_loading...774KB:2009/02/24(火) 06:19:55 ID:IWbryFo0
MC内のダイナミックテキストで質問です。
WinXPでAS3.0(CS3)です。

http://uproda11.2ch-library.com/src/11161649.jpg のように長方形オブジェクトの
上のレイヤーにダイナミックテキストを置き、このMC自体を this.buttonMode=true;
で選択できるようにしました。
ところが、マウスを上に重ねるとダイナミックテキストの部分でマウスの指マークがテキスト
選択の縦棒(| テキストカーソル?)になり見た目に都合が悪いです。

どうしたら良いでしょうか?
小細工的にダイナミックテキストの上のレイヤーに透明グラフィックを置きましたが改善
されませんでした。


312 :Now_loading...774KB:2009/02/24(火) 08:41:24 ID:6zz2c9rd
>>308
>>310
変数を配列にして、for文とかでループで100回させればおk
loopの値判定もな

313 :Now_loading...774KB:2009/02/24(火) 09:16:45 ID:L56G43Rt
要求にもよるが、例えば0-1000のランダム値を100個得たいとすると
1)1-1000を配列に格納して最低でも1000回のrandom呼び出しして頭から100個(安定)
2)ランダム値を100個分の配列に重複チェックしつつ格納(不安定)
のどっちかになるんじゃないかな

314 :Now_loading...774KB:2009/02/24(火) 09:17:31 ID:L56G43Rt
1)はシャッフルの時のランダム呼び出しね

315 :Now_loading...774KB:2009/02/24(火) 09:52:35 ID:gOhhoi2Q
>>311
選択不可にしたらいい

316 :Now_loading...774KB:2009/02/24(火) 11:56:31 ID:hm5M2EDb
XP CS3 AS2.0で製作しているflashについて質問があります。

_root上のタイムラインに関数を作っているのですが
それを1階層下のボタンインスタンスから呼び出す事が出来ません。
_root上から関数の実行は出来るのですが1階層下のボタンインスタンスから
on(press)で実行させようとすると実行できません。

以下コード
============タイムライン上の関数=======================
System.useCodepage = true;
function funk(yomi) {
_root.rink_mov.loadVariables(yomi);
_root.rink_mov.onData = function() {
dina_txt.htmlText = str;
dina_txt.textColor = 0x0000AA;
};
=====================================================
-------------ボタンインスタンスのコード------------------
on(press){
funk("rink.txt");
}

いろいろ試してみたのですがどうも関数が実行されていないようなのです。
何故なんでしょうか?教えていただける方がおられましたら
教えていただけると嬉しいです。

317 :Now_loading...774KB:2009/02/24(火) 12:13:13 ID:B5LdlpOf
>>361

on(press){

_root.funk("rink.txt"); // _rootが抜けてる

}

318 :Now_loading...774KB:2009/02/24(火) 12:23:00 ID:hm5M2EDb
>>317
ありがとうございます!
動きました・・・・orz



319 :Now_loading...774KB:2009/02/24(火) 17:45:50 ID:lt2Pia6E
このフラッシュを作りたいのですが・・・

http://blog.crooz.jp/usr/ykzc/mao0001/top.php

誰か教えてください。

320 :Now_loading...774KB:2009/02/24(火) 18:05:55 ID:hjFpuXe/
suzukaというソフトがあるようだが、それで作ったのでは?

321 :Now_loading...774KB:2009/02/24(火) 18:21:44 ID:hSNqUXHj
stage.displayState = StageDisplayState.FULL_SCREENに設定したとき、
stage.fullScreenSourceRectと実解像度のアスペクト比誤差によって上下(または左右)にバーが出ますよね?
このバーの色を再生時間に応じて動的に変えたいのですがどうすれば良いでしょうか?
環境はFlexSDK3.3.0(AS3)、FlashPlayer10.0.12.36。IE7/Firefox3/Opera9.6/Safari3.2で表示出来るようにしたいです。

322 :Now_loading...774KB:2009/02/24(火) 18:55:11 ID:rLlko2TG
初歩的な質問かと思いますがお願いします。actionscript3.0です。
配列に入っている物をランダムに取り出したいのです。
array[0] = "abc";
array[1] = "def";
array[2] = "ghi";
array[3] = "jkl";
この4つの中身を、
for(i=0; i<4; i++)
for文で4回取り出す処理を繰り返し、array[?]が3→2→0→1や1→3→0→2とか、順番はランダムでも取り出す対象は重複しないようにしたいのです。
Math.floor(Math.random()*4)を使ってみてますが、他にそういった処理をしてくれる関数や方法などありませんでしょうか?



323 :Now_loading...774KB:2009/02/24(火) 19:09:19 ID:2zWz5ACg
>>322
ちょっと前のレスに似たような質問が・・
てかこっちの方が簡単。取り出し順配列を作ってシャッフルするだけ。

324 :Now_loading...774KB:2009/02/24(火) 19:40:12 ID:qM18Fqoe
>>315
ありがとうございます。選択不可でテキストカーソルは回避できました。
しかしながら、オブジェクト上の文字列にマウスがさしかかると指マークから
通常の矢印マークになります。

欲を言って申し訳ないですが、指マークのままにするにはどうしたら良いでしょうか?


325 :Now_loading...774KB:2009/02/24(火) 20:12:11 ID:gOhhoi2Q
>>322
こんな感じ?
//ランダムで取り出す用
var targetRandomArray:Array = new Array;
function setRandomArray( arr:Array ):void {
targetRandomArray = arr;
}
function getRandomArray():String {
var i:int = targetRandomArray.length;
var r:int = (Math.random()*i ) >> 0;
var retString = targetRandomArray[ r ];
targetRandomArray.splice( r , 1 );
return retString;
}

326 :Now_loading...774KB:2009/02/24(火) 20:14:15 ID:dCjFW/JF
まうすもーどおんでいいのよ
さあおいでおにいちゃん

327 :Now_loading...774KB:2009/02/24(火) 23:21:56 ID:rLlko2TG
>>323
ありがとうございます、読み直したら297の方の辺りで似たような内容であったようですね、失礼しました・・・。

>>325
ありがとうございます、書いて頂いたソースはまだ上手く認識できていませんが
これから調べながら参考にさせて頂きます、ありがとうございました。


328 :Now_loading...774KB:2009/02/24(火) 23:38:44 ID:gOhhoi2Q
>>327
あ、忘れたよ
setRandomArray(array);
trace(getRandomArray());
trace(getRandomArray());
trace(getRandomArray());
trace(getRandomArray());

こう使うのよ

329 :Now_loading...774KB:2009/02/25(水) 03:19:02 ID:XxM0/nBg
環境:WinXP-ProでFlashCS3-ProのAS3.0です。

以前作ったFlash(メインのタイムラインフレームは1個のみ使用)にオープニング画面用
のフレームを前方に1個付けたところ、今まで正常に動いていたものがコンストラクタで
「TypeError: Error #1009: null のオブジェクト参照のプロパティまたは
メソッドにアクセスすることはできません。」
のエラーが出ます。
なお、ASはドキュメントクラスとしてステージにリンケージしています。

デバッグモードで調べたところ、ステージ上に置いているMC(dispM)の行が問題を起こし
ていることが分かりました。この行は、this.dispM.buttonMode=true; の書式でボタンモード
を指定している箇所です。しかし、この行は以前の段階では何も問題を生じていません。

こういう場合(前方にフレームを付けた場合)どうすべきでしょうか?


330 :Now_loading...774KB:2009/02/25(水) 07:38:52 ID:zIyOlrTF
>>325
>>328
酷すぎるだろコレ
全く参考にならないどころか絶対に参考にすべきじゃない

331 :Now_loading...774KB:2009/02/25(水) 08:14:40 ID:RKgMv12V
>>329
第一フレームにオープニング用のMCが、
第二フレームにdispMがあるわけですね?
だとすると、ドキュメントクラスのコンストラクトの段階ではまだdispMオブジェクトが作られていないはず。
第二フレームに移った瞬間にdispMが作成されるはずなので、その時に、buttonModeを指定するよう
にする必用があると思います。


332 :Now_loading...774KB:2009/02/25(水) 08:53:22 ID:uEzbm7B1
>>325
>>328
糞ソースさらしてんじゃねーよw

333 :Now_loading...774KB:2009/02/25(水) 10:16:11 ID:xpJXXZ1K
あるムービークリップの中身を任意に差し替えるという関数もしくは
クラスを作成しようとしています。(winxp+cs3+as2)

1) 外部から複数の画像(a.jpg, b.jpg, c.jpg)をloadmovieで配列に格納します
2) (1)で格納する際、画像処理を施します
3) 新規に空のMCを作成し、その中に(1)で読み込んだ任意の画像を表示する
4) 任意のタイミングで表示する画像を切り替える

漠然と上記のようなことをしたいのですが、実際にどう書いたら良いか
分かりません。(1)だけ考えても、loadmovieで読み込んだMCを配列に入れる際
ターゲットパスに表示されてしまいます。配列にだけ格納して「ライブラリ」のように
使いたいのですが、このような仕組みを実現するにはどうすれば良いでしょうか。

334 :Now_loading...774KB:2009/02/25(水) 10:29:10 ID:3p96aeSt
質問はもっとしぼって
実際に試してみたコードを記述

335 :Now_loading...774KB:2009/02/25(水) 10:38:10 ID:/UFvuhO5
>>330,332
なんでー?
>>325が大正解に見えるんだけど、他にやり方あるの?
AS1.0の潮気を抜いて静的関数にしろとか?

336 :Now_loading...774KB:2009/02/25(水) 11:13:07 ID:uEzbm7B1
>>335
>>330>>322の仕様を実現できてると思うのか?

337 :Now_loading...774KB:2009/02/25(水) 11:53:51 ID:yRTuCbLe
>>336
わからん。合ってる気がするけど。
どこが問題?

338 :Now_loading...774KB:2009/02/25(水) 14:04:51 ID:l96E+MRq
>>337
まず関数の意味を使う意味を覚えて来い・・・。

339 :Now_loading...774KB:2009/02/25(水) 15:18:24 ID:/UFvuhO5
あらら誤魔化しちゃった。
思い違いなら認めようよ。

340 :Now_loading...774KB:2009/02/25(水) 15:32:52 ID:X3f7AKO6
>>325>>328の問題点
・ローカル変数にアクセサを定義する意味不明さ
・ディープコピーのつもりなんだろうが、setRandomArray()でやってるのはシャローコピー
・寡聞にして右に0ビットシフトというテクニックは知らない
・getterで特に必要もないのに、spliceを使う行儀の悪さ
・getRandomArray()でStringを返すセンスの無さ
・シャローコピーとspliceのコンボにより、>>328の後、元の配列は完全に破壊される

341 :Now_loading...774KB:2009/02/25(水) 15:35:41 ID:uEzbm7B1
元配列破壊してどうすんだよw

342 :Now_loading...774KB:2009/02/25(水) 15:44:28 ID:4Ww0k/hT
>setRandomArray()でやってるのはシャローコピー

やっぱそうなのか。
AS3.0詳しくないから、もしかしたら3.0では挙動が変わったのかと思ってしまった。

343 :Now_loading...774KB:2009/02/25(水) 15:46:17 ID:3k2f2Esn
えっ?

344 :Now_loading...774KB:2009/02/25(水) 15:46:38 ID:xAHctdBy
>>331
そうです。dispMは第2フレに置いてあり、このフレで有効です。
ASファイルのコンストラクタの記述を丸ごと第2フレのフレームアクション欄に
移動したら上手くいきました。

有難うございます。


345 :Now_loading...774KB:2009/02/25(水) 15:52:32 ID:AWKL6A7W
それシャローコピーにも至ってないよ
参照まるごと他の変数に代入してるだけ
シャローコピーとかディープコピーとかは別の話

346 :Now_loading...774KB:2009/02/25(水) 17:15:19 ID:nO9qMjW5
「関数の意味を使う意味」を覚えないとダメらしいぜ

347 :Now_loading...774KB:2009/02/25(水) 22:09:22 ID:RKgMv12V
package //namespace
{
public class RandomIndexProvider
{
private var _remains:int;
private var _ar:Array = new Array();
public function RandomIndexProvider($size:int)
{
for (var i:int=0;i<$size;++i)
_ar.push(i);
_remains = $size;
}
public function getNextIndex():int
{
if (_remains==0) return -1;
var i:int = Math.random()*_remains;
var a0:int = _ar[i];
var a1:int = _ar[_remains-1];
_ar[_remains-1] = a0;
_ar[i] = a1;
--_remains;
return a0;
}
public function reset():void { _remains = _ar.length; }

}
}
重複なしのランダムなインデックス数列を取り出せるクラスを作ったほうが汎用性があるので、このように
つくってみた。


348 :Now_loading...774KB:2009/02/25(水) 22:10:58 ID:RKgMv12V
で、これがテストプログラム。
var n:int = 10;
var rip:RandomIndexProvider = new RandomIndexProvider(n);
var s:String ="";
var i:int;
for (var u:int=0;u<10;++u)
{
for (i=0;i<n;++i)
{
s+=String(rip.getNextIndex()); s+=" ";
}
trace(s);rip.reset();s="";
}

349 :Now_loading...774KB:2009/02/25(水) 22:17:22 ID:RKgMv12V
実行結果。まあ、よさそうな感じ。
4 0 5 3 6 7 8 9 1 2
0 5 8 2 3 6 1 4 7 9
3 8 9 7 0 5 6 4 2 1
9 8 0 1 3 5 7 4 2 6
1 4 5 7 8 0 2 6 9 3
8 7 0 2 9 4 1 5 3 6
6 4 7 3 1 5 2 8 9 0

言い忘れたが、これは>>322に対するレスね。
array[0] = "abc";
array[1] = "def";
array[2] = "ghi";
array[3] = "jkl";

var n:int = array.length;
var rip:RandomIndexProvider = new RandomIndexProvider(n);
for (var i:int=0;i<n;++i)
trace( array[rip.getNextIndex()] );


350 :Now_loading...774KB:2009/02/25(水) 23:00:55 ID:vRu4XfiR
AS2.0で検索機能を作ろうと思っているのですが、
テキスト入力で検索したい文字を打ち込んで、検索ボタンを押すと、
外部テキストから読み込んで、その打ち込んだ言葉がテキストエリアに出力されるようにしたいのですが、
どうすれば実現できますでしょうか?


[ a ] 検索ボタン
[ aia aaa axa ]

などといった感じです。

351 :Now_loading...774KB:2009/02/25(水) 23:13:00 ID:3p96aeSt
まずは作ってみて
わからない部分を質問

352 :Now_loading...774KB:2009/02/25(水) 23:48:01 ID:vRu4XfiR
>351
作ってみて、外部テキストの読み込みとボタンを押して
外部テキストの表示は出来るのですが、検索のやり方だけは分からないんです

353 :Now_loading...774KB:2009/02/25(水) 23:53:11 ID:4Ww0k/hT
>>352
検索の対象は何?
読み込んだ外部テキスト?
それとも検索語にマッチした名前のファイルを読み込むの?
そのへんももっと具体的に。

354 :Now_loading...774KB:2009/02/25(水) 23:58:42 ID:vRu4XfiR
>353
外部テキストです。
先に、外部テキストに何か文字を入れておいて
例(aa)
検索でaを検索とすると、aという言葉が入っている言葉を表示されるようにしたいです。

もちろん、aだけではなく、bを検索とすると、bが表示といった感じです。

355 :Now_loading...774KB:2009/02/26(木) 00:16:17 ID:DXCalcMc
1.外部テキストの各文字を配列に入れておく
2.配列内で検索条件に合う文字列の要素を取り出す

まずはここからやってみて


356 :Now_loading...774KB:2009/02/26(木) 00:18:44 ID:dGbh/vWY
>>347->>349
なんでこんな訳わからんモノ作っちゃうんだよ…

別に何の汎用性も無い使いにくいクラス設計するより
配列シャッフルする関数一つ実装した方が遥かにシンプルで汎用性あるんだよ
>>300でとっくに答えが出てるって早く気づいた方がいい

357 :Now_loading...774KB:2009/02/26(木) 01:03:44 ID:weJVzvL3
じゃあ簡単なシャッフルのスクリプトを書いてみよう!

358 :325:2009/02/26(木) 01:13:31 ID:emsJd76P
>>340
改良してみました。

var arr:Array = new Array("abc","def","ghi","jkl");
var randomArr:Array = getRandomArray(arr);
for each( var obj:Object in randomArr ){
trace(obj);
}

function getRandomArray( arr:Array ){
var retArr:Array = new Array();
var tempArr:Array = new Array();
//配列を入れなおす
for each( var obj:Object in arr ){
tempArr.push(obj);
}
//tempArr→retArr
var r:int
for (var i:int = 0; i < arr.length ; i++){
//右に0ビットシフトして整数をとりだす。(Math.floorより早いらしい。)
//ttp://actionscript.g.hatena.ne.jp/ConquestArrow/20070621/1182359767
r = (Math.random()*tempArr.length ) >> 0;
retArr[ i ] = tempArr[ r ];
tempArr.splice( r , 1 );
}
return retArr;
}


359 :Now_loading...774KB:2009/02/26(木) 01:14:16 ID:hn/40+xY
>>356
>>300は配列の順序を変えたくない場合に対応できないでしょうが。


360 :Now_loading...774KB:2009/02/26(木) 01:24:18 ID:hn/40+xY
というよりは、まさにシャッフルするためのコードなんだが。
例えば、1000個の配列から重複なしで任意の個数を取り出したいときなどを考えればいい。


361 :Now_loading...774KB:2009/02/26(木) 01:25:24 ID:mwVVoQfQ
昔作ったポーカーゲーム用のシャッフルルーチン多分解りやすいと思う
これは1回しかシャッフルしてないけどたくさんしたければ、下の方のfor文を何回か行えばいい
package {
//0から指定数値-1までの値をシャッフルした配列を返す
public class Shaffle{
function Shaffle(){
}
public function makeShaffle(maxS:uint):Array{
var sar:Array = new Array(maxS);
var keep:uint=0;
var terg:uint=0;
for (var i:uint=0; i<maxS; i++) {
sar[i] = i;
}
for (i=0; i<sar.length; i++) {
keep = sar[i];
terg = Math.floor(Math.random() * sar.length);
sar[i]=sar[terg];
sar[terg] = keep;
}
return sar;
}
}
}

362 :Now_loading...774KB:2009/02/26(木) 01:29:14 ID:mwVVoQfQ
指定された値までのシャッフルされた配列が返るので、
それの頭から使えばいい

363 :Now_loading...774KB:2009/02/26(木) 01:48:37 ID:hn/40+xY
>>358
//右に0ビットシフトして整数をとりだす。(Math.floorより早いらしい。)
//ttp://actionscript.g.hatena.ne.jp/ConquestArrow/20070621/1182359767
なるほど。何をしてるのかな、と思ったけどそういうことか。私も以前これを読んだが、参考になった。
たしか、
for (var i:int = 0; i < arr.length ; i++){

var n:int = arr.length;
for (var i:int = 0; i < n ; i++){
にした方が良いというTIPもあったね。


364 :Now_loading...774KB:2009/02/26(木) 01:57:54 ID:mwVVoQfQ
ソースを読んでいてアレ?って思うようなソースは書いてはいけない
最適化を行う前に解りやすいソースを書くことを心がけるべきだし、
変に早くなるとか誤解してコンパイラの最適化を阻害するようなことをしてはいけない

365 :Now_loading...774KB:2009/02/26(木) 02:08:30 ID:UxemkVQK
意地悪なのかバカなのかわからんなもうw

//シャッフルする関数
function shuffle(arr:Array):Array {
var cnt:int = arr.length;
while (cnt) {
var i:int = Math.random()*cnt;
var o:* = arr[--cnt];
arr[cnt] = arr[i];
arr[i] = o;
}
return arr;
}
//取り出す順用の配列を作る関数
function createOrder(arr:Array):Array{
var cnt:int = arr.length;
var order:Array = [];
for(var i:int=0;i<cnt;i++)order.push(i);
return order;
}

//元の配列
var arr:Array = ["A","B","C","D","E"];
//取り出す順を管理する配列作ってシャッフルしておく
var order:Array = shuffle(createOrder(arr));
//取り出す
for(var i:int=0;i<order.length;i++)trace(arr[order[i]]);
trace(arr,"@",order);

366 :Now_loading...774KB:2009/02/26(木) 02:12:31 ID:UxemkVQK
ajaxやってるとArray.prototypeに仕込んで使いたがる人も多いかな
「Array.prototype.shuffle」でぐぐればなんぼでもでてくるよ

367 :Now_loading...774KB:2009/02/26(木) 02:32:04 ID:13/8c0yC
>>358
そんな小手先の整数変換の最適化うんぬんの遥か以前に、
無駄に配列作ったり、コピーしたり(しかもシャローコピー)、spliceしたり
してる部分の方がよっぽどボトルネックになってるんだってば。

368 :Now_loading...774KB:2009/02/26(木) 02:36:09 ID:weJVzvL3
色々テストしたけど、シャッフル部分の速度はどれも大して変わらんな。
spliceは激遅だが。
intとかuint型でfloorとか右シフトって必要あんの?

369 :Now_loading...774KB:2009/02/26(木) 02:41:28 ID:hn/40+xY
>>365
おのおのコンセプトが違いますからね。悪いコードとはなから切り捨てず、ソースからそのコンセプトを読み取るのも大事。
たとえば、10000個の集合から10個程度の要素をランダムに取り出すことを考えた場合、
>>365のコードはいちいち10000個すべてシャッフルするので無駄が多すぎる、
という観点から書いたのが、>>347のコード。もちろん、すべてシャッフルする場合は>>365には劣るが
かといってそれほど非効率というわけでもく、リシャッフルの実行コストもほぼ皆無、という具合。
部分シャッフル、全シャッフルのどちらにも対応できるので汎用性はより高いだろう、
と判断したわけです。

>>368
半分はプログラマの自己満足かもね。

370 :Now_loading...774KB:2009/02/26(木) 02:48:47 ID:hn/40+xY
なんか質問者そっちのけ思わぬシャッフル祭りになってしまったな。
しまいにゃ、プログラム板行けよ、て言われそうだ。


371 :Now_loading...774KB:2009/02/26(木) 03:04:11 ID:p1Stiz2i
>>368
右シフトはCでプログラムやってる人は定石のように使う手だからなぁ。
最近はそこまでカチカチにチューニングすることも少なくなってきたけど。

372 :Now_loading...774KB:2009/02/26(木) 03:04:29 ID:13/8c0yC
>>369
そんなケースなら大抵、randomを10回呼ぶだけで済むでしょうがw

10000個から10個を絶対に重複を許さずにランダムに取り出すなんて特殊ケースは
全く別に考えるべき問題で、汎用的というよりはただの中途半端だと思うんだけど。

373 :Now_loading...774KB:2009/02/26(木) 03:14:52 ID:weJVzvL3
>>371
右シフト自体のことじゃなくて、
int型で「>>0」って何か意味あるの?

374 :Now_loading...774KB:2009/02/26(木) 03:35:22 ID:hn/40+xY
>>372
ひとつのクラスで両方カバーできた方が良い、というのが私の考え。
用途の応じて個別に作った方が良い、というのがあなたの考え。
どちらも否定はできないでしょ。

ただ、randomを10回呼べばいい、というのは何かの冗談か?





375 :Now_loading...774KB:2009/02/26(木) 03:53:59 ID:p1Stiz2i
>>373
すまん、よく見てなかったが >>358 のことなんだな。
int型の変数に渡す前に明示的に型キャストしてるんだろ。

376 :Now_loading...774KB:2009/02/26(木) 07:21:18 ID:P95fpA5A
ASで変数名のアタマに$をつけるのって始めて見たけど、そういうものなの?


377 :Now_loading...774KB:2009/02/26(木) 08:06:51 ID:kh9o7OSN
>>347のコードじゃあ100個のうち10個取り出そうと思ったら、0〜9の位置にあるものをランダムな順番で取り出すだけじゃん


378 :Now_loading...774KB:2009/02/26(木) 09:07:31 ID:mwVVoQfQ
>>376
いろんな言語やっててごちゃ混ぜにしてるんだろw
JavaやASでの推奨ではないよ

379 :Now_loading...774KB:2009/02/26(木) 11:32:36 ID:COvvI+bo
変数や関数名に$つけてもコンパイル通るのか知らんかったw
上の人の$はごちゃ混ぜじゃなくて独自のコーディング規約でしょ

Java+Eclipseあたりだと引数の変数名にはちゃんと色が付くけど
FlashやFlexのコード色付けは貧弱すぎて
一風変ったコーディング規約が生れても納得せざるをえない


380 :Now_loading...774KB:2009/02/26(木) 11:48:06 ID:QmOW4rIn
>>377
いや、ちゃんと0〜100の間の数字をランダムに10個取り出せるよ。
var rip:RandomIndexProvider = new RandomIndexProvider(100);
にして、rip.getNextIndex();を10回呼び出せばよい。



381 :Now_loading...774KB:2009/02/26(木) 12:35:37 ID:Vx58Gms7
>>302
遅くなったけどみてますよーー!
ありがとうございます。

382 :Now_loading...774KB:2009/02/26(木) 15:16:48 ID:df+SdqrA
>>374
それぞれの問題に適した解法・アルゴリズムを選択するってのは、プログラミングの基本じゃないの?
効率を求めてるんなら、それこそ個別に作るべきだし、
効率を求めないんなら、>>365のシンプルなアルゴリズムで十分で、こっちの方が汎用性も高いでしょ。

10000個から10個選ぶにしても、
重複無しが好ましい(最悪あってもよい)程度なら、random10回呼ぶだけで済むし、
それほどのばらつきが必要で無いんなら、0〜999、1000〜1999、…、9000〜9999から1つずつ選択するだけで
わざわざ要素10000の配列を作って保持するまでも無かったりする。

あと、上の状況では>>365のアルゴリズムは非効率的で無駄が多いみたいなこと言ってるけど、
どんな状況でも1つの解法で対処しようとするあなたの考えが招いた問題なだけで、
そういう状況の時、普通は>>365のアルゴリズムで解こうとは思わないから、何の問題にもならないと思うよ。
普通は問題にならないことが問題になるってことが、あなたの考え自体の問題点。

383 :Now_loading...774KB:2009/02/26(木) 15:30:32 ID:kHjPXAnY
どっちの考え方も正しいと思うよ。
>>322は利用状況まで書いてないし。

384 :Now_loading...774KB:2009/02/26(木) 15:46:01 ID:QmOW4rIn
>>382
たぶん、あなたはクラスライブラリなどを作ったことが無いのでしょう。
ひとつのコードを書いたら、使い捨てにせず、汎用性と拡張性を付与したライブラリとして
資産化する、というのは広く受け入れられている考えです。
すべて対処療法的に解決する、というのもひとつの考えで否定する気はありませんが、
すくなくとも一方を間違っていると切り捨てるのは閉鎖的な考え方でしょう。

385 :Now_loading...774KB:2009/02/26(木) 15:46:27 ID:RhXuMNWg
正規化と非正規化の話か
どっちがいいかは状況によるね

386 :Now_loading...774KB:2009/02/26(木) 15:52:26 ID:QmOW4rIn
まあ、そうだね。

387 :Now_loading...774KB:2009/02/26(木) 16:07:02 ID:kh9o7OSN
>>380
あーあー、100個キープして都度1個選んでるのか。なる
速度いらないカードゲームとかならそっちのが良さそうだね
2周目の手札とかも行けるわけだ

388 :Now_loading...774KB:2009/02/26(木) 17:10:15 ID:QmOW4rIn
>>382
そもそも>>322の依頼文を読んで、なぜ
A 配列の個数はそれほど多くなく
B 頻繁にリシャッフリングすることもなく、
C シャッフリングされた要素はすべて利用する
D 確率が低ければ重複も大目に見る
などと勝手な仮定をするんだ?詳しい利用状況は何も指定されてないんだ。
配列の個数が膨大で、頻繁にリシャッフリングする必要があり、シャッフリングがされた要素は数個しか利用せず、
重複はいかなる場合でも許さない、というユーザーの要求であれば、>>365は絶望的に効率が悪いものになる。

>>347のコードは
A 多くても少なくても同じように利用できる
B 頻繁でもそうでなくても良い。
C 一部でも全部でも良い。ただし一部の場合は特に効率的。
D 重複は絶対にない
というように、どのような利用状況においても効率的に無駄なく処理する解決策を提供しただけだが、
その何が気に食わない、というのか。
逆に伺いたいが、>>347のコードが>>365のコードにくらべて劣っている点は具体的に何だ?
配列と同個数のインデックス配列を作らなければいけない点は>>365も同じはずだ。
リシャッフリングするたびにインデックス配列を作らなければいけない>>365とは違い、
>>347は配列の作成は一回だけだ。






389 :Now_loading...774KB:2009/02/26(木) 17:19:37 ID:QmOW4rIn
・・Dについてはちょっと見当はずれか・・。>>365も重複はないわけだからね。

390 :Now_loading...774KB:2009/02/26(木) 19:10:04 ID:df+SdqrA
別にライブラリとかのアイデアを否定してるわけじゃなくてさ…
単純に中途半端な「配列のインデックスを重複無しに取得するクラス」が必要?ってだけの話。
>>322の依頼文なんて明確に詳しい利用状況を書いてるじゃないw
この依頼文を読んで、
>配列の個数が膨大で、頻繁にリシャッフリングする必要があり、シャッフリングがされた要素は数個しか利用せず、
> 重複はいかなる場合でも許さない
ようなことが必要になりうる要求と解釈する方が変じゃない?そちらの方こそよっぽど勝手な仮定をしてるでしょ。

まぁ、>>347が有用なクラスだと思って使う人がいるんならそれでいいだろうけどね。
インデックスを取得するメソッドで-1を返したり、メモリ効率の悪い、
用途が非常に限定された、少機能なクラスを、わざわざ使おうとは自分は思いませんけど。

391 :Now_loading...774KB:2009/02/26(木) 20:29:12 ID:qlzgseER
個人的には、RandomIndexProviderなんて、
いちいち中身読まなきゃ何するクラスか分からないオレオレクラスよりも、
シャッフルメソッドorシャッフル関数の方が名前だけで理解できて好きです。


392 :Now_loading...774KB:2009/02/26(木) 21:12:38 ID:p1Stiz2i
なんか面倒くさい人がいるなぁ。質問者が解答で得たものを
自分に合った形で使えばいいだけだろが。

393 :325:2009/02/27(金) 00:37:00 ID:GC2/NxSi
なにこのシャッフルスレwww
もしかして俺のせいで、お前らのプログラミング魂に火をつけた?ww

394 :Now_loading...774KB:2009/02/27(金) 01:03:13 ID:vBefTcM+
プアなかまってちゃんがうざいのでシャッフルの話はこの辺で終りにしましょう

395 :Now_loading...774KB:2009/02/27(金) 02:43:43 ID:B+n3PnZP
誰かが物凄い勢いで解答するスレで
拡張性とか正規化とかいらないだろ 仕事じゃねーんだからw
サクッとアルゴリズムがわかればいいだけ。
優劣つけるなら、処理速度とか、コードの短さとか
単純にわかるものでやってくれ。

396 :Now_loading...774KB:2009/02/27(金) 09:44:42 ID:c6p4fikg
きちんとしたソースを提示すべきだし、いろいろ議論していんじゃね
糞ソースさらすとみんなに叩かれて勉強になるしねw

397 :Now_loading...774KB:2009/02/27(金) 13:57:14 ID:+L1QMbRR
すみません、2個質問です。

var array:Array = new Array ( ) ;
for ( var loopa:Number=0; loopa<10000; loopa++ ) {
 array[loopa] = new Sprite ( ) ;
 array[loopa].addEventListener ( MouseEvent.MOUSE_DOWN, function ( event:MouseEvent ):void {
  ?
 } ) ;
} ;

無名関数の中での、自分自身(array[loopa])へのアクセスの方法。
無名関数の中で、自分に振られた添字(loopa)を知る方法。

Spriteに固有名を着ければいいんですが、数が多いので悩んでいます。
よろしくお願いします。


398 :Now_loading...774KB:2009/02/27(金) 14:34:41 ID:V0m6FjML
(a)無名関数の中での、自分自身(array[loopa])へのアクセスの方法。
(b)無名関数の中で、自分に振られた添字(loopa)を知る方法。

それぞれ無名関数内で以下の記述を行なえば上記(a),(b)になる
(a)array[loopa]
(b)loopa



399 :Now_loading...774KB:2009/02/27(金) 14:36:51 ID:V0m6FjML
あぁ、ごめん無理かも

400 :Now_loading...774KB:2009/02/27(金) 14:45:56 ID:vBefTcM+
自信へはtargetじゃまいか?あと、nameに添字を入れとく
http://livedocs.adobe.com/flex/3_jp/langref/flash/display/DisplayObject.html#name

401 :Now_loading...774KB:2009/02/27(金) 14:49:25 ID:V0m6FjML
(a)は event.target で拾えるかな
(b)は Spriteがdynamicクラスではないから、そのままでは無理かも
MovieClipなら
array[loopa] = new MovieClip( ) ;
array[loopa].num = loopa;
として
event.target.num
で取得できる。

402 :Now_loading...774KB:2009/02/27(金) 14:53:47 ID:AOTf+iwW
>>397
>自分自身(array[loopa])へのアクセスの方法
これはイベント処理みたいだからイベントオブジェクトのtargetでいけるよ
>自分に振られた添字
添字というか、ちょっとした値ならクロージャ使って保持しとけばいけるけど、そもそもSpriteの数が多いなら、イベントリスナに割り当てる関数は無名関数じゃないほうがいいんじゃないかなあ
100個のSpriteに100個の無名関数割り当てるより、100個に1個割り当てた方がやさしいでしょ

一応はこんなでいけるけど、ちょっと気持ち悪い。処理によってはイベントオブジェクトだけで何とかなるんじゃない?
それか保持したい情報持ったクラスを作っちゃった方がすっきりするかもね

var spriteList:Array=[];
for(var i:int = 0;i<10;i++)spriteList.push(addChild(createSprite(i)));

function createSprite(index:int):Sprite{
var sprite:Sprite = new Sprite();
//イベントオブジェクトとクロージャで保持しておいた値を利用
sprite.addEventListener(MouseEvent.CLICK,function(event:MouseEvent){
trace("このスプライト:"+event.target,"インデックス:"+index);
})
//ここから表示用の処理
sprite.graphics.beginFill(0xFF0000);
sprite.graphics.drawRect(0,0,20,10);
sprite.x = Math.random()*stage.stageWidth;
sprite.y = Math.random()*stage.stageHeight;
return sprite;
}

403 :Now_loading...774KB:2009/02/27(金) 14:55:28 ID:YGul1BUC
event.targetで自身へアクセスできるお
EventListener10000個w


404 :397:2009/02/27(金) 15:22:09 ID:KukOrLtv
うぉ、みなさん素早くて助かります。
理解しました、ありがとうございました。

405 :Now_loading...774KB:2009/02/27(金) 16:23:07 ID:Qkb7FJtd
もしそのspriteを全部同じ親にaddChildするつもりなら、イベントのバブリングを利用して、
sprite10000個にリスナを追加せずに、親に1個リスナ追加するだけで済むと思うよ。
状況によって大量のイベントリスナはかなり動作を重くする可能性あるし。

//spriteの親の表示オブジェクトparentに対してリスナ追加
parent.addEventListener(MouseEvent.CLICK,
function(e:MouseEvent):void { trace(e.target); }); //e.targetで個々のspriteを参照できる

406 :Now_loading...774KB:2009/02/28(土) 00:51:05 ID:/D5MLUBS
AS2.0 よろしくお願いします。

comboboxに

0|明日
1|俺は
2|チヌ

の値で、5秒毎に0→1→2と自動で選択させるにはどうしたら良いのでしょうか?

407 :Now_loading...774KB:2009/02/28(土) 01:40:34 ID:jG7LMsDX
>393
氏ねゆとりウザい
俺もウザい
仲間だな

408 :324:2009/02/28(土) 05:44:12 ID:ww3w27Kd
どなたかお願いします。
タイトルテキストを持つMCに対してマウスオーバーしてもマウスの
指マークをテキストの範囲でも維持したいです。


409 :Now_loading...774KB:2009/02/28(土) 16:28:33 ID:TRnYp4Yf
>>408
MCのmouseChildrenをfalseにしてイベントフロー切っちゃえばいいんじゃね?

410 :324:2009/02/28(土) 23:05:07 ID:71v/M6uu
>>409
さんきゅうです。
やってみます。


411 :324:2009/03/01(日) 01:14:03 ID:w8zM0vMX
(連投すいません)
>>409
container.mouseChildren = false; でマウスへの反応が改善しました。
感謝します!


412 :Now_loading...774KB:2009/03/01(日) 22:43:42 ID:L88mSqvD
AS3.0
numChildrenで返す値って0から?
表示オブジェクトがひとつなら0。2つなら1。で合ってる?

あと、表示オブジェクトのプロパティを変更したいんだけど、
var mc_obj:Object;
mc_obj="abc";
mc_obj.visible=true;
これでabcと言う名前を付けたインスタンスのプロパティを変更出来る?
abcの値はその都度変更して、様々なインスタンスを表示/非表示を
切り替えたいだけど…。

413 :Now_loading...774KB:2009/03/01(日) 22:49:50 ID:1tXrW9E3
> numChildrenで返す値って0から?

聞く前に試した方が早いのに・・・1からです。

414 :Now_loading...774KB:2009/03/01(日) 23:07:57 ID:L88mSqvD
さんきゅ。trace();が何故か出来ないので、質問させてもらいました。

415 :Now_loading...774KB:2009/03/02(月) 00:31:49 ID:mYZgW6XG
何故できないか調べない奴らは高卒に多い
学ぶ力が欠如しているからだ。この業界はこういうやつが腐らせる

416 :Now_loading...774KB:2009/03/02(月) 00:44:45 ID:jEVD9b0a
まったくだ。
中卒の>>415を見習えよ糞共

417 :412:2009/03/02(月) 13:09:04 ID:iPM9+m9a
空のフレームにtrace(abc);ってやっても変数abcは出力されない。
なんで?

>>415-416
ここで「調べてから」って発言は、荒しと同じだよ。
調べたって判んないから聞いてるんだし、「調べる=ここで聞く」
って感覚でも良いと思うんだけどね。
それを理解した上で、答えてくれる人が答えるスレでしょ?

答えられないんだろ?

更に言わせてもらえば、業界って何?
俺は遊びでフラッシュやってんだけど。

418 :Now_loading...774KB:2009/03/02(月) 13:44:02 ID:JxF/TWYx
>>417
ASスレだし、教えて君なら基本的スレ池

419 :Now_loading...774KB:2009/03/02(月) 14:07:28 ID:6/eG4faZ
>>417
質問者が調べているかどうか
回等側から見るとまるわかりだよ
ググれといわれるのは大抵質問内容が悪い

そして回答者は
調べてわかるものに関しては「ググれ」と言うのではなく
スルーするのが一番。荒れるから
ググれと言われ>>417のような反応もありふれたもの

>空のフレームにtrace(abc);ってやっても変数abcは出力されない。
その空のフレームが実行されていないか
出力ウインドウが開いていないか
abcが空文字状態、あるいはabcが存在しない

420 :Now_loading...774KB:2009/03/02(月) 14:24:33 ID:iPM9+m9a
ウィンドウが開いてなかった。サンクス。

>>418
質問の程度はどうあれ、ここはASの質問スレだろ?
お前が難解と思える質問意外しちゃいけないのか?

421 :Now_loading...774KB:2009/03/02(月) 14:28:04 ID:2iYqI41h
AS関係なかったね

422 :Now_loading...774KB:2009/03/02(月) 14:29:37 ID:iPM9+m9a
Flashの超基本的な質問はここでしろ! part39
492 名前:Now_loading...774KB :2009/03/02(月) 00:36:39 ID:mYZgW6XG
ググらない奴らは何なんだ?阿呆にしては最近多すぎるぞ

ActionScript 誰かが物凄い勢いで解答するスレ 22
415 :Now_loading...774KB:2009/03/02(月) 00:31:49 ID:mYZgW6XG
何故できないか調べない奴らは高卒に多い
学ぶ力が欠如しているからだ。この業界はこういうやつが腐らせる

どこで聞いたって一緒だろ?

423 :Now_loading...774KB:2009/03/02(月) 14:32:52 ID:iPM9+m9a
>421
結果論だろ?

424 :Now_loading...774KB:2009/03/02(月) 14:43:40 ID:JxF/TWYx
>>420
>ウィンドウが開いてなかった。サンクス。
せめて教本の1冊ぐらいやってから来てくれ

425 :Now_loading...774KB:2009/03/02(月) 15:27:22 ID:iPM9+m9a
俺が買った本には書いてなかったな。
というか、trace();って1からあるから、3.0の本には基本過ぎて書いてない。
俺自身、こういう簡単な事で躓く以外、出力で確認しようと思わないから
今まで使った事無かった。

答えない(答えるつもりが無い)奴はスルーしろよ。
このスレだってテンプレに「初歩的な質問でもなんでもおk」って書いてあるぞ。

上の残った質問、インスタンス名を変数で処理する仕方、誰か知らない?
nameは、予めステージに配置したので使えない。

426 :Now_loading...774KB:2009/03/02(月) 15:41:05 ID:JxF/TWYx
>>425
>上の残った質問、インスタンス名を変数で処理する仕方、誰か知らない?
みんな知ってるしw無能でタカビーな奴に答えたくねーだけだよw

427 :Now_loading...774KB:2009/03/02(月) 15:43:29 ID:JuwxlrbX
>>425
3.0なら
var str:String = "インスタンス名";
getChildByName(str)
でいけるんじゃないかな

428 :Now_loading...774KB:2009/03/02(月) 15:48:42 ID:iPM9+m9a
>>427
サンクス。

>>426
みんなって誰なんだよ。
知らない奴がいるから質問してんだろ?

429 :Now_loading...774KB:2009/03/02(月) 16:10:35 ID:9s69T6kt
写真を読み込んで、フェードインさせる仕組みがうまくいきません。
一枚目は読み込み終了後にアルファ0から100にとぅいーんしてくれるのに、
二枚目以降はとぅいーんしてくれないんです……………………………………………………

WHY?

以下ソースです。


var setPhoto=function(){;
var photoMedia:MovieClip = _root.container.mass.createEmptyMovieClip("photoMedia",_root.getNextHighestDepth());
var myListener:Object = new Object();
objMCLoader.addListener(myListener);
photoNum = Math.floor(Math.random()*10+1);
objMCLoader.loadClip("photo"+photoNum+".jpg",photoMedia);
// 読み込みを開始;
myListener.onLoadStart = function(target_mc) {;
photoMedia._alpha=0;
};
// 読み込み完了;
myListener.onLoadComplete = function(target_mc) {;
Tweener.addTween(photoMedia,{_alpha:100, time:3, transition:"line"});
objMCLoader.removeListener(myListener);
};
};

btn.onRlease = setPhoto;

430 :Now_loading...774KB:2009/03/02(月) 16:17:17 ID:2iYqI41h
>>423
こちとら、ASに問題が無いことは自明なんだよwww

431 :Now_loading...774KB:2009/03/02(月) 16:36:22 ID:iPM9+m9a
質問者の俺が主役なんだよ。質問した時点で何処に問題があるかなんて
判んないから、質問してんだよ。

>>427 追記
getChildByName()は、パラメータがname:Stringで、動的に追加しないと
機能しない、先のnameプロパティと同義だった。
でも助言は助かった。

432 :Now_loading...774KB:2009/03/02(月) 16:44:58 ID:9s69T6kt
あ、じこかいけつしちゃいました。

removeMovieClip(_root.container.mass.photoMedia);
を先頭に書けばOKでした。

433 :Now_loading...774KB:2009/03/02(月) 17:04:02 ID:UuQ5LIRt
FlashCs3のAS3で、シンプルボタンを作って、ボタンの中にMCを挿入した場合、
そのMCにアクションスクリプトからアクセスするにはどうしたらいいですか?
シンプルボタンには、通常インスタンスや変数を持つことができない
ようですが、FlashCs3を使うとMCを挿入できるので、何かアクセスできる
方法もないかと疑問に思っています。



434 :Now_loading...774KB:2009/03/02(月) 17:17:39 ID:Vq6lsNX5
>>431
ぶっちゃけ使ってる用語がムチャクチャすぎて
君が何をやりたいのが正確に理解できないから
みんなエスパー回答するしかないんだよ

435 :Now_loading...774KB:2009/03/02(月) 17:28:14 ID:JuwxlrbX
>>433
いちおう
simpleButton.downState
とかで「ダウン」の時の絵というかインスタンスというかにはアクセスできるよ
ただ、そこからいわゆるインスタンス名を使ってアクセスはできないかな
(simpleButton.downState as MovieClip).m.getChildAt(0)
みたいな感じではいけるけど、ちょっと使いにくい。
マウスイベント使って、ボタンと同じ位置に何か表示するとかのが簡単かもね


436 :Now_loading...774KB:2009/03/02(月) 17:29:25 ID:JuwxlrbX
あれ
>(simpleButton.downState as MovieClip).m.getChildAt(0)
じゃなくて
(simpleButton.downState as MovieClip).getChildAt(0)


437 :Now_loading...774KB:2009/03/02(月) 17:49:16 ID:iPM9+m9a
>>434
答えてくれた人はみんな判ってたよ。的を射た回答だった。
判んないからって拗ねるなよ。

438 :Now_loading...774KB:2009/03/02(月) 18:02:03 ID:Vq6lsNX5
じゃあレスを見る限りでは君の問題は全部解決してるようだね、ならいいけど

439 :Now_loading...774KB:2009/03/02(月) 18:18:36 ID:iPM9+m9a
うん。みんな、ありがとう。

440 :Now_loading...774KB:2009/03/02(月) 19:29:29 ID:I2anUlBC
>>439
公式ドキュメントのリンクを貼っておこう。
ttp://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/

ちょっとしたことなら大概これを見れば解決できるよ。健闘を祈る。

441 :Now_loading...774KB:2009/03/02(月) 20:55:44 ID:1rp63mcx
CS4はAS3に対応してますか?
それともまたASのバージョン上げましたか?

442 :Now_loading...774KB:2009/03/02(月) 21:00:47 ID:eTDN/PRq
>>441
当然対応しています。
ASは3が最新です。AS4とか出すなよ、絶対に出すなよ!>ADOBE

443 :Now_loading...774KB:2009/03/02(月) 21:31:02 ID:1rp63mcx
>>442ありがとうございます。
確かにオブジェクト指向だしこれ以上バージョン上げられては困りますよね

444 :Now_loading...774KB:2009/03/03(火) 00:09:55 ID:ShWlmopi
>>443
でも『完全な』オブジェクト指向ではないんだなあ。ではどの辺が
完全ではないのかは知らないけどw


445 :Now_loading...774KB:2009/03/03(火) 01:02:02 ID:nyjsFXc7
Cで出来たツールなら数秒で終わる処理が
AS1だと「実行速度が遅く」がでて実用度がゼロなんだけどどうにかしたい
AS3なら処理速度ってよくなるもの?forをスゴイ勢いで回さないと行けないんだけど

446 :Now_loading...774KB:2009/03/03(火) 01:06:01 ID:ALoLRN6e
AS1より100倍は速いがそれでもまだまだCよりは全然遅いレベル

447 :Now_loading...774KB:2009/03/03(火) 01:29:08 ID:nyjsFXc7
ありがとう、やっぱり早いんだね導入考えないとダね。つか必須なのか。

448 :Now_loading...774KB:2009/03/03(火) 02:09:44 ID:bEvQPJNX
質問させてください。
(1)MovieClip.loadMovie(); で読み込んだjpg画像のサイズを取得する方法はないでしょうか?
空のMovieClipに、jpg画像を読み込んで、そのMovieClipの_width、_heightを参照しましたがダメでした(width、_heightはゼロのまま)

(2)また、MovieClip.loadMovie()でjpg画像を読み込んで、これをjpg画像ごとBitMapDataにコピーする方法はないでしょうか?

BmpData.drawで
新規作成したBmpData.draw(jpgを読み込んだMovieClip,,theMatrix, theColTrans,"normal",BmpDataのrectangle);
という具合に書いてみたのですが,MovieClip.loadMovie()で読み込んだjpgがない状態のMovieClipしかコピーされないのです。

最終的な目的は、外部ファイイルのjpg画像を、BitMapDataとして扱うことです。



449 :Now_loading...774KB:2009/03/03(火) 02:10:38 ID:bEvQPJNX
追記。環境を書き忘れましたFlash8、AS2.0、WinXPです。

450 :Now_loading...774KB:2009/03/03(火) 02:16:54 ID:7oE7zHib
>>448
loadMovie()した直後は0になるよ
読み込み完了してから、_widthと_heightを参照してる?
2でやりたいこと自体は可能だけど、>>448の場合はどこかに間違いがあるんだろう
いま眠いんで、すまんが推測とかできないや
とりあえずMovieClipLoader使いなよ

451 :Now_loading...774KB:2009/03/03(火) 02:25:35 ID:bEvQPJNX
サイズを参照するのも、BitMapDataにコピーしたのもLoadMovie()直後でしたので、
おそらくご指摘の通りタイミングが合っていないせいだと思います。
MovieClipLoaderを組み込んでみます。

ありがとうございました。



452 :Now_loading...774KB:2009/03/03(火) 03:06:57 ID:a+phiaBT
AS2です。質問させて下さい。
外部XMLファイルをFlashに読み込み、パースしています。
配列「S_JrWord」にXMLの要素を格納して、ダイナミックテキスト(変数名S_00〜S_06)に読み込んでいます。

for( var i = 0; i<S_Jr.length; i++ ){
S_JrWord.push(S_Jr[i].firstChild.firstChild.nodeValue); //配列 S_JrWord にWordを格納する文
}

_root.S_00 = S_JrWord[0];
_root.S_01 = S_JrWord[1];
_root.S_02 = S_JrWord[2];
_root.S_03 = S_JrWord[3];
_root.S_04 = S_JrWord[4];
_root.S_05 = S_JrWord[5];
_root.S_06 = S_JrWord[6];


ここまでは成功しています。
そこで、読み込むべきXMLの要素が見つからなかった場合、
Flash上のダイナミックテキストが表示されないようにしたいのですが、どうすればいいでしょうか。
今は「undefind」と表示されますが、その表示すら消えるようにしたいんです。


以下のように試しに書いてみましたが、上手くいきません。

if(S_Jr[1] = undefined){
S_01._visible = false;
}

どうかよろしくお願いします。

453 :448.449,451:2009/03/03(火) 03:18:47 ID:bEvQPJNX
うーむ、ダメでした。

****************

this.createEmptyMovieClip("picGetMc", this.getNextHighestDepth());

my_mcl = new MovieClipLoader();

my_mcl.loadClip("pic.jpg",picGetMc);

mclListener = new Object();
mclListener.onLoadComplete = function(target_mc) {
trace(picGetMc._width);
trace(picGetMc._height);
}

my_mcl.addListener(mclListener);

やはり出力結果は0,0でした




454 :Now_loading...774KB:2009/03/03(火) 09:08:30 ID:WZCZf1DB
>>452
if(S_Jr[1] = undefined){

if(S_Jr[1] == undefined){
とか?

455 :Now_loading...774KB:2009/03/03(火) 09:10:52 ID:WZCZf1DB
>>453
onLoadComplete

onLoadInit


456 :Now_loading...774KB:2009/03/03(火) 18:29:04 ID:7TpLN4Vc
Flash作成初心者なのですが、
作ったflashがなぜ動かないのかまったくわかりません。
http://iroiro.zapto.org/cmn/jb2/data2/jb1527.zip
↑が制作物なのですが、ご教授お願いします。
大変恐縮なのですが、間違えているところを編集してうpしていただけると大変ありがたいです。

457 :Now_loading...774KB:2009/03/03(火) 18:35:55 ID:uka1KAN9
AS3+FlashDevelop
でオチゲー作ったのですがCS3を最近導入したので新たにまた作ろうと考えてます。


作ったasファイルはCS3でも上手く利用できるんですか?

458 :Now_loading...774KB:2009/03/03(火) 18:44:19 ID:WZCZf1DB
>>456
なんだそれ、編集してUpまでしろってか、ただ働きさせるにもほどがある。
代償としてエロ画像100枚Upしろ。

修正方法

(1) タイムラインのacrionscriptレイヤーに書かれている内容を[全選択]→[切り取り]
(2) メモ帳とかのテキストエディタを起動し、[貼り付け]する。そして、
flaやhtmlと同じフォルダにBrainfuck.asというファイル名で保存する。
(3) FLASHのメニューから、ファイル→パブリッシュ設定→Flashタグ→スクリプトの
ところの設定...ボタンをクリック
(4) ドキュメントクラスのところにBrainfuckと入力
※(3)と(4)は、FLASHの何もないトコをクリックしてからドキュメントのプロパティで
クラスのところに入力してもよい

以上。

459 :Now_loading...774KB:2009/03/03(火) 18:48:41 ID:g64t4VeG
>>457
もしembedとか使ってたらそこだけ修正すればおk

460 :>>448.449,451,453:2009/03/03(火) 20:55:14 ID:bEvQPJNX
>>455
ありがとうございます。目的通り動作しました。
サイズの取得もBitMapDataへのコピーもonLoadInit内で行ったら正常に動作しました。

461 :Now_loading...774KB:2009/03/03(火) 21:10:01 ID:IMY//xCI
WinXP-ProでFlashCS3-ProのAS3.0を使っています。
MCマウスを重ねてそのMC内のフレームを移動した後、MOUSE_OUTしても
フレームが元に戻らない場合があり質問です。

MC(mc1, mc2, ・・・mc10 )があり、それぞれがマウスへの反応として、

[フレーム1] ←重ねるor外れる→ [フレーム2] →クリック→ [フレーム3]
   ○        ← →        ●        →      ◎   (MCの変化)

をするようにしています。下はマウスを重ねたとき外れたときのASです。
[フレーム1]
this.buttonMode=true;
this.addEventListener (MouseEvent.MOUSE_OVER, this_onOver);
function this_onOver (mouseEvt:MouseEvent) {
this.gotoAndPlay (2);
}

[フレーム2]
this.addEventListener (MouseEvent.MOUSE_OUT, this_onOut);
function this_onOut (mouseEvt:MouseEvent) {
this.gotoAndPlay(1);
}

※それぞれのフレームには this.stop (); を入れています。

上の記述だと各MCは凡そ期待通りの変化をしますが、時々マウスが外れてもフレーム2
のままになる場合があります。一応、再度マウスを重ねるとフレーム1に戻りますが操作上
都合が悪いです。

考えられる原因は何でしょうか? 
「AS3 MOUSE_OUT フレーム」などで検索しましたが分かりませんでした。

462 :Now_loading...774KB:2009/03/04(水) 02:24:01 ID:KLvpxgVZ
これはよくあること。
できれば他の方法でやるべきだと思う。
>>461のやり方はあんまり推奨できない。
あとできればgotoAndPlay(label1)
したほうがいいと思います。


463 :Now_loading...774KB:2009/03/04(水) 02:27:53 ID:Ss/ZauCb
WinXPでCS3のAS3.0です。

rootのフレーム2と3にMCを置いていますが、フレームを移動すると、フレーム3に
存在するMC(A_Key)がNullになり扱うことが出来ません。検証のため、traceで

trace(getChildByName("A_Key")+", "+MovieClip(root).getChildByName("A_Key"));

とすると、null, null が出力されます。MCのA_Keyは確かにフレーム3に有るのですが・・・
どうしてでしょうか?

464 :Now_loading...774KB:2009/03/04(水) 02:30:51 ID:ppTCYr8y
未来のコンテンツを参照しようとしても無理だべ

465 :Now_loading...774KB:2009/03/04(水) 02:40:45 ID:RScZQayh
>>464
早速すいません。
このtraceはフレーム3に書いているのですが、それでもNullになります。


466 :Now_loading...774KB:2009/03/04(水) 07:45:52 ID:ppTCYr8y
クラス名とインスタンス名が同じとか

467 :Now_loading...774KB:2009/03/04(水) 10:59:29 ID:mbdzVoxP
XPSP3上でCS3(AC3)を使ってるのですが。
CGIから変数を取得してダイナミックテキストに文字を入れ、
それの行数と文字数を取得したかったのですが。
traceすると、行数を取得するはずのnumLinesの結果は1、
文字長を取得するはずのlengthの結果は0になります。
ダイナミックテキストを上書きした値は取得できないのでしょうか?
(デフォルト値は空なので、その値を取ってきてる?)
そもそも、こういった使い方は出来ないのでしょうか?
どなたかご教授下さい。よろしくお願いします。

//フレーム・アクション
 var loader:URLLoader = new URLLoader();
 loader.dataFormat = URLLoaderDataFormat.VARIABLES;
 loader.addEventListener(Event.COMPLETE, completeHandler);
 loader.load(new URLRequest("http://www.hoge.jp/cgi/hoge.cgi"));

 trace('タイトル0(行数) :' + title0.numLines);
 trace('タイトル0(文字長) :' + title0.length);

 function completeHandler(event:Event):void{
   var vars:URLVariables = event.target.data;
   title0.text = vars.title0;
 }

▼trace結果
タイトル0(行数) :1
タイトル0(文字長) :0

▼CGIが吐くデータ
title0=あいうえおかきくけこさしすせそ&title1=たちつてとなにぬねの ……



468 :Now_loading...774KB:2009/03/04(水) 11:15:29 ID:ppTCYr8y
>>467
なんでcompleteメソッドでtraceしないの?

469 :Now_loading...774KB:2009/03/04(水) 11:32:15 ID:mbdzVoxP
申し訳ない。ちょっとよくわからない。
ヘルプでcompleteを検索して、なんとなく下記のように書き換えると、

 trace('タイトル0(行数) :' + title0.numLines);
 trace('タイトル0(文字長) :' + title0.length);
 trace('コンプリートした?:' + Event.COMPLETE);

▼trace結果
タイトル0(行数) :1
タイトル0(文字長) :0
コンプリートした?:complete

にはなった。


470 :Now_loading...774KB:2009/03/04(水) 11:34:44 ID:ppTCYr8y
何でcompleteHandler内でtraceしないのかと
読み込み完了した時点で確定するんじゃねーの

471 :Now_loading...774KB:2009/03/04(水) 11:49:00 ID:mbdzVoxP
やってみた。complete と返ってくる。

▼trace結果
タイトル0(行数) :1
タイトル0(文字長) :0
コンプリートした?:complete
コンプリートした?(completeHandler):complete

472 :Now_loading...774KB:2009/03/04(水) 12:02:34 ID:ppTCYr8y
>>471
IOエラーハンドラ作ってみ

473 :Now_loading...774KB:2009/03/04(水) 12:33:45 ID:mbdzVoxP
>>472
私にはもうわかんない。

ちなみに、CGIから取得した文字列は、ステージに表示はされているんですよ。
ダイナミックテキストにハードコードした場合にはlengthもnumLinesもOKなんですが、
ダイナミックテキストをスクリプトから書き換えると、見かけ上のテキストは書き換わってもlengthやnumLinesの
値は、ハードコードのものを引っ張ってくるようなんですわ。

見出しが2行になった時に、次の記事を1行分下げるっていう処理をしたかったんですが。
改行数を動的に取得できないのであれば、ダイナミックテキストをステージ一杯に拡げて、
XHTMLのリストタグを垂れ流したほうが速いかな……。

別の方法を探ってみます。
ありがとうございました。

474 :Now_loading...774KB:2009/03/04(水) 13:06:04 ID:7cABcijB
それ全然やってみてないんじゃねーのw
こういうことでしょ
completeイベントに関連付けた関数の中で処理しないと意味がない
 
function completeHandler(event:Event):void{
   var vars:URLVariables = event.target.data;
   title0.text = vars.title0;
   trace('タイトル0(行数) :' + title0.numLines);
   trace('タイトル0(文字長) :' + title0.length);
   trace('コンプリートした?:' + Event.COMPLETE); //これ定数だからいつでも「complete」確認に使えない
}

475 :Now_loading...774KB:2009/03/04(水) 18:26:02 ID:zleDjtcm
>>456
ありがとうございました。できました。
エロ画像は持ち合わせていないのでうpできませんが
Brainfuckを使ってみたいときに
http://www.geocities.jp/noritoshi_motzk/bfi.swf
をお使いください。

476 :Now_loading...774KB:2009/03/04(水) 19:20:31 ID:Ar1DsBPL
すいません。FlashPlayerが閉ループに入って作業が進みません。
CS3(AS3.0)をWinXPで使っています。

Stage上にMC(stepsBord)を置いて、この中に子として7個のMC(stepBtn1〜stepBtn7)
をボタンを押してfor文とaddChildAtで縦に配置しようとしています。
その際、for (var id=0; id < 7; id++) のある途中の条件の場合(idが2とか5)でstepBtn
内のフレームをgotoAndStopで変えてstepBtnのフレーム3版(1.5倍ほどY方向に長い)
を配置します。

この場合、プレビューでstepBtnのフレーム2版だとOKなのですが、フレーム3版だと
FlashPlayerが閉ループに入って(凍って)しまします。考えられる原因は何でしょうか?
下はfor部分の抜粋です。
for (var id=0; id < 7; id++) {
var tmpMC:MovieClip=new tmpClass as MovieClip;
if ((id+1)==1) {//試しにidが0の時
tmpMC.gotoAndStop (3);//ここがgotoAndStop (2)ならOK
}
tmpMC.name="stepBtn" + (id+1);
tmpMC.y=(id+1)*30
this.addChildAt (tmpMC, id+1);//0層には既に別のオブジェクトがあるので1から
}

なお閉ループに入った場合は、エラーメッセージは何も出ません。

477 :Now_loading...774KB:2009/03/04(水) 19:51:13 ID:mt+PTzTP
>>457の者ですが、オチゲーなどのゲームをCS3を用いて作る利点とかありますかね?

478 :Now_loading...774KB:2009/03/04(水) 22:20:03 ID:YXcFQhXO
以下のサイトでクリック募金というのをやっていますが、
一度クリックすると、その後クリックできなくなります。
クッキーでユーザを特定しているのかと思い、
クッキーを削除しても無駄でした。
クリックしたユーザをどうやって特定しているのでしょうか?

http://www.nittsu.co.jp/corporate/contribution/1click.html

479 :Now_loading...774KB:2009/03/05(木) 02:00:26 ID:e9sE6ZtH
>>478
shared objectじゃね?

480 :Now_loading...774KB:2009/03/05(木) 03:43:01 ID:No73TC70
通報しますた

481 :Now_loading...774KB:2009/03/05(木) 16:48:58 ID:cxb5gwV0
TextFieldで文字を表示させているんですけど、どうも読みにくいです。

アンチエイリアスはアドバンスにしてあって、文字サイズは11-13ぐらい。
色を真っ黒にし指定しても灰色になっちゃいます。
PDFは綺麗なのにActionScriptは・・・

何か良いTextFieldでの設定か、別の方法があったら教えて下さいませ。

482 :Now_loading...774KB:2009/03/05(木) 16:53:16 ID:8Owvk5yM
>>481
fontが細すぎてアンチエイリアスかけるとボヤけるってこと?

483 :481:2009/03/05(木) 17:24:21 ID:cxb5gwV0
>>482さん
ヒラギノ明朝のW3使っています。
細くなるし、ボケボケです・・・

これの対策ってあるんでしょうか?

484 :Now_loading...774KB:2009/03/05(木) 17:31:36 ID:/QjZkRMK
埋め込まないと駄目だよ
クソ重いムービーになるけど

485 :481:2009/03/05(木) 17:40:17 ID:cxb5gwV0
>>484
埋め込みはしてあります。
ローカル用なんで重さの問題はあんまり無いんです。

文字が痩せるのも気になりますが、一番解決したいのは、色が黒なのに灰色になってしまい事です。
こればっかりはどうにもならないのでしょうか・・・

486 :Now_loading...774KB:2009/03/05(木) 17:50:32 ID:/QjZkRMK
TextRendererクラスあたりを使って調整してみたらどう?
希望の結果がどういう物か分からないので、自分で調整してみてちょうだい

487 :Now_loading...774KB:2009/03/05(木) 18:19:08 ID:8Owvk5yM
>>485
12ptだと明朝の横棒が細すぎるからしょうがないっちゃしょうがない気がする。
y座標の値を0.1px単位で動かしてみると少し見え方が変わる。
あとはカスタムアンチエイリアスで調整するとか、FONTの太さを変えるとか。

488 :Now_loading...774KB:2009/03/05(木) 22:43:20 ID:hJ6IeOm4
ActionScript3.0で質問です。
マウスが画面外に出ている場合でもマウスの座標を取得する方法ってあるんでしょうか?
画面外だとMOUSE_MOVEが来ないし、MOUSE_OUTとかもダメのようです。
stage.mouseXも更新されないですし。
よろしくお願いします。


489 :478:2009/03/05(木) 23:26:39 ID:rnZYCU1q
>>479
そういうものがあったんですね。
ありがとうございました。

490 :Now_loading...774KB:2009/03/06(金) 01:36:45 ID:9YqQersX
df

491 :Now_loading...774KB:2009/03/06(金) 01:42:15 ID:Gdh4Vp8+
as3です。
シューティングゲームを作りたいのですが、
当たり判定を取るのに最も高速な方法は何でしょうか?

492 :Now_loading...774KB:2009/03/06(金) 02:04:05 ID:WbEdREUG
>>488
ないあきらめろ
>>491
private function onEnterFrame(event:Event):void
{
var dx:Number = ball2.x - ball1.x;
var dy:Number = ball2.y - ball1.y;
var dist:Number = Math.sqrt(dx * dx + dy * dy);

if(dist < 80)
{
trace("ヒット");
}
}
}
}


493 :Now_loading...774KB:2009/03/06(金) 02:04:27 ID:/o0a9Tgf
あービットマプははえーぞー

494 :Now_loading...774KB:2009/03/06(金) 02:18:36 ID:BTocpkss
初歩的ですがオブジェクト(2つの絵)同士の衝突を判定するにはどうすれば良いですか?

495 :Now_loading...774KB:2009/03/06(金) 04:52:59 ID:iBVwsHHY
すいません、>>476をお願いします。
エラーメッセージさえ出れば何とか手の打ち様があるのですが、
毎回凍ってCS3を再起動しています。


496 :Now_loading...774KB:2009/03/06(金) 15:24:46 ID:jxCjIS35
>>495
flashのプレビューならデフォルトで15秒で処理が止まってエラーが出る。

497 :Now_loading...774KB:2009/03/06(金) 15:30:45 ID:pUdFCgnk
グーグルマッポの最新版を使いこなしまくりたいので
CS4(CS3)からFlexに移行しようかと思ってますが
注意点とかありますでしょうか

498 :476, 495:2009/03/06(金) 15:49:20 ID:BYvI6jLm
>>496
476のfor文は別MCを押して実行させるのですが、15秒ルールの前に
tmpMC.gotoAndStop (3); で一瞬にして固まります。


499 :Now_loading...774KB:2009/03/06(金) 15:55:48 ID:qXEOo620
インスタンス生成が間に合ってないんでしょ
タイムライン持つMovieClipにはよくあること
いわゆるdoLater的な関数作って1フレーム待って実行するのが確実なんじゃないの

500 :Now_loading...774KB:2009/03/06(金) 16:03:13 ID:qXEOo620
それよりもボタンの外観変えたいだけなら、ボタン用のクラスに表示する絵をスクリプトで指定した方がスマートなんじゃないかな
3パターンあるなら、3つクラス作っても構わない
生成と同時にgotoAndStopしようとするのがちょっと無理がある

501 :Now_loading...774KB:2009/03/06(金) 18:17:17 ID:4mmmQAEY
質問させてください

MCを作成してフレーム1にテキストフィールドを配置したあとに、フレーム2、フレーム3とコピーしました。
この状態でステージにこのMCを配置して、テキストフィールドに値を設定しました。
その後gotoAndPlay()を使いMCのタイムラインを動かすとテキストフィールドの値が消えてしまいました。
どうやら各フレームのテキストフィールドは別々の変数として存在しているようなのですが、これを外部もしくは同じMC内の違うフレームからアクセスすることはできないでしょうか。

フレームを動かした後にmc.textField.text="";と実行すると、「null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。」という警告がでます。

環境はFlashCS3 AS3.0です

502 :481:2009/03/06(金) 19:05:14 ID:y3nZzr7v
>>486,487
有り難うございます。

アドバンスでthicknessとsharpnessを調整してみました。
結果、玉砕。

文字サイズが小さすぎますね。
サブピクセルレンダを手動で設定出来ない事には、日本語は無茶でした。
文字サイズ大きくして出直してきます。

503 :Now_loading...774KB:2009/03/06(金) 19:07:10 ID:dqBQENay
>>492-493 ありがとうございます

すみません、ビットマップを当たり判定に用いるには
どのようにしたらよいかご教授いただけませんでしょうか?

504 :492だよ。:2009/03/06(金) 19:29:31 ID:WbEdREUG
>>501
できない。無理だ
>>503
hittestpointだな。
簡単なのは。でもこれは....
492は理解できなかった?
できなかったらもっと詳細にソースを書くよ



505 :Now_loading...774KB:2009/03/06(金) 20:04:48 ID:dqBQENay
>>504
ご親切にありがとうございます。
492で書いていただいたコードは理解できます。
当たり判定は、オブジェクトをhitTestしたり
492のように座標で判定したりといった方法があると思いますが、
ビットマップで判定というのははじめて聞きました。
ぜひともご教授いただけませんでしょうか?

506 :488:2009/03/06(金) 20:05:52 ID:360ZQLfo
>>492さん
ありがとうございます、残念ですが諦めます。


507 :Now_loading...774KB:2009/03/06(金) 20:22:49 ID:FtgBdJqz
質問です
FlashCS4で新しくでたVectorクラスをFlashCS3で使いたいのですが、
何か方法をご存じの方いらっしゃいませんか?

Vectorクラスのためだけに何万円も払うのはさすがにあれなんで...

508 :Now_loading...774KB:2009/03/06(金) 21:59:48 ID:suTIVkvA
>>502
文字列が固定でスクリプトから変える必要がないのなら、
ちょいと面倒だけどその文字を画像として書き出して
それを表示するのでもいいかもね


509 :Now_loading...774KB:2009/03/06(金) 22:25:54 ID:BTocpkss
CS3でインスタンス名とシンボルに変換するときの名前はどんな違いがあるんですか?AS3と関連付けて教えて下さい。
かなり初心者です。

510 :Now_loading...774KB:2009/03/06(金) 22:45:44 ID:WbEdREUG
>>507
ない
>>
初心者板にいけ


511 :Now_loading...774KB:2009/03/07(土) 01:02:37 ID:3U/b6iu7
>>509
インスタンス名がプログラムでいろいろ操作したりするときに使う。
シンボルに変換するときの名前はライブラリ(Ctrl+Lキーででてくる画面)で管理しやすいように作る名前。
だから後者はAS3とは無関係

512 :Now_loading...774KB:2009/03/07(土) 01:42:27 ID:5LsLJ2iA
大量のシンボルを、シンボル名からの変換でクラスに一気に名付けすることもある。

513 :476, 495:2009/03/07(土) 05:06:53 ID:dFEFTMP0
>>499-500
なるほど。生成タイミングの問題の可能性ありですか。
工夫してみます。


514 :Now_loading...774KB:2009/03/07(土) 08:05:49 ID:DRMYDxek
ブラウザのサイズが変わって、Flashの大きさも変化しちゃったときに
Flash内にある特定のMCの縦、横のピクセルを保持したまま
サイズを変化させたくないのですが、どうすればよいですか?

個人的にはstage.stageWidthから、Flashの現在のサイズを取得して
そこから、大きさを変化させたくないMCのサイズをどの程度変更させれば
見た目の大きさが変わらないか計算するという方法を考えたのですが
もっと効率のいいやり方はありますか??

515 :Now_loading...774KB:2009/03/07(土) 19:18:06 ID:ieZImuV0
ところでみんな使ってるMCって何ですか?

516 :Now_loading...774KB:2009/03/07(土) 22:32:48 ID:5LsLJ2iA
MCコミヤ

517 :Now_loading...774KB:2009/03/07(土) 23:56:28 ID:eZbmhamA
中卒氏ね
考えろ
お前の意見を言え阿呆

518 :Now_loading...774KB:2009/03/08(日) 04:15:20 ID:Py+NkSe+
おまえをムービークリップにしてやろうか

519 :Now_loading...774KB:2009/03/08(日) 10:12:12 ID:IqHcOP9I
じゃあ、お父さんはスプライト飲んじゃうぞw

520 :Now_loading...774KB[:2009/03/08(日) 16:32:00 ID:f2I48/On
じゃあボクは苺シェイプ

521 :Now_loading...774KB:2009/03/08(日) 16:34:06 ID:ptTiMv1h
では私はミリンダで。

と言いつつ、AS3.0,WinXP-Pro,FlashCS3です。
Stage上のMC(frameEndB)にマウスポインタが重なったら、その領域の中でだけ
マウスポインタが別のMC(txtMouseM)に置き換わるASを書いていますが、領域に
入って以降、txtMouseMと通常のマウスポインタ矢印が交互に(フレームレートの
間隔で?)点滅するように現れてしまいます。

txtMouseM.visible=false;//最初はMCを隠す
addEventListener (Event.ENTER_FRAME, onFrame);
function onFrame (frameEvt:Event) {
txtMouseM.x=stage.mouseX;
txtMouseM.y=stage.mouseY;
}
frameEndB.addEventListener (MouseEvent.MOUSE_OVER, txtMOUSE_rollOver, false, 0, true);
function txtMOUSE_rollOver (mouseEvt:MouseEvent) {//領域内で置き換える
Mouse.hide ();
txtMouseM.visible=true;
}
frameEndB.addEventListener (MouseEvent.MOUSE_OUT, txtMOUSE_rollOut, false, 0, true);
function txtMOUSE_rollOut (mouseEvt:MouseEvent) {//マウスポインタを元に戻す
Mouse.show ();
txtMouseM.visible=false;
}

どう手直しすべきでしょうか?


522 :Now_loading...774KB:2009/03/08(日) 18:09:48 ID:f2I48/On
>>521

>MouseEvent オブジェクトのupdateAfterEvent() メソッドを呼び出すと画面の描画を更新する事ができます。
>これで少ないフレームレートでも滑らかにマウスカーソルが表示されます。
http://hakuhin.hp.infoseek.co.jp/main/as3/mouse.html

まあこれが原因かどうかわからんけど。
とりあえず、上のサイトは役に立ちすぎる

523 :Now_loading...774KB:2009/03/08(日) 19:41:08 ID:xhIDKCgc
>>522
いいよね。
このサイト。
お気に入りに入れております


524 :Now_loading...774KB:2009/03/08(日) 20:46:21 ID:OY1MrocS
>>521
ちゃんと調べてないけどEvent.ENTER_FRAMEだから?
MOUSE_MOVEよりENTER_FRAMEのが処理が軽いんだけど、タイミングが微妙に違う。


525 :521:2009/03/08(日) 22:45:53 ID:AdyoNKkF
>>522-524
有難うございます。
Event.ENTER_FRAMEを使うとどうも動作がおかしくなる(領域内で
マウスポインタが止まったり)ので、紹介サイトの通り、MouseEvent.MOUSE_MOVE
とupdateAfterEvent();を使い目的の動作が出来ました。
ちなみに、30fpsです。


526 :Now_loading...774KB:2009/03/09(月) 12:46:43 ID:2Mikobco
flash cs3持っていますが、cs4ってなんであんなに高いんですか?
3000円ぐらいでcs4にする方法はありませんか?

527 :Now_loading...774KB:2009/03/09(月) 13:01:31 ID:Hn9Aj8C7
>>526
Adobeに聞いてください
スレタイと>>1を読んでから書き込みましょう

528 :Now_loading...774KB:2009/03/09(月) 14:57:05 ID:dmgRxWit
AS3.0 flashCS4(体験版)

AS1.0では、MCをattachMovie()で作った後、MCの変数を外から定義していました。
それをAS3.0で書くとどうなるのでしょうか。
つまり、
var MC = attachMovie("mc", "mc0", 0);
MC.hensu = 1;
MC.onEnterFrame = function(){
this.hensu++;
};
というAS1.0のコードをAS3.0に直すとどうなるのか教えてほしいです。

529 :Now_loading...774KB:2009/03/09(月) 16:52:36 ID:tiTTWWwk
WinXP flashCS3 AS2.0です。

最近よくみかけるフラッシュで
フルスクリーンモードと通常モードを切り替えるものがありますが、
あれってどうやってるんですか?

たとえばこのサイト↓

ttp://www.ceranco.com/

右下のボタンを押すとフルスクリーンになって
「フルスクリーンモードを終了するにはESCキーを押します」って
メッセージがでるようなものです。

スクリプトの書き方を教えてください。
わかりやすい解説しているサイトでもいいです。

530 :Now_loading...774KB:2009/03/09(月) 18:20:59 ID:FsxKB/KJ
fscommand(fullscrean,trru);
自動でescの案内は出る仕様。

あの〜trace();が出来ないんですけど、どうやるんですか?


531 :Now_loading...774KB:2009/03/09(月) 19:53:07 ID:YWFS4pvZ
>>529
http://hakuhin.hp.infoseek.co.jp/main/as3/stage.html
のフルスクリーン参照

Flashでやりたいことの90%くらいは上のサイトにあるから、
とりあえず一通りプログラムはみなくていいから実行結果だけでもザッと見ることをおすすめする。
こんなことができるんだ、くらいはおさえておいて損はない。
で、必要に応じてプログラムみればいい。

532 :Now_loading...774KB:2009/03/10(火) 00:05:33 ID:tiTTWWwk
>>531
出来ればActionScript2.0だと嬉しいのですが・・・。
でもいろいろ勉強になりそうなサイトなのでありがとうございます。

一応自分なりに調べてみて
flash側に

btn.onRelease = function() {
Stage["displayState"] = "fullScreen";
};

html側に
<param name="allowFullScreen" value="true" />

で、フルスクリーンにするところまでは出来たんですが、
フルスクリーン状態の時に同じbtnを押して通常モードに戻ることができません。
ひとつのボタンで切り替えができるようにするにはどうすればいいのでしょう?

533 :Now_loading...774KB:2009/03/10(火) 00:51:41 ID:V5sM4vsd
>>532
おっとAS2か。見落としてた。
onClipEvent(load){
var flag = 1
}
on (release) {
if(flag == 1){
Stage.displayState = "fullScreen";
flag = 0
}else{
Stage.displayState = "normal";
flag = 1
}
}
試してないけど。onClipEventとかなつかしいな。

534 :Now_loading...774KB:2009/03/10(火) 08:35:20 ID:JhWePsro
>>533
どうもありがとうございます。
ばっちり出来ました!!

535 :Now_loading...774KB:2009/03/10(火) 09:21:46 ID:iSuso1Wo
関数の引数の数が動的であるので、任意の引数番を確認するにはどうすればいいでしょうか?
お願いします。

536 :Now_loading...774KB:2009/03/10(火) 12:15:42 ID:2ZScNwIR
>>535
actionscript 可変引数
でググれ。
おっと、AS2とAS3では書き方が違うから注意な。

537 :Now_loading...774KB:2009/03/10(火) 15:55:43 ID:pZ2Bi7jJ
as2.0です。
MovieClipLoaderで画像をロードした後に縦横のサイズを取得しようとすると0が帰ってきます。
ロードした画像のサイズを知るにはどうしたらいいんでしょうか?


538 :Now_loading...774KB:2009/03/10(火) 16:03:17 ID:pZ2Bi7jJ
mcLoader.onLoadComplete = function(target_mc:MovieClip):Void {

trace( target_mc._width);
trace( target_mc._height);
};
ロード時の処理はこんな感じです。

539 :Now_loading...774KB:2009/03/10(火) 16:12:28 ID:2ZScNwIR
>>538

>>455


540 :Now_loading...774KB:2009/03/10(火) 16:59:39 ID:pZ2Bi7jJ
OMG

どうも><


541 :Now_loading...774KB:2009/03/10(火) 19:23:21 ID:SSwPPt18
AS3で、テキストフォーマットを適応したテキストフィールドに
ENTER_FRAMEで指定した関数で値を代入しているのですが、値を代入した瞬間からテキストフォーマットの効果が消えてしまうので

function enterFrameFn():void {
textField.text = num.toString();
textField.setTextFormat( textFormat );
}

値を入れるのと一緒にテキストフォーマットをセットしてという方法をしてますが、flashが極端に重たくなったような気がします
この処理方法で他にもっと良い処理の仕方はありますでしょうか?

542 :Now_loading...774KB:2009/03/10(火) 19:59:02 ID:1Ro6zUlw
>>541
書式変えなくていいならdefaultTextFormatプロパティを使うと行けるんじゃないかな

543 :Now_loading...774KB:2009/03/10(火) 20:53:22 ID:iSuso1Wo
>>536
どうもありがとうございました^^

544 :Now_loading...774KB:2009/03/10(火) 23:22:16 ID:VniWlW6G
ttp://www.nicovideo.jp/watch/sm5740053
これってFLASHの作品みたいなのですが
こういう乳揺れってASでどうやれば表現できますか?

545 :541:2009/03/10(火) 23:56:58 ID:SSwPPt18
>>542
返信ありがとうございました
enterFrameFn()の移行前に
textField.defaultTextFormat = textFormat;;
と指定してenterFrameでの処理を省く事ができました
ありがとうございます!

546 :Now_loading...774KB:2009/03/11(水) 14:15:55 ID:jWU3YmnR
CS4 AS3.0について質問です。
AS2.0でオフイメージ描画を

---------------------------------
var bmpData:BitmapData;

/*
bmpDataに色々書き込む処理
*/

mc.attachBitmap(bmpData, 0);
---------------------------------

といった形でやっていたのですが、AS3.0ではattachBitmap()がムービークリップからなくなってしまったようです。
コンパイル時にその旨の警告が出ます。
代用の処理は何かないでしょうか?

547 :Now_loading...774KB:2009/03/11(水) 15:17:44 ID:h0rAI1W7
オフイメージというのが何なのかしらないけど、3.0で画面に何か表示したい場合にはaddChildメソッドを使えばいいよ
ビットマップを使いたい場合はBitmapクラスを使う

そのコードの流れだとmc.addChild(new Bitmap(bmpData))かな

一度きっちりヘルプの「表示のプログラミング」あたり読んでおいた方がいいんじゃね?

548 :Now_loading...774KB:2009/03/11(水) 15:47:34 ID:jWU3YmnR
ありがとうございます。
ご教示いただいた方法でうまくいきました。

549 :Now_loading...774KB:2009/03/11(水) 15:48:56 ID:0kBJEOZw
すみません!超初心者です。急遽仕事でcs4を使用していますが、全くスクリプトが理解できなくて困っています。
誰か教えてください。

今現在、親flaのムービークリップの上に座標指定をしてswfを読み込みました。
読み込まれたswfは画像扱いか、ムービークリップになってしまっているのか・・・??
swf単体では、リンクが貼られて普通に飛んでくれるのですが、読み込むと飛んでくれません。

親fla
on (press) {
_root.halloween_mc.loadMovie("keijiban_note.swf");
_x=30;
_y=40;
}


読み込みたいswfファイルは、一番下のレイヤーに画像、その上のレイヤー3つを
作成して、各レイヤーにムービークリップを作りリンクを貼っています。

on (release) {getURL("https://●●●●","_self");

}

こんな具合です。読み込んだswfのムービークリックを押すと、リンク先に飛ぶようにしたいのですが
どうしたらよいですか?
どなたかお願いします!!

550 :Now_loading...774KB:2009/03/11(水) 17:20:14 ID:A3/sXqfV
ActionScript3.0 + FlashDevelopで開発してるのですが
どの名前空間からも使用できるグローバル変数ってどうやって定義するのですか?
ドキュメントクラスがあるフォルダにGlobal.asを作って
package
{
var GLOBAL:int = 1;
}
ってやっても何処からも使えません・・・。

551 :Now_loading...774KB:2009/03/11(水) 17:30:53 ID:A3/sXqfV
あ、すみません
public var GLOBAL:int = 1;でもできないんです。

552 :Now_loading...774KB:2009/03/11(水) 18:00:10 ID:A3/sXqfV
すみません死んできます。

もしかして1packageにつき1public・・・

553 :Now_loading...774KB:2009/03/11(水) 18:11:06 ID:A3/sXqfV
>>550-553
無視してください。
解決しました。

他の人のために一応解説を。
ActionScript3.0ではpackageを無名で宣言するとグローバルスコープとなる。
しかしひとつのpackage内で宣言できるpublicな変数や、関数、クラスは一つのみである
したがって下記のコードのコメントを外すとエラーとなる。
package
{
  public globalValue1:int = 0;
// public globalValue2:int = 0;
}

グローバルな変数をたくさん定義したいのであれば
packageを無名で宣言し、クラスをpublic宣言。
そのあとクラスの中にstaticな変数を定義することで
どの名前空間からでもGlobal.hoge; のようにして使えるようになる

package
{
  public class Global
  {
    public static const hoge:int = 10;
  }
}

554 :Now_loading...774KB:2009/03/11(水) 22:34:55 ID:O8mMeIsp
【メモリについて質問です】

言語:actionscript3.0
開発環境:Flex 2

png画像(約30KB)を多数Bitmapデータで生成しているのですが
ビルド後、1MB程度の swf ファイルが出来上がり
ウェブにアップして swf 開くとメモリ使用量が200MB位になります。

メモリ使用量を減らしたいのですが解決策はないのでしょうか?

555 :Now_loading...774KB:2009/03/12(木) 03:28:16 ID:1nYazAkq
ガシツヲサゲル

556 :Now_loading...774KB:2009/03/12(木) 03:59:36 ID:7WCxZCnE
そのアドバイスはないわ
まずBitmapDataを大量に作ってるのが原因だろ
その場合、一つのBitmapDataから複数のBitmapを作ればおけ

557 :Now_loading...774KB:2009/03/12(木) 04:00:07 ID:1nYazAkq
>>549
初心者が仕事…?

558 :Now_loading...774KB:2009/03/12(木) 05:44:07 ID:8PkuKE3E
>>554
他にリスナーを弱参照にしてガーベージコレクション(GC)対象にするってのは?
その際にはremoveEventListenerとペアにする。

import flash.system.*; の System.totalMemoryをEvent.ENTER_FRAMEで使うと
随時使用メモリーがチェックできる。


559 :Now_loading...774KB:2009/03/12(木) 07:10:55 ID:1qFUttQU
>>553
>ActionScript3.0ではpackageを無名で宣言するとグローバルスコープとなる。
>しかしひとつのpackage内で宣言できるpublicな変数や、関数、クラスは一つのみである
なんかすごく間違ってる気がするがw

560 :Now_loading...774KB:2009/03/12(木) 09:41:59 ID:6ohYI7HB
>>554
new pngのやつ(0,0);
を使うたびにメモリが食われる。

561 :Now_loading...774KB:2009/03/12(木) 10:05:48 ID:dOMvP/kR
549です。だれかおしえてくださーい!!

562 :Now_loading...774KB:2009/03/12(木) 16:01:28 ID:ftaKmXSw
>>559
どう間違ってるのか教えてください><

ところでもう一つ質問させてください。
AS3+FlashDevelop+ProgressionでHP作ってるのですが
TextFieldにcssとhtmlをセットして使ってるのですが

<p>
詳細情報
<p>なんちゃら〜</p>
</p>

みたいにタグが入れ子になったときに

 詳細情報
   なんちゃら〜

って表示するようにしたいのですが
TextFieldがDIVみたいなボックス(?)をサポートしてないので無理なんですかね?

563 :Now_loading...774KB:2009/03/12(木) 16:08:57 ID:8BTCDvMv
AS3.0,WinXP-Pro,FlashCS3です。タイマーが動作しません。
Stageに置いたMC(mc1)のフレームアクションとして、この1フレーム目にSWF開始後
100msec経過時に1回実行するようなASを書いたのですがtraceが出ません。

var timerObj:Timer=new Timer(100, 1);
timerObj.addEventListener (TimerEvent.TIMER, doLater_on);
function doLater_on (timerEvt:TimerEvent) {
trace ("100msec");
}

どうしたら良いでしょうか?

564 :Now_loading...774KB:2009/03/12(木) 17:02:10 ID:1qFUttQU
start汁

565 :Now_loading...774KB:2009/03/12(木) 17:16:58 ID:c8Ke9QLv
>>564
startしてなかった・・・

ごめんなちゃい。


566 :Now_loading...774KB:2009/03/12(木) 19:55:31 ID:6ohYI7HB
>>561
ヒント:それよりもなぜ答えてくれないかを考えた方がいいよ。

567 :Now_loading...774KB:2009/03/13(金) 01:59:06 ID:u36zRRxy
FlexBuilderでmxml+ActionScript3でアプリケーションを作っているのですが
コンストラクタ的な処理をしたい場合どうすればよいのでしょうか。
mxmlのなかにfunction アプリケーション名()を作ると
コンストラクタを複数定義するんじゃねぇ!と怒られます
どなたかご教示ください。宜しくお願いします

568 :Now_loading...774KB:2009/03/13(金) 05:12:11 ID:7VPNICRZ
AS3.0,WinXP-Pro,FlashCS3です。Stageに置いたMC(boardM)に子として追加した
MC(rootから見て孫)のフレーム番号が参照できず困っています。

これらの孫MCは7個あり、それぞれフレーム1かフレーム3で最初に設置されます。ところが
プレビューではフレーム2と3しかなく、1への移行は予め記述した置いたMCのフレーム
アクション MouseEvent.MOUSE_OVER で初めて変化します。

原因を探るため、取りあえずMC(boardM)にaddChildAtで子として追加する時点での
フレームを番号を知ろうと思い、仮MCを 
var tmpMC:MovieClip=new tmpClass as MovieClip; として、
trace ("frame= "+tmpMC.currentFrame); 
を書きましたが何も出力されません。また、
getChildByName(インスタンス名).currentFrameでも何も出ません。

フレーム番号を参照できない原因は何でしょうか?


569 :Now_loading...774KB:2009/03/13(金) 06:36:23 ID:QavnmJBm
as3
box2dを使ったswfでCPU使用率40%アップしてしまうのですが、(メモリは空いてる)
・ビット演算使えるとこあれば使うなど、適切なアルゴリズムでコード最適化する
・アルファ控える
・mcの数抑える

何か他に一般的な策ありますか?とても力を入れて作ってきた作品なのでなんとか見て貰いたいです…


570 :Now_loading...774KB:2009/03/13(金) 06:55:16 ID:BYLSvjXO
>>568
var tmpMC:MovieClip=new tmpClass as MovieClip;
ここで変換に失敗してnullが入ってるのかも?

>>569
まずどこのコードが一番実行されているか調べるんだ
大抵メインのループで全体の8割くらいの負担がかかってる
そこをとにかく最適化

まぁ物理エンジン使ってるからCPU40%はしょうがないと思うけど・・・w

簡単なプログラムなら物理エンジン使わないで自力で実装っていう手もあるよ?w

571 :Now_loading...774KB:2009/03/13(金) 12:09:00 ID:lWdyL7kh
>>567
コンストラクタではないけど、creationCompleteイベントでいいんじゃない?

572 :Now_loading...774KB:2009/03/13(金) 12:41:27 ID:u36zRRxy
>>571
なるほど、creationCompleteイベントで代用できそうです。
ありがとうございます。

573 :Now_loading...774KB:2009/03/13(金) 19:35:34 ID:guT3emIm
http://clockmaker.jp/labs/080721_as3_pv3d_gw_01/Main.txt

このコードでここでOR演算使う意味ある?
var charCode:uint = (Math.random() * 25) | 0 + 65;


574 :Now_loading...774KB:2009/03/13(金) 19:54:10 ID:guT3emIm
あれ〜なんでビット演算するとうまくいくの
こういうの苦手

575 :Now_loading...774KB:2009/03/13(金) 19:56:38 ID:guT3emIm
あ〜こうするのと同じって事か
int(Math.random() * 25) + 65

576 :Now_loading...774KB:2009/03/13(金) 19:58:40 ID:Gp8P1NNZ
Zがかわいそうですw

577 :Now_loading...774KB:2009/03/13(金) 21:45:26 ID:guT3emIm
あれ、intって切り捨てか。
でもビットマスクでも切り捨てになるんじゃね
よくわかんね。

578 :Now_loading...774KB:2009/03/14(土) 08:02:14 ID:3YTbK/XY
演算子|はそれぞれをintに切り捨てしてからORするから、切り捨て用だけに使ってるんだろね

579 :くるりん子:2009/03/14(土) 20:59:00 ID:g/QhtvfZ
オブジェクト obj が属するクラスの Class オブジェクトを取得するには
どうしたらいいでしょうか?

下記の Java コードと同等のことをしたいのですが。
if (obj.getClass() == obj2.getClass())


580 :Now_loading...774KB:2009/03/14(土) 22:11:58 ID:UIyo5SBh
質問させてください。
サーバーからロードしたjpgを複製する方法ってあるんでしょうか?
as2でもas3でもいいです。
昔のloadMovieでは無理そうですが、
MovieClipLoaderとかLoader classでは可能なのでしょうか?

581 :Now_loading...774KB:2009/03/14(土) 23:58:53 ID:9w2fqfAx
質問させてください。
MovieClipの輝度を、ActionScriptで変更したいのですが、
どうすればよいでしょうか?

582 :580:2009/03/15(日) 00:45:38 ID:yBA/8rwl
自己解決しました。
as2でもBitmapDataをゴニョゴニョやったらなんとかできそうです。

583 :Now_loading...774KB:2009/03/15(日) 00:45:50 ID:cA2OZTK1
MovieClipクラスのインスタンスは宣言せずとも勝手にプロパティを作れますが、Spriteクラスのインスタンスはできません。
myMovieClip.hogehoge = 1;
mySprite.hogehoge = 1; //エラーがでる
この違いはなぜなのか、また、代入される値が型指定されてなくても良いのはなぜか、がわかりません。教えてください

584 :Now_loading...774KB:2009/03/15(日) 01:30:36 ID:cbuNy40O
AS3.0,WinXP,FlashCS3
Loader()とloader.contentLoaderInfo.addEventListener()を使ってDLプログレスバー(プリローダー)
を作ろうとしていますが、書籍にある記述では試作用Txtファイルの読み込みでエラーになり
出来ません。以下は書籍の記述の抜粋です。

loader.load(new URLRequest("u4714.jpg"));//DRC.txtだと不可
holder_mc.addChild(loader);
function progressHandler(event:ProgressEvent):void {
var ratio:Number = event.bytesLoaded / event.bytesTotal;
progressBar_mc.scaleX = ratio;
}

3.4MBのJPG:"u4714.jpg"では問題なく動作するのですが、これだと一瞬でロードが終わって
しまいますのでもっと重い"DRC.txt"(26MB)で試すため、loader.load(new URLRequest("DRC.txt"))
にしたところ、
 Error #2044: ハンドルされていない IOErrorEvent : text=Error #2124: 読み込まれたファイルの形式が不明です。

という表示になります。パスもファイル名も確認したのですが・・・
原因は何でしょうか?

585 :Now_loading...774KB:2009/03/15(日) 02:09:49 ID:UqlrKJs0
Loader クラスは、SWF ファイルまたはイメージ(JPG、PNG、または GIF)ファイルを読み込むために使用します。

http://help.adobe.com/ja_JP/AS3LCR/Flash_10.0/flash/display/Loader.html

586 :Now_loading...774KB:2009/03/15(日) 02:12:56 ID:IWZ6x0Zt
Loader使うならNextかBulkLoader使った方がいいんじゃないかな

587 :Now_loading...774KB:2009/03/15(日) 02:33:22 ID:cbuNy40O
>>585
さんきゅうです。

>>586
CS3のヘルプを見ましたが、NextとかBulkLoaderというクラスは見当たりません。


588 :Now_loading...774KB:2009/03/15(日) 02:44:49 ID:IWZ6x0Zt
ごめんGoogleCodeにあるAS3用ライブラリだよ、ぐぐるといいよ
BulkLoaderは複数のファイルをアップロードしやすくて
Nextは変態的なコードでアップロードできる

589 :Now_loading...774KB:2009/03/15(日) 02:47:09 ID:IWZ6x0Zt
アップロードじゃなくてロードだね、ごめんよごめんよ
Loaderでやるより分かりやすくロードできるからお勧めだよ

590 :Now_loading...774KB:2009/03/15(日) 03:39:03 ID:BP8HLNm/
>>583
Spriteは普通のクラスでMovieClipはダイナミッククラス。
ダイナミッククラスは基本的に処理が遅い、エラー発見しにくいので
可能ならSpriteを使うと良い。

591 :Now_loading...774KB:2009/03/15(日) 08:38:05 ID:cA2OZTK1
>>590 ありがとうございます。ダイナミッククラスというのを初めて知りました。
SpriteよりMovieClipが遅いといわれるのはタイムラインの有無が〜、と参考書で読みましたが、
このダイナミッククラスかそうじゃないか、もかなり影響してそうですね。勉強になりました。

592 :Now_loading...774KB:2009/03/15(日) 09:48:22 ID:/jcP4lt7
>>581
HSBに変換して明度とか彩度いじって戻す
>>583
Spriteはdynamicでないから
リテラル以外は型指定必要だけどデフォルト設定なら型指定しなくてもエラーでないかも
>>584
テキストファイルはURLLoaderなんじゃね


593 :Now_loading...774KB:2009/03/15(日) 12:19:41 ID:UqlrKJs0
コンピューターサイエンスをきちんと勉強した人じゃないから
にわか知識だけど
コンパイル時に名前の解決ができるクラスは
メソッドやプロパティの呼び出しをアドレスの参照に置き換えてるから
早いんじゃないかな。
逆に動的に名前解決するいわゆるDynamicなクラスは
動作中に名前とアドレスの一覧を作って、その一覧の中から実際の
アドレスを指すからその分だけコストがかかるんじゃない

594 :Now_loading...774KB:2009/03/15(日) 14:57:51 ID:OQbtOAmB
ttp://www.flashiroha.com/script/as8.html
ここのサイトの慣性効果付加型の追加のFlashを見て思いついたのですが

・星は1つだけで、マウスには追従せず位置は固定
・星にマウスが触れたとき、マウスの動きに合わせて星が伸びたり、元の大きさに戻ったりする
・ある程度伸びた後(マウスが星の固定位置からある程度離れた時)星は固定位置に戻るように伸縮運動をする(↑のサイトの慣性効果のように)

このような動作を表現したいのですが、どのように記述すれば良いですか?

595 :Now_loading...774KB:2009/03/15(日) 16:04:48 ID:vm84N3cH
最近ActionScriptの勉強を始めたばかりです。
例えば、
sendMessage("ああ");
↑の処理を単純に無限ループさせたい場合はどのように記述すればいいのでしょうか?
もしくは、一定間隔で繰り返しです。
条件などはないのです

596 :Now_loading...774KB:2009/03/16(月) 00:01:09 ID:N5pMcpWw
音の動的生成を使おうと考え、
import nu.mine.flashnet.sound.core.*;」で外部のライブラリ使っています。
ところが下記のようなエラーが出てしまいます。

「Error: インターフェイス IAudioDataProvider が見つかりませんでした。」

環境:WinXP,FlashDevelop,Flex SDK,AS3


>>595
while(true){
sendMessage("ああ");
}
で無限にループするとは思います。
でも、抜け出せません。

597 :Now_loading...774KB:2009/03/16(月) 00:12:50 ID:MrhzB3ar
>>595です
>>569
有り難うございます
色々ググったりして、そこにはたどり着いたのですが、
これを例えば3秒ごとに実行するとしたら、どうなるか教えて頂けないでしょうか?

598 :Now_loading...774KB:2009/03/16(月) 01:15:43 ID:N5pMcpWw
>>596です。
3秒ごとに一定の処理をさせるということでしょうか?
だとすると
Timerを使うと良いと思います。
コンストラクタに
var cycle :Timer = new Timer(3000);//ミリ秒単位
cycle .addEventListener(TimerEvent.TIMER, cycle_action);
cycle .start();

周期的に行う関数を
private function cycle_action(event:TimerEvent):void {
sendMessage("ああ");
}
といった感じでしょうか?

誰か間違いがあれば修正をお願いします。

599 :584:2009/03/16(月) 04:58:21 ID:897ZPYfd
DLプログレスバー(プリローダー)について別の質問です。

URLRequest()でSWFロードの状況を知りたいのですが、重いSWF(20MBくらい)を
CS3で生成しようとするとソフトが過負荷になるせいか10MB位のSWFが上限みたい
です(当方、Core2Duo[E6550]のメモリー3GB)。

仕方なくこの10MBで試したのですが、ローカル環境で転送を意図的に遅くしようと
USBメモリからSWFをLoadすると、これでも1秒も経たずにロードされてしまい、プログ
レスバーの変化が見れません。

そこで(変な質問ですが)ネットにUpする以外に、Loadを遅くしてプリローダーの検証
をする方法はありますか?出来れば、1MB/1秒くらいが良いのですが。


600 :Now_loading...774KB:2009/03/16(月) 05:05:55 ID:xKWjyozl
CS3でプレビューすればダウンロードのシュミレートできるよ

601 :584&599:2009/03/16(月) 17:35:07 ID:sFFG3dWT
>>600
この場合の「プレビュー」というのは、CS3でCtrl+Enterしたときの
ムービープレビューでしょうか?
Ctrl+Enterは毎回やっていますが、速過ぎて検証できません。


602 :Now_loading...774KB:2009/03/16(月) 18:01:07 ID:xKWjyozl
>>601
Ctrl+Enterで表示したFlashPlayerのメニューにダウンロードのシュミレートってないかい?

603 :584&599:2009/03/16(月) 19:54:44 ID:sFFG3dWT
>>602
ありました。
というか、ローカルの1/1000位の速さになりますねw


604 :Now_loading...774KB:2009/03/16(月) 20:50:11 ID:xKWjyozl
>>603
速度は変えれるよん

605 :Now_loading...774KB:2009/03/16(月) 21:00:45 ID:X1Opgift
attachMovie で割り当てたムービー クリップの onLoad イベント ハンドラが
数フレーム以上経って呼ばれる事ってあるんですか?

606 :Now_loading...774KB:2009/03/16(月) 22:57:50 ID:5eVoQfRW
>>605
いつ呼ばれるかは保証されてないんじゃないかな。

607 :Now_loading...774KB:2009/03/16(月) 23:19:38 ID:12YHPSYZ
onLoadは何かと怪しいから使わない

608 :Now_loading...774KB:2009/03/16(月) 23:57:25 ID:OhzKNNNN
×シュミレート
○シミュレート

609 :Now_loading...774KB:2009/03/17(火) 04:18:58 ID:CLk1s3WM
StageにPDFを読み込む方法が分かりません。
FlashCS(AS3.0)をWinXPで使っています。

目的のPDFはTest.pdfという名前ですが、本に載っている方法を参考に
フレームアクションに以下のように書きました。
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, comp);
loader.load(new URLRequest("Test.pdf"));
function comp(event:Event):void {
trace("completed");
}

completedは出ますがStageに何も現れません。
アドバイス願います。

610 :Now_loading...774KB:2009/03/17(火) 08:21:13 ID:tqrMSgFR
pdfに対応してるのかどうかわからんが、addChildは必要だろ

611 :Now_loading...774KB:2009/03/17(火) 12:29:16 ID:gHlBcHhC
>>610
レス有難うございます。addChildということで、下のようにしましたが今度は
 1067: 型 flash.net:URLLoader の値が、関連しない型 flash.display:DisplayObject に暗黙で型変換されています。
と出ます。

loader.load (new URLRequest("Test.pdf"));
placeM.addChild (loader);// ←追加した行(placeMは空MC)
function comp (event:Event):void {

JPGやSWFをロードする別のASでは問題なかったのですが・・・
この場合、どうすべきでしょうか?

612 :Now_loading...774KB:2009/03/17(火) 13:29:13 ID:/xYG7Yww
>>611
URLLoaderはaddChildできません。
それ以前に、>>609のコードはpdfをテキストとして読み込んでいるだけなので、
単純に表示させることは出来ません。

URLLoaderでpdfを読み込み、解析し、表示させることは可能でしょうが、
pdfのファイルフォーマットについての詳しい知識が必要です。
(誰かがクラスライブラリ化してくれていたら別ですが)
また、Loaderもpdfには対応していないため、表示させることは出来ません。

Airが使えるなら、
HTMLLoaderというクラスでpdfを表示させることが出来ます。

613 :Now_loading...774KB:2009/03/17(火) 16:58:21 ID:eMVPKOEi
http://www.scribd.com/tools/ipaper

こういうのを自分のサイトに埋め込んだらいいんじゃね
ていうか、それしか方法わかんね。

614 :Now_loading...774KB:2009/03/17(火) 18:36:43 ID:qKC5CEoX
>>612-613
さんくすです。

「Flash便利帖」(毎日コミュニケーションズ)のp044に「MX2004からPDFを
読み込めるようになりました」という一文があったのですが、最初これを誤解し
ASでLoadがOKだと思っていました。
あと、ライブラリに入れようとしたら「読み取りに問題あり」というメッセージが出ました。

やっぱり一工夫必要のようですね。


615 :Now_loading...774KB:2009/03/17(火) 18:39:16 ID:dUHbn0NK
AS3です。

text.mxmlにて
public function onApplicationComplete():void
{
var hoge:Hoge = new Hoge();
hoge.addEventListener(PropertyChangeEvent.PROPERTY_CHANGE, onPropertyChanged );
}

public function onPropertyChanged ( e:PropertyChangeEvent ):void
{
trace( "PropertyChanged" );
}


Hoge.asにて
[Bindable]
public var bindVar:Number;
を容易

これでhogeのbindVarが変更されるときonPropertyChangedが呼ばれるだろうと踏んだのですが呼ばれません。
どうすれば呼ばれるようになるのか教えて下さい。

616 :Now_loading...774KB:2009/03/18(水) 04:45:45 ID:cknNTXR3
Progressionのソース読んでたら
case !!_parent && !!_parent.getSceneByName( value )
とか
q &&= ( ( scenePath.indexOf( "?" ) != -1 ) ? "&" : "?" ) + q;

不思議な演算子の使いかたでてくるんだけど
これ何の意味だかわかる人いる?

617 :Now_loading...774KB:2009/03/18(水) 05:45:21 ID:dO5i/BOO

こんな演算子も謎

618 :Now_loading...774KB:2009/03/18(水) 10:45:37 ID:CmfwRq5H
AS2で_rootの1フレに書く内容を外部ファイルにしたい場合、
#include 'root.as'とかすると、
Flashのエディターで整形しようとしたときに
Classファイルじゃないということで
エラーになってしまいますが、全てのASを外部にしたい場合には
どういう書き方をすればいいのでしょうか?

619 :Now_loading...774KB:2009/03/18(水) 11:34:30 ID:ABdg1kcF
>>618
ターゲットファイルがなければエラーにならないはず

620 :Now_loading...774KB:2009/03/18(水) 11:35:27 ID:ABdg1kcF
ち、マルチだったか

621 :Now_loading...774KB:2009/03/18(水) 17:09:36 ID:vrcDWKDX
初歩的な質問ですが、色々ググってみても見つからないので、
こちらで質問させてください。

DateFormatterでミリ秒を表現するとき、なんという文字を使えばいいのでしょうか。
"JJ:NN:SS.ミリ秒"と表示させたいのです。

それとも、探しても見つからないということは、ないということですかね…

622 :Now_loading...774KB:2009/03/18(水) 20:04:05 ID:ZPuNJb44
てすと

623 :Now_loading...774KB:2009/03/18(水) 23:22:21 ID:cknNTXR3
DateFormatterってmxのクラスかな
flex_sdk_4/frameworks/projects/framework/src/mx/formatters/DateFormatter.as
にあるソースもみたし、APIドキュメントも確認したけど
ミリ秒には対応してなさそうだよ。
ていうか検索するまえにAPIドキュメントみるほうが早いと思うけど

624 :Now_loading...774KB:2009/03/19(木) 16:00:49 ID:A2IdOMy4
ミリビョウ使われてるサイト見たことある。解析してみ

625 :Now_loading...774KB:2009/03/19(木) 16:29:53 ID:pp2ggHrj
うん、Dateクラスでミリ秒まで扱えるから
Dateクラス受け取ってフォーマットして返すようなクラス作るか
拡張すればいいぽ

626 :Now_loading...774KB:2009/03/20(金) 10:24:10 ID:+/mqXFDc
AS3です
落下するMovieClipを作っています
加速度のプロパティを加えるにはどう書けばいいでしょうか?
[Embed(source = '../lib/star.swf')]
private var EmbedClass:Class;
private var vx:Numbe;
var star:MovieClip=new EmbedClass ();
star.vx = 0;//ここの書き方が分かりません

627 :Now_loading...774KB:2009/03/20(金) 11:13:32 ID:IDoIc0nH
カスタムクラス作れ

628 :626:2009/03/20(金) 11:33:00 ID:+/mqXFDc
>>627
カスタムクラスでやってもよいのですが
クラス分けしないでやってみたいのですが方法ってあります?


629 :Now_loading...774KB:2009/03/20(金) 12:49:51 ID:IDoIc0nH
[Embed(source = '../lib/star.swf')]
private var EmbedClass:Class;
private var vx:Numbe;
var star:MovieClip=new EmbedClass ();
vx = 10;
star.x = vx;

こんなんじゃいかんの?

630 :Now_loading...774KB:2009/03/20(金) 12:57:41 ID:wkOqhhrE
>>626
初速度0の場合、加速度aと時間tと距離Lは
L=at^2/2

物理の教科書が無ければ、微積の教科書を参照(距離の時間による2次微分は加速度)


631 :Now_loading...774KB:2009/03/20(金) 13:40:07 ID:XC8D+wL1
多分、加速度じゃなくて速度ベクトルを毎フレームを微分された時間と考えて
足してやろうとしてるんだよ。

632 :Now_loading...774KB:2009/03/20(金) 13:48:36 ID:XC8D+wL1
star.x += vx か
もし本当に加速度をやろうとしてるなら
加速度は速度の各フレーム毎の変化だから
vx += ax;
star.x += vx;

ActionScriptアニメーションみて確認してみたけど

633 :Now_loading...774KB:2009/03/20(金) 16:04:41 ID:zEpy/vbQ
AS3で初歩的な質問いいでしょうか
ファミコン並の解像度のゲームを作ろうと思ったのですが
サイズが小さすぎて頭が沸騰しそうです
swfをブラウザ上で拡大して設置する方法は無いでしょうか
ちなみにFlexSDKです

634 :Now_loading...774KB:2009/03/20(金) 16:17:42 ID:3vYIMgvr
>616
上はわからん。
下は、「三項演算子」でググればたぶんわかる。
きっとURLにGETメソッドのパラメータを付与する式だろ。

635 :Now_loading...774KB:2009/03/20(金) 17:43:42 ID:lXny2v1Y
>>616
>case !!_parent && !!_parent.getSceneByName( value )

気になって調べてみたら、なんでも、
if (defined(_parent) && defined(_parent.getSceneByName( value )) ) {

}
ことらしい。AS3にはdefinedないんだっけ?

636 :626:2009/03/20(金) 18:03:32 ID:+/mqXFDc
>>629-632
加速度は本題じゃないんです、紛らわしくてすいません。
mcに自前のプロパティを設定する書き方が知りたいんです

ちょっと別の物で書いてみたら出来ました。
当違いの検証なのかも分かりませんが
書き方以前の問題なのかな?
var mc:MovieClip=new MovieClip();
mc.cnt=0;
trace(mc.cnt);//0

>>627 仰るとおりStar.asを用意するのが慣例なんですかね
すいません、もうすこしいじってみます。
ありがとうございました。

637 :Now_loading...774KB:2009/03/20(金) 23:32:06 ID:J67OziQv
>>636
アクサ(get/set)は? MCに独自のプロパティ(例:mc.atai とか)が設定できる。
参考: 「一週間でマスターする ActionScript 3.0」(毎日コミュニケーションズ)のp251

・・・結局はカスタムクラスを作ることになるけどw


638 :Now_loading...774KB:2009/03/21(土) 00:12:50 ID:+WKMBiI4
ファイルを読み込んでアタッチしてる
そのクラスのプロパティにすればいいだけじゃん。
なんで無理に動的変数を使用しようとするのか
分からない。2.0のときの癖か

639 :Now_loading...774KB:2009/03/21(土) 10:00:26 ID:b6HCju0B
FlashCS3(AS3.0)をWinXPで使っています。

3Dライブラリ実装を勉強するため、『1ランク上の技を身につけるFlashの強化書』(毎日コミュニケーションズ)
のp108を試しに実行しまいたがエラーが出てしまいます。

本の通りライブラリとFlaファイルをprojectフォルダ内に配置し、パブリッシュ設定をしましたが、
Tweenerライブラリに限って
 1046: 型が見つからないか、コンパイル時定数ではありません : Void。
のメッセージが頻発しています。
この本のこの箇所を実行された方がいましたらアドバイスを願います。なお、サポートサイト
ttp://swwwitch.com/books/mycom/theFlash を見てもトラブル対応法は分かりませんでした。


640 :Now_loading...774KB:2009/03/21(土) 10:21:09 ID:fKmdslcf
>>639

AS3なら、Voidじゃなくてvoid(全部小文字)だと思うんだけど、そんな単純な話ではない?

641 :Now_loading...774KB:2009/03/21(土) 10:46:39 ID:b6HCju0B
>>640
ホントだ・・・ Voidになってた。面倒だけど修正してみます。
ちなみに、ttp://code.google.com/p/tweener/ からDLしました。


642 :Now_loading...774KB:2009/03/21(土) 11:38:16 ID:fKmdslcf
>>641
DLしたのってAS3用のtweener?

643 :Now_loading...774KB:2009/03/21(土) 23:25:07 ID:ojZyo8/h
Flash製作初心者の質問スレッド レイヤー39
から紹介されて来ました。
質問よろしいでしょうか。
ttp://cs3book.flashoop.jp/wiki/index.php?%E7%89%A9%E7%90%86%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%B3%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9F%E3%82%B2%E3%83%BC%E3%83%A0#p75e4fff
のサイトにあるスクリプトを自分の環境で動作させたのですが、上手く動きませんでした。
エラーはいくつか表示されたのですが、
未定義の可能性が高いメソッド(プロパティ)エラーや、
同じ型のライブラリシンボルにリンクしているため、flash.display.MovieClipをサブクラスとする必要があります
などのエラーが表示されます。

644 :Now_loading...774KB:2009/03/21(土) 23:26:05 ID:ojZyo8/h
Box2DFlashAS3が上手く読めれていない可能性を考えたのですが、
Box2DFlashAS3に入っている『HelloWorld.fla』は、エラーが出ずに出力できました。
ただし、他の方のサイトでBox2DFlashAS3を使ったサンプルセットをDLさせていただいて
その中のflaを使用した場合は、やはりエラーが出てしまいます。
エラー内容は上記と同じ、未定義関係のエラーです。
スクリプトのエラーなのか、もしくはそれ以前のファイル構造で間違いがあるのでしょうか。
アドバイスを頂けると助かります。
また、もしよければ、上記サイトのスクリプトで動かせているFlaとASをお持ちでしたら、参考にさせていただけると助かります。
図々しいお願いではありますが、どうぞよろしくお願いいたします。


645 :Now_loading...774KB:2009/03/21(土) 23:46:28 ID:JJnguftr
そんな文誰も読みたくない
人の気持ちが分からないのは致命的
書き直してくれ

646 :Now_loading...774KB:2009/03/21(土) 23:58:06 ID:+WKMBiI4
Box2Dは移植されたライブラリだから
エラーでやすいね。気をつけてかかないと。
でも、その情報だけじゃ何が原因か漠然としすぎてて
さっぱりだけど

647 :Now_loading...774KB:2009/03/22(日) 01:46:06 ID:pXj7JNZ4
プログラム解読していけば知識にもなって良いんじゃないかい?

648 :Now_loading...774KB:2009/03/22(日) 21:07:49 ID:APdCqyAq
FlashCS3(AS3.0)をWinXPで使っています。

社内の他の人が別のソフトで作った6個のSWF(swf0〜swf6)をAS3で組んだ
SWF内に入れ子としてswf0→swf6の順でLoadした際、

Branching::script:rdcmndResume = 1;
deepak branching : scripteval:[object Object];

というメッセージが現れます。これは何を意味しているのでしょうか?
ググりましたが分かりませんでした。


649 :Now_loading...774KB:2009/03/22(日) 21:34:15 ID:PCij10Uc
>>648
swf0-swf6内部でtrace()してる、ってわけではないんだよね?

650 :Now_loading...774KB:2009/03/22(日) 23:28:12 ID:APdCqyAq
>>649
どうも。
試しにswf0をMotionDecompiler2でデコンパイルしたところ、rdcmndResumeという
変数がありました。
しかしこれはASでtraceしている訳ではなく、Player9のデバッグ機能(?)で出力
されている模様です。
同様に考えると、「deepak branching」もこの機能で出力されているのかも知れません。

エラーとは明示されていないので、その手前のお知らせメッセージなのかも。


651 :Now_loading...774KB:2009/03/23(月) 02:39:46 ID:psz/3AYi
ちょっとした疑問なのですが、
ActionScript2.0リファレンスだとObjectクラスがdynamicクラスになっていません。

2.0
http://livedocs.adobe.com/flash/9.0_jp/main/00002035.html
public class Object

3.0
http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/Object.html
public dynamic class Object

これって何か理由があるんでしょうか。

プロトタイプベースとクラスベースの違いなのかなと思ったのですがよくわかりません。
MovieClipクラスはどちらもdynamic classになってますがObjectクラスだけ特別なのでしょうか。

652 :Now_loading...774KB:2009/03/23(月) 07:40:01 ID:DEEJIXBK
ただ単に書き忘れじゃねーのw

653 :Now_loading...774KB:2009/03/23(月) 08:27:03 ID:HedBTQRa
>>651
as2.0のclassは全てdynamicだから指定する必要がないとか

654 :Now_loading...774KB:2009/03/23(月) 08:28:30 ID:HedBTQRa
ごめん、object classの間違い

655 :651:2009/03/23(月) 09:18:31 ID:psz/3AYi
ありがとうございます。
書き忘れかなとも思ったのですがネット上のリファレンスもCS3のリファレンスも同じだったので意図的なのかなと思いました。

2.0だとプロトタイプベースでclassは中身の規則が1.0のまま。
dynamicは単にプロパティを後で追加できるかどうかのフラグにすぎない。
Objectクラスは例外でプロパティを後で追加できる。

3.0だとクラスベースなのでclassの規則は絶対。
dynamicを指定するとclassの属性そのものが異なる。
Objectクラスも例外ではない。

ってことかなあと予想してます。

656 :Now_loading...774KB:2009/03/23(月) 11:19:41 ID:MKLIFgZQ
見当違いだと思うけど、
Objectをdynamicにするとそれを継承する全クラスがdynamic属性になっちゃうとか

657 :Now_loading...774KB:2009/03/23(月) 11:56:50 ID:N0Ra0SgM
progression + FlashDevelop + AS3 で開発してるのですが
アクセス者のIPアドレスを取得することはできますか?

「こんにちは!またお会いしましたね」 とかやりたいのです。

658 :Now_loading...774KB:2009/03/23(月) 12:46:55 ID:cB4j1nPK
そういうのはSharedObjectかcookieでやりゃいんじゃね?

659 :651:2009/03/23(月) 23:55:38 ID:psz/3AYi
>656

あーなるほど。
3.0だとdynamicクラスのサブクラスはdynamicじゃなくなってますね。

3.0
http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/statements.html#dynamic

2.0
http://help.adobe.com/ja_JP/AS2LCR/Flash_10.0/help.html?content=00000175.html

660 :Now_loading...774KB:2009/03/24(火) 11:06:55 ID:aO7MWcKi
ローカル環境にてプロジェクタファイル?(exe)を動作させています。
環境はMacromedia Flash Professional8 (AS2.0)でOSはWindows Vista 32bitです。
やりたいことは画面の更新タイミングとflashの同期を上手くとることなのですが。どうしても上手くいきません。


現在Flash側の設定をフレームレート100
ディスプレイのリフレッシュレートを100にして動作させています。解像度は1280*1024
動作させるとどうしても画面の切れ目と言いますか下から上へと書き換えていくような部分が見えてしまいます。
そこでディスプレイの垂直同期信号のようなものを取得する方法はないでしょうか?
または、上手く同期をとる方法がありましたらアドバイスをお願いいたします。

661 :Now_loading...774KB:2009/03/24(火) 11:57:39 ID:l3xg3CgO
as3です

1フレ:
ドキュメントクラスとしてMain.asを読み込み
Main.as
gotoAndStop(2);
textField.text="hi";
2フレ:
textFieldを配置

当然1フレからtextBoxを参照できないのでエラーです
Main.asにactionscriptをまとめて書くにはどうやって書けばいいのでしょうか?
よろしくお願いします


662 :Now_loading...774KB:2009/03/24(火) 13:35:40 ID:l3xg3CgO
as3+flashCS3です。連投すいません。
外部クラスファイルから、ステージの幅を取得するにはどうすればいいのでしょう?
ステージサイズは400x600にしてあります

1フレ
var main:Main=new Main();

Main.as
package {
import flash.display.Sprite;
import flash.display.Stage;
public class Main extends Sprite {
function Main():void {
trace(this);//[object Main]
trace(stage.stageWidth);//エラー
} }}
//TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。
とエラーになってしまいます

よろしくお願いします

663 :Now_loading...774KB:2009/03/24(火) 20:12:32 ID:f8zQIBAr
>>661
フレームカウントはナンボなん? フレームをカウントする変数(var count:uint)とかを
置いて count>0 は?

>>662
root参照にMovieClip(root)は?


664 :Now_loading...774KB:2009/03/24(火) 20:34:06 ID:KyfJPKIe
環境)WinXP-Pro,FlashCS3-Pro(Player9.0,AS3.0)

外部SWFを親SWFに入れ子として読み込んだ際、そのサイズ(幅)が記述の仕方によって
異なるので悩んでいます。

var swfLoader:Loader = new Loader();
swfLoader.contentLoaderInfo.addEventListener (Event.INIT, initLoad_on);
で trace ("swfLoader= "+swfLoader.contentLoaderInfo.width); ・・・ @とすると、
これは swfLoader= 40 になります。

ところが、
function initLoad_on (loadEvt:Event):void {
trace ("loadEvt= "+loadEvt.target.content.width); ・・・ A
}
では loadEvt= 24.75 となり、幅が違います。
@とAではどちらが正しいのでしょうか?(何故違いが生じるのでしょうか?)


665 :Now_loading...774KB:2009/03/24(火) 22:27:33 ID:++TXRhnu
>>664
外部SWFとやらのサイズが1フレ目とそれ以降で変化してないか?

666 :Now_loading...774KB:2009/03/24(火) 23:55:15 ID:Hjfh2YPW
>>665
うーん、同じなのですが。。。


667 :Now_loading...774KB:2009/03/24(火) 23:58:37 ID:++TXRhnu
>>666
それで、外部SWF本来の大きさは40と24.75のどちらなの?それともそのどちらでもないの?

668 :667:2009/03/25(水) 00:19:13 ID:gAHRjt4M
外部SWF読み込みプログラムを書いてたところだからついでにテストしてみた。

loaderObj = new Loader();
var url = new URLRequest("sub.swf");
loaderObj.load(url)
trace ("swfLoader= "+ loaderObj.contentLoaderInfo.width);

ここでのtrace()は無意味。ロードも何も動いてないからサイズは不定。
そもそもFLASHの出力ウィンドウに
Error: Error #2099: 読み込み中のオブジェクトは、十分に読み込まれていないので、その情報を表示することができません。
っていうエラーが表示されているはず。

loaderObj.contentLoaderInfo.addEventListener(Event.INIT, initLoad_on);
function initLoad_on (loadEvt:Event):void {
 trace ("loadEvt= "+loadEvt.target.content.width);
}
ここでのサイズは正しい。

ついでに
loaderObj.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadedSWF);
これでも試したけど、当然、同じサイズになる。

よくわかんないのが、>>664の@の記述なんだけど、それだけだとロードしないよね?

669 :Now_loading...774KB:2009/03/25(水) 01:17:39 ID:NgKxofqa
AS3において、
FlashDevelop
CS3
Flex Builder

この環境が今あるのですが。みんなどんな感じに組み合わせてますか?
例えばCS3でやっててASはFlashDevelopで書くって人いますよね

670 :Now_loading...774KB:2009/03/25(水) 02:03:42 ID:637s2VSb
金持ってるな羨ましい。

671 :Now_loading...774KB:2009/03/25(水) 06:19:03 ID:zHUWI5vG
FlexSDKとcmdとwonderflでやってる

672 :Now_loading...774KB:2009/03/25(水) 06:26:45 ID:IsJm89fi
なんでwonderflのスレがないんだろう

673 :Now_loading...774KB:2009/03/25(水) 07:05:27 ID:jqbChLig
AS2について質問です。
TWEENERというライブラリを使用しているのですが1フレ目でMCにトゥイーンさせて、トゥイーン中にGOTOとかで別のフレームに飛ばすとトゥイーンの無限ループにハマります。
何をつけたせば脱出できますかね。

674 :Now_loading...774KB:2009/03/25(水) 08:39:29 ID:ZHmeYcXH
>>669
エディタは軽い方が好きなのでCS3とjEditでやってます
FlashDevelopは入れてあるけど使ったことないな
やっぱりIDE使ったほうが効率は良いもの?

675 :Now_loading...774KB:2009/03/25(水) 08:51:01 ID:TlJcB1Wk
>>674
Flashdevelop
変数やカスタムクラスが入力候補に表示される
プロジェクト管理
スニペット

jEditは使ったこと無いけどAS3の補完機能ついてるの?

676 :662:2009/03/25(水) 11:05:05 ID:TlJcB1Wk
>>663
アドバイスありがとう
>root参照にMovieClip(root)は?
nullになってしまいました。
もう少しシンプルにしたものです。

フレームアクション。ムービークリップCatをリンケージ
var myCat:Cat=new Cat();
addChild(myCat);

Cat.as
function Cat():void {//コンストラクタ
var myroot:MovieClip=this.root as MovieClip;
trace(myroot);
trace(MovieClip(root));
trace(this.root);
x=stage.stageWidth/2;
y=stage.stageHeight/2;
}
全部nullとエラーでした

addChild(myCat);が実行される前なのが原因でしょうか?
画面中央に配置するにはどう書けばいいのでしょう?
x=stage.stageWidth/2;
y=stage.stageHeight/2;

677 :Now_loading...774KB:2009/03/25(水) 11:24:42 ID:TlJcB1Wk
>>676
引数で渡すのがベストでしょうか?
var myCat:Cat=new Cat(stage.stageWidht/2,stage.stageHeight/2);//フレームアクション
function Cat(x:Number=0,y:Number=0):void {//Cat.as コンストラクタ

678 :Now_loading...774KB:2009/03/25(水) 11:59:11 ID:ZHmeYcXH
>>674
jEditは基本的にカラーリングのみ
プラグイン追加でもうちょっと機能追加出来るとおもうけど
サクサク使いたくて選んだからほとんどそのまんま使ってる

FlashDevelop高機能だね
ちょっと試して実感してみることにするよ、ありがと
モッサリしてないといいな

679 :Now_loading...774KB:2009/03/25(水) 12:00:08 ID:ZHmeYcXH
アンカミス >>675

680 :Now_loading...774KB:2009/03/25(水) 12:27:25 ID:ZHmeYcXH
>>676
addEventListener(Event.ADDED, initialize);
でinitialize関数の中でならstage参照出来た

681 :657:2009/03/25(水) 13:31:48 ID:HXZ1hbj4
>>658
やはりActionScript3.0では無理ですか。
Flashvarsでswfにipアドレスを渡そうかなと考えたのですがどう思いますか?
もっと効率いいやり方とかあったらアドバイスよろしくお願いします。

682 :662:2009/03/25(水) 13:32:01 ID:TlJcB1Wk
>>680
Event.ADDEDで調べたら参考になるサイトがものっそ出てきました
色々と納得できて満足です
ありがとう

683 :Now_loading...774KB:2009/03/25(水) 13:47:22 ID:3/1qaiqb
>>681
無理じゃなくって、やりたいことはipアドレス必要としないんじゃないの?って
話だと思うんだが。
そりゃサーバ介してipアドレスチェックとかは出来るだろうけどさ。

684 :Now_loading...774KB:2009/03/25(水) 15:18:54 ID:z1Ci31Db
>>681
FLASHでIPを受け取って、それでどうやって再訪問チェックするつもり?
658の回答で十分。IPなんて取る必要ない。
てかsharedobjectについて調べてもないだろ?

685 :Now_loading...774KB:2009/03/25(水) 17:49:44 ID:637s2VSb
http://www.youtube.com/watch?v=QHnTpFyLGdk

FlashDevelopもいいけどMacだったらTextMateがいいよ

686 :Now_loading...774KB:2009/03/25(水) 18:39:32 ID:637s2VSb
http://blog.simongregory.com/09/as3-autocompletion-in-textmate/

こっちも載せとけばよかった

687 :Now_loading...774KB:2009/03/25(水) 19:02:47 ID:z1Ci31Db
>>685
textMateは日本語使えないからダメ。
無理矢理使う方法あるけどイマイチ。

688 :Now_loading...774KB:2009/03/25(水) 19:09:00 ID:637s2VSb
IPアドレスだったらPHPで簡単に調べられるよ。
Flashはクライアント側で動くからIPアドレスは取得できないぽいよ。
IPアドレスを取得できるのはサーバー側だよ。

243 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)