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

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

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

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

前スレ
ActionScript 誰かが物凄い勢いで解答するスレ27
http://hibari.2ch.net/test/read.cgi/swf/1287891645/

関連スレ
Flashの超基本的な質問はここでしろ! part41
http://hibari.2ch.net/test/read.cgi/swf/1274977716/
※初心者は↑こちら推奨
2Now_loading...774KB:2011/04/15(金) 11:05:55.28 ID:NAErBKnz
誘導できなくなんだろ

前スレ>>997
当然できるよ
Eventクラス(自分でEventクラス継承して作った場合はそのクラス)の変数として宣言してnewしとけは使い回せる

というか試してみようぜ…
3前スレ999:2011/04/15(金) 11:17:22.52 ID:/T0t7RHk
>>2
ごめんなさい。
4Now_loading...774KB:2011/04/15(金) 11:56:53.58 ID:NAErBKnz
前スレ>>998

1.0って2.0と結構違うんだっけ
2.0じゃダメな理由ある?(携帯とかPSPとか?)

パネルには1.0&2.0しかなかったからそれにしたから再現できてないかも
パブリッシュ設定は1.0

1.0よく覚えないんだけど
このbgmってSoundオブジェクト(1.0にあったっけ)であってる?
1.0でもvar bgm=new Sound()
の書き方でいい?

onSoundCompleteはflag_bgmが真の時に該当コードを通ると『bgmオブジェクトが再生し終わるたびに実行される関数』が登録されるからその後flag_bgmが変わろうがbgmオブジェクトが再生が終わるたびによびだされる
5Now_loading...774KB:2011/04/15(金) 11:57:13.07 ID:NAErBKnz
このイベントハンドラはまんま
delete _root.bgm.onSoundComplete;
で削除できたよ
けど
_root.bgm.onSoundComplete = function(){
if (flag_loop == true){
_root.bgm.start();
}
};
にしたらflag切り替わるだけでループするかの設定はできるんじゃない?

bgmたくさんあるなら配列(あったっけ)にいれたら制御しやすいんじゃない?

flag=true;
bgm[0].start;//ループする
flag=false//bgm[0]があと一度再生し終わったら止まる
bgm[1].start;//一回だけ再生

関数の書き方は

function 関数名(bgm_title,flag_loop){
// ここにソースコピペ
};
だね
6Now_loading...774KB:2011/04/16(土) 16:03:38.61 ID:J+djHQ6s
ActionScriptで自動であらかじめ決めた絵を描きたいです。
イメージで言うと、グリコCMの最後のサウンドロゴが出てくる時の映像みたいな感じで、
絵を描きたいです。そういうのってどうすればいいんでしょうか?
1年くらい前からやりたいのですが、実装方法が全然わからず・・・
line関数でサインカーブを描いてみるところまではやったのですが、
人の似顔絵とか描こうとすると実装方法がわかりません;;
7Now_loading...774KB:2011/04/16(土) 16:22:50.46 ID:KQ8+ySie
>>6
やったことないがヒントとしては、
ActionScript 3.0 SVG パス 描画
でググれば吉かも。

参考図書:
「ActionScript3.0ライブラリ入門」(新藤 愛大 ほか)翔泳社 
pp076「描画リプレイ」
ここで人物像の鉛筆描画の再現が紹介されている。
8Now_loading...774KB:2011/04/17(日) 00:45:26.61 ID:V+v79e+y
どっかの記事で一度見たのですが
簡単に右上にメモリ使用量とfpsを表示してくれるライブラリって
なんでしたっけ?
いくら探しても見つからない・・・・
9Now_loading...774KB:2011/04/17(日) 01:13:45.76 ID:qBe4zfrd
>>8
SwfProfiler
Stats
10Now_loading...774KB:2011/04/17(日) 02:40:10.71 ID:V+v79e+y
>>9
Statsでした。ありがとうございます。

使ってみてメモリがどんどん増えていってびっくりしたけど
これ仕様なんですね
11Now_loading...774KB:2011/04/17(日) 21:53:12.21 ID:9BYqx84b
AS2→AS3移行に際してColorクラス代替としてColorTransformクラスを使いたいの
ですが記述方法が分かりません。

題材はttp://d.hatena.ne.jp/flashrod/20061108にある円グラフ描画で、この
public class Chart extends Shape の下の部分にある graphics.beginFill(Color.darker(c));
をこのまま使うと
 Warning: 1058: 移行の問題 : プロパティ Color はサポートされないようになりました。Color クラスは
 削除されました。同等の機能の flash.geom.ColorTransform クラスを使用してください。

という警告が出ます。
このColor.darkerは陰の部分を担当していると思われます。どう変えたら良いでしょうか?
ヒントを願います。
12Now_loading...774KB:2011/04/17(日) 22:34:30.87 ID:/vktIlnj
適当な関数を作ってcを少し暗い色に変えた値を返せば良いよ。

色は16進数で赤緑青2桁ずつなんだけど
それぞれ同じ割合で下げれば暗くなるよ。
1311:2011/04/17(日) 23:32:13.57 ID:9BYqx84b
>>12
ありがとう。出来ました。
14前スレ998:2011/04/18(月) 00:11:27.80 ID:MfNczaPK
>>4-5
遅れてすみません
仰る通りにしたらうまくできました!ありがとうございます
15Now_loading...774KB:2011/04/18(月) 02:24:22.60 ID:tLHYLEcK
質問があります。
aaaaa
bbbbb
cccc
という改行を含んだ文字列を変数に代入したいと思っています。
PHPの場合は
$str=<<<END
aaaaa
bbbbb
cccc
END;
と言うふうに書けば実現できます。
これをactionscript3.0ではどう書いていいのか分かりませんでした。
何方かご存知でしたら教えてください
よろしくおねがいします

16Now_loading...774KB:2011/04/18(月) 08:52:26.34 ID:MfMtJ+bE
>>15
テキストからひっぱってくるならそのまま代入できるだろう
コード内で代入したいんなら\nなり\rなり\nなり\rなりいれりゃいんじゃね?
17Now_loading...774KB:2011/04/18(月) 14:07:18.75 ID:tLHYLEcK
>>16
テキストファイルに書いておいてURLLoaderで読み込むということですよね?
それだと読み込むたびにHTTP通信のオーバーヘッドが発生するのが気になるんです
パッケージにテキストファイルを埋め込む事も調べた限りでは出来ないみたいだし
やっぱり改行を\nにするしかないのかな
18Now_loading...774KB:2011/04/19(火) 02:13:34.94 ID:ECClfKLq
AS3,WinXP,FlashCS4

オーサリング環境で予め線描画で書いた閉じた図形(例えば、□とか☆)の
内部の色の塗りつぶしはどうしたら良いでしょうか?
例としては
(MC:rect)□ →(赤)→ ■
(MC:star)☆ →(黒)→ ★

な感じです。
19Now_loading...774KB:2011/04/19(火) 13:40:21.54 ID:Mi3k2rce
Adobe Flash5 pro AS3.0
外部swfを読み込み
var loader_obj : Loader = new Loader();
中略
stage.addChild(loader_obj); にて画面に表示するところまで出来てます

Flashのサイズを300x300で書き出します、外部から読み込んだswfのサイズが400x300の場合
画面からはみだしてしまいます
画面ピッタリのサイズで表示したいのですが、どのようにしたらよいですか?
20Now_loading...774KB:2011/04/19(火) 13:50:18.45 ID:w6bRfjKe
>>19
ずいぶん古いのつかってんだな
読み込んだswfのscaleXとかをごにょごにょすりゃいんじゃん?
21Now_loading...774KB:2011/04/19(火) 13:51:13.01 ID:7KQaaaxc
AS3、FlexSDK3です。
マウスカーソルを動かす関数がありましたら教えてください。
初期カーソル位置をボタンの上に持ってきたりするのに使いたいです。
2219:2011/04/19(火) 14:04:29.49 ID:Mi3k2rce
>>20
×Adobe Flash5 pro AS3.0
○Adobe Flash Pro CS5 AS3.0
間違いました、すみません

ありがとうございました
23Now_loading...774KB:2011/04/19(火) 14:13:48.47 ID:w6bRfjKe
>>21
mouseXって読み取り専用だっけ?
2419:2011/04/19(火) 15:54:29.44 ID:Mi3k2rce
Adobe Flash Pro CS5 AS3.0

先ほどの続きです
scaleX、scaleYで設定出来るようになったのですが、
ステージにぴったりフィットするように元の大きさを取得後縮小率を計算して割り当てました
その大きさをscaleXとscaleYに指定して表示させてみたところ、どうやら本当は表示されない画面外の部分が
縦幅、横幅のスタート地点と認識しているようで、縮尺は合っていますが余分な部分が見えています
そのおかげで画面からはみだしています

これの回避方法はありますか?
2524:2011/04/19(火) 16:06:14.84 ID:Mi3k2rce
自己解決しました
自分が間違ってました、すみませんでした
2621:2011/04/19(火) 16:41:27.82 ID:7KQaaaxc
>>23
はい、読み取り専用っぽいです。
SetCursorPos(100, 200)とか指定して動かせるといいのですが。
27Now_loading...774KB:2011/04/19(火) 17:50:28.63 ID:i002MKvI
すいません。どなたか前スレ999分かりますか?
XMLで任意の深さの要素の抜粋です。
28Now_loading...774KB:2011/04/20(水) 01:53:36.66 ID:Wr3M1yCz
hoge[-1]で配列の最後の要素にアクセスするように仕様変更することって可能ですか?
29Now_loading...774KB:2011/04/20(水) 05:09:31.59 ID:/aWGm8qC
桁数非固定の数値がゾロ目かどうか判定するにはどうすればいいですか?
zorome = false;
if (hensu >= 10 && hensu <= 99 && hensu % 11 == 0){ zorome = true; } // 変数が2桁のとき(10〜99)
if (hensu >= 100 && hensu <= 999 && hensu % 111 == 0){ zorome = true; } // 変数が3桁のとき(100〜999)
if (hensu >= 1000 && hensu <= 9999 && hensu % 1111 == 0){ zorome = true; } // 変数が4桁のとき(1000〜9999)
このようなものしか思いつきません
できればAS1でも動くものでお願いします
30Now_loading...774KB:2011/04/20(水) 08:32:05.45 ID:t/eh4LVs
>>29
それでいんじゃん?

文字列に変換して一文字ずつに分解して配列に入れてfor文で配列の長さ分全要素が最初の要素と等しかったら、とか
for文で10,100,1000で割った余りが一致するかとかあるだろうけど
31Now_loading...774KB:2011/04/20(水) 08:35:07.22 ID:t/eh4LVs
>>28
言語は
32Now_loading...774KB:2011/04/20(水) 09:43:03.99 ID:Qd7uEW7C
ベースとなるキャンバスのサイズってどうやって取得するんですか?
this.width, this.heightでは異なった値がはいってきました・・・
33Now_loading...774KB:2011/04/20(水) 13:31:02.55 ID:Wr3M1yCz
>>31
as3.0です
34Now_loading...774KB:2011/04/20(水) 14:22:50.43 ID:INzP6UxU
>>32
stageじゃね?
35Now_loading...774KB:2011/04/20(水) 15:22:41.46 ID:nVXrMEHW
Adobe Flash Pro CS5 AS3.0
multipart/form-dataを送信する方法教えてください

ぐぐってみていい感じのページを見つけたのですが、使い方がわかりませんでした(質問者と同じところで躓いた)
http://www.flash-jp.com/modules/newbb/viewtopic.php?topic_id=7436&forum=8&post_id=37326#forumpost37326
http://www.matzmtok.com/blog/2007/07/flash%E3%81%8B%E3%82%89php%E3%81%B8%E3%83%90%E3%82%A4%E3%83%8A%E3%83%AA%E3%83%BC%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E9%80%81%E4%BF%A1%E3%81%99%E3%82%8B/

これの使い方、もしくは他に良い方法があれば教えてください
36Now_loading...774KB:2011/04/20(水) 15:35:20.80 ID:Iz7mXNBI
permissions入っている?
37Now_loading...774KB:2011/04/20(水) 15:40:22.83 ID:lGNTmRbT
>>35
普通に1番目にヒットするココじゃだめなのか?
http://www.kuma-de.com/blog/2010-10-07/2352
3835:2011/04/20(水) 15:51:33.70 ID:nVXrMEHW
>>37
ありがとうございます、ちょっとやってみます
39Now_loading...774KB:2011/04/20(水) 15:54:28.39 ID:lGNTmRbT
>>29
var zorome_max = 1111111111;//int 型が約21億までのため、10億の桁まで入力。

for(i = 1; i > zorome_max; i = i * 10 + i) if( hensu % i == 0 ) break;
if(i <= zorome_max) zorome = true;
40Now_loading...774KB:2011/04/20(水) 15:58:41.76 ID:lGNTmRbT
訂正
var zorome_max:int = 1111111111;//int 型が約21億までのため、10億の桁まで入力。

for(i = 11; i > zorome_max; i = i * 10 + 1) if( hensu % i == 0 ) break;
if(i <= zorome_max) zorome = true;
41Now_loading...774KB:2011/04/20(水) 16:03:42.37 ID:lGNTmRbT
さらに訂正
var zorome_max:int = 1111111111;//int 型が約21億までのため、10億の桁まで入力。

for(i = 11; i > zorome_max; i = i * 10 + 1) if( hensu / 10 < i && hensu % i == 0 ) break;
if(i <= zorome_max) zorome = true;
42Now_loading...774KB:2011/04/20(水) 18:50:31.37 ID:qz+HpYlF
a
43Now_loading...774KB:2011/04/20(水) 18:52:54.92 ID:qz+HpYlF
文字列操作でJavaの
String.format("xxxx") みたいなことできる?
String.format("%05d",hoge)で0揃えをしたいです。
44Now_loading...774KB:2011/04/20(水) 19:11:30.13 ID:35U0M/DQ
>>43
replaceに目的に合った正規表現渡す…とかかな
4535:2011/04/20(水) 19:32:45.69 ID:nVXrMEHW
>>37
ダメでした
・そのまま動かしてもエラーでダメ
・エラーの内容からして、そのままコピペしてゴミとって動かしたところでダメな感じ、つまりは修正前提
・どうもphpに投げてない、phpでとにかくアクセスがあったらデータが有る無し関わらずサーバーでファイルを作るように修正したけど、そもそも投げてない

multipartじゃなく、データだけ投げる→サーバーphpで受ける→ファイル作るまでは出来てます
もっと簡単にmultipart/form-data送信出来るものがいいです
46Now_loading...774KB:2011/04/20(水) 19:49:56.66 ID:35U0M/DQ
47Now_loading...774KB:2011/04/20(水) 19:51:34.05 ID:35U0M/DQ
ってごめん、>>35で出てたんだな
48Now_loading...774KB:2011/04/21(木) 00:14:02.57 ID:Lv75Mh5+
>>43
俺は自分で関数作った
4939-41:2011/04/21(木) 06:23:13.53 ID:SSDaZ26P
>>29
どんな桁でも、ゾロ目を検知できる関数を作ってみた。
マイナスや、小数点以下にも対応。AS3の文法だが、手を加えればAS1系でも動くと思う。

function zorome(num:Number):Boolean{
if(num == 0)return false;
var _num:Number = (num > 0) ? num : -num;
while((_num % 1) != 0) _num = _num * 10;
var val:Number = _num / 10;
var i:Number = 0;
for(i = 11; i < val; i = i * 10 + 1);
return ((_num % i) == 0);
}
50Now_loading...774KB:2011/04/21(木) 13:26:22.68 ID:MYoX4foQ
Base64Encoderってどこにあるの?
51Now_loading...774KB:2011/04/21(木) 13:34:29.58 ID:eUvCqZz5
>>50
俺が前つかったときはこうした気がする
http://hfm-kenchan.com/Lesson/log_qa/D0805231.htm
52Now_loading...774KB:2011/04/21(木) 14:30:04.47 ID:9rFbcGFd
起動と同時にpopUpManagerを実行する方法はありますか?
53Now_loading...774KB:2011/04/21(木) 18:13:03.92 ID:r8rIxlhK
ムービークリップの画像合成について質問があります。長文ですいません。
(2回に分けて投稿します)
Flashでキャンバスに描いた円をムービークリップのシンボルに変換しました。
これをムービークリップを継承した自作クラスと関連付けしています。
このクラスで画像データを読み込んでいます。

やりたいのは、最初にシンボルに変更した円の内部にだけに画像を表示する必要があります。
円より画像の方が大きいので、クッキーの型抜きのような感じになると思います。
画像表示までは出来るのですが、円内のみに表示する方法がわかりません。
お手数ですがご教授ください。
ActionScript3.0
54Now_loading...774KB:2011/04/21(木) 18:14:30.73 ID:r8rIxlhK
コードの一部
public class McImg extends MovieClip{
//コンストラクタ
public function McImg(cUser:UserData) {
  m_loader.load(new URLRequest(m_cUserData.strImgUrl));
  m_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, coHabdler);
}

//画像をロード後に呼ばれる
public function coHabdler(evt:Event){
  var bmd : BitmapData = new BitmapData(m_loader.width,m_loader.height);
  bmd.draw(m_loader);

  var bmd1 : BitmapData = imageSizeCompressor(bmd,100,70);
  var bm:Bitmap = new Bitmap(bmd1);
  this.addChild(bm);
}
}
55Now_loading...774KB:2011/04/21(木) 18:41:32.43 ID:MYoX4foQ
>>51
できた!ありがとう
56Now_loading...774KB:2011/04/21(木) 20:20:16.71 ID:MHdS+Pvi
Web用途ではないのですが質問させて下さい。
今までDirecterでスタンドアロンのコンテンツを作っていたのですが、
お客さんの要望によりFlashで制作することになりました。

フルスクリーン表示をさせたいのですが、
普通にフルスクリーン表示にすると、中のコンテンツの解像度が変わるので
中のコンテンツのサイズを変えることなく、
背景だけを全画面表示させたいのですが、可能でしょうか?

例えばコンテンツのサイズが800×600pxの場合、どのサイズのモニターで見ても
背景は全画面表示(黒のベタ)で中央に800×600pxのコンテンツを表示させるこということをやりたいです。


どなたか、ご回答をよろしくお願いします。
57Now_loading...774KB:2011/04/21(木) 21:36:22.21 ID:YrzotWkf
>>56
出来るよ
フルフラッシュサイト、リキッドレイアウト、swffitなどで検索してみそ
58Now_loading...774KB:2011/04/21(木) 22:01:13.71 ID:MHdS+Pvi
>>57
説明が足りませんでしたが、デスクトップのスタンドアロン(プロジェクター出力)で
使いたかったのです。どうやらfscommandというプロジェクタ専用命令で
何とかできそうです。ありがとうございました。
59Now_loading...774KB:2011/04/22(金) 01:39:27.25 ID:UVDvRvDE
>>53
後半読んでないけど、そういう用途ならDisplayObject.mask使えばいんじゃないの?
60Now_loading...774KB:2011/04/22(金) 01:44:52.73 ID:xf+w+M15
読んでやれよww
まあマスクとかbitmapdataでdrawして切り抜くとか
6153:2011/04/22(金) 12:34:54.03 ID:dAJtcPQl
>>59,60
ありがとうございます。 マスクで簡単に実装ができました♪
6235:2011/04/22(金) 13:48:41.66 ID:pw/IH+gY
とりあえずmultipart/form-dataを送信する事が出来ました
アドバイスくれた方々、ありがとうございました

やりたいことは完全にクリア出来たので必要ないと思うのですが、>>35の後者のリンク先の件
自分の理解不足かもしれないので、もう少し試してみようと思ってます
63Now_loading...774KB:2011/04/22(金) 17:53:19.02 ID:pw/IH+gY
Adobe Flash Professional CS5 AS3.0

下記をタイムラインに記述している時はエラーは出なかったのですが、.asファイルに書いたら
「1046:型が見つからないか、コンパイル時定数ではありません:IOErrorEvent」って出るようになりました。
info.addEventListener(IOErrorEvent.IO_ERROR,LoaderInfoIOErrorFunc);
 function LoaderInfoIOErrorFunc (event:IOErrorEvent):void {
 trace ("ファイル入出力のエラー");
}

これ以外の処理は正常に動いています、何がいけないんでしょうか?
64Now_loading...774KB:2011/04/22(金) 18:40:30.64 ID:iL9tgxZH
import書いてないんじゃね?
65Now_loading...774KB:2011/04/22(金) 22:23:38.57 ID:BB8sXnDJ
AS2.0で教えてください。
テキストフィールドの書式を変えようと思い、以下のように書くと
そのとおりになるのですが
var mainText_fmt: TextFormat = new TextFormat();
mainText_fmt.color = 0x0000ff;
mainText_fmt.size = 50;
myArticlie.v_articlie_txt.setNewTextFormat(mainText_fmt);
tmpText = "たらこはとてもおいしいです";
myArticlie.v_articlie_txt = tmpText;

書式を変えるのを最初の三文字だけに限定しようと以下のように
範囲を指定するとなぜか何もおきません。

myArticlie.v_articlie_txt.setNewTextFormat(0,3,mainText_fmt);

ちなみにCSではなく、フリモ3というので作っています。
ノイローゼ気味です。よろしくお願いします。
66Now_loading...774KB:2011/04/22(金) 22:24:35.53 ID:vBNnf20h
究極まで削ってみた、依然エラー出る
これのどこが悪いですか?
package {
import flash.display.Sprite;
import flash.display.MovieClip;
import flash.utils.ByteArray;
import flash.net.FileReference;
import flash.events.Event;
import flash.net.URLRequest;
import flash.net.URLRequestMethod;
import flash.net.URLLoader;
import flash.net.URLVariables;
import flash.utils.ByteArray;
import flash.net.navigateToURL;
public class Main extends Sprite {
public var LoadFileName:String = "fuga.swf";
public var url:URLRequest = new URLRequest(LoadFileName);
public var loader_obj:Loader = new Loader();
public var info:LoaderInfo = loader_obj.contentLoaderInfo;
public function Main() {
loader_obj.load(url);
info.addEventListener(Event.OPEN,LoaderInfoOpenFunc);
}
public function LoaderInfoOpenFunc(event:Event):void {
trace ("読み込みを開始した");
}
}
}
67Now_loading...774KB:2011/04/22(金) 22:31:56.98 ID:iL9tgxZH
>>65
tmpText = "たらこはとてもおいしいです";
myArticlie.v_articlie_txt = tmpText;
myArticlie.v_articlie_txt.setNewTextFormat(0,3,mainText_fmt);

こうするとか?

>>66
エラーも書いてくれた方が答えやすいと思う
推測してみるに、

>public var info:LoaderInfo = loader_obj.contentLoaderInfo;

これをコンストラクタの中で
info = loader_obj.contentLoaderInfo;
てやってみるとか
68Now_loading...774KB:2011/04/22(金) 22:34:03.59 ID:BB8sXnDJ
>>67
ありがとうございます。さっそくやってみます。
6965:2011/04/22(金) 22:41:07.46 ID:BB8sXnDJ
>>67さま

やってみましたが、だめでした…
アドビのAS2.0のレファレンスでもこの書き方なのですが、
だめだということは、きっとフリモ3がだめなんでしょうね…
安物買いの銭失いでしょうか…
70Now_loading...774KB:2011/04/22(金) 22:53:03.34 ID:iL9tgxZH
>>67
てかsetNewTextFormatってFlashLiteの関数か
フリモのサイト見たらLiteのエクスポートは最新アップデータに更新する必要があるとか
書いてあるけど
71Now_loading...774KB:2011/04/22(金) 22:55:45.49 ID:/CYSnWfC
そもそも2.0でimportとかいう概念あったっけ?
つかプロトタイプベースが基本でクラスの概念ねーんじゃなかった?
72Now_loading...774KB:2011/04/22(金) 22:58:39.00 ID:/CYSnWfC
クラス使いたいならなんで2.0でやってるかわからん。
ガラケーやりたいならなんでクラス使おうとしてるかわからん。
7365:2011/04/22(金) 23:01:14.00 ID:BB8sXnDJ
>>70さま
FlashLiteのつもりではないのですが、
念のためアップデータに逝ってみます。
ありがとうございます。
74Now_loading...774KB:2011/04/22(金) 23:06:26.78 ID:/CYSnWfC
あーできることとできないこともわかんない人だったか。
75Now_loading...774KB:2011/04/22(金) 23:53:48.66 ID:GZM713IS
CS3, AS3で質問です。 bのボタンにaddEventListenerして
その後removeしてるんですがremove出来ていません。
この場合はどうしたらremoveできるんでしょうか?

b.addEventListener( MouseEvent.CLICK, test("Click") );
b.removeEventListener( MouseEvent.CLICK,arguments.callee );

function test(a:* ){ return function(e:MouseEvent):void {
trace (a);
}}
7666:2011/04/23(土) 00:07:30.16 ID:BcZMIMd0
>>67
ありがとうございます

いろいろやってみて、ありえないぐらい何やってもダメになったので
以前に自分で作ったクラスで、正常に動くもののasをコピーしてパブリッシュしてみたところ
同じLoaderでエラーが出てます、どうも自分の環境に問題あるようです
7766:2011/04/23(土) 00:26:05.21 ID:BcZMIMd0
勘違いしてました
Loaderは.asで使うのはこれが初めてです
他の正常にパブリッシュ出来るのはURLLoaderでした

var loader_obj:Loader = new Loader();
タイムラインにこれを記述してパブリッシュしてもエラーは出ませんが、
.asに記述するとスクリプトチェックでは異常なし、パブリッシュ時に
「型が見つからないか、コンパイル時定数ではありません」「未定義である可能性が高いメソッド Loader の呼び出しです。」となります

なんででしょう?
78Now_loading...774KB:2011/04/23(土) 00:28:38.79 ID:26H7+Rx4
importしてんの?
79Now_loading...774KB:2011/04/23(土) 00:28:45.42 ID:MDpbqqmg
>>77
>>66のimportにLoaderないじゃん
80Now_loading...774KB:2011/04/23(土) 00:35:08.32 ID:26H7+Rx4
最初からエラー内容書いてたら三秒で解決してたよ…
8166:2011/04/23(土) 01:04:39.39 ID:BcZMIMd0
import flash.display.Loader;
( ゚д゚)!?・・・こ、これでぃすか?
8266:2011/04/23(土) 01:11:54.38 ID:BcZMIMd0
さらにimport flash.display.LoaderInfo;も追加して見たところエラーが消えました
みなさんありがとうございました

タイムラインに書いたら問題ないのに、asに書いたらきっちりimportしないとダメなんですね
ネットでぐぐって独学でやってるので基本の所が抜けてるようです、お騒がせしました
83Now_loading...774KB:2011/04/23(土) 01:12:52.92 ID:26H7+Rx4
それで解決はしたの?

タイムラインに書く場合においては
ttp://fumiononaka.com/TechNotes/Flash/FN0607003.html
の1番下の画像に書いてあるパッケージのクラスは自動的にインポートされるから書く必要がなかったというわけだ
84Now_loading...774KB:2011/04/23(土) 01:14:23.65 ID:26H7+Rx4
おっと入れ違いか
>>82
Flash Developeつかってみ
ハイパー便利だから
8566:2011/04/23(土) 07:50:34.13 ID:BcZMIMd0
クラス宣言の後、コンストラクタの前の変数の宣言のところで、htmlからデータを受けとりたくて
public var flashVars:Object = this.loaderInfo.parameters;
って書きました
おなじみの「未定義である可能性が高いプロパティ LoderInfoに静的型Classの参照を使用してアクセスしています。」って出ました

import flash.display.LoaderInfo;
これでダメだったので下記に変えたのですが、依然エラーが出ます、import するものが足りないですか?
import adobe.utils.*;
import flash.accessibility.*;
import flash.display.*;
import flash.errors.*;
import flash.events.*;
import flash.external.*;
import flash.filters.*;
import flash.geom.*;
import flash.media.*;
import flash.net.*;
import flash.printing.*;
import flash.system.*;
import flash.text.*;
import flash.ui.*;
import flash.utils.*;
import flash.xml.*;


>>83-84
ありがとうございます、勉強になります
86Now_loading...774KB:2011/04/23(土) 08:13:56.66 ID:26H7+Rx4
>>85
デフォルトぜんぶimportしたんかい…

そのエラーメッセージそのままコピペした?
だったら
LoderInfo.なんたらかんたら()
ってスタティックメソッドつかってない?
綴りが違うから勝手に変なクラス使うなっていわれてんじゃね?
8766:2011/04/23(土) 09:10:44.63 ID:VlcUjZJB
>>86
そのままコピペじゃなく手で書きました、打ち間違いです
とりあえず解決しました
ありがとうございました
88Now_loading...774KB:2011/04/23(土) 12:29:34.61 ID:QGGqFAbX
メソッドにイメージファイルのURLとint値を渡して、
予め用意した配列のint番目に空であれば新しいloaderを用意して
イメージファイルを代入して、画面に表示しようとしているのですが、
下記の通り書いたのですが、画像が画面に表示されません。
トレースしたところ、下部でメソッドを呼び出していますが2回目に入ったときに
重複しているはずの配列要素が、undefinedになっていました。
おそらく配列の使用方法が間違っているかと思われるのですが、一体どこが悪いのでしょうか、、、?

var thumbs:Array = new Array();
function setThumbnail(imgUrl:String, num:int) {
if(num>=0) {
trace(thumbs[num]);
if(thumbs[num]) {
thumbs[num] = new Loader();
var url:URLRequest = new URLRequest(imgUrl);
thumbs[num].load(url);
addChild(thumbs[num]);
}
}
setThumbnail("http://.xxx.jpg",0);
setThumbnail("http://.xxx.jpg",0);
89Now_loading...774KB:2011/04/23(土) 12:47:15.54 ID:QGGqFAbX
↑すません演算子を間違えていました。
90Now_loading...774KB:2011/04/23(土) 12:48:06.75 ID:1j3yXd6E
if(thumbs[num]) {
ってどういう意味?
91Now_loading...774KB:2011/04/23(土) 13:16:13.79 ID:QGGqFAbX
thumbs[num]の中身が入っているかの条件のつもりです。
!を付けるのを忘れてました・・・
92Now_loading...774KB:2011/04/23(土) 15:44:12.75 ID:33yOFtpi
Arrayって初期の要素数ゼロじゃなかったっけ
なんで1回目はundefinedじゃないんだろう
93Now_loading...774KB:2011/04/23(土) 15:53:12.12 ID:WixSdGpM
length使えばいいんじゃないの?
てかまず中括弧の数があってないからよくわからん
94Now_loading...774KB:2011/04/23(土) 15:53:52.45 ID:WixSdGpM
いやなんでもない
95Now_loading...774KB:2011/04/23(土) 23:23:49.29 ID:zX9voi5K
例えば以下のような都内の白地図があったとします。

ttp://www.freemap.jp/japan/city_tokyo.html

テキストファイル(data.txtなど)に、

shinjuku=1,shibuya=0

とあったとすると、新宿区のところだけに色を付けたいと考えています。
この場合、どのような手順で実装すれば良いでしょうか?

(考えられる手順としては、区の領域をオブジェクト化して、AS側で背景色を指定するのかなぁ、と思うのですが……)

ご教示よろしくお願いします!
96Now_loading...774KB:2011/04/23(土) 23:28:38.29 ID:26H7+Rx4
矩形以外はなぁ…
それぞれオブジェクト化するしかないんじゃん?
他の人の意見も聞きたいが
9795:2011/04/24(日) 02:13:25.95 ID:2BFOGJQg
>>96
鉛筆ツールでエリアをなぞってオブジェクトにして頑張りました><
先ほど初めてActionScript3.0をさわったので手探りの状態でしたが、いろいろググッてみて解決しました。
ご回答ありがとうございます!
98Now_loading...774KB:2011/04/24(日) 02:17:17.08 ID:RcouaV1m
AS3の初心者です。
1個のボタンを押すごとに動作を変え、3回押したら元に戻るという処理をしたいのですが、
以下のような処理で問題はないでしょうか?別のやり方や、もっとスマートな書き方があったら
教えてください。

sw:int = 0; //切り替え処理用の変数

push_btn..addEventListener(MouseEvent.CLICK,doClick);

function doClick(e:MouseEvent):void {

switch(sw) {

case 0:
1回目のボタン処理();
sw++;
break;

case 1:
2回目のボタン処理();
sw++;
break;

case 2:
3回目のボタン処理();
sw=0;
break;
}
}

99Now_loading...774KB:2011/04/24(日) 02:19:35.77 ID:RcouaV1m
変数の宣言で文字が抜けてました。以下に訂正します。

var sw:int = 0; //切り替え処理用の変数
100Now_loading...774KB:2011/04/24(日) 08:18:28.43 ID:0+DI1ThH
いいとおもうよ
switch(sw%3){}
にしたらsw++はswitch文の外に出せるけどどうでもいいね
101Now_loading...774KB:2011/04/24(日) 10:44:13.81 ID:vck1UHqk
0・1の時同じ動作ならそれを「default :」に書いたりするとか
あと>>100の書き方にすればsw=0;は不要になるね
102Now_loading...774KB:2011/04/24(日) 11:12:05.23 ID:RcouaV1m
>>100-101
ありがとうございます。
調べてみます。
103Now_loading...774KB:2011/04/24(日) 17:35:15.33 ID:AA0IVUDs
敵のモンスターが徘徊するような行動をプログラムしたいのですが、どのようなアルゴリズムにしたら良いのでしょうか
参考になるサイトがあれば教えて下さい。よろしくお願いします
104Now_loading...774KB:2011/04/24(日) 19:26:48.33 ID:E+oAJuGF
flashCS5、AS3です。
年月日の情報が2つあって、
古い方が、"2011-03-10"というString型で保存されているとします。
そのとき、今日の日付を取得して、古い日付との差の日数を取得したいのですが、年によって月の日数が異なったりするのでうまくできません。
どう考えればいいんでしょうか?
詳しい方教えてください。
105Now_loading...774KB:2011/04/24(日) 19:36:57.43 ID:vck1UHqk
>>104
Dateのインスタンスを今日の日付と古い日付の2つ作って、ミリ秒で差を取って日数に変換するとか?
106Now_loading...774KB:2011/04/24(日) 20:54:43.92 ID:E+oAJuGF
>>105
ありがとうございます。差についてはなんとなくできそうです。

そしてまたいきづまったんですが、
ミリ秒から日付を特定するにはどうしたらいいんでしょうか。
古い日にちと新しい日にちの間にある、特定の一日の日付の出し方ができそうでできません。
107Now_loading...774KB:2011/04/24(日) 21:45:02.60 ID:fvEIN9pz
>>106
一般的には、差分のミリ秒÷(1000ミリ秒×3600秒×24時間)で、
日単位の数値が出てくる。
変な端数が出てくる場合は、今日の日付取得する際、時や分や秒まで
Dateから導いていないかを確認すること。
108Now_loading...774KB:2011/04/24(日) 21:57:46.80 ID:E+oAJuGF
>>107
ありがとうございます。
何度もすいませんが、
古い年月日と今日の間のある日にちを、
YYYY年MM月DD日に変換することは可能ですか?
ミリ秒/1000/60/60/24で1970年1月1日からの日数を算出することができますが、
年になると、
上を365一律で割ると正確な西暦にならないので、悩み中です。
109Now_loading...774KB:2011/04/24(日) 22:23:44.39 ID:vck1UHqk
ミリ秒からDate作れるからそこから日付取ればいいんじゃないか

こんなのリファレンス見りゃ分かる程度のことだけど
110Now_loading...774KB:2011/04/24(日) 22:32:05.53 ID:E+oAJuGF
すみません。リファレンス見てきます。
111Now_loading...774KB:2011/04/24(日) 22:48:27.01 ID:cCHogyoo
>>103
スレ違い。
112Now_loading...774KB:2011/04/25(月) 01:22:07.88 ID:FpB30UuA
113Now_loading...774KB:2011/04/25(月) 02:50:32.87 ID:2ba3osOR
最近ようやく、「addEventListener(Event.ENTER_FRAME,doFunction)」を暗記で入力できるようになったよ。
記憶力が弱いと何をやるにしても辛いね。
114Now_loading...774KB:2011/04/25(月) 03:33:40.50 ID:Oaf+SnZ5
cakephpというphpフレームワークで
出力されているurlにswfでリンクさせる
方法ってgetURLとかで簡単にリンクできますか?

ヘッダー、フッター、サイドメニューをphpのテンプレートで出力し、
コンテンツ部分をiframe(ファイル名を十進数にして出力)で
表示させてるらしいのです。
テンプレートでのphpは以下のような記述です。
-------------------------------------------
<?php global $directory;
$url = $this->Html->url(array('controller' => 'common',
'action' => 'ヘッダー、フッター、サイドバー出力.ctp'),
array('escape' => false));
?>
<a href="<?php echo $url;?>/iframeurl:<?php echo bin2hex($directory.'aaaa/bbbb.html');?>">リンク</a>
----------------------------------------------------
上記で出力されるページを、
swf内のボタンでactionscriptでリンクさせたい場合、
以下のように単純な指定でリンクすることはできますか?

on (release) {
getURL("http://ドメイン/ctp格納ディレクトリ/ヘッダー、フッター、サイドバー出力.ctp/iframeurl:<十進数で出力されたaaaa/bbbb.html>");
}
115Now_loading...774KB:2011/04/25(月) 10:55:20.56 ID:n2h5Etl0
as3.0標準の乱数に初期値ってありますか?
常に同じ乱数列を出したい場合はどうすればよいでしょうか
116Now_loading...774KB:2011/04/25(月) 11:14:54.90 ID:kDIFslil
>>115
無いから自分でそういう乱数のプログラムを作るしかないと思う
以前俺もそれやりたくなって、「ActionScript 乱数」とかでググったら色々あったよ
117Now_loading...774KB:2011/04/25(月) 13:47:46.90 ID:2qo57wYw
>>114
それはcakePHP+HTMLのお作法の話だからここで聞いてもしゃーない。
しかるべきスレに移動すべし。
http://hibari.2ch.net/test/read.cgi/php/1297860755/
118Now_loading...774KB:2011/04/25(月) 15:48:10.03 ID:SEqNlBV+
AIRでアプリを作っているのですが、
重たい処理を行っている最中にUIの描画が止まってしまいます。
FlexでないのでcallLaterも使えず悩んでいます。
並列処理を行えば解決できそうなのですが、どうしたらいいでしょうか?
119Now_loading...774KB:2011/04/25(月) 15:56:59.36 ID:RG5xQa4v
Flash始めたばかりの者です。
こちらでお助けいただけませんでしょうか?
環境は CS4 AS3.0 です。

ttp://www.kanebo-cosmetics.jp/lavshuca/
↑このようなリンクの動作をさせたいのですが

↓マウスを当てるとロールオーバーの動作をし続けてしまいます…
ttp://2sen.dip.jp/cgi-bin/upgun/up1/source/up57273.zip

ヒントだけでもお願いできませんでしょうか…
120Now_loading...774KB:2011/04/25(月) 16:29:02.89 ID:chuF1x+T
DataGridのItemEditorに
カスタムコンポーネントを使用し、
カスタムコンポーネントからは
カスタムイベントをdispatchするようにし、
そのイベントをDataGridで
キャッチするようなものを作ろうとした場合、
FlexでXMLを使って記述していくのは難しいのでしょうか?
ASでガリガリ書いていくほうがよいのでしょうか?

説明がヘタクソでホントに申し訳ないのですが、
やりたい事は、DataGridの、あるカラムの
ItemEditorにTextInputを使用します。
そして、TextInputをダブルクリックしたら
小画面を表示して、小画面で入力(もしくは選択)したデータを
親画面の(DataGridに表示している)TextInputに
表示してあげたいのです。
DataGridではTextInputに入力されたデータを元に
別カラムの情報を更新するといったような形を取りたいと思います。

参考になりそうなサイトを見つけることができなかったので、
もしサイトもご存知であれば教えて頂けないでしょうか。

よろしくお願いします。
121Now_loading...774KB:2011/04/25(月) 17:20:46.05 ID:cQlpbIHC
すみません。
Flash9でAS3を使ってます。
mc内に、b_1、b_2、b_3というMCが横に並んで配置してあり、
これをswfを読み込むたびに位置をランダムに替えたいと思っています。
下記のスクリプトを書いたのですが、Arrayに暗黙の型変換していると言われて
動かないです…。
どなたかご教授ねがいます!

本文長過ぎだそうなので下記にスクリプトかきます
122121:2011/04/25(月) 17:42:24.97 ID:cQlpbIHC
var List:Array = [1,2,3];
var imgX:Number = 0;
var img_marginX:Number = 15;
for (var i:uint = 0; i < 3; i++) {
var intrnd:Array = Math.floor(Math.random()*List.length);
this["b_" + List[intrnd]]._x = imgX;
List.splice(intrnd,1);
imgX=img_marginX+this["img" + List[intrnd]]._width;
}
123Now_loading...774KB:2011/04/25(月) 17:52:23.07 ID:Xa01BtW9
Adobe Flash Professional CS5

↓このページ見て文字列を分割して配列に格納するとこまで出来ました
http://itpro.nikkeibp.co.jp/article/COLUMN/20080423/299854/?ST=develop&P=3

var moji:String = dataList[1][0];
しかし↑のように変数に格納しようとすると
「Main.as、行 71 1188: クラス String への代入が無効です。」とエラーが出ます。
何がいけないんでしょうか?
124Now_loading...774KB:2011/04/25(月) 18:31:51.96 ID:kDIFslil
>>120
どっちでもできるとは思う
MXMLで書くにしても<mx:Script>とかでAS書くしかなさそうだけど

>>121
>var intrnd:Array = Math.floor(Math.random()*List.length);
ここじゃね?
NumberなのにArrayにしようとしてるし

>>124
とりあえずtrace(dataList[1][0])ってやって中身確かめてみたら?
125123:2011/04/25(月) 19:22:12.84 ID:IMkUg9vw
>>124
traceは自分がテキストに書いた文字列です

タイトル\[email protected]\t1
をタブで分割した最初の要素「タイトル」が表示されます
126Now_loading...774KB:2011/04/25(月) 19:39:56.30 ID:kDIFslil
>>125
>>123のリンク先が会員用で見れないからアレだけど
String(dataList[1][0])とかdataList[1][0].toString()みたいにして
String型に変換してみるとかかな〜
127Now_loading...774KB:2011/04/25(月) 20:14:30.24 ID:2qo57wYw
>>118
並列処理ならこれが超おすすめ
ttp://www.libspark.org/htdocs/as3/thread-files/document/

あるいは、ゲーム制作のお作法を見習って、「ゲームループ」で設計しなおすとか。
(1フレームを演算フェーズ、描画フェーズに分け、処理が重たくなったなら
 描画フェーズを据え置き)
128Now_loading...774KB:2011/04/25(月) 20:54:17.36 ID:IKVfX3fy
>>118
そうめんが実際そうだけど、並列処理は不可能なので擬似並列するしかない。
やり方としては処理分散させて、setInterval、EnterFrameで回すとか。
129Now_loading...774KB:2011/04/25(月) 21:34:22.48 ID:IMkUg9vw
>>126
//分割したデータを扱う配列を準備
var dataList:Array;
//読み込み完了後の処理を作成
loader.addEventListener(Event.COMPLETE,traceData);
function traceData(event:Event){
//改行記号で分割
dataList = loader.data.split("\r\n");
//分割されて作成された配列の個々のメンバーをタブ記号で分割
var tabSplitClosure = function(item,index,arr){
arr[index] = item.split("\t");
}
dataList.forEach(tabSplitClosure);
//結果を確認
trace("配列の長さは," + dataList.length);
trace("1行目,0列目のデータは," + dataList[1][0]);
trace("2行目,2列目のデータは," + dataList[3][2]);
}

こんな感じです。traceではちゃんと見れます。変数に代入できません。
130Now_loading...774KB:2011/04/25(月) 22:09:58.33 ID:e6KSBub0
>>129

>>126の後半はためしてみたの?
131Now_loading...774KB:2011/04/25(月) 22:15:54.27 ID:VvavBfau
>>111-112
ありがとうございます。失礼しました
そちらできいてみます
132Now_loading...774KB:2011/04/25(月) 22:19:38.29 ID:IMkUg9vw
>>130
前者のエラー
1067: 型 String の値が、関連しない型 Class に暗黙で型変換されています。
1188: クラス String への代入が無効です。

後者のエラーです
1188: クラス String への代入が無効です。

いろいろとググってみてるのですが、普通に代入出来る前提でとほほです
133Now_loading...774KB:2011/04/25(月) 22:20:43.43 ID:kDIFslil
>>129
今ちょっと>>129をコピペしてプログラム作って、traceDataの中で代入してみたけどエラー出なかったぞ
何かクラスの名前とかタイプミスしてんじゃね?
134Now_loading...774KB:2011/04/25(月) 22:35:37.56 ID:IMkUg9vw
>>133
・・・
//結果を確認
trace("配列の長さは," + dataList.length);
trace("1行目,0列目のデータは," + dataList[1][0]);
trace("2行目,2列目のデータは," + dataList[3][2]);

var TitleName:String = dataList[1][0];
↑これを入れると自分のとこではエラーになります
}

自分の凡ミスですかね、もう一回最初からやってみます
135Now_loading...774KB:2011/04/25(月) 23:07:51.06 ID:IMkUg9vw
自分のミスだったようで、最初からやったら普通に代入できました、お騒がせしました
136Now_loading...774KB:2011/04/26(火) 01:04:45.41 ID:qi6RyZeR
質問させて頂きます。
"."を含む文字列のsearchがうまくいきません。

var hoge1:String = "hoge";
var hoge2:String = "xhoge2";
var hoge3:String = hoge + ".";
index = hoge2.search(hoge3);

のように書くと、なぜかhoge3("hoge.")が"hoge2"(xhoge2)とマッチしてしまい、
inedxに1が代入されてしまいます。

"."を含む文字列をsearchするにはどうしたらよいのでしょうか?
137Now_loading...774KB:2011/04/26(火) 01:53:59.92 ID:QStY0UH2
>>138
hoge + "."→hoge + "\\."
やってみたらこれでいけた
138Now_loading...774KB:2011/04/26(火) 02:18:52.86 ID:HVwZps6d
hogeってどこで宣言してるの
139Now_loading...774KB:2011/04/26(火) 08:11:26.16 ID:qi6RyZeR
>>137
ありがとうございます!!
エスケープ2つ必要なんですね・・・
1個しか試してませんでした・・・・

>>138
申し訳ありません、誤植でした。気をつけますorz
140118:2011/04/26(火) 11:16:42.44 ID:3SpCmN04
>>127-128
ありがとうございます
141Now_loading...774KB:2011/04/26(火) 18:12:39.06 ID:aHGflNKp
Flexのプリローダーについて質問!

公式リファレンスにある、
Flex の標準コンポーネントは一切使用しないでください
っていうのは、具体的にどれを使っちゃだめなんですか?

import mx.*のやつ?
import mx.controls.*のやつ?
142Now_loading...774KB:2011/04/26(火) 18:46:13.96 ID:1JNgoQCa
mx.preloadersがあるから、mx.*はあり得んとおもう。
あと、mx.eventsは使える。
spriteとかでシンプルにやるやつじゃないと
プリローダの意味が無いと思うんだが。
143Now_loading...774KB:2011/04/26(火) 20:20:31.52 ID:iwnx8Hkw
WinXP Home + CS4です。
音声ファイルを読み込んで、クリック時に鳴らす、ということをしたいのですが
Sound.loadで読み込めるのはMP3のみ、とのことです。
しかしMP3ではSound.play()してから実際に音が鳴り始めるまでの
時間(レイテンシ)が長すぎます。
どうにかしてWAVをSound.loadで読み込ませるか、あるいはMP3でも
レイテンシを短くする方法があったら教えてください。
144Now_loading...774KB:2011/04/26(火) 21:45:18.89 ID:kgsSXPI+
すぺのpublic変数はprivateにしてsetter/getterを設定したほうがいいのでしょうか?
オブジェクト志向的に外から直接いじれちゃうってよろしくないの?
145Now_loading...774KB:2011/04/27(水) 01:37:40.01 ID:YQ7IJJA8
>>142
mx.effectとかは?
フェードとかグローなんかを使いたいなと思ってるんだけど・・・
146Now_loading...774KB:2011/04/27(水) 03:31:27.49 ID:OgL7x2iE
共有オブジェクト(solファイル)が保存される場所について質問です
自分で作ったswfをマイドキュメントに保存して実行すると
C:\Documents and Settings\ユーザー名\Application Data\Macromedia\Flash Player\
#SharedObjects\localhost\Documents and Settings\ユーザー名\My Documents\
というとんでもなく深い階層にsolファイルが保存されていました。
localhostフォルダに直接solファイルが保存されるようにするには
SharedObject.getLocal();の第2引数をどう指定すればいいんですか?
環境はWindowsXP+FLASH8です
147Now_loading...774KB:2011/04/27(水) 03:38:52.99 ID:uOM3nlXH
ActionScript3.0の物理エンジンって色々あるようですが今どれが一番いいのでしょう?
シェアウエアの方が良いのかな
148Now_loading...774KB:2011/04/27(水) 09:49:49.54 ID:es9o0vv1
>>146
ttp://bit.ly/eTmht4
をよーく読んでみよう。
ファイルの指定は「/」からになってるよね?
ドライブ名がないのはなぜだと思う?

それは、[SOL_PATH]/ の意味だたら。
[SOL_PATH]はFlashが決めた場所で、ユーザーには手出しできない。

どうしてもというなら、ByteArray.readObject()を調べてみて。
149Now_loading...774KB:2011/04/27(水) 09:53:10.94 ID:y2Rrdqac
>>147
描画機能もついてるしふつうにBox2dにしたら?
2.1はあんま資料ないけど
150Now_loading...774KB:2011/04/27(水) 11:48:47.50 ID:dRvN9004
>>145
ごめん、そこまで確認してない。
とりあえず、やってみたらいいと思うよ。30分もあれば確認出来るでしょ。
151Now_loading...774KB:2011/04/27(水) 12:33:11.97 ID:z3qPi1ha
loaderを利用してURLから画像をロードして、ロードが完了したら
その画像をリサイズ、位置を設定して、最後にMovieClip型に代入して表示するという作業をしたいのですが、
loaderの読み込み完了時のリスナー内でloaderのcontentのプロパティを設定しようとすると
画像が消えてしまいます。FLASHでのパブリッシュプレビューではしっかりとリサイズ、配置されて表示されるのですが・・・
一体なにが悪いのでしょうか。ソースは↓です。よろしくお願いいたします。m(__)m

var gthumb;
var url:URLRequest;

var loader = new Loader();
url = new URLRequest(isUrl);
loader.load(url);
gthumb = loader;

gthumb.contentLoaderInfo.addEventListener(Event.INIT, resizeImage);
function resizeImage(evt:Event):void {
evt.target.content.width = 75;
evt.target.content.height = 74;
evt.target.content.x = 450;
evt.target.content.y = 120;

var tmp:MovieClip = new MovieClip();
tmp.addChild(evt.target.content);
gthumb = tmp;

addChild(gthumb);
evt.target.removeEventListener(Event.INIT, resizeImage);
}

トレースしたところ、リスナー内のevent.target.contentを設定しているとこで画像が消えているみたいです。。。
152Now_loading...774KB:2011/04/27(水) 14:59:51.19 ID:Fx3+Ss1t
Flash Pro CS5 AS3.0
ライブラリに登録した画像をステージに配置したい

ライブラリに「キャラクター」名でムービークリップを作成しました
AS3.0でステージに表示したい場合は何て書いたらいいですか?
153Now_loading...774KB:2011/04/27(水) 15:29:17.55 ID:ILkLri+x
>151
initイベントだとロード完了してないから
completeイベントに変えた方が良いかも

>152
var 変数名:MovieClip = new キャラクター();
addChild(変数名);
154Now_loading...774KB:2011/04/27(水) 15:46:29.59 ID:Fx3+Ss1t
>>153
変数名だけ半角英字に変えて、あとはそのまま貼りつけたのですが
「1180: 未定義である可能性が高いメソッド キャラクター の呼び出しです。」って出ます。
155Now_loading...774KB:2011/04/27(水) 15:54:59.55 ID:WAUPDyWT
>>154
キャラクターってクラス名なの?
156154:2011/04/27(水) 15:59:45.54 ID:Fx3+Ss1t
>>153>>155
ぐぐってみたらリンケージ設定しろって書かれてたので、設定したら>>153でいけました
ありがとうございました
157Now_loading...774KB:2011/04/27(水) 18:28:59.46 ID:Fx3+Ss1t
HTMLのobjectタグにallowFullScreenパラメーター追加して、AS3.0に↓のように書きました
PlayControlPanel.BtnScreen.addEventListener(MouseEvent.CLICK, BtnScreenClick);
function BtnScreenClick(event:MouseEvent):void {
stage.displayState = StageDisplayState.FULL_SCREEN;
}

同じように他のボタンは機能してるんですが、フルスクリーンだけ機能してないです
どこに間違いがあるんでしょうか?
158Now_loading...774KB:2011/04/27(水) 18:38:08.30 ID:uOM3nlXH
>>149
ありがとうございます!
159Now_loading...774KB:2011/04/27(水) 19:52:16.77 ID:pTxwDSnR
AS3,XP,CS4です。TextInput内の文字の属性設定方法が分かりません。
txtTというTextInputを用意し、
import fl.controls.TextInput; txtT.text = "あいうえお"; としました

これで試しに文字の大きさを変えるために、txtT.setStyle("fontSize", "15"); と
してもエラーも出ず変化ありません。

またTextFormatは使えませんでした。目標は色とサイズとフォント種類を変えること
です。

ググっても分かりません。アドバイス願います。
160Now_loading...774KB:2011/04/27(水) 20:25:15.93 ID:G328lIOF
4月はカオスだなあ・・・
ちょっとは勉強しろよ
161Now_loading...774KB:2011/04/27(水) 20:58:43.65 ID:WAUPDyWT
>>159
とりあえず、こことか読んでその通りにやっても出来なかったら質問して
ttp://hakuhin.jp/as3/text_field.html
162Now_loading...774KB:2011/04/27(水) 21:00:44.70 ID:OgL7x2iE
>>148
"/"にしたらいけました!ありがとうございます
163Now_loading...774KB:2011/04/27(水) 21:21:29.21 ID:uOM3nlXH
147です。
Box2dをダウンロードして展開し、サンプルのPhysTest.flaファイルをクリックすると

〜\Box2DFlashAS3 2.1a\Source\Box2D\Dynamics\b2World.as、行 871 1046: 型が見つからないか、コンパイル時定数ではありません : b2Fixture。
 
というエラーが出てしまいます
FLASHのCS4でもCS5でもエラーになります
CS4ではb2Fixtureの部分がVectorになります
サンプルファイルなので自分は手を加えていませんし、動作するはずなのですが…
何か間違っているのでしょうか?
164Now_loading...774KB:2011/04/27(水) 22:11:18.80 ID:vvEnSv8L
クリックってのはコンパいるのことかな?
ライブラリのパスはもちろん通ってるよね?
165Now_loading...774KB:2011/04/27(水) 22:29:56.32 ID:y2Rrdqac
hakuhinさんは2.0時代からお世話になってるなあ
166159:2011/04/27(水) 22:47:32.79 ID:pTxwDSnR
>>161
レスどうも。まずフォントとサイズを指定するため
txtT.text = "あいうえお";
var format = new TextFormat();
format.font = "MS ゴシック";
format.size = 14;
txtT.setTextFormat(format,0,4);//設定

としたところ、下のエラーが出ました。
 1061: 未定義である可能性のあるメソッド setTextFormat を、静的型 fl.controls:TextInput の
 参照を使用して呼び出しました。

そこでsetTextFormatを使用可能にするため、最後の行を下記の様にしたところエラーには
なりませんが何も変化しません。
txtT.textField.setTextFormat(format,0,4);

どうしたら良いでしょうか?
167Now_loading...774KB:2011/04/27(水) 22:52:47.17 ID:y2Rrdqac
もうTextFieldつかったら…?
168Now_loading...774KB:2011/04/27(水) 23:11:53.25 ID:uOM3nlXH
>>164
http://www.ymori.com/fps2008/resume.pdf
ここを見るとflaファイルとライブラリが同じフォルダにあればいいとあり
またBOX2dのREADMEでも
//
To compile the demo:
//
Flash: extract Box2DFlashAS3 and open PhysTest.fla in Flash CS3 (9) and hit Ctrl+Enter.

と書いてあるので、そのままでいいのかと思ったのですが…
169Now_loading...774KB:2011/04/27(水) 23:14:59.54 ID:uOM3nlXH
今、パブリッシュ設定を見直したところフラッシュプレイヤーがVer9になっており、
これを10にしたところ解決しました!
お騒がせして申し訳ありませんでした
170Now_loading...774KB:2011/04/27(水) 23:24:34.80 ID:a37z10FM
>>169
あーなるほど
でも自分で何か作るようになる時にいちいちコピーするのあれだしパスは通したほうがいいよ
ライブラリ置き場作ってさ


2.1はb2AABBとかいうクラスはなくなったみたいだから注意
171Now_loading...774KB:2011/04/27(水) 23:25:35.88 ID:E7kSEOsh
AS3です。
var tempDate:Date=new Date(tempDate.time+1000*60*60*24);
という文を繰り返して、
都度、getDateとかすると
たとえば、4月30日、4月31日、5月1日、・・・と、4月31日というありえない日にちを出すんですが、
本来のカレンダーに存在するかどうかを判定するにはどうすればいいですか?



172Now_loading...774KB:2011/04/27(水) 23:35:17.70 ID:ILkLri+x
monthは1月の場合0になるから
5月31日を4月31日だと思っているだけかと
173159&166:2011/04/28(木) 00:04:15.27 ID:7a0Gdnuc
>>167
setFocusさせたいのでTextInputを希望しています。
どうしてもダメな場合にTextFieldを使いたいです。

引き続きお願いします。
174Now_loading...774KB:2011/04/28(木) 00:17:20.08 ID:4HeLGX4q
>>172
その辺は注意してたつもりですが、もう一回確かめてみたところ、
下のような結果になります。
var kari_date:Date = new Date(2011,4,30);
var kari_month:int = kari_date.getMonth();

trace(kari_month);//4

var tugi_date:Date = new Date (kari_date.time+1000*60*60*24) ;
var tugi_month:int=tugi_date.getMonth();

trace(tugi_month);//4

var tugi_day:int=tugi_date.getDate();

trace(tugi_day);//31

どうなってるんでしょう。
175Now_loading...774KB:2011/04/28(木) 00:18:22.44 ID:XgJqPvfP
AS3で相対パスに関する質問
new URLRequest("data.txt");等、相対パスでデータの取得をする際
ダウンロード実行前に絶対パスを求めることはできないのでしょうか。
ようはベースパスがわかればいいのですが、swfとhtmlのディレクトリが違ったり
html側のbaseタグやparamタグでベースが変更されていることがあるため
loaderInfo.urlを削るといった手法では対処できませんでした。
JavaScriptとの連携も取らないことが前提となっていて、どこに手を付けていいかわかりません。

取得するデータが画像ファイルだった場合は、取得が成功したときのみ
画像のloaderInfo.urlに絶対パスが入っていたので、Flashプラグイン側が
持っている情報だけでも絶対パスが求まるのかなと思い質問しました。
176Now_loading...774KB:2011/04/28(木) 00:20:05.65 ID:4HeLGX4q
ん?もしかして一行目の4って数字が本来の5月を意味してますか??
177Now_loading...774KB:2011/04/28(木) 00:40:14.52 ID:SMs2hig7
0から11まで全部traceしてみろ。
178Now_loading...774KB:2011/04/28(木) 04:24:02.19 ID:cOU9hzQW
CS4使ってますが、
import flash.sensors.Accelerometer;
import flash.events.AccelerometerEvent;
しても、コンパイル時にイベントハンドラの引数のところで、
e:AccelerometerEvent
を使うと1046(型が見つからないかコンパイル時定数ではない)エラーがでてしまう。

どうしてでっしゃろ偉い方
179Now_loading...774KB:2011/04/28(木) 04:43:40.21 ID:cOU9hzQW
検索しても見つけられないけど、
もしかするとCS5使えって話なんだろうか。
180Now_loading...774KB:2011/04/28(木) 07:03:38.72 ID:XCH5K+yf
ブラウザの仕様なんだろうが、細かなバージョンアップをしてファイルサイズも若干変換しているのに
キャッシュされたswfしか表示せず、最新のswfで実行結果が見れない
単体で完結するものではなくphpと通信しながらやるだけに、php側の問題なのかswf側の問題なのか
原因の切り分けに苦労する
みんなはどうやってる?
181Now_loading...774KB:2011/04/28(木) 09:38:43.69 ID:Q1dZ7svq
〜.swf?hoge みたいに、後ろにランダムにURL足せば別URLとしてあつかわれてキャッシュ使用なしじゃなかったっけ?
自分の場合Webアプリ作ってないんでうろ覚えだけど。
182Now_loading...774KB:2011/04/28(木) 10:08:23.06 ID:U7R1ojf9
>>178
iPhoneアプリ用のやつ?
とりあえずクラスパスにAccelerometerEventのクラスファイルあるか検索してみたら
183Now_loading...774KB:2011/04/28(木) 10:23:33.72 ID:6jEo0NZh
あるtextfieldをAS3で宣言して、シェイプやシンボルの上に配置して、あるボタンを押すと
100フレームほど先まで飛ぶように設定しているのですが、
100フレーム先に行くとそのtextfieldがシェイプやシンボルの裏に隠れてしまいます。
最初は消えてしまったのかなと思ったのですが、シンボル等をどけると出てきます。
右クリックで最前面に移動をしても、フレームのasにsetChildIndex(instance, 0)を書いても直りません。
一体なにがわるいのでしょうか・・・。
184Now_loading...774KB:2011/04/28(木) 11:22:05.29 ID:G6iWZwrZ
>>183
textfieldをシェイプを配置するのと同じコンテナ(A)に配置しているのが原因ではないでしょうか。
その1つ上のコンテナ(P)に、コンテナ(A)の1つ上に配置してしまえば
コンテナ(A)にどんなシェイプが追加されても隠れることはなくなると思います。
185Now_loading...774KB:2011/04/28(木) 11:54:29.57 ID:Q1dZ7svq
setchildindexで0って最背面だろ。
186Now_loading...774KB:2011/04/28(木) 11:58:40.75 ID:6jEo0NZh
>>184
ありがとうございます。正直よく理解できていませんが、
消えてしまうフレームの開始でthis.addChild(instance);したところ直りました。

textFieldはフレーム1で、DisplayObjectを指定せずにaddChild(instance);しているので
親コンテナはおそらくthisになっているかと思っているのですが・・・
上記の通りthisにaddChildが成功したってことは、thisの子じゃなくなっていたってことですよね。

フレーム1のaddChildをthisにしても、現状は変わらなかったので、
何かが原因でthisの子じゃなくなっているみたいです。
コンテナについて勉強してきます。ありがとうございました!
187Now_loading...774KB:2011/04/28(木) 12:36:11.59 ID:Ln/GxDEJ
AS3.0
ある変数に数字で800が格納されているとする
それを○分○秒みたいにする関数ってありますか?
188Now_loading...774KB:2011/04/28(木) 14:46:21.92 ID:KM8zvQeZ
無い。無くて問題ないよな??
189Now_loading...774KB:2011/04/28(木) 15:13:41.04 ID:Ln/GxDEJ
おk、今作った
ところで、ユーザー定義関数内で使う変数は宣言の必要ないの?
190Now_loading...774KB:2011/04/28(木) 15:15:45.94 ID:Ln/GxDEJ
簡単に聞いてごめんなさい
ちゃんと宣言しないとダメでした
191Now_loading...774KB:2011/04/28(木) 15:31:51.30 ID:rIkCN+ql
カスタムのHOGEクラスのインスタンスhogeを
trace(hoge)
した時出力に表示される情報って設定できる?
192Now_loading...774KB:2011/04/28(木) 15:37:27.62 ID:KM8zvQeZ
toStringをオーバーライドしたらいいはず
193Now_loading...774KB:2011/04/28(木) 15:55:23.28 ID:rIkCN+ql
>>192
できました
overrideキーワードは使ってはいけないようなのでふつうに
public function toString():String{}
でいけました

ありがとうございます
194169:2011/04/28(木) 20:09:56.00 ID:BuDOALxf
>>170
一日遅れになりましたがありがとうございました
b2AABBクラスがなくなったというのを読んで別のエラーの原因もわかりました
195Now_loading...774KB:2011/04/28(木) 20:28:46.15 ID:cOU9hzQW
>>182
レスどうもでした。
どうやらCS5.5の発売を待って購入した方が良いのかもしれないという結論に。

ちなみにAIR for Androidで離着陸だけのフライトシミュ作ってる。
昔のタイトーみたいなやつ。
ポリゴン数増やすと動かない、Papervision3Dポリゴン欠けまくりと、
問題は山積み。
196Now_loading...774KB:2011/04/28(木) 21:43:10.54 ID:rIkCN+ql
>>195
ポリゴンかけってFrustumClippimgとかQuadrantRenderEngineでなんとかなんないの?
激重だけど
197Now_loading...774KB:2011/04/29(金) 02:04:49.79 ID:NpW0zPDZ
>>196
FrustumClipping.NEARとBOTTOMが効けばとりあえずは最適っぽいんだが、
+で両方指定やALLするとダメになるという。

あと、QuadrantRenderEngineは全くだめで、
ランウェイが微細に靄がかかったように欠けるような感じかつ重くて諦めたところでした。
ちなみにFogMaterialはBasicRenderEngineでしか使えないよね?
198Now_loading...774KB:2011/04/29(金) 02:41:37.45 ID:j4OqrM7n
FrustumClippingの問題はわからん

QuadrantRenderEngineはBasicRenderEngine継承してるからfilterプロパティもってるしFogFilterいけんじゃね?やってないからなんともいえんえど
199Now_loading...774KB:2011/04/29(金) 02:57:43.01 ID:NpW0zPDZ
>>198
記述が100%正確であった自信はないんだけど、
QuadrantRenderEnginでのFogMaterialは一昨日試したらコンパイルエラーだったんだよね…

あーBOTTOM指定だとピッチやロール動作時に地面が欠けるし、
NEARだと着陸したらランウェイが欠けるwもうどうしようもない
200Now_loading...774KB:2011/04/29(金) 10:50:05.52 ID:68yxDELO
AS3.0
↓ここ参考に
http://kozy.heteml.jp/pukiwiki/index.php?ActionScript3.0%20%A5%D5%A5%EB%A5%B9%A5%AF%A5%EA%A1%BC%A5%F3

↓フルスクリーンやってみたんですが、traceは出るものの、まったくフルスクリーンになりません
BtnFullScreen.addEventListener(MouseEvent.CLICK, MouseDownFunc);
function MouseDownFunc(event:MouseEvent):void {
trace("マウスイベント発生");
stage.displayState = StageDisplayState.FULL_SCREEN;
trace("チェック");
}

シーンプレビューでもダメ
<param name="allowFullScreen" value="true" />入れてるけどブラウザでもダメ
数日悩んでます、いったいどこがいけないですか?
201Now_loading...774KB:2011/04/29(金) 11:14:02.59 ID:N8Aw2U/s
>>200
とりあえずネットに落ちてるサンプル拾ってきて実行してみたら?
それでダメならここでは分からんだろうな
202Now_loading...774KB:2011/04/29(金) 13:56:53.76 ID:OB2pSum/
>>200
ttp://hakuhin.jp/as3/stage.html#STAGE_05
を試して、うまくいくようなら、ソースをダウンロードすればいい。
203Now_loading...774KB:2011/04/29(金) 14:38:00.85 ID:68yxDELO
>>201-202
いろいろサンプル拾ってやってうまく行かなかったけど、なんとか出来た
ありがとう

原因はAS3.0のソースじゃなくて、htmlのobjectに<param name="allowFullScreen" value="true" />だけ書いても駄目だった
204Now_loading...774KB:2011/04/29(金) 17:07:07.73 ID:L1iE5h+W
インスタンスa内にインスタンスbとインスタンスcがある場合に

bの状態に応じてcを操作したいことかままあります
bから直接操作するにはcのパスが必要です
bの状態が変わったらbからイベント送信するにもcへのパスが必要です
みなさんはこのような場合にはcへのパスを保持していますか?
根本的に間違っているかもしれないので他にいい方法があれば教えてください
205Now_loading...774KB:2011/04/29(金) 18:22:56.07 ID:w+iOH9CC
>>204
参照必要なときは引数でわたすかなあ
もっとも今回の場合なら、
aに、bとcを操作するメソッドを用意するとか、構成を変えるかも
206Now_loading...774KB:2011/04/29(金) 19:10:39.79 ID:q2FuYA9C
>>204
bとcが親しいクラスで1対1の関係だったらそうするのが手っ取り早い

逆に別パッケージや別開発者だったりたn対nの関係なら、その管理はaに任せるべき
イベントB'を定義し、bの状態が変わったらイベントB'を発行してaが受け取り、
必要に応じてaがcを操作する
207Now_loading...774KB:2011/04/29(金) 19:16:32.43 ID:L1iE5h+W
>>206
イベントB'を発行するのはbですか?
その場合bにaの参照を持たせる感じでしょうか
208Now_loading...774KB:2011/04/29(金) 19:56:15.47 ID:a7KPSOWt
>>207
そうなります
bにaの実装を認識させたくないような場合は、EventDispatcherなどの
標準ライブラリの仕組みを利用します
209Now_loading...774KB:2011/04/29(金) 20:03:00.08 ID:L1iE5h+W
>>208
申し訳ありません
標準ライブラリの仕組み、とはどのように利用するのでしょうか
210Now_loading...774KB:2011/04/29(金) 20:27:34.80 ID:a7KPSOWt
ごめんなさい、EventDispatcherの仕組みはちょっと説明しづらいですので
もっとシンプルな方法で

例えばインスタンスbのクラス定義に
public var funcNotify:Function;// 通知のコールバック
のように書かれていて、何か更新があれば
funcNotify();
でインスタンスaの関数を呼び出します

インスタンスaのクラス定義には
public var function onNotifyB():void
{
// cを操作する処理
}
と定義しておき、初期化時に
b.funcNotify = onNotifyB;
と自分の関数を設定します

aの参照をbに丸ごと渡すのではなく、aの1つの関数だけを渡すことで結合度を弱めます
標準ライブラリを使用するとさらにお互いの実装を意識しなくてすみますが、
>>206の通り1人で短期間での開発なら必要ないと思います
211Now_loading...774KB:2011/04/29(金) 22:30:39.38 ID:j4OqrM7n
>>210
なるほど
b内のfuncNotify();でaのprivate変数にはアクセスできるのでしょうか
212Now_loading...774KB:2011/04/30(土) 01:25:25.01 ID:2MPROBzj
As3です。
ラジオボタンのグループ名をgroup_hogeとした複数のラジオボタンを配置。
スクリプトで、どのボタンが選択されたかを調べたく、
group_hoge.selectedData
を書きましたが、
A term is undefined and has no properties.
というエラーが出ました。
どう解決したらいいのでしょうか。
213Now_loading...774KB:2011/04/30(土) 02:13:57.50 ID:nbL+UHMT
>>211
できるよ、bのfuncNotifyはaのonNotifyBへの参照であって、
onNotifyB自体はaに書いてあるんだからさ
ちなみにonNotifyBがprivateであっても渡せる
214Now_loading...774KB:2011/04/30(土) 02:16:00.49 ID:xLBZ6Nj5
>>213
なるほど。
a.onNotifyB()と同じ動作ができるんですね
明日やってみます
215Now_loading...774KB:2011/04/30(土) 16:20:12.78 ID:fLSGPx6A
インターフェースで変数って定義できないの?
216Now_loading...774KB:2011/04/30(土) 16:47:14.09 ID:8+WbbO2W
>>215
そこでgetter・setterですよ
217Now_loading...774KB:2011/04/30(土) 16:55:46.99 ID:fLSGPx6A
>>216
なるほど!できました!
ありがとうございます

追記で
ある変数hogeがあるクラスAのサブクラスかつインターフェースIを実装していることを保証するにはどうしたらいいですか?

具体的には変数hogeがI実装メソッドを実行し、その後addChild(hoge)したいのですが、addChildの引数になれるのはDisplayObjectを継承してなくてはなりませんよね
var hoge:IだとaddChild(hoge)で怒られてしまいました
218Now_loading...774KB:2011/04/30(土) 17:00:43.69 ID:8+WbbO2W
>>217
クラスAがDisplayObjectを継承しといたらいいんじゃね?
219Now_loading...774KB:2011/04/30(土) 17:06:11.92 ID:fLSGPx6A
>>218
もちろんしているのですが、

var hoge:I
I.peropero()
addChild(hoge)

ではhogeにDisplayObjectを継承している情報がない?のでできませんでした
220Now_loading...774KB:2011/04/30(土) 17:26:24.08 ID:8+WbbO2W
>>219
var hoge:I→var hoge:Aじゃダメなのか?
DisplayObjectを直接、じゃなくてDisplayObjectを継承してるクラス(Shapeとか)を継承しとかないと
インスタンス作る時に例外が出るようだけど
221Now_loading...774KB:2011/04/30(土) 17:28:44.86 ID:fLSGPx6A
もうひとつ
クラスAとそのサブクラスBがあって
var hoge:Vector.<Vector.<A>>=new Vector.<Vector.<B>>()
が暗黙の型変換しとると怒られます
hoge[2][4].Amethod()とかやりたいのですが、なにがいけないのでしょうか
222Now_loading...774KB:2011/04/30(土) 17:34:16.55 ID:8+WbbO2W
223Now_loading...774KB:2011/04/30(土) 17:39:39.12 ID:fLSGPx6A
>>220
A(I)→Sprite
B(I)→Sprite

のような構造なのですが、
変数hogeを使って
hoge.Iメソッド()
addChild(hoge)
をやりたいのですが、
hoge:Iでも
hoge:Spriteでもうまくいかないのです
224Now_loading...774KB:2011/04/30(土) 17:43:28.15 ID:fLSGPx6A
もっと言うと
二次元Vectorのhogeを使って
hoge[1][3].Iメソッド();
addChild(hoge[1][3]);
をやりたいのですかVectorの定義と両方の特徴を持つ方法を探しています
225Now_loading...774KB:2011/04/30(土) 19:07:18.58 ID:pR9UWjx/
textAreaのtextが動作をするたびにクリアされてしまうんですが、なにが原因だと考えられるでしょうか。
textAreaはasでなくflashのコンポーネントメニューから選択して設置しています。
フレームのうちstop();の制御があるフレームにのみ設置されていて、インスタンス名は同じ名前を入力しています。
226Now_loading...774KB:2011/04/30(土) 19:43:44.72 ID:Mi2I53aQ
227225:2011/04/30(土) 20:52:16.20 ID:pR9UWjx/
>>226
おお・・・すいません。
環境はAS3、FlashCS5を使用しています。
コンポーネントから引っ張って画面に貼り付けているので、
コード内に記述されていません。
全てのフレームに貼り付けているのでなく、stop();があるフレーム数箇所のみに設置しており、
いずれかのstop();フレームで停止するとそのtextArea.textの中身がすっからかんの状態です。
228Now_loading...774KB:2011/04/30(土) 22:43:06.17 ID:GXnSdaTY
AS2.0です。
複数の音源を同時にスタートさせるためにはどうすればいいですか?
例えばA、B、Cという3つの音声ファイルを同時にスタートさせてAだけOFFしてもBとCは流れ続けて、
途中でAをONにするとまたBとCと一緒に音楽が続くという感じのをつくろうとしてます。
229Now_loading...774KB:2011/04/30(土) 22:57:47.26 ID:YESkymu6
外部XMLデータを取り込んでテキストフィールドに代入しようとしています。
ところが、traceで正しく表示されている筈の文字列が、
歯抜けの様に抜けて表示されてしまいます…

CS4 AS3.0使用です。

XMLデータを取り込むのは成功しています。
<j_name>山田 花子</j_name>
<e_name>Hanako Yamada</e_name>

var e_nameList:XMLList = theXml..e_name;
var en_name:String = e_nameList.toString();
en_name に文字列を代入し、
traceで値に正常に入ってるところまでは確認しました。

Hanako Yamada

ところが、

en_name_txt.text = en_name;

してFlashのステージに表示される
と、

Hanako aada

になってしまいます。なぜか、Yとmが抜けてしまう…
日本語名は半角スペースが入っていても、そのまま表示されました。
ちなみに、"Hanakoyamada"とyamadaの前に半角スペースを空けず、
大文字も最初の一文字だけにしたらすべて表示されました。
230229:2011/04/30(土) 23:03:17.61 ID:YESkymu6
長文失礼しました。何か突破口があれば有難いのですが
現状原因が思いつかなくて八方塞です。
ここおかしい!!という部分を指摘頂けるだけでもありがたいです。
よろしくお願いいたします。
231Now_loading...774KB:2011/04/30(土) 23:13:12.32 ID:xLBZ6Nj5
en_name_txt.text = "Hanako Yamada"
したらどうなるのっと
232229:2011/04/30(土) 23:22:56.63 ID:YESkymu6
>>231
ありがとうございます!
やってみてやっと気がつきました。
そもそもXMLとかASの問題じゃないんじゃないかと…

ほんっっっとうに申し訳ありません。
昨日徹夜で一日悩んでいたのに、原因はテキストフィールドに設置している
フォントでした。

デザインの良いフォントを選んで、埋め込みにすれば大丈夫か?
と使っていたのが良くなかったようで
試しに普通のMS P ゴシックにしたら表示できました。
ASスレ汚しで本当に申し訳ありませんでした。
233Now_loading...774KB:2011/04/30(土) 23:26:43.18 ID:XSwYlOYA
>>225
普段コンポーネントとか一切使わんからよくわからんが、
フレーム毎に置かれてるんならそりゃ別インスタンス扱いじゃないか?
レイヤ分けて、全フレーム通しのレイヤにテキストエリアを設置、
あとはフレームで切ったレイヤにスクリプト書いて位置やvisible変更したらどうかね
234159&166:2011/05/01(日) 00:32:39.16 ID:x5gDOeri
(自己解決:TextInputの色とサイズとフォント種類を変更)

ComboBoxのフォント変更を参考に出来ました。
※TextFormatとsetStyle()の使い方が悪かったようです。

例えば文字サイズを15にするには
var tf:TextFormat = new TextFormat();
tf.size = 15;
txtT.setStyle("textFormat", tf); でOKでした。

しかし、txtT.textField.setStyle("textFormat", tf); は不可でした。
235Now_loading...774KB:2011/05/01(日) 00:46:56.48 ID:MY+9L/L0
>>228
OFFにするときに停止させるんじゃなくsetVolumeで音量を0にすれば
無音状態の裏でも流れ続けてるので復帰したときに元通りになると思う

・ムービークリップ製のボタンを3つ配置する
// ボタンA (ムービークリップ "MC_A")
on(Press){vol = 100 - vol ; _root.snd_A.setVolume(100 - vol);}
// ボタンB (ムービークリップ "MC_B")
on(Press){vol = 100 - vol ; _root.snd_B.setVolume(100 - vol);}
// ボタンC (ムービークリップ "MC_C")
on(Press){vol = 100 - vol ; _root.snd_C.setVolume(100 - vol);}

・音楽再生させたいところに書く
snd_A = new Sound(MC_A); snd_A.attachSound("bgmA"); // "bgmA"の部分は使いたい音源のリンケージ識別名に変える
snd_B = new Sound(MC_B); snd_B.attachSound("bgmB"); // new Sound();の括弧内(ムービークリップのインスタンス名)は
snd_C = new Sound(MC_C); snd_C.attachSound("bgmC"); // 省略したり同じインスタンス名にすると一括で音量操作されてしまう
snd_A.start(); snd_B.start(); snd_C.start();

間違ってたらごめん
236Now_loading...774KB:2011/05/01(日) 02:52:43.18 ID:DZOs7cvf
>>235
丁寧にありがとうございます!
new Sound();の括弧内をそれぞれ上記の通りにMC_A,MC_B,MC_Cとしてるんですが
ミュートが一括でされてしまいます。何か設定が足りないのでしょうか。
237Now_loading...774KB:2011/05/01(日) 03:29:35.97 ID:DZOs7cvf
自己解決しました!スレ汚してすみません。
ただし何が原因だったのかわかりませんでした。
238Ninja:2011/05/01(日) 14:14:03.84 ID:KWMttTbQ
画像を入れてトゥイーンなどで先にアニメーションをつくっておいて
ActionScriptで画像を外部ファイルから読み込んだ別の画像に置き換えることは可能でしょうか?
239Now_loading...774KB:2011/05/01(日) 14:29:00.20 ID:hj/jt/Pd
>>238
つまり、仕組み(ストーリー)を先に作っておいて、画像を差し替えて
汎用的に使いまわしたいってこと?

とりあえず、自作のコードを示すと吉
240Now_loading...774KB:2011/05/01(日) 14:49:38.07 ID:ZJoJpBzf
トゥイーンってCS4あたりからコード化できなかったっけ
241Now_loading...774KB:2011/05/01(日) 15:28:33.83 ID:ocAHzKr/
xmlの読み込みに関する質問です

<?xml version="1.0" encoding="UTF-8"?>
<data>
<x id="2"/>
</data>

みたいなxmlのx要素のid属性の値を読み取ろうと思うのですが、

loadした後に
dot=xml.firstChild.childNodes;
trace(dot);
で <x id="2"/> と表示されたのですが、同じ条件で
trace(dot.id.value);
trace(dot.attributes["id"].value);
trace(dot.attributes.item(0).value);
trace(dot.getAttribute("id").value);
とやっても値をとれません・・。

正しい属性値のとり方を教えてください!
ちなみにParaFla!でやっているので
Flash8(AS2)相当のスクリプトなら動作すると思います。
あとOSはWin7(JP)です。
242Now_loading...774KB:2011/05/01(日) 15:39:38.85 ID:CUpFgMEA
>>241
dot.@idでいけんじゃね?
243Now_loading...774KB:2011/05/01(日) 15:48:41.74 ID:hj/jt/Pd
>>240
Animatorクラス(モーションXML)のこと?
244Now_loading...774KB:2011/05/01(日) 16:39:57.47 ID:KWMttTbQ
>>239
LoadMovieで画像を読み込んでActionScriptで座標と大きさを設定して動かすところまではできたけど
そこから先がよくわからんのです。
245Now_loading...774KB:2011/05/01(日) 21:27:59.35 ID:ocAHzKr/
>>242
うーんできませんでした。

ただ、そのあと、dotの型を調べてみてオブジェクト型がだったので
文字型に変換してsplitで無理やりとることはできました。
正しい方法を教えていただければそっちに切り替えますが
とりあえずはこれで行ってみようと思います。

ありがとうございました。
(なにか情報があればお願いします)
246Now_loading...774KB:2011/05/01(日) 22:57:06.44 ID:t7gzPWDI
paraflaのライブラリならE4X記法使えんよ。soreAS3.0からだから。
flexSDKにxPathかなんか入ってんじゃなかったかな?
なきゃどっかの野良xpathクラス落として使えばいいんやね?
247Now_loading...774KB:2011/05/02(月) 00:10:34.18 ID:XzieA/lg
>>244
AS2.0?
BitmapクラスやTweenクラス使って書けば、やりたいことは実現可能だろうけど
オーサリング環境で配置したタイムラインの画像を入れ替えるのは
無理じゃないかなあ
248Now_loading...774KB:2011/05/02(月) 00:26:53.55 ID:ztpYLKg3
AS3.0です。
CS5の標準のNumericStepperコンポーネントについて質問です。
使用したくないときがあるので、enabledをfalseにしました。
そして入力できないようにはなったんですが、
コンポーネントをクリックすると、周りに枠?が表示されてしまいます。
これをなくすためにはどうしたらいいですか?
ちなみに、tabEnabledをfalseにしてもダメでした。
249Now_loading...774KB:2011/05/02(月) 01:12:29.67 ID:rVODmdT6
>>231
お前の花子で地球がヤバイ。
250Now_loading...774KB:2011/05/02(月) 01:35:40.14 ID:V/ZOmMbv
>>248
NumericStepperについては知らんが、黄色い枠線が出るなら
focusRectにfalseを入れとくとか
251Now_loading...774KB:2011/05/02(月) 01:51:13.62 ID:ztpYLKg3
>>250
focusRect=falseを試しましたが変わりありませんでした。
252Now_loading...774KB:2011/05/02(月) 01:54:23.61 ID:usHy4gbt
>>251
mouseEnabledをfalseにするとか
253Now_loading...774KB:2011/05/02(月) 02:09:48.44 ID:ztpYLKg3
>>252
変わらないです。
ちなみに枠は水色です。
254Now_loading...774KB:2011/05/02(月) 02:16:58.10 ID:usHy4gbt
んじゃfocusEnabledで
255Now_loading...774KB:2011/05/02(月) 02:41:04.90 ID:pQULR5Pr
当方NumericStepperが使えないためちょっといい加減なことを言いますが……

focusRectは配置されるコンテナではなく配置するコントロールの方に指定します
で、ドキュメントを読んでみるとNumericStepperはDisplayObjectContainerから派生されています
ひょっとして水色の枠はコントロール全体ではなくテキストフィールドの方に表示されていますか?
256Now_loading...774KB:2011/05/02(月) 02:44:39.72 ID:pQULR5Pr
送信した後にこんなのがあるのに気付いた
これでだめかな

ttp://help.adobe.com/ja_JP/AS3LCR/Flash_10.0/fl/controls/NumericStepper.html#drawFocus()
> override public function drawFocus(focused:Boolean):void
> このコンポーネントのフォーカスインジケータを表示または非表示にします。
257Now_loading...774KB:2011/05/02(月) 03:11:52.01 ID:v0fZw4gw
音声開始ボタンαを押すと、αだけ再生して現在流れてるその他βγの音楽全て停止させたいんですが
stop();だけじゃまったく止まりません。これだけじゃ何故ダメなのでしょうか?
258Now_loading...774KB:2011/05/02(月) 03:12:29.30 ID:D3ZVzFkt
>>246
遅くなりましたが情報サンクスです!
259Now_loading...774KB:2011/05/02(月) 03:13:00.71 ID:v0fZw4gw
書き忘れましたがAS2.0です。
260Now_loading...774KB:2011/05/02(月) 04:26:30.31 ID:I8m4migw
>>257
>>235のを流用するけど↓でできないか?
on(Press){
_root.snd_A.stop(); _root.snd_B.stop(); _root.snd_C.stop(); // 止めたい音楽を全部止める
_root.snd_A.start(); // snd_Aの部分はボタンごとにsnd_Bなりsnd_Cなりに変える
}

上手くいかないのはたぶんパスの指定が違うか記述を間違えてるかだと思うんだけど_rootとかわかる?
_root┬MC製の再生ボタン(MC_A)
   ├MC製の再生ボタン(MC_B)
   ├MC製の再生ボタン(MC_C)
例えばこういう階層になっててsnd_A = new Sound();〜の部分を_rootに書いたなら
MC_Aにスクリプトを書くときはsnd_A.stop();の頭に_parent.とか_root.つけてsnd_Aがある正しいパスを指定しないと
MC_Aの中からsnd_Aを探す→なかった→停止できません ってなるぞ
見当はずれだったらごめん
261Now_loading...774KB:2011/05/02(月) 04:40:40.70 ID:ztpYLKg3
>>256
drawFocus(false)としましたが、変化ありません。
コンポーネントを分解すると、表示されている枠があり、focusRectSkinという名前のムービークリップがあります。
でもそれを消しても何も変わらないです。
262Now_loading...774KB:2011/05/02(月) 10:11:58.48 ID:F/V7XMV8
ローカルにある画像ファイルを画面に画面に表示させたい場合、
FileReferenceを使用して、画像をサーバにアップ後にそれをダウンロード
して表示させるしかないでしょうか? 初心者です。
263Now_loading...774KB:2011/05/02(月) 11:55:01.69 ID:xIuEBJ7p
FLVPlayback使って↓のソースで動いたのですが
import fl.video.*;
my_FLVPlybk.stopButton = my_stopbttn;
my_FLVPlybk.playPauseButton = my_plypausbttn;
my_FLVPlybk.muteButton = my_mutebttn;

これをフレームのタイムラインに書くのではなく、外部asに書きたい場合
どこを直せば動くようになりますか?
このまま書いても動かず、変数にstage.付けても動かずでした
264Now_loading...774KB:2011/05/02(月) 12:00:40.34 ID:pP6wXBXU
>>263
まずエラーメッセージ出ないの?
265Now_loading...774KB:2011/05/02(月) 12:14:48.61 ID:usHy4gbt
>>261
NumericStepperを継承したクラスを作って、drawFocusをオーバーライドして関数の中で何もしないようにして
ライブラリのNumericStepperにリンケージしたら一応できたよ
266Now_loading...774KB:2011/05/02(月) 12:29:12.51 ID:xIuEBJ7p
>>264
エラーメッセージが出ないんです
再生されずにずーっと読み込み中になります
267Now_loading...774KB:2011/05/02(月) 12:36:37.36 ID:ztpYLKg3
>>265
ありがとうございます。
なんかめんどくさそうですね。
再現できるようトライしてみます。
268Now_loading...774KB:2011/05/02(月) 12:51:41.71 ID:pP6wXBXU
>>267
継承したクラスファイルつくって関数オーバライドして中になにも書かなきゃいいだけじゃない?
269Now_loading...774KB:2011/05/02(月) 15:09:10.31 ID:MFGAuR/Y
>>262
FileReferenceで取得したByteArrayをLoader.loadBytesに放り込めば
Flash内部だけでBitmapに展開してくれるよ
270Now_loading...774KB:2011/05/02(月) 19:10:31.62 ID:usHy4gbt
>>263
外部ってもどこからアクセスしたいかで書き方変わるから何とも言えないだろうけど
そのクラスからmy_FLVPlybkまでの親子関係などに応じて「this.my_FLVPlybk」なんて感じで
指定すればいいんじゃないか?
271Now_loading...774KB:2011/05/03(火) 16:32:04.79 ID:hUAtJllJ
>>223
ですが
Iに
addSelf(container:DisplayObject):void
removeSelf(container:DisplayObject):void
を設定し、
AとBに
public function addSelf(container:DisplayObject):void{
container.addChild(this);
}

public function removeSelf(container:DisplayObject):void{
container.removeChild(this);
}

とすることで
var hoge:I //AクラスかBクラス
hoge.Iメソッド();
hoge.addSelf();
と一応実現することができましたが、

>>217
ある変数hogeがあるクラスAのサブクラスかつインターフェースIを実装していることを保証するにはどうしたらいいか

が分かる方いらっしいましたら引き続きお願いします
272Now_loading...774KB:2011/05/03(火) 17:00:11.65 ID:HHqyNWyD
>>271
保証するって言い回しが良く分からんが、「class B extends A implements I」って形のクラスなら
普通に「var hoge:B」でAとしても扱えるしIとしても扱えると思うけど…
273Now_loading...774KB:2011/05/03(火) 17:10:45.20 ID:hUAtJllJ
>>272
「class A extends S implements I」
「class B extends S implements I」
の二つのクラスが入る変数を
「var hoge:なんとか」で
SしてもIとしても扱いたい感じです
274Now_loading...774KB:2011/05/03(火) 17:28:34.30 ID:HHqyNWyD
>>273
今ちょっとやってみたけど、「var hoge:S = new A()」ってやって
iにキャストしたらiのメソッド呼べたよ
275Now_loading...774KB:2011/05/03(火) 21:53:16.94 ID:fi7v5cq0
class SS extends S implements I
class A extends SS
class B extends SS
var hoge:SS;
とか
276Now_loading...774KB:2011/05/03(火) 22:23:37.81 ID:S6RMvRJY
AS2.0です。
あるMCをpressすると特定の音楽が流れ、且つその他の音楽が強制的に停止するようにしました。
ところが、テストをしたときの一回目のみその他の音楽が強制的に停止してくれません。
ダブルクリックしたり全停止ボタンを押したり等他の動作をしたら、きちんと特定の音楽だけ流れてくれます。
あるMCのASは
on(press) {
snd_A.stop();
snd_B.stop();
snd_C.stop();
snd_B = new Sound(MC_B); snd_B.attachSound("D");
snd_B.start();
}
こんな感じです。一回目に動作が不安定なのはどうしてなのでしょうか。
277Now_loading...774KB:2011/05/03(火) 22:40:05.60 ID:x9kt1K4b
>>276
snd_A〜Cまでが、定義されてないとか、参照が渡ってないとか?
他の部分まで見ないと、そこだけじゃ原因はわからんなー

とりあえずtrace()で、サウンドオブジェクトがあるのか
参照が正しいのかなどをチェックしてみては?
278Now_loading...774KB:2011/05/03(火) 22:56:03.99 ID:xQpMcTKN
>>274
ありがとうございます
ちょっとやってみます
でもキャストかぁ

>>275
後だしで申し訳ないのですが、
A→S1→S2→…→S
B→SA→SB→…→S
のように別ルートを通ったすでに用意されているS1とSAをそれぞれ継承しています

S1=Bitmap
SA=MovieClip
S=DisplayObject
のような感じです
AとBはそれぞれIを実装することで共通のメソッドが保証されるのですが、
DisplayObjectContaimer.addChild(child:DisplayObject)
の引数にとるためにはDisplayObjectを継承してるよ、ってことも保証しなくてはならないので、どんなクラス(インターフェイス)の変数を使えばいいのか考えているところです
279Now_loading...774KB:2011/05/03(火) 23:56:41.71 ID:kCRtwKm+
すいませんAS2.0で質問です。
よく文字列やハイスコアをTwitterに送信できるボタンがありますが、
それをAS2.0で実装するにはどうすればいいのでしょうか?
調べてもAS3.0ばっかりヒットするのでどうにもなりません。
280Now_loading...774KB:2011/05/04(水) 00:14:22.92 ID:cGLk4JaC
AS3です。
1つのムービークリップXに対してaddChildとremoveChildを繰り返すような実装をしているのですが、
すでにaddChildされたかどうかを判定する方法がわかりません。
どうすればわかるでしょうか。
281Now_loading...774KB:2011/05/04(水) 00:14:37.19 ID:fmcRVFtc
質問です。

ttp://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/
こちらのページの「ActionScript 3.0 コンポーネントリファレンスガイド」をダウンロードして
オフライン環境で読みたいのですが、ダウンロードできるページはありませんか?

ttp://www.adobe.com/support/documentation/jp/flash/
こちらのページからダウンロードできるZIPファイルの中身は英語版だったので日本語版のものを探しています。
282Now_loading...774KB:2011/05/04(水) 00:16:16.83 ID:F5zp0Fij
>>280
XにYをaddChildするとして
Yがaddされたか知りたいの?
Xがすでになにかをaddしているか知りたいの?
283Now_loading...774KB:2011/05/04(水) 00:18:54.48 ID:wDkDCtE3
>>278
どのA〜SとDisplayObjectContaimer相当の内、どのクラスを自分で書いていて
どのクラスが編集不可なのかの情報をお願いします
284Now_loading...774KB:2011/05/04(水) 00:23:04.89 ID:cGLk4JaC
>>282
どのムービークリップに対してというか、
ステージ上に作る感じです。
addChild(X)
とします。
addChildする前に、Xがすでにあれば、
removeChild(X)
をするイメージです。
285Now_loading...774KB:2011/05/04(水) 00:32:31.16 ID:wDkDCtE3
>>281
ちょっとバージョンが違うかもしれんけど
ttp://www.adobe.com/support/documentation/jp/flex/
> Flex 3ドキュメンテーション完全版
あたりが日本語のアーカイブではある
286Now_loading...774KB:2011/05/04(水) 00:36:01.95 ID:bwkuMxYM
>>284
DisplayObjectContainer.contains()とか?
287Now_loading...774KB:2011/05/04(水) 00:38:28.75 ID:F5zp0Fij
>>283
Papervision3Dライブラリを使っています
MyClassA→MyClassAA(→ParticleField→Particles→Vertices3D→DisplayObject3D→DisplayObjectContainer3D→flash.events.EventDispatcher)
MyClassB(→Plane→TriangleMesh3D→Vertices3D→DisplayObject3D→DisplayObjectContainer3D→flash.events.EventDispatcher)
Papervision3Dには
DisplayObjectContainer3D.addChild(child:DisplayObject3D)
というDisplayObjectContaimer.addChild(child:DisplayObject)のようなものがあり、
このメソッドでレンダリングするシーンに追加します

MyClassAとMyClassBは派生は違うものの同じ種類の働きのクラスとして作り、
メソッドiMethod()を合わせるためにインターフェイス(IMine)を実装しました

これにより
var hoge:IMineで
hoge.iMethod()を実行できるようなったのですが
このhogeを使って
scene.addChild(hoge)
もしたいと考えております
288Now_loading...774KB:2011/05/04(水) 00:49:58.99 ID:DcHQ8wBD
>>287
scene.addChild(hoge as DisplayObject3D)とかではダメなの?
289Now_loading...774KB:2011/05/04(水) 00:56:27.66 ID:wDkDCtE3
>>287
sceneというのが自分で書いたクラスだと仮定しますが、
IMineとDisplayObject3Dの両方のメンバにアクセスするのなら
両方(2つのパラメータで)渡すしかないでしょう
290Now_loading...774KB:2011/05/04(水) 01:20:52.02 ID:wDkDCtE3
失礼しました、sceneはライブラリ側っぽいですね

IMineからほとんどの主要機能が呼び出せるようになっていて
MyClassAとMyClassBをブラックボックスとして扱うクラスに実装するなら
IMine型の参照だけを保持し、IMineにgetDisplayObject3Dメソッドを登録して
MyClassAとMyClassBが自分を返せるようにしてはどうでしょうか

>>288で十分なような気もしますが
291Now_loading...774KB:2011/05/04(水) 01:28:58.24 ID:cGLk4JaC
>>286
var h:TextField=new TextField();
trace(contains(h));
layer.addChild(h);
とすると、contains(h)は常にfalseで、
contains(layer.h)とした場合、
layer.hはnullではいけませんというエラーが出ます。
どうしたらいいんでしょうか。
292Now_loading...774KB:2011/05/04(水) 01:35:44.17 ID:wDkDCtE3
layer.addChild(h);
なら
layer.contains(h)
だろう
293Now_loading...774KB:2011/05/04(水) 01:49:36.67 ID:cGLk4JaC
>>292
それが正しいですね。
ただ、traceの手前でaddChildした場合はtrueが確認できましたが、
>>291の処理(ボタン処理です)を繰り返すと、falseのままでした。
294Now_loading...774KB:2011/05/04(水) 01:57:03.35 ID:DcHQ8wBD
>>293
>>291を読む限り、TextFieldのインスタンスが毎回新しく作られてて
前回実行した時のhの中身とは別物なんだからfalseで当然
295Now_loading...774KB:2011/05/04(水) 02:07:34.83 ID:z3OqM8Vw
>>294
もういっそのことh.parentがnullかどうかで確認するとか
296Now_loading...774KB:2011/05/04(水) 02:20:54.42 ID:cGLk4JaC
うーん、できないorz
>>294
前回実行したときのhを指定したいときはどうするんでしょうか。
>>295
containsと同様に常にnullになります。
297Now_loading...774KB:2011/05/04(水) 02:28:12.09 ID:bwkuMxYM
>>296
newした時に必ずaddChildして、
removeChildした時に必ずnull代入するんじゃ
ダメなの?
298Now_loading...774KB:2011/05/04(水) 02:37:14.31 ID:cGLk4JaC
>>291のコードから
var h:TextField=new TextField();
を取り除いて、
この処理は一度だけ前段で実行してやると、
traceの結果は、
最初だけfalseで
あとはすべてtrueとなってくれました。

>>297
すいません。
ちょっと理解が追いつかないので、
わかりませんでした。
299Now_loading...774KB:2011/05/04(水) 03:51:47.60 ID:n72V56OX
http://nashiko.net/index.php?s=%E3%83%9C%E3%83%AA%E3%83%A5%E3%83%BC%E3%83%A0&x=0&y=0
このサイトのボリュームコントローラーの説明で「?」と文字化けいるところが1〜4どれなのか知りたいです。
全部で6つ「?」があります。上から順に123442でよろしいのでしょうか。
300Now_loading...774KB:2011/05/04(水) 05:32:46.76 ID:l6CMdu/B
>>276
それ他のボタンも同じソースなのか?
snd_○○の頭に全部_root.つけてみたら
301Now_loading...774KB:2011/05/04(水) 09:40:37.75 ID:rijfo2PY
TextBlockを使用して、入力した文字を画面に表示させることをしています。
英語を入力したときは問題ないのですが、日本語を入力した場合、
各行の文字間隔が行の幅に自動的に調整されておかしくなります。
どのように変更すればよいでしょうか?ソースは以下になります。

※なぜかこうなる?
あああああああ
あ     あ
あ  あ  あ


※こうしたい
あああああああ
ああ
あああ



302Now_loading...774KB:2011/05/04(水) 09:43:29.01 ID:rijfo2PY
var str1:String = m_cDlgMenuText.m_strMsg;//表示メッセージ
//フォント書式
var fontDescription:FontDescription=new FontDescription();
fontDescription.fontName = m_cDlgMenuText.m_strFont;
//エレメントのフォーマット
var format:ElementFormat = new ElementFormat();
format.locale="ja";
format.fontSize=m_cDlgMenuText.m_nStrSize;
format.fontDescription=fontDescription;
303Now_loading...774KB:2011/05/04(水) 09:45:06.36 ID:rijfo2PY
//テキストエレメントを作る
var textElement1:TextElement=new TextElement(str1,format);
//テキストブロックを作る
var textBlock:TextBlock = new TextBlock();
textBlock.textJustifier=new EastAsianJustifier("ja",LineJustification.ALL_BUT_LAST);
textBlock.lineRotation = TextRotation.ROTATE_0;

textBlock.content=textElement1;
var block_width:Number=300;
var textLine:TextLine=textBlock.createTextLine(null,block_width);
var xPos=m_cStartPoint.x;
var yPos=m_cStartPoint.y;

while (textLine != null) {
m_cSprite.addChild(textLine);
textLine.x=xPos;
yPos+=textLine.height+8;
textLine.y=yPos;
textLine=textBlock.createTextLine(textLine,block_width);
}
304Now_loading...774KB:2011/05/04(水) 10:06:42.82 ID:oI2tIZrj
>>301
アラインみたいなプロパティなかった?
305Now_loading...774KB:2011/05/04(水) 12:11:09.15 ID:1jt+hIIr
タイムラインを使わずに音楽の現在の再生時間を表示させる事はできますか?
306Now_loading...774KB:2011/05/04(水) 12:29:24.11 ID:bu8/uoZ/
>>305
ぜんぜんいみわからんけどたぶんできる
307Now_loading...774KB:2011/05/04(水) 12:29:53.63 ID:F5zp0Fij
>>305
ぜんぜんいみわからんけどたぶんできる
308Now_loading...774KB:2011/05/04(水) 12:49:51.25 ID:DcHQ8wBD
>>296
クラス内に変数用意して、そこに入れておくしかないんじゃない?
複数あるなら配列に入れて、containsで調べる時はループ回すとか
309Now_loading...774KB:2011/05/04(水) 15:55:19.89 ID:QcHqFCir
クラス内でpublicやprivateのメソッドの記述する順番って決めてる?
イベントハンドラは最初、とか
310Now_loading...774KB:2011/05/04(水) 16:56:45.27 ID:2tqYcQGk
50音順にしてる。
311Now_loading...774KB:2011/05/04(水) 17:26:02.74 ID:X90VdgEF
ねーよw
312Now_loading...774KB:2011/05/04(水) 20:19:15.67 ID:ZfGnraPg
WIN XP 、FLASH CS5、Papervision3D_2.1.932で3DFLASHに挑戦しています
外部からColladaとテクスチャを読み込んで動かすムービーが作れるようにはなりました
http://freett.com/c4dbeginner/DaeSample.fla
http://freett.com/c4dbeginner/DaeSample.as
http://freett.com/c4dbeginner/sample.dae
http://freett.com/c4dbeginner/Mat_Color.jpg
↑これをソースに出来たムービーが↓です
http://freett.com/c4dbeginner/DaeSample.swf

しかし今のままではswfファイルだけではなくColladaとテクスチャを常に同じフォルダに置く必要があるため、
swfファイルの中にColladaとテクスチャを埋め込むスクリプトを書きたいと思っています
調べた結果どうもEmbedという命令を使うようなのですが、FLASH AS3の解説本にはあまり書いてありません
サイトもあちこち見て回って
たとえばこのサイトを頼りに
http://rakuda-factory.sakura.ne.jp/tips_pv3d_1.html
こういうスクリプトを書いて見たのですが
http://freett.com/c4dbeginner/DaeSample.as
行 13 1013: private 属性はクラスプロパティの定義でのみ使用できます。

といったエラーがでて動作しませんでした

FLASHでColladaファイルをswfに埋め込むにはどういった形でスクリプトを書けばいいのでしょうか?

上に自分のファイルをアップしましたのでお手本を書いてもらえないでしょうか
313312:2011/05/04(水) 20:20:54.82 ID:ZfGnraPg
失礼しました
自分が試しに書いてみた(機能しない)埋め込みスクリプトはこちらです
http://freett.com/c4dbeginner/DaeSample2.as
314Now_loading...774KB:2011/05/04(水) 20:35:54.24 ID:DcHQ8wBD
>>313
コンストラクタの中にあるEmbedを外に出せばいいと思う
315Now_loading...774KB:2011/05/04(水) 20:50:05.81 ID:ZfGnraPg
>>314
ありがとうございます
コンストラクタの外に出し、
Mat_Color.jpgのアンダーバーも抜けていたので直しました

しかし「FlexSDKが必要となります」というメッセージと

DaeSample_dae_image.as、行 10 1017: 基本クラス BitmapAsset の定義が見つかりませんでした。
E:\flash\collada読み込み\新しいフォルダ\DaeSample.as、行 1 5000: クラス 'DaeSample' は 'flash.display.MovieClip' をサブクラスとする必要があります。同じ型のライブラリシンボルにリンクしているためです。

というメッセージが出てしまいました
FlexSDKとはなんでしょう?FLASH CS5だけではだめなのでしょうか
316Now_loading...774KB:2011/05/04(水) 20:51:50.40 ID:ZfGnraPg
直したasはこちらです
ここがだめというのがあれば添削お願いします
http://freett.com/c4dbeginner/DaeSample3.as
317Now_loading...774KB:2011/05/04(水) 21:55:59.51 ID:ZfGnraPg
画面の指示に従いFlexSDKパスを追加したところ、エラーは出なくなり
swfファイルも出力されました
http://freett.com/c4dbeginner/DaeSample2.swf

>>312のファイルは113kb、今回のは154kbなので
Colladaが読み込まれたのかな?と期待したのですが
Mat_Color.jpgとsample.daeのないフォルダでDaeSample2.swfを再生すると真っ白になってしまい読み込まれていません
Mat_Color.jpgとsample.daeのあるフォルダでDaeSample2.swfを再生すると数字の書かれた赤いさいころが出るのですが…

何が間違っているのでしょう?
318Now_loading...774KB:2011/05/04(水) 22:33:14.93 ID:DcHQ8wBD
>>317
埋め込んだの使って無いじゃん
「Flash embed mp3」とかでググってみるといいかも
mp3の埋め込みでも基本は同じだから
319Now_loading...774KB:2011/05/04(水) 23:22:40.87 ID:ZfGnraPg
http://www.yukun.info/blog/2008/10/actionscript-embed-mp3-sound-swf-flash.html
このmp3用のページを見て最初から作り直してみましたがどうもうまく行きません
http://freett.com/c4dbeginner/DaeSample5.as

行 18 1151: 定義 dae (名前空間 internal) にコンフリクトが存在します。
というエラーが出てしまいます
320Now_loading...774KB:2011/05/05(木) 01:38:33.15 ID:otq5z3k5
videoクラス(FLVPlayBack使わない)でビデオプレイヤー作ってるんだけど
.bytesTotalがどうしても取得できない、bytesLoadedは取得できてて、合計時間や現在の再生フレームなんかも取れるのに
どうしてもbytesTotalだけが取れない
ぐぐってサンプル見つけてもエラーで動かなかったり、取得できなかったりしてます

bytesTotal取れるお手本教えてください(FLVPlayBack使わない方法で)
本当に簡単なやつでいいですので、それだけ教えてください、もう4日も悩んでます、お願いします
321320:2011/05/05(木) 01:39:45.70 ID:otq5z3k5
FlashCS4 AS3.0です
322Now_loading...774KB:2011/05/05(木) 04:33:29.46 ID:FpJ4uNN6
AS2.0ですが、BGMが最後まで行くと停止して最初に戻りたいのです。
ただしBGMはMCをクリックして鳴らすためタイムライン上でthis.stop();とかは出来ません。
323Now_loading...774KB:2011/05/05(木) 06:23:03.24 ID:TIb/sfcK
バナーゼストというソフトで作ったswfファイルを複数用意し、メインswfのボタンで呼び出して読み込ませたいのですが、どういう訳かインスタンスを指定すると呼び出せません。
とりあえず以下のサイトの手順でやってみたのですが、やはりインスタンスが指定出来ません。
324つづき:2011/05/05(木) 06:25:05.33 ID:TIb/sfcK
インスタンスを指定しないでボタンで読み込むとボタン部分が消え、読み込んだswfファイルだけが表示されます。
外の方法でボタンを使い、フレーム表示のように外部swfを呼び出す方法はありますでしょうか?
http://orange.2-d.jp/flash/action/15_swf_load.html
http://flashrave.org/as/loadmovie/
325Now_loading...774KB:2011/05/05(木) 07:02:44.00 ID:eOI2Cyew
>>320
対象の動画をもう一度作り直す事をオススメするかな。
動画エンコ時にメタデータミスって値がおかしくなるのはよくある。
326312:2011/05/05(木) 08:39:49.46 ID:AZr/wVp2
昨晩の>>312です
>>318さんのアドバイス通りmp3の埋め込みページ>>319を参考にして
どうにかCOLLADAの埋め込みに成功しました
http://freett.com/c4dbeginner/DaeSample.fla
http://freett.com/c4dbeginner/DaeSample.as
http://freett.com/c4dbeginner/sample.dae

しかしマテリアルがついて来ません
http://rakuda-factory.sakura.ne.jp/tips_pv3d_1.html
このページを参考にして
http://freett.com/c4dbeginner/DaeSample3.as
このようにしてみたのですが
行 23 1046: 型が見つからないか、コンパイル時定数ではありません : Bitmap。
行 23 1180: 未定義である可能性が高いメソッド Bitmap の呼び出しです。

と言われてしまいます
何度も質問して申し訳ありませんが
どこが悪いのかアドバイスいただければと思います
327312:2011/05/05(木) 08:43:16.58 ID:AZr/wVp2
>>326のリンクは間違っていました
オブジェクトを読み込めるようになったのは
http://freett.com/c4dbeginner/Daetest.fla
http://freett.com/c4dbeginner/Daetest.as
http://freett.com/c4dbeginner/Daetest.swf

http://rakuda-factory.sakura.ne.jp/tips_pv3d_1.html
を参考にマテリアルを追加してみたのは
http://freett.com/c4dbeginner/Daetest3.as
です
よろしくお願いします
328Now_loading...774KB:2011/05/05(木) 09:41:09.13 ID:ERj/4a3I
行 xx 1046: 型が見つからないか、コンパイル時定数ではありません : Hoge。
行 xx 1180: 未定義である可能性が高いメソッド Hoge の呼び出しです。

Hogeクラスをインポートせずに使おうとすると出る
329Now_loading...774KB:2011/05/05(木) 09:53:27.19 ID:ERj/4a3I
>>323
全然いみわからん

 言語は2.0?
>やはりインスタンスが指定出来ません
インスタンスを指定するとはどういう意味か swfを読み込む先?
指定できないとはどういう意味か エラーメッセージが出るのか思ったように動かないのか

外の方法?フレーム表示のように?

とりあえずurlとまったく同じように作ってみたら?
swfもサンプル使って
んで次にバナ−ゼストのswfと差し替えてみる
330Now_loading...774KB:2011/05/05(木) 10:07:59.84 ID:ERj/4a3I
>>322
>BGMが最後まで行くと停止して最初に戻りたいのです。
何を停止して何を最初に戻らせたいの?
BGM?タイムライン?

BGMをループさせたいだけだったら再生時に指定できるけど
まあとりあえずttp://hakuhin.jp/as/sound.html#SOUND_03

331Now_loading...774KB:2011/05/05(木) 10:16:42.23 ID:a7Tr1P3K
>>310
まじめにこたえてください><
なんか決まりというか定番ないのかな
自分の中でルール決めるにしても一般的な指標がほしいな
ゲッセッター
イベントハンドラ
private
public
332312 :2011/05/05(木) 10:41:38.83 ID:AZr/wVp2
>>328
312です
アドバイスありがとうございます
ということはこの場合は「Bitmapクラスをインポートする必要がある」ということでしょうか
http://rakuda-factory.sakura.ne.jp/tips_pv3d_1.html
このページでは特にそれについての記述はないようですが
import org.papervision3d.materials.*;
import org.papervision3d.materials.utils.MaterialsList;
以外に何をインポートすればいいのでしょうか
もう少しヒントをください
お願いします
333Now_loading...774KB:2011/05/05(木) 10:50:40.68 ID:eOI2Cyew
型が見つからないって言ってんだから、とりあえずそれっぽいの一通りインポートしてみたらどうだい。
334Now_loading...774KB:2011/05/05(木) 11:13:08.99 ID:ERj/4a3I
>>332
だってそのページにはpapervisionのクラスのimportだって書いてないじゃん
そこまでわかってるなら「Bitmap」クラスの「完全修飾クラス名」調べてimportするだけなんだが

クラスファイル内で同ディレクトリにない他のクラスを使うには全部インポートしなくちゃいけないんだよ
ActionScript3.0の基本をもうちょいしっかりやったほうがいいかも

CS5使ってんならflashdevelope使うとかなり便利になるよ
335Now_loading...774KB:2011/05/05(木) 11:33:09.35 ID:cJnZg0DT
>>322
bgm = new Sound();
bgm.attachSound();
bgm.start();
bgm.onSoundComplete = function(){
bgm.start();
};

パスの指定は自分で変えてね
336Now_loading...774KB:2011/05/05(木) 11:41:29.06 ID:AZr/wVp2
>>333
>>334
確かにおっしゃるとおりまだ始めたばかりで基礎がわかっていないところがあると思います
ActionScriptやPeprevison3Dの本もいくつか買ったのですが載っていなかったりわかりにくいところが多く
周りに詳しい人もいないので・・
FlashDevelopのことも今初めて知りました
これから導入してみたいと思います

調べたところBitmapクラスの上位クラスらしいdisplayクラスをインポートしたところ
import flash.display.*;
エラーは出なくなりました
しかし出力されたswfにはやはりマテリアルがついて来ません
http://freett.com/c4dbeginner/Daetest8.as
http://freett.com/c4dbeginner/Daetest6.swf
あとは何が足りないのでしょう・・・?

337Now_loading...774KB:2011/05/05(木) 11:59:34.01 ID:ERj/4a3I
とりあえずそれはdisplayクラスをインポートしているわけじゃないんだぜ

Mat_Color.jpgは消しちゃった?
見れない
338Now_loading...774KB:2011/05/05(木) 12:02:45.69 ID:AZr/wVp2
>>337
えっそうなんですか・・
http://freett.com/c4dbeginner/Mat_Color.jpg
消えていました失礼しました
上げ直しました
339Now_loading...774KB:2011/05/05(木) 12:07:23.43 ID:AZr/wVp2
http://www.rcc.ritsumei.ac.jp/~romer30/seminar/actionscript30/class.html
このページで
たとえばflash.displayパッケージ以下のクラスを扱いたい場合は。
import flash.display.*;
のように書きます。

と書いてあったのでやってみたのですが
displayクラスのインポートとは違っていたのでしょうか
340Now_loading...774KB:2011/05/05(木) 12:10:50.17 ID:AZr/wVp2
>>338のMat_Color.jpgがふりちけの同じフォルダにあるので今
http://freett.com/c4dbeginner/Daetest6.swf
にはテクスチャがついていますが
Daetest6.swfだけをダウンロードするとポリゴンだけになってしまいます
埋め込みは出来ているはずですがマテリアルの適用が出来ていないということでしょうか
341Now_loading...774KB:2011/05/05(木) 12:36:59.65 ID:ERj/4a3I
>>339
displayパッケージのクラスを全部インポートするよって意味
まあそれでBitmapクラスは使えるようになるから大丈夫

たしかに埋め込みはできているけどポリゴンには適用されていないね
ためしにMat_Color.jpg→Mat_Color1.jpg
にしてasファイルのEmbedもそれに直してコンパイルすると
同じフォルダにあってもワイヤーフレームになる

dae開くと
<library_images>
<image id="ID5">
<init_from>tex/Mat_Color.jpg</init_from>
</image>
</library_images>
ってあるから、つまりdae側でマテリアルのjpgを指定している状態だから
埋め込み画像を使っていたわけじゃないんだね。

もうちょい調べてみる
342Now_loading...774KB:2011/05/05(木) 12:38:46.03 ID:AZr/wVp2
ありがとうございます!
343Now_loading...774KB:2011/05/05(木) 13:17:17.37 ID:ERj/4a3I
http://rakuda-factory.sakura.ne.jp/tips_pv3d_1.html
>myMaterials.addMaterialメソッドで設定している「Material_1」は
><COLLADA>−<library_effects>−<effect>のname属性を指定しています。
これだよなあ
ttp://aaharu.blogspot.com/2009/07/pv3dflexcolladadae.html
このへんみてsample.daeのマテリアル割り当てのname探したけどよくわからんかった


とりあえず
myMaterials.addMaterial(new BitmapMaterial(material0.bitmapData),"Material_1");

myMaterials.addMaterial(new BitmapMaterial(material0.bitmapData),"all");
にしたら望みの動作はしたよ


あと
var dae:DAE = new DAE( XML(new ndae));
こいつのせいで警告でてるよ。引数はいらない
344Now_loading...774KB:2011/05/05(木) 14:40:59.32 ID:AZr/wVp2
>>343
ありがとうございます!
何度も質問してすみませんでした
他のアドバイスいただいた方もありがとうございました
もう一度基本から勉強して今後はご迷惑かけないよう頑張ります
345Now_loading...774KB:2011/05/05(木) 14:50:09.57 ID:AZr/wVp2
var dae:DAE = new DAE( XML(new ndae));

これを
こう直したところ警告も出なくなりました

var dae:DAE = null;
dae = new DAE(false,"",false);

ありがとうございました!
346Now_loading...774KB:2011/05/05(木) 15:30:27.95 ID:FpJ4uNN6
>>330,335
ありがとうございました!
更に質問なんですが、一時停止と再生のボタンをつくていてうまくいきません。
音楽のインスタンス名はsoundです。

一時停止ボタン:A
on (release){
pause_point1 = root.sound.Sound.position;
_root.sound.stop();

再生ボタン:B
on (release) {
_root.sound.start(pause_point1 /1000);
pause_point1=0;
}
一時停止はするんですが、再生ボタンを押したら最初から再生してしまいます。
どこが間違っているのでしょうか。
347Now_loading...774KB:2011/05/05(木) 15:37:47.97 ID:yAd/r1yg
>>346
「as2なら」一時停止はpause()だったはず。再開もpause()なので注意
348Now_loading...774KB:2011/05/05(木) 15:52:05.61 ID:FpJ4uNN6
>>347
ありがとうございます。
pause();は初耳で使い方がよく分からなかったので、stopの代わりに入れたりon(release){pause();}
にしてみたりしたんですが止まらないのは、何か書き忘れでしょうか。
349Now_loading...774KB:2011/05/05(木) 17:02:52.35 ID:cJnZg0DT
>>346
ボタンAの2行目は
pause_point1 = _root.sound.position;
あとボタンがMCならpause_point1にパス入れないとダメ
350Now_loading...774KB:2011/05/05(木) 17:21:22.93 ID:cJnZg0DT
都知事と同じ名前の
351Now_loading...774KB:2011/05/05(木) 17:24:40.75 ID:yAd/r1yg
>>348
ああ、他にもいくつか間違ってるな。一応こうすれば動くことを確認した。

フレームアクション
var pause_point1= 0;
var sound = new Sound();
sound.attachSound(サウンドのリンケージ名);

停止ボタン
on (release) {
_root.pause_point1 = _root.sound.position;
_root.sound.stop();
trace(_root.pause_point1);
}

再生ボタン
on (release) {
_root.sound.start(_root.pause_point1 / 1000);
_root.pause_point1=0;
}
352Now_loading...774KB:2011/05/05(木) 18:50:23.27 ID:WGdQl6ma
ActionScriptって何のツールで開発してますか?
お金ないからFlashDevelopで勉強してますが、実際の開発現場では
何のツールが主流なんでしょうか。
やっぱりFlashProfessional買わないとダメですか?
353Now_loading...774KB:2011/05/05(木) 19:09:24.74 ID:ma+fyu3t
絵がかけることとコンポーネント以外にメリットないんじゃね
WebサイトつくるならadobeCSだろうな
354Now_loading...774KB:2011/05/05(木) 20:00:33.48 ID:4IppW0KE
>>352
まぁ開発要件に拠るわね
どんな仕事とるかも会社によって違うだろうし
355175:2011/05/05(木) 20:26:57.28 ID:e3134Z8X
ちょっと情報を整理しました、相対パスに関する質問です

HTMLの一部(http://www.testsite.com/html/index.html)
<base href="http://www.testsite.com/" />
<object data="./swf/sample.swf" width="640" height="320" type="application/x-shockwave-flash">
<param name="movie" value="./swf/sample.swf" />
<param name="base" value="./image/" />
</object>

ActionScript3.0コードの一部(http://www.testsite.com/swf/sample.swf)
var loader:Loader = new Loader();
loader.load(new URLRequest("background.png"), null);

このとき、画像ファイルの取得先のURLは
http://www.testsite.com/image/background.png
となりましが、これをloadを実行する前に求める方法はありますでしょうか
356Now_loading...774KB:2011/05/05(木) 20:43:48.86 ID:yAd/r1yg
>>355
この例において、画像のURLに含まれる
/image/
というディレクトリの名称はどこから得るのだろうか。
「それを得る方法を知りたい」のであれば、答えは「出来ない」。
通常、サイトのディレクトリ設計を行い、読み込む画像のディレクトリを
固定し、そのパスをスクリプト内に定数として設定しておくと良いだろう。

蛇足ながら、特にベースをいじらなければ、相対パスは
「htmlのある位置」を起点に昇り降りする。swfの位置ではない事に注意。
357Now_loading...774KB:2011/05/05(木) 20:52:40.03 ID:yAd/r1yg
>>352
自分の場合、スクリプト書きだけなら、FlashDevelop一択。
コンパイル(パブリッシュ)はFlashの製品を使う。

ただ、Adobeの提供しているSDKにコマンドラインのコンパイラが
含まれてなかっただろうか? それを使えば無料のはず。
俺自身は、そんな不便なものを使うなら、何万円か払ってでも
製品を買う方を選ぶが。
358Now_loading...774KB:2011/05/05(木) 20:56:02.77 ID:e3134Z8X
>>356
回答ありがとうございます
> /image/ というディレクトリの名称はどこから得るのだろうか。
どこからも得られそうに無いので困っていますが、>>175の通り
ロードが成功するとloaderInfo.urlにフルパスが入っています
WindowsAPIで言うところのGetCurrentDirectoryが返すような値が
プラグイン側になければ不可能なはずですが、何とか取得できないでしょうか
359Now_loading...774KB:2011/05/05(木) 22:01:26.24 ID:FpvSym1R
>>358
なんかと連携させることは考えた?
360Now_loading...774KB:2011/05/05(木) 22:07:00.87 ID:e3134Z8X
>>358
HTMLにどんなコードが書かれていても関係なくアクセス先を求めたいので
HTML側との通信はあまり視野に入れていません
サイト構成を自分で構築できるのなら全部固定にしておく方が早いです
Flashプラグインが相対パスから絶対パスを求めるための基準にしているベースパスが取得したいのです
361Now_loading...774KB:2011/05/05(木) 22:49:14.77 ID:yAd/r1yg
>>360
このあたりから探ってみて。お望みの情報があるかどうかはわからないけど。
ttp://bit.ly/jDkOo0
362Now_loading...774KB:2011/05/06(金) 09:48:39.44 ID:fLowWZwS
AS3でhogeフォルダのhageクラスとhigeクラスを参照するとき
import hoge.hage;
import hoge.hige;
と書いていたのを
import hoge.*;
と書くようにした場合、(hogeフォルダに他にいくらかのasファイルが存在するとして)
処理速度や実行ファイルのサイズなどに違いは出るでしょうか?
それともコンパイル速度に影響を与える程度でしょうか?
363Now_loading...774KB:2011/05/06(金) 10:06:48.92 ID:vtdX+OXQ
CS4 使ってますが、突然、オブジェクトを作成するときに線だけになりました。
あとからの塗りつぶしも出来ないのですが、原因わかりますでしょうか?
バケツをドロップすると鍵マークになります。
オブジェクトの吸着や、塗りの / 線などもチェックはしています。
364Now_loading...774KB:2011/05/06(金) 10:28:40.06 ID:nNlw0fFW
>>362
必要なクラスだけコンパイル時にimportされるから実行時には問題ないらしいよ


ENTER_FRAMEイベントってどこに割り当てても一緒だよね
クラスのオブジェクトにdispatchする必要なくない?
ぜんぶstageとかでいいじゃん
365Now_loading...774KB:2011/05/06(金) 12:33:41.11 ID:HZk9S2L7
>>364
レスありがとう
そうするとワイルドカード(*)を使用した方がコードも短くなるし面倒も無い感じですよね
ネットのソース色々見ててわざわざクラス一個毎にインポートしているコードが多かったので
なんでかなーと思って…明示的にして分かり易くするためなのかな
366Now_loading...774KB:2011/05/06(金) 13:56:42.13 ID:N6eFRpNa
余計なの読み込むよりは軽いんじゃね
367Now_loading...774KB:2011/05/06(金) 13:58:53.36 ID:N6eFRpNa
と思ったけど、上で書いてたけど仕分けしてくれるのか。
ただ書き方悪いのか*だとダメな時もあるなぁ。
368Now_loading...774KB:2011/05/06(金) 16:59:06.99 ID:qUOBN8YR
>>367
俺もある

余談だけど、今直面してるのは、テストでうまく行ったソースを組み込んだら
エラー吐かずに動作はするけど、期待した通りの動きにならず、
traceしたらその直前で止まってる
前にもあったけど、別のPCでやると問題なくうまく行く時とかもある、なんだこれ?
369sage:2011/05/06(金) 17:39:51.28 ID:ula54H3j
すいません!fl.controls.DataGridについて教えてください。
IDという名前のカラムを上から順番になめて、IDが同じだったら
その行の値を更新する、という処理が記述したいです。
特定の行の値を修正するメソッドはeditFieldでできる事が分かったのですが・・・

getItemAt(0)とか、toArrayとか試してみましたが、どれも中身が空っぽで
値が取得できません・・・

370Now_loading...774KB:2011/05/06(金) 18:58:07.73 ID:1Cpb2HVx
>>368
今日直面したんだけど
パッケージ名と変数名がかぶると変な動作になることが・・

>>369
具体的にどの操作が現状できてないのか知らんが
http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/fl/controls/DataGrid.html#editField()
ここ読みゃできるっしょ
371Now_loading...774KB:2011/05/06(金) 20:44:39.08 ID:8DNmHXfr
FLASHcs5なんですが、
AIRの終了からの起動の動作のテストをするためには、
実際にAIRアプリにしてインストールしないとダメなんですか。
372Now_loading...774KB:2011/05/06(金) 21:49:13.01 ID:hQormDu+
>>368
Flashはシングルスレッドだけど、ファイルの取得やら展開やらを任意のタイミングで行えないから
実行するたびにイベントが発生する順番が前後になったりする。
ある端末では展開の方が速く、別の端末ではタイマー系イベントが早いとか、
そもそも展開自体が順不同で完了したりするんで、そういうのを確認できるテストコードを埋め込んでみたら?

あとはFlashのバージョンが違うとかメモリ不足とか
373Now_loading...774KB:2011/05/06(金) 23:51:06.97 ID:Z9kFvpCe
すみませんどこに質問したら良いか分からなくてflashゲームのスレで質問してみたらここに誘導されたものです

こんな感じのパズルゲームなんですけど
http://homepage2.nifty.com/GIZMo/jigsaw/puzzle1/puzzle1.html
自分の好きな画像を読み込ませて使いたいです(こんな感じで)
http://homepage2.nifty.com/GIZMo/jigsaw/haifu/puzzle0/index.htm
こういうflashのプログラムを販売してる所って無いですか?

用途としてはホームページに発行元のリンクなしで埋め込み?リンク?したいです。
宜しくお願いします。
374Now_loading...774KB:2011/05/06(金) 23:53:57.55 ID:LMdbGElJ
auのFlashLite2.0携帯からloadVariables関数を実行して外部通信できずに困っています。

auのFlashLite3.0やDocomoのFlashLite3.0携帯では同ソースで外部通信が成功しているのですが
auのFlashLite2.0の環境から通信するとHTTPサーバーへのリクエストも飛ばずにエラーとなります。
auFlashLite2.0機種でも、外部通信以外のプログラムは正常に動作しておりloadVariables関数のみが動きません。
数機種試して貰ってるのですがFlashLite2.0対応の全てのau機種でloadVariables関数が動きません
Device Centralのエミュレーター環境では「FTPA003 loadVariables は無視されます。」というエラーが表示されます。
実機で試して貰ってもauの2.0機種では通信できずにアプリが止まります。
375Now_loading...774KB:2011/05/06(金) 23:54:41.71 ID:LMdbGElJ
>>374続き

http://emor.in/dev/?p=706」を参照して次の対応をしているのですがloadVariables関数が動きません。

・FlashLite3.0までは勝手にパケット代が加算されないように、ユーザーがボタン操作した時じゃないと
Flashから外部サイトにアクセスできない制限がある。なのでonKeyDownイベントの中に1度だけloadVariables関数を実行しています。

・loadVariable関数のターゲットは「_root」にしGETで投げる。

・PHPでは「header("Content-type: text/plain");」でデータを返してますが、HTTPサーバの
ログにloadVariablesのリクエストが来てる形跡がありません。

auで外部通信する場合の留意点やサンプルソースがありましたら教えてください。
376Now_loading...774KB:2011/05/06(金) 23:55:19.08 ID:LMdbGElJ
>>374続き

環境:FlashLite2.0(ActionScript2.0)、FlashDevelop+FlexCDK
ソース部分
var myListener:Object = new Object();
myListener.onKeyDown = function() {
_root.onData = function() {
trace(_root.sgf); //通信が成功した場合の処理部分
}
loadVariables(sgfurl, _root, "GET"); //sgfurlは外部アクセス先
}
Key.addListener(myListener);
377Now_loading...774KB:2011/05/07(土) 18:34:52.97 ID:LiQcYL4Y
バナーゼストで書き出したswfファイルが、親swf上で呼び出す場合にインスタンスのオプションがつけられないと書いたものです。
何度やってもだめで、アップしましたので教えて頂けると助かります。
",1"",2"などの階層オプション もだめでした
http://www1.axfc.net/uploader/Flash/so/1833
バナーゼストで作ったファイルです
378Now_loading...774KB:2011/05/07(土) 19:44:41.76 ID:4ymyy8WR
ムービーだけもってこられても…
379Now_loading...774KB:2011/05/07(土) 21:39:57.97 ID:E/7QTvb3
>>376
AUの2.0は無理

>>377
バーカ
380320:2011/05/08(日) 02:17:34.50 ID:0v5J1vC5
AS3.0
cgiとかのURL(.php?file=hoge.m4vとか)でアクセスしたら.m4vとか.flvとかのデータが飛んでくるんだけど、
これをFLVPlaybackやvideoクラスで再生するにはどうしたら出来ますか?
現在はファイルそのもののURLなら再生する事が可能な状態です。
ちなみにファイル直リンクURLはわかりません。

また仮にこれを再生出来たとして、どこから飛んできてるかURLを取得する事ができますか?
381320:2011/05/08(日) 02:19:50.93 ID:0v5J1vC5
>>325
ありがとうございました、遅くなりましたが解決しました
以前レスいれたと思ったのに入ってなかった、申し訳ない
382377:2011/05/08(日) 04:53:43.78 ID:fgUvCI6M
なんどもすみません。
該当ファイルと、flaファイルなどをまとめてあげてみました。
内容は、メインのswfと、cs4,バナーゼストそれぞれで書き出したファイルとなっています。
http://www1.axfc.net/uploader/Sc/so/231906.zip
わかる方いましたら、よろしくお願いします。
383Now_loading...774KB:2011/05/08(日) 17:59:03.36 ID:KVw4LRtD
actionscript3.0で、XMLについてなのですが
<root>
 <aaaa>
  <title>title1</title>
  <bbbb>
   <c1>111</c1>
   <c2>222</c2>
  </bbbb>
 </aaaa>
 <aaaa>
  <title>title2</title>
  <bbbb>
   <c1>333</c1>
   <c2>444</c2>
  </bbbb>
 </aaaa>
</root>

このXMLの111の値を取りたくて trace( xml.aaaa[0].bbbb.c1 ) とやってみたのですが、結果が <c1>111</c1> となってしまいます
このc1タグを取り外して中身の111を扱いたいのですが、どのようにすればタグを外せるのでしょうか?
また trace( xml.aaaa[0].title ) とすると title1 と中身だけが出てきたのですが、このタグが付く・付かないの違いはなぜ起こるのでしょうか?
384Now_loading...774KB:2011/05/08(日) 18:40:03.83 ID:rnW6SjPC
>>383
普通に111だけとりだすはずだけどなあ?
XMLノードの表現出力する場合は、trace( xml.aaaa[0].bbbb.c1.toXMLString())だけど。
その辺ちゃんと階層構造になってないんじゃね?
他のXMLパーサに読み込ませてXML的に合ってるか確認してみたら?
385Now_loading...774KB:2011/05/08(日) 19:02:00.63 ID:9nKCAD+u
>>379
AUのFlashLite2.0でloadVariablesが無理というのはどこかに情報載ってますでしょうか?
自力検証した結果ですか?
386Now_loading...774KB:2011/05/08(日) 19:15:37.42 ID:r8zymY7s
FLEX4で、for文で1000回ループする処理があるんですけど、
処理に時間がかかるんで処理中は画面が音沙汰なしになります。
そこで、Labelに何回目のループかを表示させようとしたら、
ループを抜けたときにだけ表示されてしまいます。
ループ中にも画面反映するには、どうやればいいんでしょうか?
387Now_loading...774KB:2011/05/08(日) 19:18:12.03 ID:WqDi26xn
>>385
今公式見てみたら、loadMovie()/loadVariables()で読み込みできるのはswfのみってなことが書いてあったけど
そこら辺の問題じゃないのか?
388Now_loading...774KB:2011/05/08(日) 19:18:15.08 ID:YQxTMOEH
>>386
ループ抜けるまでは、描画処理は更新されないから無理じゃね?
ループを分割するとか、別の方法で
389380:2011/05/08(日) 19:20:38.45 ID:0v5J1vC5
再度videoクラスで確認したところ、videoクラスで組んだものは正常に再生でき、
FLVPlaybackで組んだものは再生されずに止まってしまう事を確認しました
FLVPlaybackで再生する方法ありませんか?
390386:2011/05/08(日) 19:24:30.49 ID:r8zymY7s
>>388
ありがとうございます。
やはりループ内の再描画なしですか。別の方法を考えます。
391Now_loading...774KB:2011/05/08(日) 20:13:40.95 ID:VUxpUUzc
flashのステージ上に配置されている全てのインスタンスを
AcrtionScriptで取得する方法はありますでしょうか?

box2Dでステージ上のインスタンスのサイズや座標を元に
box2Dのワールドに物体を配置することを考えています。

この考え方自体非効率的なのでしょうか?
392Now_loading...774KB:2011/05/08(日) 20:18:27.50 ID:rnW6SjPC
聞く前にやってみろよそんなもんアホか
393Now_loading...774KB:2011/05/08(日) 20:34:36.57 ID:VUxpUUzc
現在インスタンス名を直打ちで指定し座標とサイズをスケーリングしbox2Dのワールドに配置しています。
この方法では今後いささか冗長と思われるので、代替する方法を模索しているというのが本来の趣旨です。
394Now_loading...774KB:2011/05/08(日) 20:49:04.86 ID:vHUxChio
>>388
これ地味に辛いよね、プログレスバーやローディングアイコンも更新できなくて
ループで回してるならまだ「時間経過を見て長すぎたらタイマー予約して一旦処理を返す」
とかできるけど、Loader.loadBytesで巨大なテクスチャを不特定多数展開しようとなると
一度に何枚まで実行していいか判断に困る
395Now_loading...774KB:2011/05/08(日) 21:31:57.96 ID:CFFCjETR
cs5のair2なんですけど、
インストーラで発行者IDという項目が不明となるんですが、
どうすればIDをつけられるんですか?
ヘルプを見ましたが設定すべき項目がどこかわかりませんでした。
396Now_loading...774KB:2011/05/08(日) 23:18:00.97 ID:s/A28QQF
javaのfinalのように、constは参照の変更を禁止するだけですか?
自分で試したいんですが、まだどんなクラスがあるのか全くわからないので...
397Now_loading...774KB:2011/05/08(日) 23:38:47.40 ID:WqDi26xn
398Now_loading...774KB:2011/05/08(日) 23:47:12.82 ID:hgd9vlWw
変数の指してるメモリアドレスって実行中取得できる?
399Now_loading...774KB:2011/05/08(日) 23:51:27.67 ID:WqDi26xn
>>398
できない
400Now_loading...774KB:2011/05/08(日) 23:56:36.65 ID:hgd9vlWw
>>399
そっかthx
ほんとにちゃんと同じもの指してるのかとかtraceしたかったんだが
===とか使うしかないのか
401Now_loading...774KB:2011/05/09(月) 00:31:36.87 ID:gMY0hjUY
>>383
同じアプリの開発中にもタグがついたりつかなかったり変わる。
原因は今のところ不明。
xml.aaaa[0].bbbb.c1.toString() で目的の表示になると思う
402Now_loading...774KB:2011/05/09(月) 06:22:29.06 ID:6GBZRSoS
onClipEventイベントハンドラを使いたいのですが、記述場所がわかりません。
main関数の中に記述すれば良いのでしょうか?下記記述ではコンパイルエラーになってしまいます。

class test {
static function main() {
onClipEvent(keyDown) {
trace("test");
}
}
}

環境:FlashLite2.0(ActionScript2.0)、FlashDevelop+FlexCDK
403Now_loading...774KB:2011/05/09(月) 12:57:34.83 ID:azIxOCqS
>>402
onClipEventハンドラは、インスタンスに書くんだよ
AS2.0なら敢えて使う必要はないと思うが、何か理由があるの?
AS2.0なら、かわりにonMouseDownとかなんかそんなのがあったはず
404Now_loading...774KB:2011/05/09(月) 15:27:34.58 ID:6GBZRSoS
>>403
>>376のloadvarsがau端末で動かない原因が、ボタンインスタンスのイベントに記述していないから
ではないかと予想しているのですが、asファイル中からのボタンインスタンスの作成方法が分りません。
現在はMovieClipに画像を読み込んでボタンライクに利用していますが、FlashProfessionalで言うところの
「シンボルに変換→種類:ボタン」にあたるActionScriptの書き方及び、インスタンスへのイベントの挿入方法
はどのように行えば良いのでしょうか?
実際に使いたいのは「on (release)」イベントですが、まずは「onClipEvent」イベントが動作するかを
試しています。
405Now_loading...774KB:2011/05/09(月) 21:15:57.97 ID:OOuC18df
as3からsoapを呼び出したいのですが、どのようにすれば良いのでしょうか?
webserviceというクラスがありますが、情報が少なく使い方がわかりません
406Now_loading...774KB:2011/05/09(月) 21:49:45.67 ID:lLIlGksU
MovieClipがアニメーションしなくて困ってます。以下の手順で再現
1. 新規flashドキュメントを作成。
2. 画面左上に100x100ドット程度の四角を描画。それをシンポルに変換し、名前を Symbol1、インスタンス名を obj1とする
3. タイムラインの2フレーム目を右クリックし、「キーフレームの挿入」を実行。obj1 を右下に移動
4. 保存して実行。obj1が 左上<=>右下 と交互に高速に移動し続けている事を確認
407Now_loading...774KB:2011/05/09(月) 21:50:09.83 ID:lLIlGksU
(つづき)
5. 実行を終了し、タイムラインの1フレームを右クリックし、アクションをクリック
6. 1フレーム目のコードとして "obj1.width = 1;" を記述する
7. 保存して実行。obj1は縦長の線になり、左上で停止している。

期待する動作は、手順7において、obj1が縦長の線のまま、左上<=>右下 と移動する事です。
環境は Windows版 Cs5です。よろしくお願いします。
408380:2011/05/10(火) 11:27:54.03 ID:CoxDP2y+
自己解決しました
409Now_loading...774KB:2011/05/10(火) 16:06:36.10 ID:OV1GcIKV
Device CentralのエミュレートでSWFのURLを直接開いたのに、インタラクティブモードで開くことができません。
コンテンツタイプはブラウザになっています。

ステージにボタンを作り「Selection.setFocus」でボタンにフォーカスをあてています。
FlashProfessionalCS5から「制御→ムービープレビュー→Device Central」からSWFを開くと
ボタンにフォーカスがあたっているので、そのまま決定キーでボタンが動作します。

このプロジェクトからSWFを作成して、Device CentralからSWFのURLを直接開くと
ボタンにフォーカスはあたっているのに決定キーが利きません。
画面を一度クリックしてからボタンにフォーカスを合わせ直すとボタンが有効になります。

FlashProfessionalCS5からの制御で開いた場合と同じ状態でSWFファイルを開けないでしょうか?
410Now_loading...774KB:2011/05/10(火) 22:49:38.43 ID:OV1GcIKV
>>409
原因が分りました。Device CentralのメニューからURL開くでWeb上のSWFを開く場合と、
ファイル開くで直接SWF開いた場合は同じSWFでも動作が異なるようです。
>>376の外部通信も直接SWF開く方法で上手くいきました。
それぞれの違いが不明ですがこれで1週間以上はまりました・・・
411Now_loading...774KB:2011/05/11(水) 00:08:28.48 ID:exUxY3SC

Flash Builder 4.5の試用版を
ダウンロードしたのですが、
Subversionのクライアントの機能は
追加で入れる必要があるようです。

Flash Builder 4 の時には、Subclipseをインストールしましたが、
Flash Builder 4.5でも同じやり方でいくでしょうか。
既に試されたかたがいたら教えてください。

よろしくお願いします。
412Now_loading...774KB:2011/05/11(水) 00:18:20.90 ID:ONK+GUND
AIRのデスクトップアプリを作っているんですが、
アルゴリズム?的なところでわからないところがあるので
助言ください。

ユーザが1日に1回実行できる処理があります。
この処理を、最後に実行してから2日以上経過した後に、実行した場合、
最後に実行してから前日までの年月日を記録します。
例:処理を2011/3/21に実行。その後、2011/3/25に実行。
間の3/22〜24を記録する。
日付はOSからとっています。

ここでOSの日付を未来に変更することによる処理の実行を区別するにはどうしたらいいでしょう。
上の例で言えば、3/21に処理を実行し、
直後にOSの日付を3/25に変更し実行する処理を、本来の場合と区別したい。

ローカルデータベースは持っています。

よろしくお願いします。
413Now_loading...774KB:2011/05/11(水) 00:20:52.42 ID:jHQ0dL8P
ネットワークから日付とってきたら?
414412:2011/05/11(水) 00:24:06.51 ID:ONK+GUND
補足です。
アプリは常に起動しているわけではなく、
自由に終了したり起動したりできます。
当然ですが、終了したら時間を監視したりということはできません。
また、ネットへの接続なしでも動作する仕様ですが、ネットに接続する仕組みは持っています。
415Now_loading...774KB:2011/05/11(水) 00:27:15.56 ID:ONK+GUND
>>413
すみません。
ネットに接続せずローカルで対処する方法はないでしょうか?
416Now_loading...774KB:2011/05/11(水) 00:32:45.68 ID:sOq5VyN1
>>415
こういうのは目的によって実装が異なるかも

テスト目的ならいくらでもやりようがあるだろうけど、
タイムカードの不正防止みたいな物を堅牢に作ろうとするのなら
ローカルだけでは難しいかもね。
417Now_loading...774KB:2011/05/11(水) 01:31:09.92 ID:ONK+GUND
>>416
フリーのアプリなんで堅牢である必要はないです。
418Now_loading...774KB:2011/05/11(水) 04:23:35.96 ID:jKheHA7g
3/21に処理を実行して、アプリを終了せずにOSの日付を変更した場合の処理を区別したいってこと?
それならTimer使えばいいと思うけど。

アプリを終了したあとも区別したいっていうならネットワークから取ってくるしかない。
419Now_loading...774KB:2011/05/11(水) 18:20:51.19 ID:v2LBBkF1
AS3で、ご質問です。
どのクラスからも参照できるGlobalクラスについてです。

-------------------------------
フォルダ構造は以下のとおりです。

Global.as
viewフォルダ
uiフォルダ

となっており,

uiフォルダの中に、
NextBtn.as というクラスを入れてあります。
-------------------------------

NextBtn.asから、Global.asがもつpublic関数(例えばhoge()とします)を実行したいとき、
Global.hoge();としても、実行できません。

それは、Global.asとNextBtn.asが同じ階層に無いから、
なのはわかっているのですが、

では、このように階層が違う場合、
どのようにして書けばよいのでしょうか。。

ご存知の方いらっしゃいましたら、
何とぞよろしくお願いいたします。
420Now_loading...774KB:2011/05/11(水) 19:20:58.40 ID:3FNIkHhp
import Global;

そもそもNextBtn.asにパッケージ名つけてなさそうだけど
421Now_loading...774KB:2011/05/11(水) 19:40:58.60 ID:v2LBBkF1
>>420さん
ありがとうございます!動きました!
教えてくださったことプラス
Global.asがもつ
staticな関数の中で使っている変数を
staticにしていなかったのが原因のようでした。

本当にありがとうございます!
422Now_loading...774KB:2011/05/11(水) 21:56:04.53 ID:ZLLYexbA
var Vec:Vector.<Object>= new Vector.<Object>[
{ a:new Vector.<Object>[
{x:0,y:0},
{x:0,y:0}
],
b:{x:0,y:0},
c:{x:0,y:0}},

{ a:new Vector.<Object>[
{x:0,y:0},
{x:0,y:0}
],
b:{x:0,y:0},
c:{x:0,y:0}},
];

質問です。上のコードを新しいドキュメントの1フレーム目に記述しプレビューすると
「VerifyError: Error #1058: 無効なオペランド型 :* は String でなければなりません」
というエラーが出てしまうのですがどこが間違っているのでしょうか?
423Now_loading...774KB:2011/05/11(水) 22:34:00.71 ID:jHQ0dL8P
要素削ってどこでエラーくらってんのかくらい見つけようぜ
424Now_loading...774KB:2011/05/12(木) 00:19:40.43 ID:Imstnvvf
>>422

var Vec:Vector.<Object>= new Vector.<Object>([
{ a:new Vector.<Object>([
{x:0,y:0},
{x:0,y:0}
]),
b:{x:0,y:0},
c:{x:0,y:0}},

{ a:new Vector.<Object>([
{x:0,y:0},
{x:0,y:0}
]),
b:{x:0,y:0},
c:{x:0,y:0}}
]);
425Now_loading...774KB:2011/05/12(木) 15:44:41.51 ID:AFe0U7WZ
airアプリケーションを作ってます
起動時にアプリケーションのアイコンをクリックしても複数起動はできないようでした。
複数起動可能なアプリケーションを作るにはどうしたらいいでしょうか。
ググってみるとapplication.xml を書き換える事で対応できるらしいけど、その場合、
起動したい数の分だけインストールする必要があると思います。そうではなく、1回だけ
インストールして、リソースが許す限り10個でも20個でも起動できるようにしたいです。
426Now_loading...774KB:2011/05/13(金) 01:35:08.30 ID:ly9l5k3D
質問です。
AIRアプリで、起動するとシステムトレイにアイコンを表示するようにコードを書いているのですが、
Flash上でデバッグする場合、きちんと動作しますが、
airアプリにパブリッシュした後にインストールすると、
システムトレイにアイコンが表示されません。
何度か試していて、
最初は正常に動いていたんですが、
気づいたらアイコンが表示されなくなっていました。
PCを再起動しても変化ありません。
原因がお分かりの方がいたら教えてください。
427Now_loading...774KB:2011/05/13(金) 04:22:07.16 ID:eYv2nSmD
例えばAというメインクラスがあり、メソッドが1000個記述されています。
この中で頻繁に使うメソッドは1つだけなので999メソッドを別のクラスBに分けたとします。
メインクラスAから必要に応じてBのインスタンスを作って利用した場合、
Aに全てのメソッドが存在する場合よりメモリの節約になりますか?
999メソッドはAの初期化時にコンストラクタでしか利用せず、その後は一切利用しません。
メモリがシビアな状況になってるので上記手法でメモリの節約ができるかを知りたいです。
428Now_loading...774KB:2011/05/13(金) 11:55:53.28 ID:Zh1NuPlC
win7、cs5を使用しています。配列アクセス演算子がうまく使用できず悩んでいます。

例)
var Sansyou:Object=_Mainins;//参照を受け取る
var hoge:Object;
hoge="Skill_Flg[1][0]";
trace(Sansyou.Skill_Flg[1][0]);//→Skill_Flg[1][0]の中身0が表示される
trace(Sansyou[hoge]);//→undefinedになる

Sansyou[hoge]のように、配列名をhogeに入れて配列の中身にアクセスしたいのですがうまくいきません。
ドット演算子だとアクセス可能なのですが、配列アクセス演算子だと失敗してしまいます。
なにか根本的に間違いがあるのでしょうか?
429Now_loading...774KB:2011/05/13(金) 12:50:39.60 ID:g3kH1T0N
>>427
一回でも使う以上ロードされるんじゃん

メインクラスのコンストラクタで999のBを作って実行→もう使わないのでBを破棄することで999メソッドをメモリから外せるかってこと?


>>428
hoge="Skill_Flg[1][0]";
は配列名じゃなくね
hoge="Skill_Flg";
trace(Sansyou[hoge][1][0]);
ではどう?
430Now_loading...774KB:2011/05/13(金) 12:57:24.09 ID:Zh1NuPlC
>>429
できました!配列アクセスってそういうことだったんですね、手間かけさせてすみません、ありがとうございます。
431Now_loading...774KB:2011/05/13(金) 13:43:41.97 ID:/C0m4WLm
イベントリスナーでエンターが押された時を取得したいんだけど
addEventListener(ここに何て書けばいいですか?

先日ぐぐって見つけて、うまく動いてたんだけど、間違って同名の他のasを上書きしちゃったんです
GACがご臨終になってて、おそらくそこで見つけたんだろうと思うんですが
それ以来2度と見つけられなくて困ってます
432Now_loading...774KB:2011/05/13(金) 14:12:02.49 ID:g3kH1T0N
>>431
ttp://www40.atwiki.jp/spellbound/pages/611.html
このサイト一回全部読めよ
433Now_loading...774KB:2011/05/13(金) 14:25:50.85 ID:/C0m4WLm
>>432
キーコード取得してって感じじゃなくて、エンターキーのみでいいの
それまでキーコードでうんたらかんたらしか出来ないと思ってたんだけど
その時見つけたコードでやったら簡単にエンターで実行できたんだよね
だからやりたいのはこれじゃないです
434Now_loading...774KB:2011/05/13(金) 14:34:07.23 ID:g3kH1T0N
知るかヴォケエエエ!
んなもんねーよ!

>>431でお前の望む情報が得られると思うか?
435Now_loading...774KB:2011/05/13(金) 14:40:55.91 ID:/C0m4WLm
>>434
それがあるんだなぁ
ほんとにスグレモなコマンドなんだけどなぁ、知らない?

もう少し詳しく書くとaddEventListener(ここに書くコマンドが知りたい
テキストインプットなんかにフォーカスがある時にエンターを押すと
イベントリスナーに指定したファンクションに飛ぶ
436Now_loading...774KB:2011/05/13(金) 15:27:58.53 ID:eYv2nSmD
>>429
そうです。
インスタンスを破棄しておけばソース分のメモリが節約できるのかなと思ったのですが
Flashの場合はどうなんでしょうか?
SWFが実行されている間はSWFのどこにメソッドが入っていてもメモリの使用量は変わらないのでしょうか?
437Now_loading...774KB:2011/05/13(金) 15:41:53.81 ID:neKeb+tf
>>436
インスタンスの変数にnull入れておいて、そいつを参照してる変数とかが無ければ
ガベージコレクタが動作した時にメモリが解放されるんじゃないかな
438Now_loading...774KB:2011/05/13(金) 17:02:32.57 ID:aHtLubF+
>>434の発狂にワラタ


>>436
うーん。もともとクラスAのインスタンスa1,a2があったとして
Aのメソッド、a1のメンバ変数、a2のメンバ変数
がメモリにロードされるんだよね

プロパティはインスタンス分、メソッドは1つなわけだ
a2がGCに削除されたらa2のメンバ変数はもちろん解放されるよね
んでa1が削除されたときにa1のメンバ変数は解放されるけどAのメソッドはどうなんだろうね
もう使わないからって消されるんだろうか
ってことだよね。俺はわからんけど
439Now_loading...774KB:2011/05/13(金) 18:04:51.94 ID:eYv2nSmD
メソッドを一つのクラスにまとめた場合と2つのクラスに分けた場合で
実際にメモリ使用量が変わるか実験してみました。
クラスAのメインメソッドが終了した時点でクラスBのインスタンスを次のように削除しました。

delete obj_b;
obj_b=null;

これをやってもクラスを一つにまとめた場合と変動はありませんでした。
ただしクラスインスタンスではなく、グローバル変数に持っていた値をnullした場合は
メモリ使用量が減り、マニュアル通りにメモリが開放された動きをしています。

_root.test=null;

インスタンスは削除してもメモリ使用量減らないのかなぁ。
ちなみにガベージコレクションのインターバルである60秒を経過しても
クラスインスタンスのメモリ領域は開放された気配がありませんでした。

440Now_loading...774KB:2011/05/13(金) 18:40:59.68 ID:sEVDcRJF
>>439
Flash Player はメモリをある程度の塊でもらってきて
足りなくなったら GC 対象のオブジェクトが使っていた領域を使える状態にするから、
メモリを酷使するような処理をしないとなかなか解放されない。

あと、GC のインターバルが 60 秒って情報はどこからか詳しく。
441Now_loading...774KB:2011/05/13(金) 18:55:59.90 ID:eYv2nSmD
>>440
ここですが自分がやってるのはFlash7ベースのFlashLiteですので
新しいFlashバージョンのは異なるかもしれません。

http://livedocs.adobe.com/flash/9.0_jp/UsingFlash/help.html?content=WS4BC3BE1E-4574-4f96-BB90-23BFC3108D34.html
442Now_loading...774KB:2011/05/13(金) 21:31:12.58 ID:aHtLubF+
三重ループをbreakで一気に抜けるにはどうしたらいいのん?
443Now_loading...774KB:2011/05/13(金) 21:36:55.09 ID:nMJe4ktX
>>442
ループラベル。

manko: for (var i:int = 0; i < 2; i++) {
chinpo: for (var j:int = 0; j < 2; j++) {
break manko;
}
}
444Now_loading...774KB:2011/05/13(金) 21:40:31.44 ID:aHtLubF+
>>442
breakステートメントの説明に普通にあったわ
よく調べず質問してごめんなさい
ありがとう!
break chinpoじゃなくてよかった
445Now_loading...774KB:2011/05/13(金) 22:19:24.51 ID:aMf43Xo+
connect(); // NetConnectionでサーバに接続する関数
initStream(); // NetConnectionのNetStreamを作成する関数

みたいなコード書くと、
NetConnectionが、RTMPサーバに接続完了する前に
initStream()が呼ばれてしまうんだが、どうしたらいいんだろう。


446426:2011/05/13(金) 22:25:29.74 ID:ly9l5k3D
>>426
どなたかよろしくです。
447Now_loading...774KB:2011/05/13(金) 22:33:27.75 ID:g3kH1T0N
>>445
NetStatusEventクラスは?
448Now_loading...774KB:2011/05/14(土) 01:35:55.80 ID:0QeVy/qk
>>446
Airの事が全然分からないまま知ってる事だけ答えると、システムトレイのアイコンってのは
登録に時間がかかる場合、失敗する事がある。特に起動時なんかは色々な重いソフトの
起動と重なる事もあるので、環境によっては失敗する事も結構多いみたい。
これを回避するためには失敗時のリトライ処理が必要で、詳細は以下のページに書いて
ある通り。

http://support.microsoft.com/kb/418138/ja

ただ、これは一般論であって、最初に言った通り、Airの場合に当てはまるかどうかまったく
分からないので参考になるかなー
449Now_loading...774KB:2011/05/14(土) 06:29:31.49 ID:Fl1lu4sD
ドキュメントクラスのみでスライドショーを作ったのですが、完成した後にプログレスバーを設置しなくてはいけなくなりました。
フレームに記載するタイプのプログレスバーは結構みかけたのですが…
フレームに記載するとエラーが出てしまいます。何か方法はあるでしょうか…
環境は Windows版 Cs4です。よろしくお願いします。
450Now_loading...774KB:2011/05/14(土) 08:08:53.43 ID:DTfP1O+M
読み込み用のswfつくったら?
451Now_loading...774KB:2011/05/14(土) 09:13:18.40 ID:rshOWMJO
452Now_loading...774KB:2011/05/14(土) 11:07:57.53 ID:sBPIu/ts
AIRってなんなの
FLASHなの?
AIRインストールしてあるパソコンならインストールなしで使えるソフトウェアみたいなもん?
web上にあるFLASHと比べて利点は?
453Now_loading...774KB:2011/05/14(土) 11:33:01.24 ID:Fl1lu4sD
>>450
ありがとう!なんとか解決しました
454Now_loading...774KB:2011/05/14(土) 12:57:09.39 ID:rshOWMJO
>>452
>AIRってなんなの
>FLASHなの?

そーだよ

>AIRインストールしてあるパソコンならインストールなしで使えるソフトウェアみたいなもん?

そーだよ

>web上にあるFLASHと比べて利点は?

ソースだよ

ではなく、スタンドアロン環境がVMにひと通り入っていることで、SQL動かしたり
JavaScript動かしたり、いろいろおもろいことができる。
またファイルストリームと言って、他言語のFile.open()的なファイルアクセス方法も
提供されてるから、イベントリスナーを書かなくても良い。
ASでデスクトップアプリ組めるってのは、ASerにはメリットかと。
455Now_loading...774KB:2011/05/14(土) 13:06:15.77 ID:sBPIu/ts
>>454
なるほどthx
いまいち普及していない感があるんだよなぁ

有名なアプリケーションとかあるの?
456Now_loading...774KB:2011/05/14(土) 13:35:27.48 ID:x4McDKXt
>いまいち普及していない感があるんだよなぁ

別途インストールが必要、ってのがねぇ。
457Now_loading...774KB:2011/05/14(土) 14:36:36.49 ID:sBPIu/ts
>>456
FlashPlayerも一応そうなんだけどなぜかそれは許されるよね
458Now_loading...774KB:2011/05/14(土) 16:09:14.02 ID:21o95NN/
test
459Now_loading...774KB:2011/05/14(土) 16:14:57.16 ID:1Kpbuamu
てst
460Now_loading...774KB:2011/05/14(土) 16:21:19.81 ID:21o95NN/
forループでリンゲージしたmcにXMLからイメージを複数ロードしてfor関数内でmc.alpha=0.5
とし、RollOverしたときe.target.alpha=1になるようにしたいのですが、mcをnewした時に設定した
mc.alpha=0.5が最大値になってしまいRollOverしてもalpha=1になってくれません。なにか回避策を
ご教指願います。
461Now_loading...774KB:2011/05/14(土) 16:49:28.73 ID:Y2Bypa3b
>>460
回避策っつか、単にやり方が正しくないんだろうと推測されるが
forループ内の処理を具体的に書くとかしないと、
第三者にはどこが間違ってるか指摘できないと思う

そもそもXMLからイメージをロード云々は関係あるの?
それがなければうまくいく、とか
そうではなくて、この問題に関係ない要素なら、省いて検証したほうがいいよ
462Now_loading...774KB:2011/05/14(土) 17:21:28.61 ID:21o95NN/
function xcreateMenu(iconXML:XML){
var iconlist:XMLList = iconXML.img;
var numOfItems:Number = iconXML.img.length();
for(var i:uint=0; i<numOfItems; i++){
var url:String = iconlist[i].s_photolink.toString();
var url2:URLRequest = new URLRequest(url);
var loader1:Loader = new Loader();
loader1.load(url2);
var mc:MovieClip = new Mc();
var t:MovieClip = box.addChild(mc) as MovieClip;
//ここでalpha=0.5としてるのですが、マウスオーバーしても1ではなく0.5のままです。
mc.alpha =0.5;
mc.addChild(loader1);
mc_Array.push(mc);
mc.x=75+185*i;
mc.y=45;
463Now_loading...774KB:2011/05/14(土) 17:22:35.22 ID:21o95NN/
t.addEventListener(MouseEvent.MOUSE_OVER, xMouseOver);
t.addEventListener(MouseEvent.MOUSE_OUT, xMouseOut);
t.addEventListener(MouseEvent.CLICK, xMcClick);
mc.buttonMode = true;
}
}
function xMouseOver(evt:Event):void{
evt.target.alpha = 1;
}
function xMouseOut(evt:Event):void{
evt.target.alpha = 0.5;
}
//問題の部分を抜き取ったんですが、どうかご教指ねがいます。いらない部分が多いと思いますがよろしくお願いします。
464Now_loading...774KB:2011/05/14(土) 17:31:25.01 ID:Rt57FE+o
なんか色々ツッコミどころ満載な気がするが…
とりあえず、tにaddEventListenerしてるからevt.targetはmcじゃなくてtになってんじゃね?
465Now_loading...774KB:2011/05/14(土) 17:40:07.59 ID:21o95NN/
>>464
ご指摘ありがとうございます。
evt.targetがloaderになっていました。
evt.target.parent.alphaにしたらOKでした。
ありがとうございました助かりました。
466Now_loading...774KB:2011/05/14(土) 21:44:26.01 ID:cxGXo/W8

FlushBuilder4でAIRのアプリケーションを書いています。
OSはWindowsです。
クロームに終了ボタン([×]ボタン)を出さない方法はありますか。
ヘルプで調べたのですが見当たりません。

よろしくお願いします。

467Now_loading...774KB:2011/05/15(日) 00:35:25.94 ID:EpIicrAV
質問よろおねです。
いまムービーを描画するクラスDrawMov コンストラクタ→public function DrawMov(Parent:Sprite) というのを使用しています
このDrawMovクラスをつかってドキュメントプロパティ(extends Sprite)に描画させるのに
var drawmov = new DrawMov(this)というふうにしています。こっから質問です。
ほかのクラスOtherClassなどからこのDrawMovクラスを使用してドキュメントプロパティに描画させるにはどのように記述すればよろしいでしょうか
DrawMov(xxx)といった書き方はないでしょうか。他の方法などなにとぞ解決策をおねがいします。
468Now_loading...774KB:2011/05/15(日) 00:47:08.28 ID:EpIicrAV

ドキュメントプロパティx
○ドキュメントクラス
469Now_loading...774KB:2011/05/15(日) 00:50:35.95 ID:bGH0QeIY
>>467
>質問よろおねです。
ビギビキ

>このDrawMovクラスをつかってドキュメントプロパティ(extends Sprite)に描画させるのに
ドキュメントクラス?

>ほかのクラスOtherClassなどからこのDrawMovクラスを使用してドキュメントプロパティに描画させるにはどのように記述すればよろしいでしょうか

他のクラス内でドキュメントクラスのインスタンスをSpriteで保持しておいて
DrawMov(xxx)でいいんじゃないの

ちょっと他のクラスの具体的な構造がわからないけど
470Now_loading...774KB:2011/05/15(日) 01:09:07.72 ID:EpIicrAV
>>469
ヒントありがとうございます。がんばってみます。
471Now_loading...774KB:2011/05/15(日) 01:13:56.49 ID:bGH0QeIY
>>470
いや、もうちょっと詳しく書いてみようよ
DrawMovの具体的な中身とか
472Now_loading...774KB:2011/05/15(日) 01:25:01.18 ID:EpIicrAV
うーんとですね
DrawMovはコンストラクタ引数がspriteなのでextends Spriteのクラスしか使えません
使う側でthisを指定する以外の方法があれば回避できそうなんですが。

473Now_loading...774KB:2011/05/15(日) 01:28:26.11 ID:EpIicrAV
よく似た構成のソース
package {
//使用するクラスのパッケージ
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.Event;

public class Ball1 {
var r:int=30;
//コンストラクタ
public function Ball1(myParent:MovieClip,cx:int,cy:int) {
var ballSp:Sprite=newBall();
ballSp.x=cx;
ballSp.y=cy;
myParent.addChild(ballSp);
}
474Now_loading...774KB:2011/05/15(日) 01:28:43.63 ID:EpIicrAV
//円を描いたスプライトを作る
function newBall():Sprite {
var sp:Sprite=new Sprite();
//円を描く
sp.graphics.lineStyle(3,0x000000);
sp.graphics.beginFill(0xDDDDDD);
sp.graphics.drawCircle(0,0,r);
sp.graphics.endFill();
//縦線を引く
sp.graphics.moveTo(0,0);
sp.graphics.lineTo(0,-r);
//再生イベントにリスナーを登録する
sp.addEventListener(Event.ENTER_FRAME, rotaBall1);
return sp;
}
//回転させる
function rotaBall1(eventObj:Event):void {
var ballSp:Sprite=eventObj.target as Sprite;
ballSp.rotation+=5;
}
}
}
475Now_loading...774KB:2011/05/15(日) 01:28:56.09 ID:bGH0QeIY
>>472
>DrawMovはコンストラクタ引数がspriteなのでextends Spriteのクラスしか使えません

そんなことはないよ。普通に使える


>使う側でthisを指定する以外の方法があれば回避できそうなんですが。
引数のSpriteを具体的にどう使ってるの?
476Now_loading...774KB:2011/05/15(日) 01:30:03.20 ID:EpIicrAV
使う側
var ballobj1:Ball1=new Ball1(this,200,150);
477Now_loading...774KB:2011/05/15(日) 01:30:54.94 ID:EpIicrAV
>そんなことはないよ。普通に使える
なぜだろうエラーが出てしまいます
478Now_loading...774KB:2011/05/15(日) 01:32:25.51 ID:UN4DjKP7
thisってどういう意味よ
479Now_loading...774KB:2011/05/15(日) 01:34:35.55 ID:bGH0QeIY
>>477
使う側がちゃんとSpriteインポートしてあってコンストラクタにSprite渡せばあけるはず

>>478
ドキュメントクラスのインスタンスをSpriteとして渡して
そこにaddChildさせようとしてるんじゃないかな
480Now_loading...774KB:2011/05/15(日) 01:36:09.34 ID:EpIicrAV
>>479
トンクス!やってみます。
481Now_loading...774KB:2011/05/15(日) 01:38:33.74 ID:bGH0QeIY
あ、いや、thisを与えるならSprite継承してなきゃだめだよ
他のSpeiteを与えるならってこと
482Now_loading...774KB:2011/05/15(日) 01:40:58.68 ID:EpIicrAV
あうち、それは無理です。すでに他を継承してる・・・。
483Now_loading...774KB:2011/05/15(日) 01:43:26.70 ID:bGH0QeIY
だからthisを与えなきゃいいんだよ

ドキュメントクラスで描画用のSpriteを作っといてそいつを下に下に送ればいいんじゃない?
484Now_loading...774KB:2011/05/15(日) 01:47:25.27 ID:EpIicrAV
なるほどthisにこだわったのがいけなかったんですね。
その方法でやらせていただきます。
ありがとうございました。そしてまたくるかもしれません
485Now_loading...774KB:2011/05/15(日) 11:04:15.10 ID:XSlisYs6
まあ普通はBall1 extends Spriteにして
var ball1:Ball1=new Ball1();
ball1.x=
ball1.y=
addChild(ball1)
だと思うけど
486Now_loading...774KB:2011/05/15(日) 19:57:25.00 ID:XSlisYs6
AS3.0で
staticプロパティのオーバーライドのようなものはどうやれば実現できるでしょうか
クラスによってstaticプロパティの値を変えたいのですが
487Now_loading...774KB:2011/05/15(日) 22:55:12.97 ID:Q5+wbEhu
>>486
同じ型にキャストができる2つのインスタンスでstaticの値が変わるってのは
もうすでにstaticじゃないような……
パフォーマンスはやや落ちるけど、static var じゃなくて static function get で
値を返すようにするとか?
488Now_loading...774KB:2011/05/15(日) 23:03:31.52 ID:bGH0QeIY
>>487
>同じ型にキャストができる2つのインスタンスでstaticの値が変わるってのは
>もうすでにstaticじゃないような……

確かにそう考えるとおかしいですね
インスタンス変数にしてもいいんだけどクラス内では絶対同じ値だからstaticにしたいんですよね


getter/setterってやっぱれらパフォーマンス落ちるんですか?
489Now_loading...774KB:2011/05/15(日) 23:15:55.91 ID:2g68rsWs
ファンクションコールのオーバーヘッドだけじゃない?
1フレームに何百回も参照するようなことがなければ気にすることはないかと
490Now_loading...774KB:2011/05/15(日) 23:21:05.15 ID:bGH0QeIY
>>489
getterで20*20のBoolean読んでるわ…
見直そうかな
491Now_loading...774KB:2011/05/15(日) 23:47:08.00 ID:s7Qx4E8f
>>490
実装によってはビット演算でサクっと行けるかもしれんねw
492Now_loading...774KB:2011/05/16(月) 00:23:21.96 ID:vWXrK/DT
getTimer()で処理部分を挟んで計測してみたら?
俺の環境では1万ループくらいでようやく1ミリ秒差が出るくらいだった
493Now_loading...774KB:2011/05/16(月) 16:42:20.13 ID:AWbK+uBu
actionscript3で、htmlタグ付き文章をhtmlTextで表示しているのですが
リストの左側の余白とか、最初から定義されているスタイルをリセットする方法はあるのでしょうか?
html+リセットcssのように、初期スタイルを消してからstylesheetクラスで成形したいのですが・・・
494Now_loading...774KB:2011/05/16(月) 22:12:59.64 ID:pOA+b7z+
入れるものが同じクラスなら(圧倒的にそのほうが多いよね?)ArrayよりVectorを使った方が100パーセントいいのかな?
495Now_loading...774KB:2011/05/16(月) 22:34:31.79 ID:41BcleO9
AS2.0を使っています。
hensu = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
↑のような0か1の二通りのパターンしかない変数が16個入った配列を
4桁の16進数に変換したり戻したりしたいんですがどうすればいいですか?
496Now_loading...774KB:2011/05/16(月) 23:39:28.05 ID:pOA+b7z+
>>495
文字列でよければ

var hensu:Array = [0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0];
var num = 0;
for (var i:Number = 0; i < 16; i++) {
num += hensu[i] << (15 - i);
}
trace( "0x" + num.toString(16));
//
var num2:Number=num;
var hensu2:Array = new Array(16);
for (var i:Number = 0; i < 16; i++) {
hensu2[15 - i] = num2%2;
num2=Math.floor(num2/2);
}
trace(hensu2);
497Now_loading...774KB:2011/05/17(火) 00:16:36.07 ID:1H6ErBx3
>>496
ありがとうございます!
498Now_loading...774KB:2011/05/17(火) 14:29:06.71 ID:LRA8Gulj
>>494
より速いのが望みならVectorが正解
499Now_loading...774KB:2011/05/17(火) 14:31:21.42 ID:P+z/2U7j
>>498
さんくす
じゃあArrayのメリットって複数クラスいれられることだけじゃん
やっぱみんなVector使ってるの?
500Now_loading...774KB:2011/05/17(火) 14:53:21.64 ID:ntIRM3lr
自分は基本Vectorだけど、DataGridとかのdataProviderに
直接Vector入れられないのがちょっと不便なんだよなぁ
501Now_loading...774KB:2011/05/17(火) 16:17:11.75 ID:LRA8Gulj
俺は基本Arrayだなぁ。
FlexだとVectorの威力を発揮するような処理する事あまり無いし。
502Now_loading...774KB:2011/05/18(水) 02:32:00.35 ID:iYwzqcC1
書き方がきらい
503Now_loading...774KB:2011/05/18(水) 02:34:59.90 ID:mDH17fnn
うん。書き方きらい
でも形固定はべんりだよなあ
504Now_loading...774KB:2011/05/18(水) 11:02:00.86 ID:tMiFRLE6
Java書いてると違和感ない書き方だな。
Flexで使うことあまり無いけど。
505Now_loading...774KB:2011/05/18(水) 12:50:49.15 ID:XwQ0F/Cq
読み込んだwmvムービーをタイムラインで再生していて
サウンドのオンオフを行いたいのですが

on(release) {
stopAllSounds();
}

でストップした音をまたプレイしたい場合
なんて書けばいいのでしょうか?
ムービー外部読み込みだとオンオフはできるのですが、
それをやってはいけない仕様でして。。
506Now_loading...774KB:2011/05/18(水) 12:56:12.85 ID:XwQ0F/Cq
505ですが、解決しました。。
on (release) {
stop();
play();
}
という無茶苦茶な感じで出来ました。。
507Now_loading...774KB:2011/05/18(水) 14:36:25.70 ID:st4y2XQS
2chで書き込みするのは初めてです。よろしくお願いします。
私は今adobe CS5の AS3でビリヤードゲームを作ろうと思ってます。 
http://hakuhin.jp/as/block.html
今こちらのサイトを参考に作っています。
これを参考にしようと思ったのはボールが壁に当たったら返ってくるからです。
ここのサイトの内容はAS2っぽいので自分なりにAS3に変えて作り始めました。
if (ball.x < 0 + 5) {
ball.x = 0 + 5;
dx = dx * -1;
}
if (ball.x > 200 - 5) {
ball.x = 200 - 5;
dx = dx * -1;
}
if (ball.y < 0 + 5) {
ball.y = 0 + 5;
dy = dy * -1;

}
if (ball.y > 250 + 5) {
ball.y = 250 + 5;
dy = by * -1;
このif文のところが移動方向を反対にさせる文なんですがなぜか反転しません。
traceで中身を見たところ 値自体は反転しているのですが・・・
どこかおかしいところはありませんか?
全体を見なければ分からないのであれば他の部分も乗せたいと思います。

よくネチケットとかわかりませんがこんな感じでよかったでしょうか?
508Now_loading...774KB:2011/05/18(水) 15:31:59.02 ID:mDH17fnn
余計なこと書かなきゃそれでいいんだよ


全体を見ないとわからん
どこにtraceかいたのかもわからんし
やっぱり全体見ないとわからん
509Now_loading...774KB:2011/05/18(水) 15:43:13.62 ID:st4y2XQS
>>508
bar.y = 230;var dx = 1;var dy = -3;
if (bar.x < 0+20){bar.x = 0+20;
}if (bar.x > 200 - 20)
{bar.x = 200 - 20;}
if (ball.x < 0 + 5)
{ball.x = 0 + 5;dx = dx * -1;}
if (ball.x > 200 - 5)
{ball.x = 200 - 5;dx = dx * -1;}
if (ball.y < 0 + 5)
{ball.y = 0 + 5;dy = dy * -1;}
if (ball.y > 250 + 5)
{ball.y = 250 + 5;dy = dy * -1;}
stage.addEventListener(KeyboardEvent.KEY_DOWN, fl_KeyboardDownHandler);
function fl_KeyboardDownHandler(event:KeyboardEvent):void
{if (event.keyCode == 37)
{bar.x = bar.x - 3;
}if (event.keyCode == 39)
{bar.x = bar.x + 3;
}}
addEventListener(Event.ENTER_FRAME, ugoki);
function ugoki(event:Event):void {
ball.x = ball.x + dx;ball.y = ball.y + dy;trace(dx);trace(dy);}
全体はこちらになります。
改行が多いとこちらでエラーになったので修正してます。見辛くてすいません。
510Now_loading...774KB:2011/05/18(水) 15:48:15.77 ID:mDH17fnn
>>509
最初のif文らへんはどこに書いてあるの?
511Now_loading...774KB:2011/05/18(水) 15:53:26.41 ID:st4y2XQS
ちなみにball.xが無いのはこちらを例えば
ball.x = 100;
としてしまうと 挙動が変になるからです。
バー自体の位置はこれでも十分なのでこれでいこうと思っています。
ball.x又は.yのif文の場所をずらしたり値を変えたりとしたのですが駄目でした。
画面のサイズは 200px×250pxです。
yの反射の位置を250じゃない場所にずらしたりもしてみました。
512Now_loading...774KB:2011/05/18(水) 15:55:11.72 ID:st4y2XQS
>>510
最初のif文は私が最初に質問したとif文のことでしょうか?
それでしたらそのif文の始まりはさっき上げた全文の5行目になります。
513Now_loading...774KB:2011/05/18(水) 15:56:10.97 ID:mDH17fnn
>>512
や、そのif文はイベントリスナ内にないの?
514Now_loading...774KB:2011/05/18(水) 15:59:40.26 ID:st4y2XQS
すいません 最近作れと言われたばかりでロクな勉強をしてないので
イベントリスナと言われてもよくわかりません
おそらくevent:KeyboardEventやEvent.ENTER_FRAMEの中のことを指してると
考えて回答します。
最初にEvent.ENTER_FRAMEの中にif文を入れていたのですが今なってる結果と
同じだったのでif文の位置を変えてみた結果が今の全文です。
515Now_loading...774KB:2011/05/18(水) 16:02:27.15 ID:NIMlGGhl
if文をugokiの中に描いたらいけたよ
516Now_loading...774KB:2011/05/18(水) 16:02:58.94 ID:mDH17fnn
そのif文はballのx座標とy座標に応じて座標をずらしたりdx,dyを反転させるわけじゃん
ということはballの座標が更新されるたびに呼び出して判定しなくちゃならないということ

function ugoki(event:Event):void {
ball.x = ball.x + dx;ball.y = ball.y + dy;trace(dx);trace(dy);
//ここにif文をいれるべき
}
517Now_loading...774KB:2011/05/18(水) 16:06:27.87 ID:st4y2XQS
>>516
traceの下にballのif文を入れたのですがやはり挙動は同じでした。
動き的には壁に当たったら反射したいのですがずっとマゴマゴとはまったまま
帰ってきません。
518Now_loading...774KB:2011/05/18(水) 16:11:58.42 ID:mDH17fnn
マゴマゴってのがわからんけど
dx,dyはtraceで動いてる?
519Now_loading...774KB:2011/05/18(水) 16:15:02.54 ID:st4y2XQS
1
-3
と最初に動き
壁に当たると
1
-3
1
3
1
-3
-1
-3
という動きを永遠に繰り返します。
520Now_loading...774KB:2011/05/18(水) 16:15:29.25 ID:jM5/5p2h
もしかしてメインのタイムラインが1フレーム以上ある?
1フレームでif分をENTER_FRAME内に入れたら普通に動いたけど、フレーム増やしたら言ってるような挙動になった
521Now_loading...774KB:2011/05/18(水) 16:16:19.94 ID:mDH17fnn
あ、ほんとだ。俺も増やしたらそうなった
522Now_loading...774KB:2011/05/18(水) 16:16:58.91 ID:st4y2XQS
>>520
ありがとうございます!まさにフレームが一個多い状態でありました。
早速こちらを削除したところ成功しましたありがとうございます
523Now_loading...774KB:2011/05/18(水) 16:18:21.84 ID:mDH17fnn
ついでに
if (bar.x < 0+20){bar.x = 0+20;
}if (bar.x > 200 - 20)
{bar.x = 200 - 20;}
はbarの座標に応じて判定するからbarを動かすfl_KeyboardDownHandlerの中がベター
毎フレームやるべき判定じゃないからね

hakuhinさんのほうでもその位置にあるでしょ
524Now_loading...774KB:2011/05/18(水) 16:23:49.42 ID:jM5/5p2h
1フレーム以上じゃなくて2フレーム以上だったな

あと個人的な意見だけど、0+20とかは無駄なんじゃねとか*=や-=使えばいいのにとか思った
525Now_loading...774KB:2011/05/18(水) 16:24:40.89 ID:mDH17fnn
タイムラインのフレームが複数あるとなにもしないでいると最終フレームにいったら1フレーム目に勝手に戻る仕様
なので今回1フレーム目のdx,dyの初期化が行われたのが原因かな

ちなみにaddEventListener(Event.ENTER_FRAME, ugoki);は何度行われても
二重にイベント登録されることはないらしい
526Now_loading...774KB:2011/05/18(水) 16:27:52.61 ID:st4y2XQS
>>523
まさにその通りでした。
フレームを削除したら無限に移動するようになってしまいました。
そこでfl_KeyboardDownHandlerにifを入れたら直りました。
本当に皆さんありがとうございました。
527Now_loading...774KB:2011/05/18(水) 16:30:05.75 ID:mDH17fnn
ところでFLASH超基本的な質問はここでしろ!スレは落ちたのかね
もう需要ないのかな
528Now_loading...774KB:2011/05/18(水) 16:31:59.07 ID:st4y2XQS
すみません さらに質問なのですがこの後これを応用してビリヤードゲームを
作っていこうと思ってます。
デザインはもうできているので流れ的にはボール一個ごとの処理と反射の計算
をして穴のピクセルの部分に触れたらそのボールを消滅させてカウントを1増やし
カウントがゲームクリアの個数になったらクリア画面に飛ばすという流れで間違いは
ないでしょうか? 先輩に聞くと流れは最初にキチンと作らないと修正した時に
苦労をすると聞いたので少し不安です。
529Now_loading...774KB:2011/05/18(水) 16:40:30.85 ID:VLkU8/Bj
球をつく部分がいるんじゃね

Box2Dを推したいところだがさすがにきついか
530Now_loading...774KB:2011/05/18(水) 16:44:10.19 ID:st4y2XQS
玉を突くのは難しいと思いまして自分で妥協し
方向をマウスの方向で点線を出して指定する。
下の画面にパワー目盛を出してどのくらいの力で発射するかを決めてとやっていこうと思ってます。
とこっちでいろいろ調べてたらASファイルというのを作らなければむりっぽいので
もう一回勉強しなおします。
ちなみにASファイルとか無しでもいけますか?
531Now_loading...774KB:2011/05/18(水) 16:48:09.22 ID:NIMlGGhl
>>529
あれって英語ないとやっぱりきつい?
日本語の解説サイトだけじゃどうも俺の頭脳では理解できないw
532Now_loading...774KB:2011/05/18(水) 16:49:23.50 ID:VLkU8/Bj
ASファイルってただ単にコードを外に書いただけのテキストファイルだけどね
OOPどころかプログラミング言語的も始めてっぽいしいきなりいろいろやるのは大変そうだ

外部ASなしでもできないことなんてほとんどないよ
533Now_loading...774KB:2011/05/18(水) 16:52:58.98 ID:st4y2XQS
>>532
わかりましたーいきなりrootで躓いたので質問してたのですがどうやら
MovieClip(root)
でいけるみたいですね。こうやってだましだましやっていきます。
534Now_loading...774KB:2011/05/18(水) 16:53:57.39 ID:VLkU8/Bj
>>531
ウェブで日本語の探すとなんか一個前のバージョンのやつばっかりばっかりでちょっと苦労したけど普通にいけるよ

まずはこのへん
http://gihyo.jp/dev/feature/01/box2d/0001

あとはラッパーライブラリがいくつかあったはず
535Now_loading...774KB:2011/05/18(水) 16:57:29.63 ID:VLkU8/Bj
>>533
なんのはなしか全然わからんけど
またわかんないことがあったら具体的に質問すればみんな答えてくれるからがんばれ
536Now_loading...774KB:2011/05/18(水) 17:02:26.80 ID:st4y2XQS
いきなり躓きました
if (_root.ball.hitTest(_root.bar)) {
_root.ball._y = _root.bar._y - 10;
rad = Math.atan2(_root.ball._y-_root.bar._y,_root.ball._x-_root.bar._x);
dx = Math.cos(rad)*3;
dy = Math.sin(rad)*3;
}
rootはMovieClip(root)でなんとかできましたがMathがどう検索してもAS以外でやる方法を見つけ出せません・・・
537Now_loading...774KB:2011/05/18(水) 17:03:08.61 ID:st4y2XQS
ちなみにactionscript3.0の話です。自分の状況を伝えずに申し訳ない。
538Now_loading...774KB:2011/05/18(水) 17:13:09.21 ID:NIMlGGhl
>>534
ちょっと挑戦してみますわ
539Now_loading...774KB:2011/05/18(水) 17:17:02.91 ID:zYWqCMdK
AS3,XP-ProのFlashCS4です。

内部にTextFieldを持つMCをStageにaddChildして、先ずはTextFieldを参照
しようとしましたができません。

MC(TxtM0というクラス)内部では
var tfd:TextField = new TextField();
tfd.text = "あいうえお";
tfd.name = "tfd";
addChild(tfd);

Stageのタイムラインでは
var mc0:MovieClip = new TxtM0();
addChild(mc0);//Stageに追加

として下記のようにしました。
trace("tfd= "+mc0.getChildByName("tfd")+", "+mc0.tfd);

これだと両方nullになり、参照できません。
どうしたら良いでしょうか?
540Now_loading...774KB:2011/05/18(水) 17:22:01.43 ID:OIh1FocY
>>536
なににつまずいたの?
Math使えばいいじゃん
541Now_loading...774KB:2011/05/18(水) 17:32:00.00 ID:st4y2XQS
>>540
Mathが使えないみたいな表示が出てきます。
542Now_loading...774KB:2011/05/18(水) 17:35:53.75 ID:sNSw6ixr
>>541
具体的にはなんて言われる?
543Now_loading...774KB:2011/05/18(水) 17:39:21.58 ID:sNSw6ixr
>>539
おなじようにやったけど拾えてるよ
mc0.tfdだけど、ちゃんとクラスのpublicメンバになってる?
544539:2011/05/18(水) 17:48:31.89 ID:zYWqCMdK
>>543
すいません。CS4のMCライブラリのクラスでやっていました。
ASでやってみます。
545Now_loading...774KB:2011/05/18(水) 18:08:16.44 ID:st4y2XQS
>>542,543
すいません解決しました。 varが入っていなかっただけでした。
こんなくだらない間違えで騒いで申し訳ありませんでした。
546Now_loading...774KB:2011/05/18(水) 18:08:29.54 ID:sNSw6ixr
>>544
あーほんとだ。ライブラリのMCの1フレーム目に書いて
メインタイムラインの1フレーム目にかいたらどっちもnullった

でもnullってことはアクセスできてんだよなーって思って
メインタイムラインの2フレーム目にstop()とtrace文かいたらどっちも拾えたよ

つまり同じフレームでは拾えないかんじなのかな
まだ描写されてないから取れない、みたいな
547539:2011/05/18(水) 18:18:40.88 ID:zYWqCMdK
>>546
ASでしてみたらOKでした。
ただし、文字列の参照は TextField(mc0.getChildByName("tfd")).text になりました。

mc0.tfdの場合は「TxtM0 にプロパティ tfd が見つからず、デフォルト値もありません。」
とエラーがでます。



> つまり同じフレームでは拾えないかんじなのかな
> まだ描写されてないから取れない、みたいな

なるほど、タイムラインはやっぱりクセがありますね。
548Now_loading...774KB:2011/05/18(水) 18:26:08.82 ID:st4y2XQS
またまたすいません
var flg = new Array();
for (i=0; i<5; i++) {
if(flg[i] == 1) continue;
if (MovieClip(root).ball.hitTestObject(this.("MovieClip(root).brock"+i))) {
flg[i] = 1;
this.("MovieClip(root).brock"+i).visible = false;
if (MovieClip(root).ball.x+5 < this.("MovieClip(root).brock"+i).x-20+4 && MovieClip(root).ball.y+5 < this.("MovieClip(root).brock"+i).y-7.5+4) {
dx = -3;
dy = -3;
}}}
なんですが、TypeError: Error #1123: Filter 演算子は型 _fla.MainTimeline でサポートされていません。
とでてうまくいきません。
検索をかけてみたんですがうまく引っかからずに困ってます。
549546:2011/05/18(水) 18:26:58.70 ID:sdX/f1bS
>ただし、文字列の参照は TextField(mc0.getChildByName("tfd")).text になりました。
そだね。DisplayObjectContainer.getChildByName(name:String)の返り値はDisplayObjectになるから
ダウンキャストしてやんなきゃならない


>mc0.tfdの場合は「TxtM0 にプロパティ tfd が見つからず、デフォルト値もありません。」
とエラーがでます。

そうそう。クラスの場合はちゃんとpublic varにしないとそうなる

ASでやるなら2.0の考えは捨ててnameを使わないようにしたほうがいいかも
550Now_loading...774KB:2011/05/18(水) 18:28:00.34 ID:st4y2XQS
>>548はAS3.0です。
551Now_loading...774KB:2011/05/18(水) 18:38:46.73 ID:sdX/f1bS
>>550
this.("MovieClip(root).brock"+i))
のせいでエラー食らってるね
this[MovieClip(root)]["brock"+i]

こんなかんじかな

あとbrock...?
552Now_loading...774KB:2011/05/18(水) 18:42:56.54 ID:sdX/f1bS
ついでにどなたかスレたててもらえないでしょうか

タイトル:
Flashの超基本的な質問はここでしろ! part42
内容:
どの質問スレでもスルーされるような超基本的な質問はここでしろ!
調べるのがめんどくさい初心者はなんでもかいとけ!知ってたら即、答えるし、
知らんかったら知らんと書く。検索なんかクソでも喰っとけ!教えて君以外は逝ってヨシ!

質問テンプレ(書いてあると回答者がレスしやすい)
(1)使用ソフト/バージョン:FLASH 5/ MX / MX2004 / Pro / 8Pro / 8Basic など
(2)OSのVer:Win2K/ WinME /WinXP /MacOS 10 など
(3)作品の具体例がある場合はリンク必須
(「このサイトのように○○したいhttp://〜」とか)

前スレ
Flashの超基本的な質問はここでしろ! part41 (DAT落ち)
ttp://hibari.2ch.net/test/read.cgi/swf/1274977716/

関連スレ
ActionScript 誰かが物凄い勢いで解答するスレ 28
http://hibari.2ch.net/test/read.cgi/swf/1302831971/
553Now_loading...774KB:2011/05/18(水) 18:50:00.53 ID:st4y2XQS
>>551
ありがとうございます。
brockには突っ込まないで下さい・・・
554Now_loading...774KB:2011/05/19(木) 14:33:27.31 ID:lDRNUm0d
>>552
ほいよ
保守テンプレ等よろしく

Flashの超基本的な質問はここでしろ! part42
http://hibari.2ch.net/test/read.cgi/swf/1305783143/
555Now_loading...774KB:2011/05/20(金) 10:34:52.44 ID:ZYO+Ho+7
AS3,XP-Pro,FlashCS4です。
Stage上の他の部品(ボタンとかMCとか)からコンボボックス(myComboBox)を
初期表示状態に戻すにはどうしたら良いでしょうか?

myComboBoxをプルダウンで(例えば)1号機→3号機→4号機 といった感じで
変更後、戻るボタンを押すと初期状態の「福島Site1」と表示したいです。

newするときにpromptプロパティを使っていたので同じ様に
myComboBox.prompt = "福島Site1";//trace(myComboBox.prompt)で参照できます

としましたが変りません。アドバイス願います。
556Now_loading...774KB:2011/05/20(金) 12:02:26.79 ID:ZBSd7I2k
>>555
コンポーネントは初めて触るので違ったらごめん

private function onClick(e:MouseEvent):void {
//combo.selectedIndex = 0;//0番目のアイテムを強制選択
combo.selectedIndex = -1;//プロンプトを強制選択
}
557Now_loading...774KB:2011/05/20(金) 12:27:27.44 ID:ZBSd7I2k
いまさらだけどiPhoneの人はアプリにクラスリファレンスがあるよ
英語だけどローカルだから速いのでそこそこ便利でオススメ
ttp://www.inazumatv.com/contents/archives/2029
558Now_loading...774KB:2011/05/20(金) 14:31:06.27 ID:pkwb7//k
今、AS3でスコア表示をさせようと思っています。
ピクセルを指定して加算した情報(例えばkoをx=120、y=300に表示)を表示する方法がわかりません。
ムービークリップ、グラフィック、ボタンのシンボルにして
MovieClip(root).kosu = ko;
にしてもうまくいきませんでした。
559Now_loading...774KB:2011/05/20(金) 14:36:24.33 ID:ZBSd7I2k
>>558
>今、AS3でスコア表示をさせようと思っています。
>ピクセルを指定して加算した情報(例えばkoをx=120、y=300に表示)を表示する方法がわかりません。
>ムービークリップ、グラフィック、ボタンのシンボルにして
>MovieClip(root).kosu = ko;
>にしてもうまくいきませんでした。

koとはなにか(MovieClip,intなど)
kosuとはなにか
情報を表示とはどういうことか
ぜんぜんわかんないから詳しく

koというMovieClipをx=120に動かしたいってこと?
560Now_loading...774KB:2011/05/20(金) 14:42:18.89 ID:pkwb7//k
>>559
情報が少なくてすいませんフレーム1で
var ko = 9;
と作りました。それをフレーム2でスコア表示として使いたいのです。
それで
MovieClip(root).kosu = ko;とかしたら表示できるかなーと思ってやってみただけです。
私がやりたいのはフレーム1で作った koをフレーム2でスコア表示として使いたいだけです。
そして表示したい位置がx=120,y=300辺りだということです。
561Now_loading...774KB:2011/05/20(金) 14:58:26.32 ID:ZBSd7I2k
あいかわらずkosuがわからんけどMovieClipかな

koはintかNumberね
文字を簡単に表示とさせたいときはTextFieldクラスを使おう

具体的な流れは
TextFieldインスタンスを作成
(テキストのフォーマットを定義)
TextFieldのtextプロパティに表示させたい文字列を代入
TextFieldインスタンスを表示リストにaddChild
くわしくは
ttp://hakuhin.jp/as3/text_field.html
562Now_loading...774KB:2011/05/20(金) 16:25:07.25 ID:pkwb7//k
>>561
ありがとうございます!おかげでできました!
しかしリトライなどをすると数値がそのまま残ってしまいます。
グーグルなどで テキストフィールド AS3 非表示
などで調べたのですが思ったような結果が帰ってきません
どうしたらいいでしょうか?
563Now_loading...774KB:2011/05/20(金) 16:36:44.63 ID:kmVJ7yoC
>>562
tf:TextField
表示リストから消す(見えなくする)ならremoveChild(tf)
値を更新したいのならその都度tf.text=String(ko)


表示リストについて詳しくは
ttp://hakuhin.jp/as3/container.html
564555:2011/05/21(土) 00:41:35.72 ID:p/1+FWJ5
>>556
ありがとうございます。
combo.selectedIndex = -1; でOKでした。
565Now_loading...774KB:2011/05/21(土) 12:25:57.71 ID:Gtc6obSJ
switch文の比較ってやっぱ文字列より数字の方が速いの?
566Now_loading...774KB:2011/05/21(土) 12:40:21.57 ID:OJdNcASb
ttp://sketch.txt-nifty.com/blog/2007/09/actionscript_1198.html
ttp://www.oro.co.jp/cd/column/flash/actionscript/if-in-switch.html
ttp://wonderfl.net/c/cEUv
適当にswitch拾ってきたけど関係ないのばっかだわ

やっぱgetTimer()で計るのが一番じゃないかな
567Now_loading...774KB:2011/05/21(土) 13:58:30.40 ID:TWBbzSN6
計測するのが一番だが、どう考えても数値の方が速い
568Now_loading...774KB:2011/05/22(日) 02:42:23.15 ID:W96+bCjq
質問です。
ActionScript3.0でXMLを読み込むまではいけるのですが、
trace(xml);
だと、ファイル全文が表示されるのに
trace(xml.line);
のように、要素を表示させようとすると、何も表示されません。
何故でしょうか?
XMLクラスではありますが、読み込ませているのはsvgファイルです(中身はXMLの構造)。


length():int
XML オブジェクトの場合、このメソッドは常に整数 1 を返します。

lengthメソッドを実行しても、1が返されます。
569Now_loading...774KB:2011/05/22(日) 03:11:52.11 ID:3UTR/EuY
xml.lineの中身はちゃんとあるの?
570Now_loading...774KB:2011/05/22(日) 11:24:09.21 ID:PTHmaFz1
lineの中身はないですね。
<line fill="no" />
みたいなタグがたくさんあります。・・・そのせいですか!?
571Now_loading...774KB:2011/05/22(日) 11:37:27.06 ID:2eMPDf+3
知らんけどとにかく最小構成にしろよ
でちょっとづつ増やしてってどこが原因か特定しろ
原因わかったらその部分の何がいけないか考えてわかんなかったらググれ
それでもわかんなかったら書き込めよ・・
572Now_loading...774KB:2011/05/22(日) 11:38:01.47 ID:2eMPDf+3
知らんけどとにかく最小構成にしろよ
でちょっとづつ増やしてってどこが原因か特定しろ
原因わかったらその部分の何がいけないか考えてわかんなかったらググれ
それでもわかんなかったら書き込めよ・・
573Now_loading...774KB:2011/05/22(日) 11:53:35.28 ID:PTHmaFz1
う〜ん・・・。以下のようにしてみても、格納されません。出力結果は0です。

var arr:Array = new Array();
for (var pname2:String in xml.line)
{
arr.push(xml.line.@fill[pname2].toString());
}
trace("arr:"+arr.length);

やりたいことは、以下のようなXMLファイルをArray配列に要素ごとに分けることです。

<svg>
<line fill="none" stroke="#000000" stroke-width="5" x1="172.231" y1="144.444" x2="444.881" y2="447.863"/>
<line fill="none" stroke="#000000" x1="453.5" y1="151.5" x2="112.5" y2="492.5"/>
</svg>



Array[0] = <svg><line fill="none" stroke="#000000" stroke-width="5" x1="172.231" y1="144.444" x2="444.881" y2="447.863"/><svg>
Array[1] = <svg><line fill="none" stroke="#000000" x1="453.5" y1="151.5" x2="112.5" y2="492.5"/></svg>

何かいい方法があれば教えてくだれば幸いです。。。
574Now_loading...774KB:2011/05/22(日) 16:37:47.12 ID:LQ+j3JNH
as3.0です
VectorにTextFieldを次々とpushしていきたいです
0番目には‘あ’、1番目には‘い’といった感じです
この場合、pushするには毎回新しいTextFieldを作らないといけないでしょうか?
素となるTextFieldを用意すれば、あとはそのtextを変えれば済むようにならないかと思っています
575Now_loading...774KB:2011/05/22(日) 16:39:31.43 ID:QZbq4lx3
で、やってみた結果は?コードは?
576Now_loading...774KB:2011/05/22(日) 17:12:46.41 ID:V/b8GCRc
>>574
何に使う配列なのかによる
TextFieldは画面に文字列を表示するためのクラスだ
ソフトウェアキーボードのように全部の文字列を同時に表示するならその分のTextFieldは全部必要だし、
そうでないなら文字列だけをVectorに入れておいて随時TextFieldに入れればいい
577Now_loading...774KB:2011/05/22(日) 17:25:22.04 ID:LQ+j3JNH
>>576
タイピングゲームを作ろうと思っています
これなら五行目の方法でできそうですね
文字列をTextFieldに入れるのは考え付きませんでした。目から鱗です
ありがとうございました
578Now_loading...774KB:2011/05/22(日) 17:28:53.43 ID:T16oE/SR
wwwwwwwwwwwwww
579Now_loading...774KB:2011/05/22(日) 19:36:33.40 ID:3UTR/EuY
>>573
初心者か。
arr.lengthが空なら、pname2は入ってるのか調べたりして原因突き止めろっての。
>>571の言うとおり。

for (var line:XML in xml)
{
arr.push(line);
}
trace("arr:"+arr.length);

これでどう?
ってかなんで配列に分ける必要があるんだ?
xml.line[0]とかでアクセスできるけど・・・
580Now_loading...774KB:2011/05/22(日) 19:38:24.44 ID:JOjXjMQy
キーボードイベントで
e.keyCode==65とやるのと
e.keyCode=KeyBoard.Aとやるのだと速度的にまったく一緒でしょうか?

コンパイル時に勝手に65に書き換えてくれるんでしたっけ
581Now_loading...774KB:2011/05/22(日) 19:57:53.76 ID:I9Lq+9Sr
>>580
数値指定のほうが速い、はず。

ただし、これで得られる速度差なんてたかが知れてる。
数値の直指定によるソースの読みにくさの方が問題。
宜しくクラス定数を使うべし。
582Now_loading...774KB:2011/05/22(日) 20:09:28.68 ID:rn5rXCE9
>>581
ありがとうございます。そうします

もうひとつ
キーボードイベントでキャラクターを動かす際の話なのですが、

キーを押しっぱなしにした時にイベントを定期的に送りつけるか最初の一回だけ送られるかはキーボード(ハードウェア)によると聞きます

どちらにも対応できる方法として
キーダウンでそのキーのフラグを立てて
キーアップでそのキーのフラグを折る
ようにして実際に動かす部分はエンターフレームでフラグから判断する
という方法を考えたのですが

その場合キーボードイベントで実行するより判断回数が激しく増えて重くなることを危惧しています
一般的には私が今回考えたやり方でやっているものなのでしょうか?
583Now_loading...774KB:2011/05/22(日) 20:35:10.68 ID:I9Lq+9Sr
>>582
それでおk。
キーボードのイベントはキーに設定するのではなく、Stageに設定する。
つまり、どう転んでも全キープレスごとにイベントは発生してしまうので
あまり心配しなくてもいい。
584Now_loading...774KB:2011/05/22(日) 20:41:56.94 ID:J2xMVehE
>>583
ありがとうございます!
これでやってみます
585Now_loading...774KB:2011/05/22(日) 21:27:01.32 ID:fh4o4eb1
すべてのクラスの定数をあるひとつのクラスにまとめてstatic constで記述しておいて。他のクラスからその静的定数にアクセスすると遅くなったりしますか?
586Now_loading...774KB:2011/05/22(日) 22:36:51.70 ID:Qw9cJNWh
Flashでペイントソフトを作成しています。塗りつぶしの機能を付け加えたいのですが、その方法で悩んでいます。
現在undoを考え1つの描きこみに対して1つのSpriteを作成し、addChild()してレイヤーのように書き込みを行っています。
どのように実装すればよいでしょうか?
BitMapDataのfloodFill()が使用できそうですが、できれば塗りつぶしの箇所のみのBitMapDataを作成して追加したいです。
As3.0

587Now_loading...774KB:2011/05/22(日) 22:54:05.98 ID:3uUrl4ah
>>586
現在のキャンバスをBitmapData.draw
floodFill
塗りつぶした場所以外を透明に
そのBitmapDataをいれたBitmapを上から重ねたら?ってのはだめ?
588Now_loading...774KB:2011/05/23(月) 02:19:13.58 ID:esFS6p+c
>>587
レスありがとうございます。
塗りつぶした箇所だけのBitmapDataて作成することってできるのでしょうか?
floodFill()で出力されるのは元のデータの上に、塗りつぶしを行ったデータになると思います。
元画像と、元画像+塗りつぶしから差分を取得できればできそうですが・・・
589Now_loading...774KB:2011/05/23(月) 02:23:12.14 ID:xjMlYrYJ
>>588
ピクセル走査して元のデータとuint比較して変わってなかったら透明に、変わってたらそのまま
でいけるんじゃない?
590Now_loading...774KB:2011/05/23(月) 02:39:57.10 ID:xjMlYrYJ
var soureBd:BitmapData=new BitmapData(サイズ、透過サポート);
source.draw(キャンバス);
var newBd:BitmapData=source.clone();
newBd.lock();
newBd.floodFill(場所、色);
for(x){
for(y){
if(newBd.getPixel32(x,y)==sourceBd.getPixel32(x,y)){
newBd.setPixel32(x,y,透明);
}
}
}
newBd.unlock();

超適当だけど
591Now_loading...774KB:2011/05/23(月) 10:12:15.72 ID:MzdWYYNR
球同士の衝突の計算をしたいのですが、今ネットに転がってるソースのほとんどがAS1,2でAS3
の私にはできません。
AS1のソースを無理やり変えたのですが夥しいエラーが出てしまったのでやめました。
どなかかASファイルというのを無しで球同士の衝突が分かる方いませんか?
592Now_loading...774KB:2011/05/23(月) 10:19:20.09 ID:DGXXnyJd
AS3で質問があります。

自分で作成したクラスのコンストラクタで
addEventListenerでイベントリスナを追加しています。

このクラスはUIクラスの拡張をしたものなのですが、
このクラスを表示している画面が閉じられるときに
追加したリスナをremoveEventListenerで削除したほうが良いと思うのですが、
どのように実装すればよろしいでしょうか?

よろしくお願い致します。

593587:2011/05/23(月) 10:25:57.29 ID:XYnatABO
>>589,590
おお〜ありがとうございます。
そうですね、ピクセルの比較で差分を簡単に求めれそうですね。
今からためしてみます。。
594Now_loading...774KB:2011/05/23(月) 10:54:17.40 ID:xjMlYrYJ
>>591
ビリヤードの人かな
具体的にどういう計算がしたいのか
どこまでできてどこができないのかが分からないと答えられないけど

球同士ということなら中心からの距離が定石かね


>>592
画面が閉じられる時ってのがよくわからないけどremoveChildの時?
その時にremoveすればいいんじゃないかな
595Now_loading...774KB:2011/05/23(月) 11:25:16.81 ID:MzdWYYNR
>>594
ありがとうございます。具体的となりますと私自身よくわかっていません・・・
私が衝突をする上で分からないのは打つボールが動いた後にどうやって落とすボールの位置を把握させるかが、
私にはよくわかっていません。
計算式はあたったら進入角度と反対のほうに全て運動量を半分にするような形をとりたいです。
596Now_loading...774KB:2011/05/23(月) 11:32:49.95 ID:6/L6Yp6I
var i:int = 0xEEEEEE;のように16進数を使うと、internal debugger exceptionというエラーが出ます
これはいったい何でしょうか?
環境は、
FlashDevelop3.3.4
flex_sdk_3.5.0.12683
です
597Now_loading...774KB:2011/05/23(月) 11:33:37.75 ID:xjMlYrYJ
>>595
たぶん流れとしては
動かすボールのonEnterFrame(e:Event){
(1)動かす
[(2)他のボールの座標を取得
(3)座標から距離を計算
(4)距離から衝突を判定
(5)衝突してたら二つのボールに処理をする
]
}
(2)から(5)は他のボール分繰り返すんだろうけどとりあえず合計二個でやるのがいいと思う

(2)がもうわからない感じ?
598Now_loading...774KB:2011/05/23(月) 11:35:29.54 ID:MzdWYYNR
追記です。
私がやったのは
if(mainball.x = ball1.x || mainball.y = ball1.y)
{
dx = dx / 2 * - 1;
dy = dy / 2 * -1;
1dx = dx / 2;
1dy = dy / 2;
}
となります。
まぁとりあえずあたったら見たいな感じにしたんですけど うまく角度をつけたいのですが
どのようにしたらいいかわかりません。
599Now_loading...774KB:2011/05/23(月) 11:36:55.83 ID:MzdWYYNR
>>597
先のif分みたいな感じで大丈夫でしょうか?
いまいち中身の座標を取得するのは分かっていません。
600596:2011/05/23(月) 11:43:51.80 ID:6/L6Yp6I
自己解決しました。スレ汚しすいません
起動しっぱなしなのが原因だったようです
601Now_loading...774KB:2011/05/23(月) 11:46:24.01 ID:xjMlYrYJ
>>599
どこに書いたのかわからないけど
enterframeイベントに登録された関数内?
とりあえずそこに
trace(ball1.x,ball1.y);
trace(mainballx,mainball.y);
と打ってみてきちんと値がとれてるか確認を


それからそのif文じゃ変な挙動になりそう
あと比較演算子が間違ってる

円同士の衝突はこんなかんじ
ttp://hakuhin.jp/as/hittest.html#HITTEST_02
スクリプトは2.0だけど考え方は一緒
602Now_loading...774KB:2011/05/23(月) 11:47:07.94 ID:xjMlYrYJ
>>600
ちょっと調べてみたけどFDのエラーだったの?
603Now_loading...774KB:2011/05/23(月) 11:56:34.81 ID:MzdWYYNR
>>601
そうですねww明らかに変な挙動ですw
こちらのページの円の衝突の方は見させていただいたんですが、
// 円A
var ca = {
px : 0, // x 座標
py : 0, // y 座標
dx : 2, // x 方向の速度
dy : 3, // y 方向の速度
r :10, // 半径
m : 1 // 質量
};

// 円B
var ca = {
px : 0, // x 座標
py : 0, // y 座標
dx : 2, // x 方向の速度
dy : 3, // y 方向の速度
r :10, // 半径
m : 1 // 質量
};
こちらの意味がいまいちわかりませんでした・・・
604Now_loading...774KB:2011/05/23(月) 11:59:57.09 ID:MzdWYYNR
どのようなところが分からないかというと var caが二つあるのでどうしたものかと迷っています。
言い訳ですけど突然やれといわれて基本もままならないので文の意味を簡単に理解できません。
じっくり勉強したいんですが提出する期間が決まっているので・・・
605Now_loading...774KB:2011/05/23(月) 12:08:49.02 ID:6/L6Yp6I
>>602
FDのエラーか判断できるほどよく知らないです
ただデバッガが起動しているのにデバッグしたのが原因っぽいということしか分かりません
606Now_loading...774KB:2011/05/23(月) 12:09:37.23 ID:xjMlYrYJ
>>604
なんだろ。ミスだと思う。
caとcbかと

とりあえずは
dx,dy,dx1,dy1でやってごらん
trace()はちゃんと見れてて
mainballの値は動いてた?
607Now_loading...774KB:2011/05/23(月) 12:39:19.43 ID:MzdWYYNR
自分の文の打ち方が間違っていました。。。
dx1,dx2が判定してくれません・・・
608Now_loading...774KB:2011/05/23(月) 12:59:54.22 ID:MzdWYYNR
反応はしましたけどこれだとあたって無くてもY軸かX軸の条件一致したら移動してしまいますね・・・
609Now_loading...774KB:2011/05/23(月) 13:00:57.51 ID:xjMlYrYJ
>>608
http://hibari.2ch.net/test/read.cgi/swf/1305783143/
とりあえずこっちで聞くわ
610Now_loading...774KB:2011/05/24(火) 11:12:40.75 ID:39TJp6JL
AS3です。

クイズ問題を作っているのですが
制限時間のタイマーをセットしています。

クイズ全体の制限時間を
Timerイベントで管理しているのですが、
クイズの中でクリックする場面も多く、
このようなクリック処理が入ると
Timerイベントが遅くなってしまいます。

たとえば制限時間を30分に設定していても
回答者がクリックする頻度によっては
処理が遅れ、実質32分とか33分とかになってしまいます。

そもそも、制限時間を作るときは
どのようにつくるとうまくいくものなのでしょうか。。

ご存知の方いらっしゃいましたら、
何卒ご教授のほど、よろしくお願いいたします
611Now_loading...774KB:2011/05/24(火) 11:36:23.95 ID:XCf9EE+v
>>610
まず自分のソース晒したほうがいい
612Now_loading...774KB:2011/05/24(火) 11:47:22.40 ID:sHDWJ46k
>>610
そんなに使ったことないからどの程度の重さだと1ms→1.1msほど遅れるのかわからない
(>>610の処理の方法が悪いからなのかわからない)けど

最初と最後にDateでローカル時間持って来れば処理の重さにかかわらず
秒単位の経過時間は一応得られそうだけど
当然経過時間をリアルタイムに画面表示したいだろうからだめだよね・・・
enterFrameDate内で(%フレームレート==0)でDateを1秒ごとに更新するとか?
それなら更新周期1秒ごとというのは微妙に守られなくても
時間だけは正確かね


ttp://www.trick7.com/blog/2006/11/30-115701.php
ttp://www.bit-101.com/blog/?p=910

>一方、ものすごく正確な時間測定が必要な案件の場合は、
BIT-101さんが書いた「Making Things Move!」の最後の方に書かれている
「onEnterFrameベースのカウント処理」の方が良いですよと仰られてます。

はたして有益な情報が載っているのか
うーん。。
613Now_loading...774KB:2011/05/24(火) 11:54:52.85 ID:sHDWJ46k
>enterFrameDate内で(%フレームレート==0)でDateを1秒ごとに更新するとか?

enterFrameDateってなんだ・・・Date消し忘れ
614Now_loading...774KB:2011/05/24(火) 12:04:55.21 ID:39TJp6JL
>612さん

ありがとうございます!
試してみます、取り急ぎお礼です!!!
615sage:2011/05/24(火) 13:11:35.61 ID:iMVHnBBb
教えてくださいっ!
自作の関数なんですが、オブジェクト.function名(
まで書くと、通常ですと
hogeFunction( _hoge1:String, _hoge2:String):void
とヒントが表示されるんですが、swcのfunctionだと
hogeFunction( arg0:String, arg1:String):void
ってなってしまいます!
どうしたら引数名を表示できますか??
616Now_loading...774KB:2011/05/24(火) 13:17:14.36 ID:o7GeB5Rd
コーディングになに使ってんだよ…
617Now_loading...774KB:2011/05/24(火) 16:10:59.69 ID:iMVHnBBb
>616
すいませんっ Flash CS5.5ですっ
618Now_loading...774KB:2011/05/24(火) 16:49:10.30 ID:o7GeB5Rd
>>617
出ないならまだしも一応は出るんだよねえ

一応CS5ででなくなった時の情報だけどキャッシュを削除してみるとか
ttp://www.jagra.or.jp/schoolblog/2010/09/flash-professional-cs5.html

あとはこのへんをもう一度チェックしてみるくらしかわからないです
SWC ライブラリのコードヒント
ライブラリパスまたは外部ライブラリパスに SWC ライブラリを追加すると、その SWC ファイルに含まれているすべてのクラスについてコードヒントが有効になります。

ソフトウェアを再起動せずにコードヒントをリロード

アクションパネルの右上隅にあるオプションメニュー から「コードヒントのリロード」を選択します。
カスタムメソッドを記述してスクリプトアシストモードをカスタマイズする場合は、これを行う必要が生じることがあります。
619Now_loading...774KB:2011/05/24(火) 20:40:21.40 ID:RgX2GZ/l
AS3.0で変数の型指定をするときに、「あるクラスを継承したクラスなら何でも入れられる」という指定の仕方をする方法はありませんか?
型の部分を*にすると継承関係にないクラスまで入れられてしまうので教えて欲しいです。
620Now_loading...774KB:2011/05/24(火) 20:51:27.95 ID:o7GeB5Rd
>>619
var hoge:あるスーパークラス
621Now_loading...774KB:2011/05/24(火) 20:59:47.76 ID:o7GeB5Rd
カスタムイベントの送信で質問です
private function _eventThrough(e:CustomEvent):void {
trace(e);
this.dispatchEvent(e);
}
としてイベントリスナ経由で_eventThroughが呼び出されると
TypeError: Error #1034: 強制型変換に失敗しました。flash.events::Event@329ace49 を CustomEvent に変換できません。
と出てしまいます
_eventThroughはCustomEventの送信によって呼び出されているし、_eventThroughの引数eもCustomEvent(Eventを継承しています)なんだから
当然dispatchEvent(e)できるはずだと思うのですが、何が原因でしょうか
thisはもちろんEventDispatcherを継承していて
dispatchEvent(new CutomEvent(省略))で送出もできています

this.dispatchEvent(e);をコメントアウトしたところ、エラーは出なかったので
引数としてもCustomEventで送られてきていると思うのですが
622Now_loading...774KB:2011/05/24(火) 21:28:50.15 ID:+fZcWuVv
>>621
ttp://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/events/EventDispatcher.html#dispatchEvent
>イベントが送出された後にそのイベントの target プロパティは変更できないため、
>再送出処理のためにはイベントの新しいコピーを作成する必要があります

ってあるから仕様じゃね?
623Now_loading...774KB:2011/05/24(火) 22:14:11.66 ID:Ll/3UdQ0
>>622
ありがとうございます。そちらを読んで仕様なのかと思い

Flash CS3で四角をMC化し、それぞれaaaとbbbと名前を付けた二つのMCを1フレーム目に配置
1フレーム目のフレームアクションに

aaa.addEventListener(MouseEvent.CLICK,_onC);
function _onC(e:MouseEvent) {
trace(1);
bbb.dispatchEvent(e);
}
bbb.addEventListener(MouseEvent.CLICK,_onC2);
function _onC2(e:MouseEvent) {
trace(2);
trace(e.target.name);
}

と書いてパブリッシュ、aaaをクリックしたところ
1
2
bbb
と正常と思われる結果が返ってきました

カスタムイベントが悪いのかな・・・
624Now_loading...774KB:2011/05/25(水) 10:22:11.07 ID:LbjeiT7x
>618
ライブラリパスにswcのASファイルの場所を追加したら、引数名が表示されました!
ありがとうございました!
625621:2011/05/25(水) 11:36:56.17 ID:HQSDJ8Rh
trace(e is CutomEvent);
もtrueだったし

this.dispatchEvent(e.clone());
も同じこと言われた
値コピーして新しいCustomEvent返す
public function throughClone():CustomEventをCutomEventに追加して

this.dispatchEvent(e.throughClone());

で事なきは得たけどひと手間無駄してる感じ

なんでだろ
626Now_loading...774KB:2011/05/25(水) 11:52:30.67 ID:uF151xwu
extendsしただけで、コンストラクタでsuperの呼び出ししてないとか?

もう、_eventThrough(e:Event):void

で宣言して、内部で

var ce:CustomEvent as e;
とかで処理するとか。
627Now_loading...774KB:2011/05/25(水) 12:01:50.86 ID:HQSDJ8Rh
>>626
さすがにsuperしてました。
ふつうのイベント送受信はできるのです

その方法でもやはりdispatchの段階で同じエラーになるようです

子を監視して子が自身にイベント送信したら
そのイベントをそのまま自分に送信し
さらに自分を監視している親が反応する
ということをやりたいのですが
628Now_loading...774KB:2011/05/25(水) 12:46:00.59 ID:HQSDJ8Rh
例によって車クラスがあったとします
サブクラスにカローラクラスがあります

インスタンスのカローラ1とカローラ2は残りガス量などの個々のインスタンス変数を持っていますが
マックススピードは一緒なので当然static変数にします

同様に車クラスのサブクラスであるフィットにもstaticにマックススピードがあり、カローラのそれとは違う値です

ここで、車クラスの定義でマックススピードを使いたい場合はどうしたらよいのでしょうか
車の protected function _go():void{
this.x+=maxSpeed;
}
のような感じです
_goはもっと長いのですがサブクラスでもまったく同じ動きをし、maxSpeedの値だけが違います
このmaxSpeedを指定するためだけにオーバーライドするのはおかしいですよね
maxSpeedがインスタンス変数ならそのまま車クラスでprotected varしておいてカローラのコンストラクタで指定して代入すれば済むのですが
明らかにカローラ共通の値をインスタンス変数として持たせたくありません

もちろん実際に使うのはカローラクラスなので車クラスは抽象クラスのようなものです
こういった場合はどのようにしたら良いのでしょうか
車でget maxSpeed():int{}
しておいて
カローラでget maxSpeed():int{return スタティックmaxSpeed}とオーバーライドするとか?
629Now_loading...774KB:2011/05/25(水) 12:48:29.58 ID:uF151xwu
結局dispatchEventの引数はnewされたクラスが必要ってことなんじゃなかろうか。

Javaならコンストラクタをオーバーロードして、
new CustomEvent(e)とかでわかりやすく書けるけど。

なんか、すっきりする回答が欲しいね。
630Now_loading...774KB:2011/05/25(水) 12:54:37.32 ID:HQSDJ8Rh
>>629
>>623の感じから見る限り俺が悪い気がするの
631Now_loading...774KB:2011/05/25(水) 20:02:52.49 ID:aAgmNeu4
>>629
そんでいいんじゃないかな、>>486-492でも同じ流れだし
632Now_loading...774KB:2011/05/25(水) 20:43:17.25 ID:ex0OySbS
>>620
ありがとうございました。
633Now_loading...774KB:2011/05/26(木) 00:14:59.93 ID:GxwznKTh
Flash CS4使ってるんですが、

外部で定義したクラスAと、その継承クラスBを定義して、

ひとつのflaファイルで、Aを基本クラスとするシンボルA'のインスタンスと
Bを基本クラスとするシンボルB'のインスタンスを作り、

A'とB'にそれぞれ追加した同名のインスタンス(たとえばbutton)とかあると名前のコンフリクトがおきたり
A'に書いたフレームアクションがB'で走ったりするのはCS5でも一緒ですか?
634Now_loading...774KB:2011/05/26(木) 00:31:43.45 ID:+FECqIp/
外部で定義したクラスにフレームアクション??
635Now_loading...774KB:2011/05/26(木) 00:38:29.30 ID:GxwznKTh
>>634
はい…。すいません言葉が足りてませんでした。
MovieClipの継承クラスを定義してます。
細かい追加のパーツとかはフレームアクションで済ませたりしてるのですが…
636Now_loading...774KB:2011/05/26(木) 00:58:39.34 ID:+FECqIp/
MovieClipを継承したクラスAをasファイルで定義
同じようにAを継承してBをasファイルで定義

CS上でシンボルAAをライブラリに登録、基本クラスをAにする
AAのタイムラインアクションにvar b:Button

シンボルBBをライブラリに登録、基本クラスをBにする
BBのタイムラインアクションにvar b:Button

→怒られる

ってこと?
637Now_loading...774KB:2011/05/26(木) 12:19:48.96 ID:6bpCjMpV
ムービークリップを画面にランダムに配置するコードを作成しています
このときにできるだけ、重なって表示しないように配置しようとして、以下の処理をしてるのですが、
表示すると、かなりの確率で重なって表示されます。移動後直後に、hitTestObjectを呼んだら当たり判定できないのでしょうか?
デバックができない環境なので質問しますm(__)m
638637:2011/05/26(木) 12:24:08.49 ID:6bpCjMpV
McUはMoveClipを継承したクラス
m_aUserMcもMoveClipのMcUの配列

for(var ii:int = 0; ii < m_aUd.length; ii++) {
 var cUser:Ud = m_aUser[ii];

 var cMcU:McU = new McU(cUser, false);
 for(var jj:int = 0; jj < 100; jj++) {  
  cMcU.x = (Math.random() * 600;
  cMcU.y = (Math.random() * 600;

  var bOK:Boolean = false;
  for(var kk:int = 0; kk < m_aUserMc.length; kk++) {
   var cMc:McU = m_aUserMc[kk];
   if(!cMcU.hitTestObject(cMc)) {
    bOK = true;
    break;
   }
   else {
    m_aUserMc.push(cMcU);
   }
  }
  if(bOK) {
   break;
  }
 }

 m_aUserMc.push(cMcU);
 this.addChild(cMcU);
}
639Now_loading...774KB:2011/05/26(木) 12:50:57.31 ID:5rEGBCtZ
>>628

車クラス(抽象クラス)にmaxスピードのプロパティ入れない。
車の例えで話を続けるならば、車クラスはフレーム(枠組)だけで良い。
車クラスが実際に走ると考えるから破綻する。
車クラスは鉄の枠だけで、ココにエンジンを載せて、ココにシートを配置してと
レイアウトだけでイイ。

実際に走るカローラクラスにmaxスピードのプロパティを持たせるべき。
640Now_loading...774KB:2011/05/26(木) 13:22:56.65 ID:I7mvddyb
>>639
カローラクラスもフィットクラスも走る部分は
maxスピードの値以外まったく同じ式なのですが、まったく同じことを書くということでしょうか?
641639:2011/05/26(木) 20:19:27.85 ID:5rEGBCtZ
>>640
少し車の喩えから離れます。

> maxスピードの値以外まったく同じ式なのですが...

ならば、maxスピードはサブクラスのプロパティとするべきでしょうね。

オブジェクト指向の考えを推し進めていくのならば、当然重複する部分はまとめるべきです。
しかし、意味的な部分で可読性が下がるならば、寧ろ冗長的表現も必要だと思います。

人は物忘れをする生き物です。
半年もすれば、自分のやったことの2割3割は忘れてしまうモノです。

そういう意味で、重複する部分も多少残した方が良いと思います。
642Now_loading...774KB:2011/05/26(木) 20:50:25.33 ID:I7mvddyb
>>641
たしかに意味的にはサブクラスのstatic constが一番いいですからね
なんだかまとめられるものは全部上のクラスに持ってきたくなっちゃうんですよね

私は2日も空けば自分の書いたコードの理由に頭をひねらなきゃなんないです
643Now_loading...774KB:2011/05/26(木) 22:02:48.63 ID:GxwznKTh
>>636

すいませんフレームアクションはおいといてください。
CS4のステージ上でシンボルAAにbという名前付きのボタンシンボルのインスタンスをおくと、
var b:Button
はCS4が自動宣言すると思います。


で、おそらくですがこの自動宣言がシンボルAAのクラスではなく、基本クラスのAで行われるため、
シンボルBBのインスタンス上にもbという名前付きのボタンシンボルのインスタンスをおくと
名前重複で起こられる、ということです。
644Now_loading...774KB:2011/05/26(木) 22:05:18.86 ID:GxwznKTh
つづき

で、別件として、フレームアクションについて、たとえば
シンボルAAにhogeというムービークリップシンボルをおいて、11フレーム目で

hoge.visible=false;

とか書いておくと、
シンボルBBのインスタンスにはhogeがないので、実行時に
シンボルBBの11フレーム目になると、nullのプロパティまたはメソッドにアクセスできませんとかで怒られます。
ただし、これはシンボルBBの11フレーム目にコメントとか;(セミコロン)とかスペース書いとくと回避できます。
645Now_loading...774KB:2011/05/27(金) 00:59:11.12 ID:ha9uS3Al
>>643
>自動宣言がシンボルAAのクラスではなく、基本クラスのAで行われるため

そんなはずはないけどなあ
Aを継承したAAとBBにオーサリング時それぞれButtonを配置しても、エラーは出ないぞ
もっとも、両方に配置するならAにButtonを定義しとけばいいと思うが
646Now_loading...774KB:2011/05/27(金) 11:02:44.73 ID:XV/Yvf9U
>>645
Aを基本クラスとしたオーサリングAAと
Aを継承したBを基本クラスとしたオーサリングBBの話じゃね?
647Now_loading...774KB:2011/05/27(金) 18:00:52.13 ID:Co/LhbMI
「デバックができない環境」の意味がわからん
あと「デバック」て
648Now_loading...774KB:2011/05/27(金) 18:20:12.76 ID:ha9uS3Al
>>646
なるほど、納得

それはCS5でも一緒、というより仕様だと思うんだが…
>>644にしても、それが嫌ならAAクラス作ってそこで宣言すればいいんじゃね?
単にクラス設計とかタイムラインとの併用そのものが、よろしくないように思えるな
649Now_loading...774KB:2011/05/27(金) 19:26:35.81 ID:XV/Yvf9U
うむ
タイムラインが入るとややこしくていかん

タイムラインで宣言された変数ってdynamicに追加されるんだっけ
650Now_loading...774KB:2011/05/27(金) 23:47:14.76 ID:mVp8zphY
>>645
>>646
わざわざ検証していただいたんですね、ありがとうございます。
すいません説明がヘタで…646さんのおっしゃる通りです。

デザイナーさんがCS4で配置して、自分が制御して…っていう流れで、
どうにか横着したいw

>>それが嫌ならAAクラス作ってそこで宣言すればいいんじゃね?
これは自動宣言を切る、という意味ですか?
651Now_loading...774KB:2011/05/27(金) 23:52:27.64 ID:mVp8zphY
あ、すいません違いますね。
自己完結しました。

今は外部で

クラスAを定義

クラスAを継承したクラスA'(コンストラクタだけ?実質ただのコピー)を定義
クラスAを解消したクラスBを定義

みたいにしてます。
652Now_loading...774KB:2011/05/28(土) 00:07:53.21 ID:iVq8Jr7j
CSを買おうと思うのですが、値段が高いので、
どこか中古でCS4か3が買えるお店が無いでしょうか
関東がいいのですが、通販でも可です。
なにやら他のFlashスレが過疎っているのでここで
お聞きさせていただきます。

ちなみに4や3ってFlash Player10.1には対応しているでしょうか?
653Now_loading...774KB:2011/05/28(土) 06:34:13.92 ID:a/97txvq
>>652
ttp://page13.auctions.yahoo.co.jp/jp/auction/r78011432
これは終了間近だが、探せば他にもあるんでない?

>ちなみに4や3ってFlash Player10.1には対応しているでしょうか?
ttp://www.adobe.com/jp/support/flash/downloads.html
によれば、CS4で、かつアップデートを万全にしたとしても
10.0.42.34 までとなっているな。
654Now_loading...774KB:2011/05/28(土) 09:43:52.51 ID:J99y9Gd2
1万でかえんのか
655Now_loading...774KB:2011/05/28(土) 15:55:33.27 ID:iVq8Jr7j
>>653
亀お礼ですがありがとうございました。早速教えていただいたところに
連絡してみます。
しかし10.1にCS4でも対応しないというのは痛いですね
自分の周りのPCはFlash Playerがみな10.1で、ようするに
CS5を買えというありがたいアドビさまの考えなのでしょうか…
できればFlash playerのほうはバージョン上げないでほしいですね
こんなことをしていると、ますますFlashが廃れていくように思うのですが。
656Now_loading...774KB:2011/05/28(土) 15:58:03.05 ID:iVq8Jr7j
ああっと!ヤフオクだったんですね。領収書が出ないのか・・・
657Now_loading...774KB:2011/05/28(土) 17:36:41.18 ID:0qxcWwn+
>>655
PCのFlash Playerが10.1なら
10.1以下のFlashは見られるわけだし、問題なくね?
なにか勘違いしてるのでは?
どうしても安くやりたいなら、FlexSDKはダメなのか?
658Now_loading...774KB:2011/05/28(土) 23:46:03.71 ID:iVq8Jr7j
>>657
実はフリモ3というのでやっているんですが、作った物がFlash player 8とか
6とかだと正常に動くんですが、プレイヤーが10.1だと動かないんですよ><

10.1用の書き出しができる設定もあるんですが、それで書き出しても
プレイヤーが8や6でないと正常な動作をしません

三ヶ月徹夜でがんばったのにもう泣きたいです。あきらめてCS5を
アドビの思惑どおり買うことにします。

ありがとうございました。
659Now_loading...774KB:2011/05/29(日) 07:28:18.10 ID:fRWdbdx+
>>658
Adobe純正でも似たようなことがあるから困る。
ためしに、「シーン」で区切ったムービーをCS3とCS4で作って、
バージョン9のswfで出力して、「ニコニコ動画」に上げてみると、
CS3のは問題なく動くが、CS4のは「シーン」ごとにシークバーが
先頭に戻り、まともな頭出しが出来ない。
660Now_loading...774KB:2011/05/29(日) 16:47:45.97 ID:WlHqJcHU
http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/
にはVectorの説明がないように思うのですがどこにあるのでしょうか?
ないとしたら何を参考にすれば良いでしょうか?
661Now_loading...774KB:2011/05/29(日) 17:17:35.49 ID:fR0n+RRg
662Now_loading...774KB:2011/05/29(日) 17:37:46.20 ID:WlHqJcHU
>>661
ありがとうございます
トップレベルのとこりにあったんですね
663Now_loading...774KB:2011/05/29(日) 17:59:54.91 ID:fR0n+RRg
>>662
見てるバージョンが違ったんだよ・・・
664Now_loading...774KB:2011/05/29(日) 18:04:26.86 ID:WlHqJcHU
>>663
なんだと・・・
グーグル先生にしてやられた感じです
盲点でした。本当にthx
665Now_loading...774KB:2011/05/29(日) 18:09:00.60 ID:xAev+qCb
>>7
返信が遅くなりましたが、ありがとうございます。
街の方の書店で見つけたので買いました。
まさにやりたいことが解説されていたので助かりました。
666Now_loading...774KB:2011/05/29(日) 18:24:19.15 ID:fR0n+RRg
>>665
その本立ち読みしようとしたら寸前に他の人に取られて
30分待ってたらそのまま買ってきやがった・・・・

サンプルは確か普通に落とせるんだよね。
SiONなんか一本解説付きのがあったからそれだけでも勉強になったり。にひひ
667Now_loading...774KB:2011/05/29(日) 21:34:55.87 ID:sEnSSIQN
ActionScriptで、というかFlashDevelopでコードから作ったswfファイルって、
EmbedやLoaderで読み込めないんでしょうか?
Flash CS5で作ったswfは再生できるんですけども
同じ拡張子でも別物なのか、それとも何かミスしてるのか知りたいっす。
668Now_loading...774KB:2011/05/29(日) 22:38:31.22 ID:Kz5pk2mn
読める、とおもうけどなあ
669Now_loading...774KB:2011/05/29(日) 23:08:32.39 ID:xAev+qCb
>>666
それ、堂島だったら俺ですね。。。
サンプルは普通に落とせるっぽいです。
結構嬉しいけど、それっていいのかな〜とか思ったり。。。
670Now_loading...774KB:2011/05/30(月) 06:41:51.28 ID:abxjUv38
>>667
読めてるな、俺は
・メインクラスをSpriteクラスから派生させている
・Loaderがある方のswfもFlashDevelopで作成している
んだけど、同様の方法でテストしてみて順番に自分の目的に近づけていって
どこが問題なのか調べてみたら?
671Now_loading...774KB:2011/05/30(月) 09:57:12.25 ID:DiBP383f
loaderならイベント全部拾ってどこまでいけてるのか見てみるとか
672Now_loading...774KB:2011/05/30(月) 11:49:43.29 ID:D7SPFrRu
flex_sdk_4.5.0.20967に変更したら、Stringの変数にドットをつけてもメソッドが表示されなかったり、
import flash.events.Event;を手動で書かなければならなくなりました。
設定忘れやミスでしょうか
プロジェクトのテストをすることはできますが、この状態でコードを書くのが面倒くさいので解決方法を教えていただきたいです
673Now_loading...774KB:2011/05/30(月) 13:16:16.57 ID:jG5LIZIY
CS5.5でドキュメントの保存と自動リカバリのダイヤログ出たとたんにそのままフリーズしやがったぞ!!
氏ねよ!!!!
674Now_loading...774KB:2011/05/30(月) 14:26:23.34 ID:D7SPFrRu
クラスパスがおかしいことになっていそうだということしか分かりません
再インストールをすれば解決するかもしれませんが、できない環境で困っています
どうしたらいいのでしょうか
675Now_loading...774KB:2011/05/30(月) 16:14:54.19 ID:d+aqQlEq
Flash CS5を使用しています
JPEGencoderだとかBase64encoderだとかいったものはそのままで使えるのでしょうか?
それともなにか入れたりしなくてはいけないのでしょうか?
676621:2011/05/30(月) 21:17:11.54 ID:DiBP383f
>>621
ですが解決しました
カスタムイベントクラス内でclone()をoverrideしていなかったのが原因のようです

ttp://livedocs.adobe.com/flex/3_jp/html/help.html?content=createevents_3.html
>この場合は、サブクラス内で Event.clone() メソッドをオーバーライドする必要があります。
clone() メソッドは、type プロパティとすべての新規プロパティをクローン内に設定して、イベントオブジェクトのクローンされたコピーを返します。
通常、clone() メソッドは、new 演算子によって作成されたイベントインスタンスを返すように定義されます。

ということはイベントハンドラ内でdispatchEvent(e)をするとeのcloneが送られてたわけか
overrideしていなかったからe.clone()の返り値がEventのままでCustomEventにダウンキャストできなかったのが原因かな

>>625の解決法と実はなんら変わらないっていう
結局コピーは必要なのね
まあ一応スッキリしたので報告
677Now_loading...774KB:2011/05/31(火) 00:27:25.32 ID:CFpe5gs0
ByteArrayってカスタムクラスのインスタンスを普通に保存して読み込んで復元することができるのでしょうか
それともプロパティを全部数字と文字列に直してObject作って保存するものなのでしょうか
678Now_loading...774KB:2011/05/31(火) 11:05:24.80 ID:ZI+yODId
Tweenerで配置したビットマップが指定した領域に存在するか
を得たいんだけど、どうやったら出来る?
679Now_loading...774KB:2011/05/31(火) 11:14:21.56 ID:CFpe5gs0
>>678
解決したいだけならビットマップの参照もっといてenterFrameで座標見ればいいんじゃない?
680677:2011/05/31(火) 11:46:45.05 ID:CFpe5gs0
>>677ですが
flash.net.registerClassAlias(aliasName:String, classObject:Class):void
で保存時と復元時にクラスにエイリアスを張ったらいけるようですね
コンストラクタの必須引数が0なのとprivateは復元できない制約があるみたいですが
681Now_loading...774KB:2011/05/31(火) 13:46:10.65 ID:tPpsMpjL
>>667ですが、解決した、のかなーと。
ロードする方とされる方のswf、どっちも同じクラス名にしてたのがよくなかったようです。
↓でmainが無限に出力されてました。
理屈がいまいちよくわかんないんですが、ロードしたswfを作成するつもりで
自分自身を複製しちゃったりしてるんですかね?

ロードする方
public class Main extends Sprite
{
  public function Main():void
  {
    trace("main");

    var loader:Loader = new Loader();
    loader.load(new URLRequest("Hoge.swf"));
    addChild(loader);
  }
}

ロードされる方
public class Main extends Sprite
{
  public function Main():void
  {
    ...
  }
}
682Now_loading...774KB:2011/05/31(火) 14:24:20.08 ID:R3qyYMy0
>>681
そんなことよりloader.load()の後のaddChildをイベントハンドラにいれてないの?
683Now_loading...774KB:2011/05/31(火) 23:04:18.51 ID:hGYRTGzX
>>681
新たに読み込んだswfに同じパッケージの同じクラス名があると
無視されて既存のクラスが使われるよ
名前が衝突しそうならApplicationDomainを新しく作れば回避できる
loader.load( new URLRequest("Hoge.swf", new LoaderContext(false, new ApplicationDomain()) );

>>682
HTMLのimgタグみたいなもんだから読み込む前にaddChildしちゃってかまわないはず
読み込み完了までアクセスできるメンバは限られるから注意がいるけど
684Now_loading...774KB:2011/06/01(水) 10:06:16.05 ID:Up8WIE7R
initするまでアクセスできないメンバもあるんだしイベントにいれるべきだろ
685Now_loading...774KB:2011/06/02(木) 10:06:27.84 ID:q4rqnOsm
ttp://f-site.org/articles/2011/02/19164156.html
こちらでは配列、Vectorに与えるインデックス番号を計算するときは
uintにキャストしたほうが良いと書かれていますが

forループ内でイテレータをインデックス番号にする際は
もうイテレータ自信をuintで回したほうがよいのでしょうか
i++の時点でデータ型は確定しているのかな

forでイテレータにuintを使うと遅くなる、等の記事も見かけたことがありますし
正の値が保証されているときもイテレータの書き方として一番正しいのはintなのでしょうか
686Now_loading...774KB:2011/06/02(木) 11:06:44.23 ID:l7qf9Bh5
その記事intとuintの比較じゃないから
式で渡すのとリテラルで渡すのだったらリテラルの方が良いっていうだけ
なんでuintにしてるかは知らんけど、普通にintでいいんじゃね?
687Now_loading...774KB:2011/06/02(木) 11:08:14.58 ID:l7qf9Bh5
ああ、式とリテラルじゃなくて、*型と型が定まってる場合の比較か。
688Now_loading...774KB:2011/06/02(木) 11:28:27.07 ID:q4rqnOsm
>>687

array[4]...型が決定している
array[4+1]...型が決定していない

var i:uint = 0;
array[i]...決定している
array[i+1]...決定していない

for(var i:int=0;i<length;i++){
array[i]...してる?してない?
}
してるんですかね
わからn
689Now_loading...774KB:2011/06/02(木) 13:07:43.20 ID:l7qf9Bh5
uintでもintでもその型の変数使ってんなら型決定してるよ
わからんレベルなら気にしないでintにしとけばいいんじゃね?
690Now_loading...774KB:2011/06/02(木) 14:31:38.71 ID:18SdkYgN
>>672,674
自己解決しました
691Now_loading...774KB:2011/06/03(金) 15:57:25.17 ID:X6m3x8No
FMSでFileオブジェクトとwritelnメソッド使ってイベントログファイルに書き出してるんですが
排他制御って実装されてないのでしょうか。
692復習のコード:2011/06/04(土) 02:14:48.02 ID:lkCIwHV1
教えてください。

ラベル10個をタイムラインに配置して、
各ラベルにはそれぞれ問題をテキストで付属してます。
1問目から10問目まで解いた後に、
間違えた問題をもう一度解答するようにして、
間違えた問題がゼロになるまで復習できるようにASを組みたいのですが、
どうやればいいのでしょうか?
お願いします。

環境:XP,CS5,AS3,

693Now_loading...774KB:2011/06/04(土) 02:24:04.49 ID:2KhAGylm
問題をArrayにpush
正解した問題番号をsplice
lengthが0になるまでwhile
とか
694Now_loading...774KB:2011/06/04(土) 20:14:41.58 ID:qwZszFzZ
ボタンを押したときの挙動と
コンテキストから選択した時の挙動がまったくいっしょなんだけど(イベント引数を使わない)


addEventListenerのときはそれぞれ
ContextMenuEvent
MouseEvent
で同じメソッド登録して
そのメソッドの引数をEventにするのって(動いたけど)ダメ?
695Now_loading...774KB:2011/06/04(土) 20:36:41.20 ID:Gogyo20w
import flash.display.Sprite;

function Test(){
var foo:Sprite=new MySprite();
addChild(foo);
}

Test();


質問です。適当な画像の入ったシンボルMySpriteを用意し、
上のコードを新しいプロジェクトのメインタイムラインに記述し実行するとMySpriteは表示されますが、
fooはローカル変数なので関数を抜ける際に削除されるはずなのにMySpriteの中身はステージ上には表示されたままになります。
この場合、fooはどこにどのような名前で存在していているのでしょうか?

696Now_loading...774KB:2011/06/04(土) 20:51:47.60 ID:qwZszFzZ
new MySprite() の返り値はMySpriteクラスのインスタンスの参照
よってfooにはメモリ上のMySpriteインスタンスの場所を指すアドレスが入っている
fooは関数を抜ける時に破棄されてるけどMySpriteインスタンスが破棄されているわけではない

インスタンスのメモリ上の場所はわかんなくなるけど存在は残ったままってかんじかな
697Now_loading...774KB:2011/06/05(日) 07:53:23.25 ID:prAv6tDD
画面に表示されてりゃ表示リストで掴んでるに決まってるだろうよ
698Now_loading...774KB:2011/06/07(火) 07:40:56.25 ID:oAF2rLHb
AS3,Player10,WinXP,FlashProCS4

正規表現を使って同一フォルダ内にある任意名のTextファイルを読み込みたいのですが、
RegExpインスタンス(ここではregExp0)の扱いで困っています。コードは下です。
※フォルダにTextファイルは1個だけです。

var regExp0:RegExp = new RegExp(".txt$","g");//拡張子で後方一致
var loader:URLLoader = new URLLoader();

loader.addEventListener(Event.COMPLETE, completeHandler);
loader.load(new URLRequest(regExp0));// ←ここでエラー
function completeHandler(event:Event):void {
//読み込み後の処理
}

上の場合、URLRequestの引数の型が違うということで怒られます。
regExp0をStringにキャストすると、「ストリームエラー。 URL: file:///.txt$/g」と出ます。
どうすべきでしょうか?
699Now_loading...774KB:2011/06/07(火) 11:04:34.56 ID:OyNROPQP
regExp0はRegExpクラスだからね
RegExp.exec(str:String):Object
でstrのパターンマッチされた配列が返されるけど
今回の場合元の検索対象strがないからなあ

フォルダ内の全ファイル名をAS3でどうやって取得するかってのはちょっと見当たらないからわからん
他の言語と組み合わせて取得するとかかねえ
700Now_loading...774KB:2011/06/07(火) 11:45:54.12 ID:nX399glY
RegExpがどうのこうの以前の問題として、ファイル名検索っていう処理は
AIRならできるけど、webに乗っけるなら無理だね。
決まったファイル名にするか、loadVarsあたりで渡すしかないんじゃない。
701Now_loading...774KB:2011/06/07(火) 14:21:39.08 ID:IiMcMQZD
最近よくあるキャンペーンサイトに見られるような
たとえばtwitterのログインidを入れると、
そのidのtwitterページがキャプチャされ表示されたり、
またそのidのtwitterページにある画像(フォロワーなどの画像)が
取得され表示される、などといったことがやりたいのですが、
これはjavascriptやphpとの連携が必要なのでしょうか?
702Now_loading...774KB:2011/06/07(火) 14:50:38.37 ID:OyNROPQP
703698:2011/06/07(火) 15:43:01.24 ID:xwERW3uq
>>699-700
レス有難うございます。
AIRは不可なので、素直にファイル名指定にします。
704Now_loading...774KB:2011/06/07(火) 20:32:13.84 ID:0TrcP6gy
>>696
>>697
遅くなりましたがありがとうございました。
ローカル変数でインスタンス化するのはよくなさそうなので配列に入れてやってみることにします。
705Now_loading...774KB:2011/06/07(火) 20:53:20.67 ID:Y/fIOy5W
AS3.0 Adobe Flash Professional CS5
課題でカーレースゲームを作成しているのですが、
進行中コースを回転するように進んでいく構成の方法がわかりません
いろいろなサイトを調べましたが取っ掛かりすらつかめません
どなたかヒントだけでもお願いします
706Now_loading...774KB:2011/06/07(火) 21:17:34.01 ID:Y+S/iZJo
>>705 
進行中コースを回転するように進んでいく構成
って何?

図描いてUpすると吉
707Now_loading...774KB:2011/06/07(火) 21:23:10.22 ID:yFu8tJgr
トップビューのゲームとして、
車を固定して、背景を移動させる
or
背景を固定して、車を移動させる
このどっちかをつくるの?
708705:2011/06/07(火) 21:30:03.43 ID:Y/fIOy5W
>>707 そのとおりです。
人様の作品ですが、こういう動きが出来る作品を目指しています
ttp://www.i-dac.com/game/cart/cart.html
709Now_loading...774KB:2011/06/07(火) 21:41:43.37 ID:Y+S/iZJo
710709:2011/06/07(火) 21:50:30.28 ID:Y+S/iZJo
ゴメン上のレス>>は708さん宛
711Now_loading...774KB:2011/06/07(火) 22:19:16.60 ID:YE8T83IR
いきなり3Dはきついだろ・・・

>>708を見た感じ
背景(緑)
コース(灰色)

の順で重ねてあって
車の座標は動かないかんじ
左右キーを押すと車体がかたむいてマップが反対方向に回転
上下キーでマップが反対方向に移動(加速つき)
コースから外れると速度が著しく遅くなる
あとはショートカットしないように各所にフラグがありそう
この流れでやりかた思いつかないところはある?
712705:2011/06/07(火) 22:43:11.59 ID:Y/fIOy5W
>>709 3Dはまだ敷居が高いですが・・・参考のひとつにさせていただきます。
ありがとうございます

>>711
マップの回転のところです。
コースのインスタンスにrotationで回転させるとインスタンスの中心で
回転してしまいうまくいかなかったので、どういう解決法があるのかが
知りたかったのです
713Now_loading...774KB:2011/06/07(火) 22:47:55.61 ID:YE8T83IR
>>712
FLASH CSxを使っているならライブラリのシンボルを編集して原点を中心にもってくる

BitmapDataから読み込んだりしているなら
ttp://shin-ishimaru.cocolog-nifty.com/blog/2007/05/actionscript30_6b19.html
とか
714705:2011/06/07(火) 22:57:27.22 ID:Y/fIOy5W
>>713
なるほど。早速試してみようと思います。
遅くまでどうもありがとうございました。
715Now_loading...774KB:2011/06/08(水) 02:49:42.16 ID:Csn5Rni6
こんな事言うのも何だが、
学校の課題を2chで質問するなんて、
教官にバレまくりじゃないのかなぁ。
716Now_loading...774KB:2011/06/08(水) 04:36:54.31 ID:Gsy3tj/o
>>715
いや、その教官も分からないことがあったら、ここで聞いていると思われ。
717Now_loading...774KB:2011/06/08(水) 08:40:54.52 ID:mVkgiebH
レスポンスが素早く得られて
回答者のレベルが高いのはどこなのかなー
やっぱmixiのコミュニティとかtwitterとかなのかな
718Now_loading...774KB:2011/06/08(水) 11:28:12.81 ID:NDEo8oR7
ちゃんと質問するならFlash-jp一択じゃないの
719Now_loading...774KB:2011/06/08(水) 13:56:11.87 ID:3P0ekH4D
質問する際は、回答者に具体的な情報を与えてくださいなのニャ!
720Now_loading...774KB:2011/06/08(水) 14:53:52.04 ID:51hg/e3X
つーか、Flash-jpの文章って2chより読みづらいなあ。
表示フォントのせいか。
721Now_loading...774KB:2011/06/09(木) 23:01:29.21 ID:FX7vdaQf
別人ですが>>708見てて気になったことがあるので質問です
基準点は動的に変更できないらしいですが>>708は毎回車中心で回転してるようです
どういうトリックが考えられますか?
722Now_loading...774KB:2011/06/10(金) 00:07:15.05 ID:dzYq3xkO
723Now_loading...774KB:2011/06/10(金) 00:13:41.43 ID:DSo06Zdh
>>721
回転軸の座標は決まってるので、おそらく、マップの基準点の座標
と、回転軸の座標から、マップを回転させる数式があるのではないでしょうか?
それをエンターフレームなどで更新させているのでは?

724Now_loading...774KB:2011/06/10(金) 19:02:15.02 ID:yVm9Fak+
>>713のリンクに
新しく作った描画オブジェクトの原点に回転させたい座標をあわせてaddChild()
んで親を回すって書いてあるが
725Now_loading...774KB:2011/06/10(金) 22:33:13.54 ID:LkgI8Qea
MatrixTransformer.rotateAroundInternalPoint() と
DisplayObject(map).transform.matrix で任意の点で回転させる人は居ないのか。
726Now_loading...774KB:2011/06/10(金) 22:35:59.55 ID:LkgI8Qea
ごめん。下げ忘れた。
727Now_loading...774KB:2011/06/10(金) 22:56:29.50 ID:dzYq3xkO
わざわざめんどくさいことする意味がない
ダンチで早いなら別だが
728Now_loading...774KB:2011/06/10(金) 22:58:17.59 ID:Sk6l6NIl
使ったことあればわかるはずだけど、MatrixTransformer.rotateAroundInternalPoint()は既に変形してる
表示オブジェクトに連続して適用するのはかえってめんどくさい。
729Now_loading...774KB:2011/06/10(金) 22:59:50.37 ID:Sk6l6NIl
変形の中心点座標変わらなきゃいいんだけどそうじゃないしね
730Now_loading...774KB:2011/06/12(日) 00:00:09.32 ID:UooPAAGW

var Speed:Number=10;

var copy_x:Number=x;
var copy_Speed:Number=Speed;

for(var i:uint=0; i<3; i++){

 Speed+=0.3;
 x+=Speed;

 trace(x ,Speed);


 copy_Speed+=0.3;
 copy_x+=copy_Speed;

 trace(copy_x ,copy_Speed);


 trace("-----------------------");
}


上のコードは、物理運動を再現しようとしていて気になった部分があったので簡略化したものです。
毎フレームの動作だった部分は回数を限定したループに置き換えています。
内容は、まず1行目のSpeedは移動速度を表したもので、ループ内で0.3ずつ加速しxに加算されます。
3〜4行目のcopy_xとcopy_Speedはそれぞれxと上のSpeedの内容をコピーしたもので、ループ内でも同様の処理を行います。
これをメインタイムラインの1フレーム目で実行すると、
本来ならトレースされる結果はコピー元のx、Speedとコピー後のcopy_x、copy_Speedで同じになるはずなのですが、
次のレスで示すようにxとcopy_xに極僅かに差異が生じてしまいます。
731Now_loading...774KB:2011/06/12(日) 00:02:15.02 ID:UooPAAGW
10.3 10.3
10.3 10.3
-----------------------
20.9 10.600000000000001
20.900000000000002 10.600000000000001
-----------------------
31.8 10.900000000000002
31.800000000000004 10.900000000000002
-----------------------

これは何が原因で起こることなのでしょうか?
コンピューターの小数計算は擬似的なものであまり正確ではないと聞いたことがあるのですが
こうも簡単にズレが起こると困ります・・。
AS3.0、FlashPlayer10、FlashProfessionalCS5の環境で起こりました。
732Now_loading...774KB:2011/06/12(日) 00:16:24.70 ID:gZwvHo2W
それは浮動小数点演の宿命
構造的に全ての実数を表現することはできない
733Now_loading...774KB:2011/06/12(日) 00:17:55.03 ID:gZwvHo2W
>>732
浮動小数点演算、ね
734Now_loading...774KB:2011/06/12(日) 00:34:44.76 ID:UooPAAGW
>>732
ありがとうございます。ではこのような計算結果のズレに根本的な対策法はないということでしょうか。
たとえ0.000000000000004でも==を使って比較したときには違う数として判定されるので
精密な計算の必要な場合にはどうしたらいいのでしょうか。
735Now_loading...774KB:2011/06/12(日) 01:15:38.26 ID:gZwvHo2W
>>734
Math.abs(a - b) < 0.01、みたいな感じで差が許容値以下かどうかで判定とか
736Now_loading...774KB:2011/06/12(日) 01:53:53.54 ID:tiGTrSFc
だからNumberの==はおすすめしない
737Now_loading...774KB:2011/06/12(日) 08:40:44.70 ID:bvVw8Wvw
AS1 を使っています。

HTTP://FLASHFILE.swf?a=1&b=2
(もちろん、HTTPは小文字)

この時、ActionScript には a と b が定義されるわけですが、
「&」が「&あんぷ;」にエスケープされると、ケータイの場合、b は
定義されません(機種に依るのかも知れませんがソフトバンクは、
そうでした)。amp;b も変数にはならいと思います。
(PCだと問題は発生していません)

質問:
& がエスケープされている時に b を取得する方法は無いでしょうか?
ActionScript でクエリ(「?」以降)を丸ごと取得することは出来るのでしょうか?
738Now_loading...774KB:2011/06/12(日) 09:01:40.37 ID:LbxaTtG8
ttp://zerobase.jp/people/aoki/flashlite11.html

Flash lite1.1でいいのかな?
739Now_loading...774KB:2011/06/12(日) 09:10:20.79 ID:Y0jKdxrD
function Equal(a:Number, b:Number, err:Number = 0.01) : Boolean {
return Math.abs(a-b) <= err;
}
function Main() : void{
if (Equal(x, copy_x))
trace("equal");
}

つーかそれspeedとcopy_Speedは一致してるよね
でxとcopy_xが一致していない
xの宣言部分は見当たらず、グローバルな変数と思われる
宣言はどうなってるの?
そもそもワークとして使いたいだけなら毎フレーム同じ演算を与えるより
コピー元の値を毎フレームコピーした方が良いよ
740Now_loading...774KB:2011/06/12(日) 10:41:16.40 ID:uiQNnB5x
精度確認のためのただのテストだろ…
741Now_loading...774KB:2011/06/12(日) 10:42:41.01 ID:uiQNnB5x
さらに引数の最後だけデフォルト値ってのもできないかと
742Now_loading...774KB:2011/06/12(日) 12:41:54.47 ID:Y0jKdxrD
テストの為のオリジナルコードなら変数命名はa,bやx,yで十分
>毎フレームの動作だった部分は回数を限定したループに置き換えています。
この記述からもどうみても実際のソースから引用して改変している
問題は提示されていない部分に原因のある可能性があること
>>741
へえ。だったらどこなら出来るの?
743Now_loading...774KB:2011/06/12(日) 12:57:56.76 ID:Zo3jHBxf
>>742
だって普通に考えてそんなことするやついないだろ

>デフォルト値
ごめん。完全に逆だったわ。サンクス
744Now_loading...774KB:2011/06/12(日) 19:49:47.14 ID:S64g2SPU
群馬県高崎市に住む39歳AB型、製造業界で派遣プログラマーの仕事をしているhekenekoこと、黒飛健と申します。
新日本テクトスという会社を追われ、その後どうしてよいかわからなくなりました。
だけど私の大好きな尾崎豊の歌に励まされ、夢であるプロのクリエイターを目指すことにしました。
何度も挫けそうになりましたが、尾崎豊の歌を聞きながら自分を励ましています。
今も尾崎豊の歌のおかげで、夢を諦めずにCGアニメの製作を続けられています。

とりあえず、以下の動画を見てください。一生懸命作ったもので、自分では既にプロレベルの傑作だと思ってます。
できればみなさんのご意見、ご感想を聞きたいです。

復興支援アニメ.mp4
http://www.youtube.com/watch?v=yn4uTiN8vvM

湾岸鉄道キャンペーンCM(カラー).mp4
http://www.youtube.com/watch?v=g3PlX1OAhug&feature=channel_video_title


これは力作で、にしおかすみこさんにも是非見てもらいたかったため彼女のブログにコメントしたんですが無視されました。
http://blog.watanabepro.co.jp/nishiokasumiko/archives/2008/02/22_15_post_22.html
(下の方にあります。投稿者: hekeneko | 2008年03月24日 22:54)
やはり私の才能に気づいてくれる人は中々いないみたいですね(苦笑)。


題名”ラダニアムの翼”
A wing of radaniam_partU.mp4
http://www.youtube.com/watch?v=keSK70uqDJY
A wing of radaniamu part_V.mp4
http://www.youtube.com/watch?v=-LRZbXbirR0

題名”hekeneko honey”
http://www.youtube.com/watch?v=kATwf6fAkG8
私の世界観の全てを凝縮した力作です。hekenekoワールドをご堪能あれ。
745Now_loading...774KB:2011/06/12(日) 22:05:04.19 ID:7CbnMcSv
>>738

クエリの件、まずは _url プロパティを試してみます。
ありがとうございました。
746Now_loading...774KB:2011/06/13(月) 00:24:28.31 ID:8NP76xKj
>>735
>>736
ありがとうございました。
747Now_loading...774KB:2011/06/13(月) 18:29:00.20 ID:iYR+vTvr
3.0で
x,scaleX,rotation等、直接いじれるパラメータをトゥイーンするだけでよい
トゥイーン終了時に実行する関数を指定できる

を満たすトゥイーンライブラリの中で最も軽い(CPU負荷が。メモリはそこまで気にしない)
ライブラリはなんでしょうか
748Now_loading...774KB:2011/06/13(月) 19:03:24.76 ID:SKqQlz6G
それだけなら自分で書くのが1番って思ってしまうのは俺だけ?
749Now_loading...774KB:2011/06/13(月) 20:14:36.83 ID:iYR+vTvr
考えもしなかったわ
たしかに汎用性いらないなら特化したほうが早いに決まってるよね
既存のライブラリ拾ってきてコード削るか・・
サンクス
750Now_loading...774KB:2011/06/13(月) 23:14:10.35 ID:CFe2sFQq
スクリプトでjpgやpngなどの画像を出力することはできますが、動画を出力することはできますか?
AS3.0です
751Now_loading...774KB:2011/06/14(火) 08:18:19.95 ID:lO8J/3k6
できません
752Now_loading...774KB:2011/06/14(火) 12:30:18.93 ID:h46B8y7A
>>751
ありがとうございます
パラパラ漫画よろしく何枚も出力するくらいかあ
753Now_loading...774KB:2011/06/14(火) 13:08:28.59 ID:kRh5ud6y
自前でエンコードしてbyteArray→FileStream(AIR)とかAlchemyでC++あたりのライブラリ動かすとか
絶対不可能ってことはないと思うけども
754Now_loading...774KB:2011/06/14(火) 19:09:14.02 ID:Yl/1G2AO
http://www.syfy.com/tinman/oz/
このサイトの拡大縮小って、単純に拡大縮小してるわけでもないのでしょうか?
755 忍法帖【Lv=1,xxxP】 :2011/06/14(火) 19:13:18.51 ID:1Uzs255W
てst
756Now_loading...774KB:2011/06/14(火) 20:20:57.65 ID:h46B8y7A
>>754
かっちょええのう
そりゃ無限ループだし単純な拡大じゃないよね
どっかで切り替えてるのかね
757Now_loading...774KB:2011/06/14(火) 20:35:40.63 ID:k9vegjUu
サイズが10000越えたらサイズを0にする、とか?
758 忍法帖【Lv=1,xxxP】 :2011/06/14(火) 20:58:58.39 ID:1Uzs255W
てst
759Now_loading...774KB:2011/06/15(水) 00:29:54.27 ID:drGQ53m8
質問です。新規ドキュメントの1フレーム目で下のスクリプトを実行しても
関数Baaが実行されないのですがなぜでしょうか?
ちなみにFoo.dispatchEvent(new Event(Event.ENTER_FRAME));を最後の行に追加すると一度だけ実行されます。
ということは毎フレームのイベントに登録されてはいるということなのに、なぜ毎フレーム実行されないのかわかりません。

import flash.events.Event

var Foo:EventDispatcher=new EventDispatcher();

Foo.addEventListener(Event.ENTER_FRAME, Baa);

function Baa(event:Event):void{
trace("イベント実行中");
}

760Now_loading...774KB:2011/06/15(水) 00:46:38.43 ID:NCScMXhg
EventdispatcherってENTER_FRAMEデフォルトでうけとったっけ?
Displayobjectからじゃなかった?
761Now_loading...774KB:2011/06/15(水) 01:09:12.01 ID:LD43kfUT
>>752
無圧縮AVIで出力しておいて、適当なエンコーダで圧縮しなおすとか
762Now_loading...774KB:2011/06/15(水) 01:12:45.69 ID:NCScMXhg
>>761
aviなら出力できるの?
763Now_loading...774KB:2011/06/15(水) 01:27:59.69 ID:s1yr8JQb
>>754
単純な拡大縮小だと思うよ。
1枚絵じゃなく、複数画像を同時に使ってるけど。
そこそこサイズの大きな画像を使えばできると思う。
764Now_loading...774KB:2011/06/15(水) 01:33:41.81 ID:GdpqSl4k
凄い初歩的な質問かもしれないのですが、
ステージ上に置いたムービークリップ(普通にFlash CS3の作業キャンパスの上にライブラリからD&Dして配置)が、
stage.addChild()で配置したムービークリップの背面になってしまいます。
stage.addChild()で配置したものよりも前面にするにはどうすればよいのでしょうか?
AS3です。

setChildIndexとかやってみても、どうやってもaddChildで配置したMCが前面になってしまって困ってます。。。
765Now_loading...774KB:2011/06/15(水) 01:55:18.73 ID:NCScMXhg
>>764
後からaddChildしたら基本的に前面に行かなかったっけ
前面に置きたいmcの親がライブラリから配置したmcの背面にあるとかないよね?
766Now_loading...774KB:2011/06/15(水) 02:08:32.24 ID:NCScMXhg
>>765
あー逆だった
ライブラリのmc名が取得できるなら
1フレーム後にremoveしてaddでいけるんじゃない?
767Now_loading...774KB:2011/06/15(水) 02:09:56.29 ID:Gy6D4yXQ
>>764
後から配置した物ほど前面にくるよ
だから、前面に出したいなら
swapChildren()とか、setChildIndex(numChildren - 1)とかやる
それでも出来ないなら、addChild()したDisplayObjectContainerが違うとかだろう
本当に「どうやっても」できないなら不可能だが、単にやり方が正しくないだけだと思う
768Now_loading...774KB:2011/06/15(水) 02:27:07.30 ID:Xw9NRXLw
AS3,WinXP-Pro,FlashCS4(たまにCS5)です。

ステージに親MCを置いて、その中に子MCを5個配置しました。模式化すると下の感じです。 ■が子

Stage{ 親[ ■■■■■] }

ここで、子をクリックするとフォーカスの黄色い枠がその子に付き、子以外(例えばステージで何も無い部分)
をクリックするとフォーカス枠が消えるようにすため、子のASに

stage.addEventListener(MouseEvent.CLICK,focus_handler,false,0,true);
private function focus_handler(evt:MouseEvent) {
trace("target= "+evt.target);//ターゲットの確認。子かそれ以外か
if (evt.target == this) {
stage.focus = this;
}else {
stage.focus = null;
}
}

と書きました。
これは確かにフォーカスが出るのですが、一番右端の子のみ作用し、他の子には現れません。
traceのターゲットの確認では他の子も同じ様にクリックの対象になっていますがやっぱり、
右端のみです。

目標は、
・子をクリック→フォーカス枠 
・ステージの他の部分をクリック→解除
で、特に上記のコードには拘りません。

宜しくお願い致します。
769Now_loading...774KB:2011/06/15(水) 10:07:43.55 ID:zzWnmmAH
>>768
stageにイベント登録してるからfocus_handlerはクリックするたびに計五回呼ばれてんだよね
同時に呼ばれてるけどイベント関数はシリアルにしか実行できないわけで
おそらく今回はaddChildした順?にイベント登録されているのでその順番でfocus_handlerは呼ばれる
その順番を
12345
とすると
左端をクリックしたときは1でfocus_handlerが呼ばれ、evt.target == thisを満たすのでフォーカスされるけど
次に2でfocus_handlerが呼ばれたときにevt.target == thisは満たさないのでstage.focus = null;が実行される
よって1から5までfocus_handler実行した結果フォーカスはnullになってる
つまり最後に実行したevt.target == thisの評価でフォーカスが決まる状態だから5をクリックしたときだけ期待の動作をしているというわけ

stageに登録しないとか色々解決法はあるけど元のコードを変えないように書くなら
stage.addEventListener(MouseEvent.CLICK,focus_handler);
function focus_handler(evt:MouseEvent) {
if (evt.target==this) {
stage.focus=this;
} else if (evt.target==stage) {
stage.focus=null;
}
}
770Now_loading...774KB:2011/06/15(水) 10:28:06.26 ID:zzWnmmAH
他のとこクリックしたらフォーカス勝手に外れるみたいだからこれでよかったわ
stage.addEventListener(MouseEvent.CLICK,focus_handler);
function focus_handler(evt:MouseEvent) {
if (evt.target==this) {
stage.focus=this;
}
}
771Now_loading...774KB:2011/06/15(水) 11:32:08.12 ID:LD43kfUT
>>762
別にmpgでもmp4でも何でもできるだろうけど、
どこかの誰かが作ってくれた強力なライブラリでもないのなら
個人が短期で作るには無圧縮AVIくらいが妥当だろう

この辺を参考にしてさ
ttp://www.umekkii.jp/data/computer/file_format/riff.cgi
ttp://msdn.microsoft.com/ja-jp/library/cc352264.aspx
772Now_loading...774KB:2011/06/15(水) 20:13:16.89 ID:ZStvRRIR
AS2.0なんですが、
PostgreSQLで取ってきた複数レコードをPHPを介してFlashに出そうとしています。
この場合、PHPのところで、複数レコードたまるので、これを一気にFlashのほうに
渡したいのですが、その場合、

ID=31&name=Suzuki&address=Tokyo&ID=32&name=Yamamoto&address=Osaka&ID=33&name=Sato&address=Fukuoka

のようにべろべろーんと長い文字列で、送るのは簡単なのですが、

受けるほうが例えばreceive_LV.ID、receive_LV.name、receive_LV.address

としていると、最後のレコード(この場合ID33のもの)しか受け取ることができません。

べろべろーんをチョキチョキsubstringで切って、自分でArrayにせっせと入れるのもできるのですが、
何かもっとぱっと簡単に、PHPのforeachのように連想配列などで取り出すことはできないのでしょうか。
Flashのfor-inは取り出すとき順番が狂うそうで、苦戦しています。

よろしくお願いします。
773Now_loading...774KB:2011/06/15(水) 20:36:04.58 ID:5cOSQeEX
AS2ってsplitってあるよね。
じゃぁ長い文字列で送って、'&'でsplitしてできた配列の要素を
また'='でsplitして、Objectに突っ込むようなメソッド作れば
結構簡単に対応できそうなんだが。
774Now_loading...774KB:2011/06/15(水) 21:02:44.11 ID:ZStvRRIR
>>773さま
レスありがとうございます!

そうなんです。splitとsubstringでべろべろーんをチョキチョキ切っていたのですが、
なんとかこの長い文字列から解放されたいと思っています。やっぱり無理でしょうか?
一応できたのでこれでもいいかとも諦め気味なのですが…

ためしに今for-inで取り出してみたら、見事に順番がめちゃくちゃになっていました!!
PHPのforeachは順番が狂わないのにASはダメダメですねww

775Now_loading...774KB:2011/06/15(水) 21:10:38.33 ID:ZStvRRIR
あきらめてべろべろーんをチョキチョキすることにしました。
ありがとうございました!
776Now_loading...774KB:2011/06/15(水) 22:23:49.39 ID:drGQ53m8
>>760
ということはFooはDisplayObjectを継承したクラスでないと
Foo.addEventListener(Event.ENTER_FRAME, ○○);で登録した関数は実行されないということでしょうか?
画面に表示させるオブジェクトではないのにDisplayObjectを継承するのは無駄が多いと思うのですが他の方法はありませんか?
777Now_loading...774KB:2011/06/15(水) 22:45:33.93 ID:IpUD4Xjb
>>776
一番軽そうな?ShapeつかってaddChildしなければそんなに無駄じやないんじゃないかな
778Now_loading...774KB:2011/06/16(木) 15:50:01.87 ID:GNnqs3/4
AS3の質問なのですが、
タイムラインで定義している関数を.asファイルのクラス内から
実行することって可能ですか?
可能でしたらどのようにすればいいのでしょうか?
初歩的な質問かもしれませんが、ずっと出来なくて凄く悔しいです・・・・。
779Now_loading...774KB:2011/06/16(木) 16:39:53.08 ID:4SWLIMC0
>>778
タイムラインで定義せずにasファイルでpublic定義してそのasをライブラリのアイテムのプロパティの基本クラスにするとか
mcならMovieClipを継承して作ってさ
780Now_loading...774KB:2011/06/16(木) 17:32:09.69 ID:5kycQ0Pj
今どういう構成でどういう書き方してるか知らんけど、普通に呼べんじゃ?
Loaderに読み込んだ奴とか?
781Now_loading...774KB:2011/06/16(木) 21:05:37.81 ID:CVEnFyuL
>>777
試してみます。ありがとうございました。
782Now_loading...774KB:2011/06/17(金) 01:55:37.14 ID:qrUZxV5K
>>779
その場合は呼び出し側にはどういう風に記述すればいいのでしょうか?


>>780
1フレーム目に
function testfunc():void
{
  trace("from .as");
}
と記述し、MyClass.asファイルには
MovieClip(root).testfunc();
みたいに書いています。
var myclass:MyClass = new MyClass();からのaddChildで配置しています。
783Now_loading...774KB:2011/06/17(金) 02:05:10.75 ID:qrUZxV5K
むわー!!コンストラクタの時点では呼び出せないんですね。。。
うへぇ・・・事故解決しました。。。
784Now_loading...774KB:2011/06/18(土) 07:01:46.18 ID:ntLDBHAo
Progressionって凄いね。
ASあんまり分からなくても
色々できる。
785Now_loading...774KB:2011/06/18(土) 21:00:00.38 ID:8uIpbOhY
trace(4 + (2 < 1) ? 0 : 4);

上の結果が0と出力されるのですがなぜですか?
786Now_loading...774KB:2011/06/18(土) 21:14:48.64 ID:bUBZBY1M
>>785
trace(4 + (2 < 1) ? 0 : 4);
優先順位順に処理すればなんの問題もないけど
2<1...false
4+false...4
4?0:4...0
787Now_loading...774KB:2011/06/18(土) 21:20:44.13 ID:DcclCqrG
2<1がtrueで4+true=5
数字の0以外はtrue扱いされるから
true?0:4となって0が出力される。

trace(4 + ((2 < 1)?0:4));
とすれば求める結果が得られる。
788Now_loading...774KB:2011/06/18(土) 21:24:54.95 ID:DcclCqrG
先に答え出てたw
しかも間違ってたし。最初のtrueじゃなくてfalseだったね…。
789Now_loading...774KB:2011/06/19(日) 02:02:27.21 ID:KEhW1Ucp
AS2.0でPCのフォルダーから画像のアップロードができる画面を
作ろうとしているのですが、PCのフォルダーを開く文法がないようです!
JAVAScriptか何かでしないといけないのでしょうか?

あとASを直接MySQLにつなげるライブラリとかないのでしょうか。
よろしくお願いします。
790Now_loading...774KB:2011/06/19(日) 02:06:11.74 ID:KEhW1Ucp
ぐぐったらASSQLというのを見つけてしまいました。
他にもあればお願いします。
791Now_loading...774KB:2011/06/19(日) 06:12:25.03 ID:zYYpBecW
IMEの無効化って毎フレーム監視するしか方法無いんかね?
792768:2011/06/19(日) 14:15:25.36 ID:jldIQLiX
>>770
有難うございます。お教え頂いた記述でOKでした。

確認ですが、
「stageにイベント登録してるからfocus_handlerはクリックするたびに計五回呼ばれてんだよね」
とは、イベントフローに由来する現象という解釈でよろしいでしょうか?
793Now_loading...774KB:2011/06/19(日) 15:46:03.36 ID:hCZkevBL
>>792
んー。
stageに複数インスタンスからfocus_handlerを登録してるから
stageのどこをクリックしても五通りfocus_handlerが呼ばれる

これがたとえば各々のインスタンスに登録されていれば各々のインスタンスをクリックしたときに
各々のfocus_handlerが一回だけ呼ばれる

ってことじゃない?
794Now_loading...774KB:2011/06/19(日) 18:44:37.78 ID:BYmqRbnw
textareaの挙動がおかしくてこまっています。教えてください。
adobe flash cs5で、textareaのコンポーネントを二つ配置します(A,Bとよぶ)。
Aの方に適当にテキストを入力して垂直スクロールバーを表示させた状態にしてから、
Bをクリックしてフォーカス移動させると、Aの方のverticalScrollPositionがリセットされてしまいます。
フォーカスを移動させても、Aの方のverticalScrollPositionがリセットされないようにするにはどうしたらいいですか?
ちなみに、Bの方のウィンドウ枠をクリックしてフォーカスを移動させると正常に動作するようです。
795Now_loading...774KB:2011/06/19(日) 23:31:08.15 ID:4gJv14WF
>>793
なるほど、5世帯のアパートの壁を蹴ったら、全世帯が怒って出てくるけど
1世帯のみをピンポンダッシュしたらその世帯からしか怒られないってことですね。
796Now_loading...774KB:2011/06/19(日) 23:52:54.32 ID:uMSGTW5c
>>785
>>786
よくわかりました。ありがとうございました。
(2 < 1) ? 0 : 4 の部分が先に実行されるものだと思い込んでいました。
797Now_loading...774KB:2011/06/19(日) 23:54:01.22 ID:4A9xCMUM
>>795
五回連続で蹴る
798Now_loading...774KB:2011/06/19(日) 23:55:06.40 ID:4A9xCMUM
>>796
そだね。
ビット演算とかも意外と優先度低いからきをつけて
799Now_loading...774KB:2011/06/20(月) 16:10:41.20 ID:x4CtThI9
AS3の質問です。
stage.addEventListenerでEventのマウスダウンを設定しているのですが、
Firefox, Safariなどではちゃんと動作するのにIEだけ異常な動作をします。
具体的に言いますと、ステージに配置した別のボタンをクリックすると
それ以降はマウスダウンを検出してくれなくなります。
同じ条件でもIE以外のブラウザでは特に問題なく動きます。

問題のボタンはMovieClipの中にボタンインスタンスを配置しており、
フレームアクションで
button.addEventListenerでCLICKを設定しボタンを実装しています。
ボタンのアクションで特に不自然なことはしていないと思うのですが、
なぜIEだけ正常に動作しないのか見当のつく方はいませんでしょうか?

もしかしたらHTML側に原因があるのかもしれません。
IEでもhtmlではなく、swfで直接開くと正常に動作します。
htmlはパブリッシュしたものから変えていません。

ちなみにファイルはネットワーク上に上げて、
インターネットを通してみています。

本当に困っているので、どなたか助けてください。。。
800Now_loading...774KB:2011/06/20(月) 16:29:37.72 ID:x4CtThI9
ステージの透明化が原因でした。すみませんでした。
ちくしょう・・・
801Now_loading...774KB:2011/06/20(月) 16:57:02.33 ID:WGtbcVq8
>>800
透明化してるとIEだけそうなるの?
共有のために教えてくださいな
802Now_loading...774KB:2011/06/20(月) 17:27:01.79 ID:KF7MaV3b
ボタンやテキストフィールド使うムービーでwmodeをtransparentにするのはやめたほうがいい。
いろんなブラウザでいろんな変な動きする。
803Now_loading...774KB:2011/06/20(月) 17:27:44.11 ID:KF7MaV3b
firefoxのいつだかのバージョンではレイアウトも崩れる地雷
804Now_loading...774KB:2011/06/20(月) 17:43:33.24 ID:E+ah7RVE
>>801
ためしにFLASHを透明化でパブリッシュして、
HTMLのFLASH上で右クリックをしてみて。
普通はFLASHのメニューが出てくるけど、IEだけブラウザの右クリックメニューが出てくる。
ステージの最下層にステージと同じ大きさの透明MCを配置すれば希望の動作になったよ。

>>802
長い間ドツボにはまりました。
こういうときって、2chに書き込んだ瞬間事故解決する事がおおい・・・
805Now_loading...774KB:2011/06/20(月) 19:07:30.07 ID:KNzrU9PI
>>790
やめとけ。PHPかJava使って、サーバ側で書いた方が絶対楽。
806Now_loading...774KB:2011/06/20(月) 21:09:08.29 ID:lHz0lm4X
AS1.0及び2.0だと

var hoge = 1;
_root.onMouseDown = function(){ trace( hoge ); };


AS3.0だと


import flash.events.MouseEvent;
var hoge:int = 1;
var mouseDown:Function = function( e:MouseEvent ):void{ trace( hoge ) };
stage.addEventListener( MouseEvent.MOUSE_DOWN, mouseDown );


ずっと疑問に思っているのですが、
それぞれのhogeがGCされるタイミングはどういう時なのでしょうか。
onMouseDownとmouseDownがhogeの参照カウントを1増やしているのでしょうか。
(つまりonMouseDownとmouseDownがGCされればhogeもGCされる・・?)
807Now_loading...774KB:2011/06/20(月) 21:47:03.63 ID:WGtbcVq8
>>806
だとおもう
removeEventlistenerしたときがGCの対象リストに入る時なんじゃね

クロージャは注意がひつよう
ttp://www.imajuk.com/blog/archives/2008/04/post_3.html
808Now_loading...774KB:2011/06/20(月) 22:17:38.60 ID:vKfgtwiR
やばい。超やばい。
ティッシュがない。
トイレットペーパもない。
これはやばい。
どのくらいやばいかっていうと、
PCと携帯同時に使えなくなったくらいやばい。
どうしようお母さん。
もう生きるか死ぬかの瀬戸際なんだけど。
809Now_loading...774KB:2011/06/20(月) 22:17:44.12 ID:Pk0e04/s
クロージャの解説見に行ったけどワケワカんねえw ローカル変数が維持される??

比較的長いコードで1回しか使わないフラグをメンバ変数にするのがイヤな時なんかに
役に立つのかな? そんならじっくり覚えてみたいけど
810Now_loading...774KB:2011/06/20(月) 22:29:15.38 ID:WGtbcVq8
>>809
そうだけど、GC対象にできるチャンスは少ないからそのフラグとおなじところに重いbitmapData(FP11からはサイズ制限なくなるとか)があったらそれも保持しちゃって大変になるかもよ
ってことかね
811Now_loading...774KB:2011/06/20(月) 23:07:04.35 ID:Pk0e04/s
同じところって そのFunction型の変数で参照した先のスコープ1,2のとこに
Booleanが1個だけあれば問題無いんだよね?

ちょっとメソッド内で使うローカル変数の一時フラグのサンプルコード書いてもらえないだろかw
テストしてみたいw
812Now_loading...774KB:2011/06/20(月) 23:11:52.83 ID:WGtbcVq8
>>807からもってきたけど
package
{
public class ClosureTest2 extends Sprite
{
public function ClosureTest2()
{
initialize("DEFAULT");
}
private function initialize(execMode:String)
{
var m:String = execMode;
stage.addEventListener( MouseEvent.CLICK,
function(e:MouseEvent)
{
trace(m);
});
}

}
}

これこそよく使われるクロージャじゃね?
クロージャを宣言したところのローカル変数が使える
このリスナー関数をインスタンスのメソッドにしちゃうとインスタンスメンバにしかアクセスできない
813Now_loading...774KB:2011/06/21(火) 00:17:17.30 ID:axjYHz+f
Flash CS5.5でコードヒントが出なくて困ってます。

新規作成でActionScript3.0のflaファイル作成。
test.flで保存。
新規シンボルでBox(AS書き出し)を作成。
シーンに、さきほど作成したシンボル(Box)をインスタンス名boxで配置。
test.flのドキュメントクラスをTestとしてTest.asを作成+保存。
Test.asを編集しているときに
box.
と入力しても、コードヒント(MovieClipのプロパティ)が表示されない。

同じことをFlash CS5ですると、コードヒントが表示されます。

解決方法があれば教えてください。
814Now_loading...774KB:2011/06/21(火) 00:28:37.30 ID:UVDKJGec
>>807
ありがとうございました。
815Now_loading...774KB:2011/06/21(火) 16:39:28.96 ID:sXbrGKRp
URLLoaderを使って外部ファイルをダウンロードしているのですが、
プログラムがダウンロードに夢中すぎて、その間クリックイベントが無視されているような気がします。
ステージをクリックしたらダウンロードを中止(url_loader.close();)するようなプログラムにしているのですが、
クリックイベントよりもダウンロードを優先し、ダウンロードが終了したら、遅れてクリックイベントが処理される動作になってます。

クリックイベントを優先したいのですがどうすればいいのでしょうか?

クリックでダウンロード開始、クリックで中止、なので、
ダブルクリックすると本来ならダウンロード開始して速攻でキャンセル、という動作のはずが、
ダウンロード終了後、もう一度ダウンロードしてしまいます。。。
816Now_loading...774KB:2011/06/21(火) 16:59:22.96 ID:sXbrGKRp
クリック(MOUSE_UP)のメッセージが処理されたときは、絶対にDL完了後です。
loaded:420493, total:420493

stage.addEventListener(MouseEvent.MOUSE_UP, MouseLDownFunc, false, 100, false);
addEventListenerの第4引数の優先度を1にしても、100にしても変わりません。
URLLoaderのほうは

url_loader.addEventListener(Event.COMPLETE,finishLoad);
url_loader.addEventListener(ProgressEvent.PROGRESS,progressLoad);

で優先度をしていしていませんが、優先度はデフォルトで0です。
817Now_loading...774KB:2011/06/21(火) 17:26:45.86 ID:RYsa8eCU
まず、MOUSE_UPなのに MouseLDownFuncなのは気になるなw

そのダウンロードは結構時間かかる処理?

とりあえず最小構成のソース出してみてよ
818Now_loading...774KB:2011/06/21(火) 18:09:26.27 ID:5lL1u00Y
>>817
一番初めコーディングした頃はMOUSE_DOWNあててたんです。
その名残です。

[1frame]
var url; // XML(SVG)ロード用
var url_loader; // XML(SVG)ロード用

[2frame]
nothing...

[3frame]
stop();
var path_str:String;
path_str = "logo_001.svg";

url = new URLRequest(path_str);
url_loader = new URLLoader(url);
url_loader.addEventListener(Event.COMPLETE,finishLoad, false, 0, false);
url_loader.addEventListener(ProgressEvent.PROGRESS,progressLoad, false, 0 , false);
819Now_loading...774KB:2011/06/21(火) 18:11:28.01 ID:5lL1u00Y
function progressLoad(event:Event):void{
 if(cancel_flag) { // ステージクリック以外にもcancelする方法があるので
  url_loader.close();
 }
}

function finishLoad(event:Event):void{
 trace("load完了!!");
}

function MouseLDownFunc(event:MouseEvent):void{
 if(url_loader != undefined){
  trace(" loaded:"+url_loader.bytesLoaded+", total:"+url_loader.bytesTotal); // ここで全DL完了しているが
  if(url_loader.bytesLoaded != url_loader.bytesTotal){
   try{
    url_loader.close();
   } catch (e:Error) {
    trace(e.message);
   }
   return;
 }

 //DL中だったらキャンセルして終了だけど、そうじゃなかったら再DLするよ。
 gotoAndPlay(2);
}

以上が最小限のソースです。
820Now_loading...774KB:2011/06/21(火) 21:02:22.14 ID:iiw96CkU
>>819
クリックイベント無視ってことは
まず
function MouseLDownFunc(event:MouseEvent):void{
trace("click!");
 if(url_loader != undefined){

って書いてもload中だとtraceされないの?
821Now_loading...774KB:2011/06/22(水) 00:40:31.92 ID:crEKDaOe
>>820
そうですね。loadが終わった後、初めて処理されてclick!って出ます。
非同期じゃなくて完全に同期じゃないかこれでは・・・。
イベント型の意味がない・・・
822Now_loading...774KB:2011/06/22(水) 02:58:47.45 ID:rR3jVPiB
ロードってのはサーバ間とのやりとりで想定外のエラーとかよく出るから
エラー時の処理なんかを用意したり柔軟な作りにしなければならんのだ
さらにロード中はなるべく他の処理は行わない方が吉なのだ
というわけでクリックイベント無視なんてのは… 許してやれ
823Now_loading...774KB:2011/06/22(水) 03:19:05.59 ID:AqpGvsNo
>>821
Loaderで外部ファイル読み込んでるけど、
こっちはロード途中でもマウスイベント受け取ってるけどな
URLLoaderだと挙動違うんかな?
824Now_loading...774KB:2011/06/22(水) 03:39:16.58 ID:oRHAEYjM
ロード中に他の処理を行わないようにできますか?
825Now_loading...774KB:2011/06/22(水) 04:52:31.78 ID:AqpGvsNo
>>824
できると思うけど
それこそ、処理の前にロード中かどうかのチェックを必ず行うとか
826Now_loading...774KB:2011/06/22(水) 05:35:12.44 ID:qeAVv4PJ
i:uintよりi:intでループ回す方が速くなるのはなんでなのよ?
827Now_loading...774KB:2011/06/22(水) 05:35:35.52 ID:oRHAEYjM
やっぱりコンプリートフラグのようなものを作るのが良いでしょうか
もし停止できるならそれもやってみたいと思っていました
回答どおりチェックでやってみます。ありがとうございました
828Now_loading...774KB:2011/06/22(水) 08:21:10.23 ID:Bu0EvnjF
>>826
うろ覚えだけどそれ昔の話じゃなかったっけ?
実測?
829Now_loading...774KB:2011/06/22(水) 20:42:58.80 ID:3FT/sniF
あるクラスの中からしか参照できないクラスを作ることはできませんか?
一つのpackageの中には一つのクラスしか作れませんし、privateなクラスはそもそも作れないので困っています。
下のようにするとBarはFoo以外のクラスからも参照される可能性があるので他に方法はないでしょうか?

package {
 public class Foo {
  public function Foo(){

  }
 }
}
internal class Bar {
 public function Bar {

 }
}
830Now_loading...774KB:2011/06/22(水) 20:49:44.93 ID:ABJ4gPSs
>>829
Actionscript Singletonでクグれ
といいたいとこだけど、パッケージ外のって他ファイルから参照されないんじゃないの?
831Now_loading...774KB:2011/06/22(水) 23:03:07.96 ID:KrdHzZB8
質問です。テキストデータの読み込みで・・・

http://www11.atpages.jp/mkwii2ch/upload/up/mk2362.jpg
こんな状態です。
ちゃんとテキストにはdayを定義してるのですがなにがマズイのでしょうか?
832Now_loading...774KB:2011/06/22(水) 23:23:12.20 ID:Bu0EvnjF
>>831
こうすると動いた
var urlloadertest:URLLoader=new URLLoader();
urlloadertest.dataFormat=URLLoaderDataFormat.VARIABLES;
urlloadertest.load(new URLRequest("data.txt"));
urlloadertest.addEventListener(Event.COMPLETE,frame01);
function frame01(e:Event):void {
trace(urlloadertest.data["day"]);
}

読み込んでからフォーマット指定しても遅いってことかな
833Now_loading...774KB:2011/06/22(水) 23:43:44.28 ID:KrdHzZB8
ありがとうございます!読み込みしました!
834Now_loading...774KB:2011/06/23(木) 02:00:57.42 ID:nOk0+WmU
AS2です。Flash Player10.1や10.3で表示すると、以下のように配列に値を入れても
undefinedになってしまって、中身が配列に入らないようなのですが、FPのバグか
なんかでしょうか?FP6や8では中身がちゃんと入ります。なお記述は1フレーム目です。

//array宣言
my_array = new Array();
my_array[0] = new Array();
my_array[1] = new Array();
my_array[2] = new Array();
    ・・・
my_array[9] = new Array();

function f_random_array () {
for (i = 1; i < 10; i++){
for (j = 1; j < 5; j++) {
m = Math.floor(Math.random()*4);
n = Math.floor(Math.random()*4);
my_array[i][j]= string(m) + "," + string(n); //配列に乱数mとnを入れる
}//j-loop end
}//iloop-end
}//end of function

f_randomarray();//functionを呼び出して配列の中身を入れる

FP10系の例のメモリ最適化機能と関係があるように思うのですが、
どうすればFP10でもうまくいくか教えてください。お願いいたします。
835Now_loading...774KB:2011/06/23(木) 02:04:05.50 ID:nOk0+WmU
f_randomarray();は今書き込むとき打ち間違えました
f_random_array();です。
よろしくお願いします。
836Now_loading...774KB:2011/06/23(木) 02:04:50.91 ID:QYpOpxfO
>>834
細かくtraceしてみて
my_array[i][j]= string(m) + "," + string(n);
直後にもう入ってないの?
837Now_loading...774KB:2011/06/23(木) 02:14:04.89 ID:nOk0+WmU
>>836さま
    }//j-loop end
  }//iloop-end
ココ←で出力
}//end of function

上の場所で出力しましたが、FP10.1や10.3だと何も出てきません。
ちなみに開発環境やFP8,6では出るのですが、まったく謎です。
なお、
}//end of function
ココ←
f_randomarray();//functionを呼び出して配列の中身を入れる

だとまだ配列を作る関数を呼び出してないので、開発環境でも何も
でません。
838Now_loading...774KB:2011/06/23(木) 03:14:10.76 ID:V0U3/joi
>>837
レスのASコピペして、CS3で同様のFlashを作って
ブラウザ(FlashPlayer10.2.152.26)で見てみたけど
配列の値は取り出せたよ
参照方法が正しくないとかいう可能性は?
839Now_loading...774KB:2011/06/23(木) 09:40:53.16 ID:2p0woJE+
2.0はエラーあんまでないからなあ
最適化されてても参照残ってるものがかってに殺されるとは思えん
840Now_loading...774KB:2011/06/23(木) 11:38:19.12 ID:nOk0+WmU
>>838さま,>>839さま

そうなんですか!?
うーん、ではもう一度良く自分のものをみてみます
わざわざ確認してくださってありがとうございました!!
841Now_loading...774KB:2011/06/23(木) 17:10:25.91 ID:SwI8OKsl
共有オブジェクト(SharedObjects)が一定時間経つと消えるようになってしまいました
今日FlashPlayer更新しろって来たので更新したらそんな状態になったのですが…

なにか心当たりがあったら教えてください
よろしくお願いします
842Now_loading...774KB:2011/06/23(木) 17:31:28.82 ID:0vRoVUE2
>>841
それきっとブラウザのせい。
時期は忘れたけど、ちょっと前からSharedObjectsが
Cookieに含まれるようになったみたい。
設定変えれば消されなくなるけど、他のゴミCookieも
残るのでオススメしない。
面倒だけどSharedObjects開いて必要なファイルは
バックアップ取るのが無難。

自分は某ゲームのセーブデータがある日全部消えてて
発覚したっていう…orz
843Now_loading...774KB:2011/06/23(木) 17:56:31.72 ID:/i+ErUTp
レスありがとうございます
まじですか

ゲーム作ってるんですが
パスワード方式とかにしないとダメなんですかね…やばいw
844Now_loading...774KB:2011/06/23(木) 18:11:03.38 ID:MT66eRMa
chromeならこういう話かも
ttp://sipo.jp/blog/2011/06/chrome12flash.html

パスワードならデータをByteArrayにいれてcompressしたりBase64Encodeしたり
もしくはFileReferenceでセーブデータファイルにしちゃうとか
845Now_loading...774KB:2011/06/23(木) 19:57:36.48 ID:yVTCQzt+
おぉ。FileReferenceなんてあるんだ
これがベターですかね
ありがとうございます
846Now_loading...774KB:2011/06/23(木) 20:14:53.45 ID:MT66eRMa
>>845
一応言っとくけど3.0の話だよ?
ttp://www40.atwiki.jp/spellbound/pages/648.html
847Now_loading...774KB:2011/06/23(木) 20:17:02.63 ID:yVTCQzt+
うぃ。2.0なんか使えないっす
848Now_loading...774KB:2011/06/23(木) 23:57:16.55 ID:nMlBs2S6
例えばAbstractParticleみたいな描画オブジェクト基本クラスを作るときに

1.Spriteを継承する
2.Spriteのインスタンスを内部に含める

どちらが正しいクラス設計だろうか
849Now_loading...774KB:2011/06/24(金) 00:03:01.12 ID:9Xtf9MQc
どちらが正しいかは設計によるんじゃない

Spriteのインスタンスを保持したObject継承クラスだったら外から座標動かせないよね
Spriteインスタンスをpublicにするかパブリックメソッド作らなきゃならない

単純に継承で済むときは継承にしてインターフェースとか絡んでくると保持にするかな
850Now_loading...774KB:2011/06/24(金) 00:32:57.52 ID:sklbBYgn
すみません、根本的に間違っていたら教えて欲しいのですが、

var loader_obj : Loader = new Loader();
var info : LoaderInfo = loader_obj.contentLoaderInfo;

info.addEventListener (ProgressEvent.PROGRESS,LoaderInfoProgressFunc);
function LoaderInfoProgressFunc (event : ProgressEvent):void {
trace ("読込:" + event.bytesLoaded + " of " + event.bytesTotal);

if(327680 < event.bytesLoaded)
{
try{
loader_obj.close();
}catch(e:Error){
trace(e.message);
}
}
}

info.addEventListener (Event.COMPLETE,LoaderInfoCompleteFunc);
function LoaderInfoCompleteFunc (event : Event):void {
trace ("読み込み完了");
}

info.addEventListener (IOErrorEvent.IO_ERROR,LoaderInfoIOErrorFunc);
function LoaderInfoIOErrorFunc (event : IOErrorEvent):void {
trace ("ファイル入出力のエラー:" + event.toString());
}

var url : URLRequest = new URLRequest("img/test.jpg");
loader_obj.load(url);
851Now_loading...774KB:2011/06/24(金) 00:35:17.66 ID:sklbBYgn
>>850の出力結果が以下です。

読込:0 of 597443
読込:65536 of 597443
読込:131072 of 597443
読込:196608 of 597443
読込:262144 of 597443
読込:327680 of 597443
読込:393216 of 597443
cancel test
読込:458752 of 597443
cancel test
Error #2029: この URLStream オブジェクトには開いているストリームがありません。
読込:524288 of 597443
cancel test
Error #2029: この URLStream オブジェクトには開いているストリームがありません。
読込:589824 of 597443
cancel test
Error #2029: この URLStream オブジェクトには開いているストリームがありません。
読込:597443 of 597443
cancel test
Error #2029: この URLStream オブジェクトには開いているストリームがありません。
読み込み完了


僕のイメージだと、close()した後は終わると思ってたのですが、
close()以降も読み込みを続け、読み込み完了イベントを迎えます。
途中で読み込みをやめるにはどうすればいいのでしょうか?
852Now_loading...774KB:2011/06/24(金) 00:59:41.27 ID:9Xtf9MQc
853Now_loading...774KB:2011/06/24(金) 01:17:33.65 ID:sklbBYgn
>>852
なるほど、ネット経由じゃないとだめなんですね。
ありがとうございます、ネット経由で無事動作しました。
しかし、何でなんだろう・・・。
854Now_loading...774KB:2011/06/24(金) 11:25:32.21 ID:s3vMFtbI
ダウンロードのシミュレートでも途中で止まらないんだっけ?
855Now_loading...774KB:2011/06/25(土) 01:06:45.78 ID:X57qGO0A
>>854
それでも止まらなかったですね。
何仕様なんだ・・・。
ネット環境がない場所では実験できない・・・
856Now_loading...774KB:2011/06/25(土) 16:56:34.97 ID:8FKYSQyl
質問
ターゲットMC.gotoAndPlay( "ラベル名" ); でMC内にラベルが無い場合エラーが出るよね?
CS3以前では出なかったんだけど… CS4以上からは出るようになったのかな?
エラー回避するにはどうしたらいいの?
857Now_loading...774KB:2011/06/25(土) 18:09:17.86 ID:lG2O6lqU
存在しないラベル名なんか指定するなよ
858Now_loading...774KB:2011/06/25(土) 21:41:04.59 ID:kRLC7wd+
地味に存在しないラベルにgotoした場合の挙動を知らない
859Now_loading...774KB:2011/06/25(土) 23:37:52.94 ID:8FKYSQyl
レスどもども
CS3時代に作った作品をCS5でアップデートする時に引っ掛かったエラーなんだよな
不特定多数のMCに一斉にアクセスしたい場合なんかがあるんだって…
ラベルが無いのはそのまま無視してくれりゃいいのにさあ 結局
currentLabelsでArray返してもらってnameプロパティを1こづつ判定して目的のラベルが存在してたら処理
って感じにしますた 処理重くなるってのorz
860Now_loading...774KB:2011/06/25(土) 23:51:56.55 ID:gEmtP3g6
不特定多数のMCに
あるラベルが存在するMCはそのラベルに行けって命令を出したくて

いままでは全部に行けって言ったらラベルがないやつは大人しくしてたけど

cs5ではラベルないやつがエラー吐きやがる

ってはなしだったの?
861Now_loading...774KB:2011/06/26(日) 13:38:19.70 ID:V/rW4T9d
action scriptって覚えてて損のない言語ですか?これからもネットの主流になるんでしょうか?
862Now_loading...774KB:2011/06/26(日) 13:56:52.34 ID:JJ3SzneI
OOP言語という意味でJavaと似てるから覚えればJavaにも応用が効く だたしAS3に限る
主流になるのかはわからん
863Now_loading...774KB:2011/06/26(日) 15:37:36.69 ID:vXHXWB1O
javascript > actionscript > javaアプ > html5
主流      動画界では主流  廃れぎみ   存在がうんこ 
864Now_loading...774KB:2011/06/26(日) 17:07:33.69 ID:RkruVMob
javaに似てるよって言うとjavascriptだろwwwって馬鹿にされるんだけど
どっちに似てるのん?
865Now_loading...774KB:2011/06/26(日) 18:24:06.37 ID:pKc4idIk
今はJavaの方が似てるかな
まあ今からやるなら圧倒的にjavascriptだろ
866Now_loading...774KB:2011/06/26(日) 19:37:41.15 ID:GcV0tDx6
またないすんのことも忘れないで上げてください(´д⊂)‥
867Now_loading...774KB:2011/06/26(日) 22:24:22.55 ID:xx9q/52c
こんばんわ。

AS2.0ですが、テキストフィールドに何かを入力させた後、
そのテキストフィールド上でEnterキーを押せば
その入力を変数で受け取るようにしたいのですが、
テキストフィールド上でEnterキーを押すとイベントが
起きるというのはどうやってやるのでしょうか?
それらしいプロパティがテキストフィールドにはないようですが。
どうしても送信ボタンを別途作らないといけないのでしょうか??
よろしくお願いします。
868Now_loading...774KB:2011/06/26(日) 22:54:52.38 ID:xx9q/52c
isDown(13)でEnterキーが押されたことが分かるようなのですが、
これが特定のテキストフィールドで押されたかどうかをどうやって知るのかが
ハテナ?です。リスナーでもなさそうですし…
よろしくお願いします。
869Now_loading...774KB:2011/06/26(日) 23:33:50.57 ID:xx9q/52c
自己解決しました。
Selection.getFocus()と組み合わせればできそうです。
ありがとうございました。
870Now_loading...774KB:2011/06/27(月) 00:57:45.46 ID:STPABvLq
ActionScript(flash)は、Webサイトというよりは、もうコンテンツの方が多いな。
ビューワーとか、ゲームとか。

でも入りやすい言語だと思うし、他にもそこそこ似てるから、ASというかflash環境は、とっつくにはよさそうだけど。
871Now_loading...774KB:2011/06/27(月) 02:48:47.68 ID:GrNi4DfL
AS3は応用効くから優秀だけどさ、
AS2の存在価値が分からん
未だにAS2で頑張ってる奴ってなんなの?
872Now_loading...774KB:2011/06/27(月) 06:56:32.20 ID:9cBiziyL
ゲームに使えるライブラリなんかお勧めのってある?
今使ってるのはtweenerと物理・3Dライブラリぐらいかな
他にも便利そうなのとかあったら何でもいいので教えてください
873Now_loading...774KB:2011/06/27(月) 08:18:55.32 ID:szEzG7nP
過疎?ってるけどライブラリスレがあるぜ

SiON(音楽)
そうめん(非同期処理)
progression(場面遷移)
stardust(パーティクルエフェクト)

おもしろいのはいっぱいあるね
874Now_loading...774KB:2011/06/27(月) 12:51:52.30 ID:9cBiziyL
そうめんってなんかわけわかんなけいど凄いな
ゲームで使ってるサンプルとか探したけど見つからない
でも使ってみたい
875Now_loading...774KB:2011/06/27(月) 13:01:20.17 ID:A5ag3iPY
>>874
画像ロードするときに楽だったり。

状態遷移図的なものが書けるゲームならうまく使えるかもねー

SiONはMMLが書ければすごい使えそう
876Now_loading...774KB:2011/06/27(月) 15:47:31.61 ID:WUV1PPC7
>>871
時代についてこれなかった残念な人たち
877Now_loading...774KB:2011/06/27(月) 15:57:09.36 ID:w/jQ+Nwp
動作保証が聞いてるAS2ともいうけどな
プログラミングの世界では安定動作こそがベストとされている

よって>>871>>876は池沼という定義です
878Now_loading...774KB:2011/06/27(月) 20:15:26.93 ID:n1dV4uEJ
AS2は自由度高いのがメリットにもデメリットにもなるんだよな
879Now_loading...774KB:2011/06/27(月) 20:25:06.12 ID:A5ag3iPY
でもAS3のほうが高速だよね
880Now_loading...774KB:2011/06/27(月) 20:25:56.04 ID:7qKLEbab
flashで安定も糞もねーよwww
881Now_loading...774KB:2011/06/28(火) 07:14:02.07 ID:B+g/88sW
なんか質問したいんだけどたいして質問することがない・・・
882Now_loading...774KB:2011/06/28(火) 09:13:27.34 ID:B+g/88sW
凄い勢いで答えて欲しいんだけど
例えばPLAYERというクラスを作って100人ぐらい一気に追加したい時に
var player:Array;
for(var i=0; i<100; i++){
player[i]= new PLAYER();
}

ってやるとエラーが出るのはどういうこと?
883Now_loading...774KB:2011/06/28(火) 09:13:47.12 ID:W6PRw2dZ
ちょっとしたくだらない疑問でも質問してみたら?
884Now_loading...774KB:2011/06/28(火) 09:37:34.44 ID:MaWAtOlR
それarray宣言しただけで作ってなくね。
885Now_loading...774KB:2011/06/28(火) 10:36:27.61 ID:B+g/88sW
ああ、Array = new Array()にしたら解決しました
886Now_loading...774KB:2011/06/28(火) 10:46:05.56 ID:W6PRw2dZ
そのうちエラー読んだら大体原因わかるようになるからがんばれ
nullのうんちゃら
887Now_loading...774KB:2011/06/28(火) 11:05:49.15 ID:B+g/88sW
flash側でドキュメントクラス指定したら、例えばmainっていうクラスだったら
mainのインスタンスが勝手に生成されますよね?
このインスタンスにアクセスしたいんですけど、どんな名前でアクセスすればいいんですか?
888Now_loading...774KB:2011/06/28(火) 11:09:00.49 ID:W6PRw2dZ
どっからアクセスすんの?
889Now_loading...774KB:2011/06/28(火) 11:11:28.00 ID:B+g/88sW
別のパッケージのクラスからです
890Now_loading...774KB:2011/06/28(火) 11:21:04.98 ID:W6PRw2dZ
その別のパッケージのクラスは結局MainかMainが保持してるクラスが作るんだから如何様にも渡せるんじゃないかな

たとえばMainの最初で
Aclass.main=this;

Aclassで
public static var main:Main;

ってやっとけばAclassのインスタンスはtrace(main);できる
891Now_loading...774KB:2011/06/28(火) 11:56:56.91 ID:oZATbYSQ
loadClipって_root以上の階層じゃないと読み込めないの?
画像を読み込む際に階層1以上なら読み込めるんだけど_root.mcとかやると
何も表示されない。Error opening URLって出てくるから読み込みはしてるんだろうけど
AS2.0 PLAYER 10
892Now_loading...774KB:2011/06/28(火) 12:07:19.38 ID:B+g/88sW
>>890
なるほど、参考にしてやってみたらできました。ありがとうございます。
893Now_loading...774KB:2011/06/28(火) 12:15:09.83 ID:DMnHDW45
背景が透過するflashの事なんですが、flashの下に見えている
htmlを、画像として取得する事はできないでしょうか。背景を透過にした状態で

bitmapData.draw(stage);

なんてのを試してみましたが、stageの上に乗っているオブジェクトは取得できても
下にあるhtmlで記述されている部分は取得できませんでした。物は試しに

bitmapData.draw(stage.parent);

も試したけどダメでした(stage.parent == null でした)。
何かいい方法はないでしょうか。

894Now_loading...774KB:2011/06/28(火) 12:32:12.57 ID:HUcYOBRD
AS3覚えておくとAndroidアプリ作れるじゃん
AS2以下では無理
895Now_loading...774KB:2011/06/28(火) 12:54:23.32 ID:W6PRw2dZ
>>893
むりだとおもー
透明なswfの下のhtmlになんか描いてあるの?
896Now_loading...774KB:2011/06/28(火) 12:57:31.64 ID:W6PRw2dZ
>>891
階層ってtargetの話?
URLエラーならURLが間違ってるんじゃないの?
897Now_loading...774KB:2011/06/28(火) 13:52:33.16 ID:B+g/88sW
クラスの中からインスタンス変数を宣言することってできますか?
public class A {
public var mya;
public function B(){
var nya; <---- これをローカル変数でなくmyaみたいなインスタンス変数として宣言したい
}}

dynamic classにしたらできることを確認したんですが、
宣言がないとエラーとか怖いので他の方法があったら教えてください。
898Now_loading...774KB:2011/06/28(火) 14:05:04.47 ID:35TpAed2
できない。
>宣言がないとエラーとか怖いので
だからDynamicクラスじゃないとできないようにしてあるわけだが。

クラスの中に宣言するインスタンス変数を
なぜ、メンバ関数で宣言したいと思うのかがわからない。
他にやりようがあるはずだが。
899Now_loading...774KB:2011/06/28(火) 14:33:07.72 ID:W6PRw2dZ
Object型をインスタンス変数に持っとくとか
いずれにしろ型チェックしたいならダイナミックに追加なんてしないことだ
900Now_loading...774KB:2011/06/28(火) 14:49:30.23 ID:B+g/88sW
えーできないんですか。

・・・別の線を考えて見ます。ありがとうございました。
901Now_loading...774KB:2011/06/28(火) 14:51:39.38 ID:W6PRw2dZ
逆にどういう時に使うのか
902Now_loading...774KB:2011/06/28(火) 14:51:54.95 ID:35TpAed2
できると思う方が不思議なんだが…
903Now_loading...774KB:2011/06/28(火) 17:11:04.94 ID:B+g/88sW
すいません、これで最後の質問にしますが、リファレンスとか見るとオブジェクト型は
参照渡しと出てるんですが
public class A{
public var ob:Object=new Object();
public function A(){
B(ob.mcTest);
trace(ob.mcTest);
}

function B(o:Object){
o=MC(); <----FLASH CSで作ったムービークリップ
}}}}

って書くと、ob.mcTestがundefinedで、Bで入れたはずのムービークリップが入っていないんですが
どういったことですか?
904Now_loading...774KB:2011/06/28(火) 17:29:09.65 ID:W6PRw2dZ
>>903
ob.mcTestってダイナミックに加えたObject型?

o=MC()ってどういう意味?
905Now_loading...774KB:2011/06/28(火) 17:30:29.46 ID:Ph7+D5uA
>>903
MC()って何?関数?
obにob.mcTestなんていつできたの?

要するに、なにをやりたいの?
906Now_loading...774KB:2011/06/28(火) 17:58:17.38 ID:B+g/88sW
えっとMC()はFlashCSでムービークリップをクラスに変換して呼び出せるようにしたものです。
ob.mcTestはOBject型の変数obにmcTestという名前をつけたものです。
やりたいのはob.mcTestをBに送ってMC()のインスタンスを代入させてかえってこさせたいのです。

907893:2011/06/28(火) 18:07:52.43 ID:DMnHDW45
>>895
返答、ありがとうございます。
やっぱり無理ですか。flash側が描画に利用しているのは間違いないので
なんとか取れないかと思ったのですが。

>透明なswfの下のhtmlになんか描いてあるの?
汎用のスクリーンショット加工ツールみたいな物を作りたいと思って
html5やjavaなんかも含めて検討中なんです。
908Now_loading...774KB:2011/06/28(火) 18:12:04.43 ID:W6PRw2dZ
もうobって変数名ついてんじゃん…

public class A{
public var ob:Object=new Object();
public function A(){
B(ob);
trace(ob);
}
function B(o:Object){
o=new MC();
}}}}

CSのライブラリのmcにリンケージでActionScript用に書き出しにチェックを入れてMCというクラス名をつけた時ならこういうことはできる
けどObjectクラスの変数に入れてるからobを通してMovieClipのメソッドは実行できない
traceの結果もObjectになる


まずはstrictモードにしましょう
909Now_loading...774KB:2011/06/28(火) 18:14:52.99 ID:W6PRw2dZ
>>907
ヤクザwwwwww

んー?flash側が描画に使ってるかな。
ただ透過した下の背景のことでしょ?
いまいち欲しい部分が分からない
910Now_loading...774KB:2011/06/28(火) 18:15:57.28 ID:Ph7+D5uA
>>906
> ob.mcTestをBに送ってMC()のインスタンスを代入させてかえってこさせたい

何のために?
ムービークリップをクラスに「変換」というのもよくわからんが
なんでObject作って、そこにmcTestという変数定義して、そこに代入するの?
単に参照とりたいだけなら、そんなことせんでもいいような気がするんだが…

そもそも、そのMovieClipはいつ、どこでnewされて、どのDisplayObjectContainerに
addChild()されるのか?
その参照はどこも保持していないのか?
911やっちゃん:2011/06/28(火) 18:40:04.06 ID:DMnHDW45
>>907
>んー?flash側が描画に使ってるかな。
あくまで予想だけど、透過処理行うために下地のビットマップは内部処理には
必要だと思ってます。ただ、as3からそれにアクセスできるかどうかは全然別
問題ですよね。

欲しいのはFlashの下に書いてあるHTMLのレンダリング結果です。

<div><object ... flashの設定。スタイルシートで以下のhtmlと重なるように配置></div>
<p>ほげほげ</p>
<p>ふがふが</p>

こんな風に書いてあった時の「ほげほげ」「ふがふが」の部分が画像として欲しいです。
912Now_loading...774KB:2011/06/28(火) 19:09:24.43 ID:B+g/88sW
めちゃくちゃですいません。元のソースでo=new MC()のnewがぬけてました。
やりたいことはほぼ>>908なんですが、MCクラスのインスタンスを入れたいのは
obuject型配列のobではなく、obの配列のmcTestに入れたいんです。
でも何故かBに送ってtraceするとundefinedが帰ってきます。
913Now_loading...774KB:2011/06/28(火) 19:19:03.95 ID:W6PRw2dZ
>>911
なるほど。
htmlならなんかと連携して取得できるだろうけど
>>800の例もあるからなあ


>>912
その配列はObjectのメンバである意味あるの?
ならばもうObject継承したクラスつくってインスタンス変数に配列持たせたほうが厳密じゃないかな
914Now_loading...774KB:2011/06/28(火) 19:23:20.43 ID:B+g/88sW
public class A{
public var ob:Object=new Object();
public function A(){
ob.num=1;
B(ob.num);
trace(ob.num);
}
function B(o:Object){
o=2;
}}}}

こっちのほうがわかりやすいですね。
これでtraceの結果が1になってしまうのがおかしいです。
915Now_loading...774KB:2011/06/28(火) 19:28:08.38 ID:Ph7+D5uA
>>914
それはおかしくないだろ
Object渡せば、ob.numにアクセス出来るけど
ob.numの値渡したら、oには1という値が代入されるだけで
ob.numへの参照は入ってないんだから
916Now_loading...774KB:2011/06/28(火) 19:28:37.49 ID:W6PRw2dZ
>>914
プリミティブは値渡しなの。
関数側でObjectとしてうけとるのもなんか変
917Now_loading...774KB:2011/06/28(火) 19:33:15.20 ID:W6PRw2dZ
public class A{
public var ob:Object=new Object();
public function A(){
ob.num=1;
B(ob);
trace(ob.test);
trace(ob.num);
}
function B(o:Object){
o.test=new MC();
o.num=2;
}}}}

なら一応やりたいっぽいことできるけどObjectにダイナミックにメンバ入れると型チェックも効かないしやっぱりお勧めしない
918Now_loading...774KB:2011/06/28(火) 19:36:21.47 ID:B+g/88sW
そういうことでしたか・・・
obがObject型なのでob.numなどにしても参照が渡されると思い違いしていました。
ありがとうございます。
919891:2011/06/28(火) 23:34:08.95 ID:oZATbYSQ
var loader = new MovieClipLoader();
loader.loadClip("http://api.dan.co.jp/twicon/*****", 1);←大成功

var loader = new MovieClipLoader();
loader.loadClip("http://api.dan.co.jp/twicon/*****", _root.mc);←大失敗
なんで?
920Now_loading...774KB:2011/06/28(火) 23:45:48.31 ID:W6PRw2dZ
>>919
俺は下も大成功したけど
ちゃんと_rootにmcあるの?
921Now_loading...774KB:2011/06/28(火) 23:50:03.26 ID:oZATbYSQ
>>920
うん。オレンジ色の四角形が描いてあるけど。
MXで書き出してるけど関係ないよね
922Now_loading...774KB:2011/06/28(火) 23:57:36.24 ID:oZATbYSQ
var loader = new MovieClipLoader();
loader.loadClip("http://api.dan.co.jp/twicon/*****", _root.mc);
↑だとオレンジ色四角形の_root.mcが一瞬表示されて消える。読み込もうとはしてるのか?
923Now_loading...774KB:2011/06/29(水) 00:01:28.54 ID:0r4aqu6L
>>921
もちろんmcってインスタンス名つけてるよね?

>Flash MX 2004から、MovieClipLoaderクラスが実装されました。
MovieClipLoaderクラスを使って外部SWFやJPEGファイルをロードすると、その進行状況に応じて各種のイベントが発生し、それらのイベントに対応した情報を取得することができます。
また、複数のファイルを指定して、順次読込むことも可能です[*1]。本稿では、MovieClipLoaderクラスの使用について、簡単にポイントと注意点をまとめてご紹介します。
詳しくは、オンラインヘルプ[ActionScriptリファレンスガイド]の[MovieClipLoaderクラス]およびその各メソッドの項をご参照ください。

よくわからんけどMXでも使えるの?
924Now_loading...774KB:2011/06/29(水) 00:02:53.44 ID:8YCs9v0v
>>923
つけてます。あとMX2004です
925Now_loading...774KB:2011/06/29(水) 00:15:06.09 ID:0hTwoMfY
>>924
mcの基準点が違ってて表示位置が違うとかいうことはない?
926Now_loading...774KB:2011/06/29(水) 00:15:15.62 ID:jOZDq+6O
うーん。読み込むswfに問題あったりするのかな
927Now_loading...774KB:2011/06/29(水) 00:17:35.83 ID:8YCs9v0v
アクセス先がjpg形式だと_root.mcに読み込めた
playerが7だとpngは読み込めないって書いてあったけど階層が1だとpngも読み込めるし・・・
わけがわからないよ

環境 As2.0 MX2004 PLAYER7で書き出し
928Now_loading...774KB:2011/06/29(水) 00:18:53.69 ID:8YCs9v0v
>>925
基準点は左上になってた
929Now_loading...774KB:2011/06/29(水) 00:19:11.32 ID:0r4aqu6L
そもそも階層1ってどこだろう
930Now_loading...774KB:2011/06/29(水) 00:23:24.55 ID:0hTwoMfY
>>927
なら、クロスドメイン制限にひっかかってるんじゃないの?
931Now_loading...774KB:2011/06/29(水) 00:25:49.94 ID:8YCs9v0v
>>930
でもloader.loadClip("http://api.dan.co.jp/twicon/*****", 1);なら読み込めたよ
現物見てもらう方が早い気がしてきた
http://www.dotup.org/uploda/www.dotup.org1744515.fla.html
932931:2011/06/29(水) 00:27:09.24 ID:8YCs9v0v
unko
933Now_loading...774KB:2011/06/29(水) 00:29:55.33 ID:0r4aqu6L
エラー言われましだけど
934Now_loading...774KB:2011/06/29(水) 00:29:59.69 ID:0hTwoMfY
>>930て思ったけど、レベル1なら読み込めてるのか
それなら、読み込もうとしてるswfが内部で_root参照してて
動作が適切じゃないとかかな
935Now_loading...774KB:2011/06/29(水) 00:32:25.66 ID:0hTwoMfY
>>931
そもそも、読み込めないと判断する根拠はなに?
onLoadCompleteとかで確認してるの?
936Now_loading...774KB:2011/06/29(水) 00:32:52.47 ID:8YCs9v0v
ムービープレビューだとエラー出ます

>>934
画像の読み込みだからそれはないと思いたいです
937Now_loading...774KB:2011/06/29(水) 00:35:18.52 ID:0hTwoMfY
>>936
それなら、まずエラーの内容を書いてくれ
938Now_loading...774KB:2011/06/29(水) 00:37:35.88 ID:8YCs9v0v
はい
Error opening URL "http://api.dan.co.jp/twicon/*****"
ちゃんとパブリッシュされたswfを開くと画像が読み込まれます
939Now_loading...774KB:2011/06/29(水) 00:42:32.24 ID:0hTwoMfY
>>938
それ、URLが間違ってるとかアクセス制限があるとか、何らかの理由で
ファイルをロードできないっていってるじゃないか

最初にエラーを言ってくれれば、あれこれ考えずにすんだのに
940Now_loading...774KB:2011/06/29(水) 00:44:52.70 ID:8YCs9v0v
>>939
ごめんなさい
でもswfから開くと_level1には読み込まれるって変じゃないですか?
941Now_loading...774KB:2011/06/29(水) 00:48:20.24 ID:0r4aqu6L
まずローカルのswfでためしてはどうか
942Now_loading...774KB:2011/06/29(水) 00:50:44.37 ID:8YCs9v0v
ローカルで_level1以上に読み込む分には読み込まれます。
_level0や_root上のMCを対象にしたら何も表示されないです。
943Now_loading...774KB:2011/06/29(水) 00:55:21.18 ID:0hTwoMfY
>>940
本当にレベル1なら読み込めているのか?
実は、レベル1に読み込んだ時と_root.mcに読み込んだ時で、ファイル名などが
微妙に間違ったってことはない?

>>931をローカルで実行したが(混乱するから存在しないファイル名は書かないほうがいい)、
同ディレクトリに作ったswfを、rootに配置したmcに読み込むことはできた
構造に問題はない
_root.mcに読み込ませる時に、ファイル名を間違ったくらいしか思いつかない
944Now_loading...774KB:2011/06/29(水) 00:55:38.61 ID:0r4aqu6L
ふむ。こっちはローカルで大成功なんだが。
945Now_loading...774KB:2011/06/29(水) 01:00:48.97 ID:8YCs9v0v
一字一句間違えてないけど
読み込みたいファイルが画像(jpg,png)なのがいけないんだろうか

あとはプレビューだとエラー吐いてくるくせに
trace(loader1.loadClip("http://api.dan.co.jp/twicon/****", _root.mc));
だとtrueが返ってくる。どういうこっちゃ
946Now_loading...774KB:2011/06/29(水) 01:05:17.13 ID:0hTwoMfY
>>945
pngって、FlashPlayer7くらいだと、読み込めなかった気がするが
あと、読み込もうとするディレクトリに2バイト文字があるとエラーになるとかいう現象も
昔あったような

2004のことはもうだいぶ忘れてしまったなあ
947Now_loading...774KB:2011/06/29(水) 01:05:43.25 ID:8YCs9v0v
var account = "http://api.dan.co.jp/twicon/homhom_bot";
var loader1 = new MovieClipLoader();
loader1.loadClip(account, _root.mc);
var loader2 = new MovieClipLoader();
loader2.loadClip(account, 1);
これだと読み込むファイルはjpgだからなのか大成功
948Now_loading...774KB:2011/06/29(水) 01:08:28.54 ID:0r4aqu6L
jpg,gif,pngで1と_root.mcで試したけどどれも表示されるな
>>946じゃね
949Now_loading...774KB:2011/06/29(水) 01:10:01.59 ID:8YCs9v0v
var account = "http://api.dan.co.jp/twicon/miyasuke1";
var loader1 = new MovieClipLoader();
loader1.loadClip(account, _root.mc);
var loader2 = new MovieClipLoader();
loader2.loadClip(account, 1);
これだとpngで大失敗。
950Now_loading...774KB:2011/06/29(水) 01:12:45.56 ID:8YCs9v0v
Playerが7でも_level1以上なら読み込まれる
つまり2バイト文字が云々ってのが原因か
951Now_loading...774KB:2011/06/29(水) 01:17:15.22 ID:0hTwoMfY
>>950
もしかしたら、そのpngファイルがちょっと壊れてるとか?
他のpngファイルでも同様なのか検証してみた?
952Now_loading...774KB:2011/06/29(水) 01:17:56.57 ID:8YCs9v0v
ローカルのPlayerは10になってるんですけど
953Now_loading...774KB:2011/06/29(水) 01:19:36.08 ID:8YCs9v0v
他のpngも片っ端から駄目でした
954Now_loading...774KB:2011/06/29(水) 01:23:28.24 ID:0hTwoMfY
>>953
もし同じ方法で作られたpngならその方法やツール、そうでないなら
使ってるPCとかHDDとかアカウントとかFlashとか、なにかそちら独自の環境に起因する
問題じゃないか?

サーバにアップしても同様か検証してみれば、また何かわかるかも
955Now_loading...774KB:2011/06/29(水) 01:29:16.83 ID:8YCs9v0v
和塩に上げてみたけど、やっぱりjpgの方しか読み込まれませんね
956Now_loading...774KB:2011/06/29(水) 02:09:42.13 ID:dYRrKThO
最近AS3.0始めた者です

どうにもよく分からん
Flashlite1.1は使えるし、モバゲーみたいなソーシャルアプリも開発してんだけど
今後スマフォなんかにも対応したいと思っているんで、やり始めたって感じですが
どうにもしっくり来ないんですよね
一応2までは習得しています

なんかいい覚え方ないでしょうか?
957Now_loading...774KB:2011/06/29(水) 02:35:37.06 ID:0r4aqu6L
>>956
語呂合わせとか?
ねーよwwwwww

2.0とは似てるっちゃ似てるけど結構別物
2.0でもクラスベースでやってたなら楽かもね
とりあえずActionScript初心者wikiがおすすめ
958Now_loading...774KB:2011/06/29(水) 05:53:28.34 ID:2f7G0vYz
三国志みたいなシミュレーションゲーム作る時ってクラスの設計は
Worldクラス、Nationクラス、Regionクラス、Bushoクラス
みたいな感じでいいんですか?
なんか参考になるサイトがあったら教えてください
959Now_loading...774KB:2011/06/29(水) 07:05:33.04 ID:2f7G0vYz
えーっと、今までは一つの配列オブジェクトで world.nation.region みたいに
世界の下に複数の国家があって、国家の下にさらに複数の地域があってみたいな
ツリーで管理してきたんですけど、クラスを使って管理する場合はどうしたらいいんですか?
Worldクラス一つ作って、そこで一つの配列オブジェクトで管理するのってよくないですよね?
でもわけるとセーブする時とか面倒くさそうです。
960Now_loading...774KB:2011/06/29(水) 10:26:02.95 ID:Pso49myN
>>856
ラベルを付ける
961960:2011/06/29(水) 10:27:28.91 ID:Pso49myN
書き込んだらどっさりレス増えて、解決済みにレスしてた俺おわた
962Now_loading...774KB:2011/06/29(水) 10:33:36.84 ID:0r4aqu6L
>>958
俺なら結構細かくクラス化しちゃう
同じファイルにたくさん書きたくない
いいのか悪いのかはしらんけど
963Now_loading...774KB:2011/06/29(水) 11:02:23.58 ID:2f7G0vYz
例えばゲームでplayerクラス作って、配列変数に1000個ぐらいのインスタンスを作った時、
playerの情報をセーブ・ロードするのってどうすればいいんですか?
playerインスタンスの配列変数とは別に、player情報の配列変数を作って保存するんでしょうか?
964Now_loading...774KB:2011/06/29(水) 11:18:48.62 ID:0r4aqu6L
ファイルやsoに保存するって意味なら
俺は変換クラス作ってインスタンスから各情報をのプリミティブ値を抽出してそれらだけで再現できるようにしてそれを保存するよ
965Now_loading...774KB:2011/06/29(水) 11:39:36.32 ID:8YCs9v0v
昨日pngが読み込めないって喚き散らしてた者だけど、
http://pickles-the-frog.cocolog-nifty.com/blog/flash/index.html
これ読んで改良したのをswfuploader上で再生したらpngも読み込めた。
ただローカルで再生すると「潜在的に危険な動作が云々」で読み込めなくなった
966Now_loading...774KB:2011/06/29(水) 11:52:32.85 ID:8YCs9v0v
http://swfup.info/view.php/0856.swf
なんか一回読み込んだ画像はやけに早く表示されるんだけど、
読み込む度にメモリ喰ったりしてんのか?
967Now_loading...774KB:2011/06/29(水) 12:02:56.74 ID:2f7G0vYz
>>964
レスありがとうございます。なるほど・・・でもクラスで使う変数が百個とか多くなると
セーブもロードも面倒じゃないですか?
968Now_loading...774KB:2011/06/29(水) 12:03:41.21 ID:Qn8jhwjB
>>958
何かのいくつかの処理で「同じ変数を頻繁に使う」メソッドや関数を一つのクラスにまとめるのが基本じゃないかな
「細かくクラス分けする」ってのは他の作品にも流用が効く処理なら便利
969Now_loading...774KB:2011/06/29(水) 12:14:05.82 ID:Qn8jhwjB
>>959
その考え方で正しいと思うよ おれならデータベースクラスとして1個にまとめる
データベースなら1つのクラスが膨大になるのは仕方が無い セーブロードも1個のオブジェクトで済むし
クラスファイルが大きくなるのがいやならxml等でデータベースとして扱う
970Now_loading...774KB:2011/06/29(水) 12:20:09.37 ID:0r4aqu6L
>>967
セーブもロードもそんな頻繁にするもんじゃないじゃん
操作したりなんか変更あるたびに倍の量保存するよりはセーブロード時にバーっと作っちゃたほうがメモリも処理もいいかなと思って
多少時間かかってもセーブロード時ってNow Loading... とかしても許されるかんじじゃん

現在の状態をByteArrayにして返す、ByteArrayから状態を復元するDataManagerクラスと
ByteArrayを受け取って保存する、ファイルを読み込んでByteArrayを返すIOManagerクラス
みたいなかんじにしてる
971Now_loading...774KB:2011/06/29(水) 12:51:36.90 ID:B80sYTnu
AS2使いに朗報。
googleがやってくれました。
http://gigazine.net/news/20110629_google_swiffy/
972Now_loading...774KB:2011/06/29(水) 12:52:51.25 ID:2f7G0vYz
ああー、根本的に勘違いしてたのかもしれません・・・、
今Player()クラスのインスタンスをplayer:Arrayに100個作って保存して
playerをsharedObjectに突っ込んでみたらセーブもロードもできました。
インスタンス変数とかもちゃんと保存されてます。
クラスのインスタンスって普通に配列オブジェクトみたいにSOに保存できるんですね。
この方法でセーブロード行うのは何かまずいのですか?
973Now_loading...774KB:2011/06/29(水) 13:32:07.94 ID:lTaIbTSa
AS3でURLLoaderでテキストファイルを読み込んでるんですが
読み込み完了イベントの時に以下の処理をしていて、変な動作をしています。

var arr:Array = ss_loader_obj.data.toString().split(/\n/);
for(var i:int=0; i<arr.length; i++)
{
trace(i + ":" + arr[i]);
}

txtファイルの中身は
001.jpg
002.jpg
003.jpg
なのですが、上のプログラムの出力結果が
0:001.jpg
002.jpg
003.jpg
となってしまいます。i:がループの2回目から消えているのですが何故なんでしょうか???
974Now_loading...774KB:2011/06/29(水) 13:51:24.69 ID:0r4aqu6L
>>972
クラスインスタンスまるごとよりは自分で必要なプリミティブ値を管理したほうが容量減ると思って俺はそうしてる
そのやり方でも普通にいいと思う


>>973
arr.lengthが1の時はきっとそう出力されるよね
つまりちゃんとsplitできてないと予想
とりあえずsplitしたあとtrace(arr.length)してみたらどうなる?
975Now_loading...774KB:2011/06/29(水) 13:51:31.59 ID:HKWpA4E/
>>972
確認して、ちゃんとセーブ出来てるならいいんじゃないかな?
作りによってオブジェクトそのままだと出来ないのもあったりするから注意だけど。
976Now_loading...774KB:2011/06/29(水) 14:11:24.04 ID:0hTwoMfY
>>972
やり方によっては、ゲーム内データにsharedObject参照が残ってて
どちらかの変更がそのままもう片方に反映されちゃう、ということもあるので
そのへんの注意は必要かも
977Now_loading...774KB:2011/06/29(水) 16:20:56.86 ID:lTaIbTSa
>>974
arr.engthは3でした。
どうやら調べてみると、002.jpgと003.jpgの頭に
改行かなんか分からないものが入ってるっぽいです。
それが原因のような気がするのですが、これは一体・・・。

trace("test");
trace(arr[0]);
trace(arr[1]);
trace(arr[2]);

の出力結果が

test
000.jpg

001.jpg

002.jpg

みたいになります。。。
978Now_loading...774KB:2011/06/29(水) 16:30:35.40 ID:Y1tU/OJq
WINで作ったテキストファイルなら改行コードは\r\nだよ
979Now_loading...774KB:2011/06/29(水) 16:36:18.62 ID:lTaIbTSa
>>978
ぬわーそうでしたか・・・。
\r\nで解決できました。ありがとうございます!!
980Now_loading...774KB:2011/06/29(水) 16:48:49.14 ID:lTaIbTSa
AS3でLoaderを使って外部swfを読み込んでいるのですが、
読み込んだswfのwidthとheightが、読み込み元のステージの大きさになってしまいます。

var loader_swf:Loader = new Loader();
var url_swf:URLRequest = new URLRequest("slideshow.swf");
var info:LoaderInfo = loader_swf.contentLoaderInfo;
loader_swf.load(url_swf);

info.addEventListener(Event.COMPLETE, swfLoaded);
function swfLoaded(e:Event):void{
slideshow.addChild(loader_swf);
trace(loader_swf.loaderInfo.width + ";" + loader_swf.loaderInfo.height);
}

slideshow.swfは800*480で作っているのにも関わらず、
trace結果は800*500(呼び出し元のステージの大きさ)になってしまいます。
swfを元のファイルの大きさのまま呼び出すことは不可能でしょうか?
981Now_loading...774KB:2011/06/29(水) 16:51:52.77 ID:0hTwoMfY
>>980
普通は元のサイズで読み込まれる
slideshowあたりが、拡大縮小されて配置されてるんじゃないの?
982Now_loading...774KB:2011/06/29(水) 16:58:49.83 ID:lTaIbTSa
>>981
slideshow.flaのパブリッシュ設定で
HTMLのサイズをピクセル指定で800px*480px、
伸縮を拡大・縮小なしに設定しています。

まぁこっちはHTMLのほうの指定なのであまり関係なさそうですが・・・。
パブリッシュ設定のFLASHのタブには特にステージの大きさとか伸縮とかの
設定はなさそうですが・・・何か心当たりはありませんでしょうか?
983Now_loading...774KB:2011/06/29(水) 17:12:15.23 ID:2f7G0vYz
>>974-976
レスどうもです。この方法が簡単そうなので今はこれでやってみます。
984Now_loading...774KB:2011/06/29(水) 17:28:44.68 ID:lTaIbTSa
ちなみに、slideshow.swfは拡大されていないので、
読み込み元swfのステージの中心に原寸サイズで表示されます。

(ムービークリップslideshowはステージの左上(0,0)に配置している空のムービークリップです。)
985Now_loading...774KB:2011/06/29(水) 18:14:39.00 ID:0hTwoMfY
>>984
すまん、ちょっとよくわからんのだが、slideshow.swfが拡大されて表示されてるわけではないの?
slideshow.swfのステージheightが400で、表示サイズも400なのに、trace()すると500になってるの?
986Now_loading...774KB:2011/06/29(水) 20:14:08.66 ID:66NL31fd
DisplayObjectのwidthとかheightってset可能だけど、結局中身の右端・下端の値になるんだよな
結構ハマったりするから要注意
987Now_loading...774KB:2011/06/29(水) 20:40:20.69 ID:/IIvD4Go
「ある1つの関数の中からしか参照できない変数」を作りたいんだけどどうしたらいいんだろう

クラス内で宣言したらクラス内の他の関数からも参照できるし、
関数の初めで var hoge:int=0; みたいにローカル変数として定義したら実行するたびに初期化されるから
無駄が多そう&前回の内容を引き継ぐ処理ができないから不便。他に何か方法ないかな?

988Now_loading...774KB:2011/06/29(水) 20:56:49.30 ID:0r4aqu6L
>>987
ひとつの関数もったクラスにしちゃう
クロージャ利用する
989Now_loading...774KB:2011/06/29(水) 20:58:17.28 ID:/JGnth1J
>>987
他からアクセスしないように気をつける
990Now_loading...774KB:2011/06/29(水) 21:07:12.30 ID:0r4aqu6L
最近流れ速いし次スレたててくるわ
991Now_loading...774KB:2011/06/29(水) 21:15:35.76 ID:tcsXfPs9
>>985
なので、slideshow.swfのオブジェクトの外側に白色の空白ステージ(Wordでいう余白みたいなもの)がある感じになってます。
で、(0,0)がslideshow.swfの左上ではなくて、余白の左上なので、なんか表示がずれてしまいます・・・。
ずれてる分の座標を、スクリプトでずらして表示させれば応急処置になるんですけど、
どうしても気持ち悪いのでどうにかしたいです。。。
992Now_loading...774KB:2011/06/29(水) 21:20:40.15 ID:0r4aqu6L
ActionScript 誰かが物凄い勢いで解答するスレ29
http://hibari.2ch.net/test/read.cgi/swf/1309349827/
993Now_loading...774KB:2011/06/29(水) 21:21:17.51 ID:Qp59D8+m
どうやらようやくActionScript3.0にも風が向いてきたようだな・・・胸が熱くなるな
994Now_loading...774KB:2011/06/29(水) 21:23:53.96 ID:/IIvD4Go
>>988
>>989
ありがとう。
995Now_loading...774KB:2011/06/29(水) 21:25:21.85 ID:0r4aqu6L
scriptって名前がなんかショボいイメージでイマイチプログラミング言語の仲間入りできてない気がする

>>971もあるしiPhone、Android、Stage3D、と風は吹いてる
996Now_loading...774KB:2011/06/30(木) 00:04:24.17 ID:WKrYT5hF
SingletonにEventDispatcherの変数作ってそこ監視したりイベント送れば複雑な構成でも自由に行き来できる
という方法が便利で最近使うんだけどやっぱだめかな?
997Now_loading...774KB:2011/06/30(木) 00:28:49.32 ID:heJvlnn0
>>996
それはたぶん、MVCアーキティクチャのC(controller)なんじゃないだろうか。と思う。
998Now_loading...774KB
クラスAからBにb()やらせたいときは
Aで
Singleton.eventReciever.dispatchEvent(new Event("byareyo"));

Bで
Singleton.eventReciever.addEventListener("hoge",b);

みたいな感じね

>>997
調べてみたけどさっぱりわからん
デザパタって意外と自分で思いついて使ってるもんだよね

どこからでもアクセスできちゃうってオブジェクト指向的にダメなんだろうか