ActionScript 誰かが物凄い勢いで解答するスレ 20at SWF
ActionScript 誰かが物凄い勢いで解答するスレ 20 - 暇つぶし2ch127:Now_loading...774KB
08/07/25 19:02:12 c6UsrShW
表示域は常にひとつです。トップレベル、この場合Mainがその表示域のベースとなります。
表示域とは演劇でいうステージです。意図的に照明(visible)を切り替えない限り常に見えます。
addChildはこのステージに背景や演者を設置する手段です。
newで生成した段階ではまだ舞台袖にいる段階で、ステージ上にはいないので見えません。
しかし音楽はステージ上にいなくても聞こえますよね。

さて、次に文字ですが、この場合Subを木、文字を木の実として考えましょう。
木の実を木に対してaddChildすると、木には木の実が配置されます。
しかし木自体がまだ舞台袖にあり、ステージ上に無いので見えません。
木(Sub)をステージに設置(addChild)して、初めて木の実もステージに登場するわけです。

128:Now_loading...774KB
08/07/25 20:09:06 LWrSDg+Y
>>127
ありがとうございます。
なるほど、すごく分かりやすく理解できました。

129:Now_loading...774KB
08/07/26 00:23:47 l/QqDgBv
AS3swfファイルを起動すると、まず、
スタートパッケージのコンストラクタの処理をするのは分かったのですが、
その後、プログラムの位置はどこにある状態なのでしょう。
C言語のwhile待ちやWin32APIのGetMessageに当たるものです。

スタートパッケージの始めの部分で待っていて、
マウスが押されたりすると、スタートパッケージ内に
mouseDownHandlerなどが無いか探し、
無ければまたスタートパッケージの始めの部分で待っている感じでしょうか。

130:Now_loading...774KB
08/07/26 00:53:58 6N/EnPDD
イベントドリブンを理解しましょう

131:Now_loading...774KB
08/07/26 01:09:41 dygQBh9z
>>129
他の言語から移ってくると気持ち悪く感じるかもしれないけど
メインのループ処理は完全に隠蔽されてる
あえて言うなら FlashPlayer の中だけど
普通の開発者はそれを意識する必要が全くない

もしスレッドループ的なものが必要なら
Event.ENTER_FRAME や Timer のイベントを使う



132:Now_loading...774KB
08/07/26 07:33:41 l/QqDgBv
ありがとうございます。

>>130
Win32APISDKと比べると↓な感じでしょうか。
スタートパッケージ == コールバック関数
スタートパッケージコンストラクタ == WM_CREATEメッセージ
addEventListenerで登録した物 == WM_LBUTTONDOWNなどの各メッセージ

>>131
普通の開発者はそれを意識する必要が全くない
というのはなんとなくは分かっていたんですけど、
new、addChildしたものが開放される(する)タイミングが分からなくて、
プログラムの流れが気になりました。

133:Now_loading...774KB
08/07/26 13:40:41 gkEZz+dm
>>132
イベントドリブンやGCなんてのはActionScript固有のものでもないし、
どちらかというと最近では主流になりつつあるものだから、
そっちについて個別に学んだ方が理解が深まると思うよ。
C使いだったならC#と比較してるサイトいっぱいあると思うから。

134:Now_loading...774KB
08/07/26 14:45:54 l/QqDgBv
>>133
ありがとうございます。
なるほど、C#を少しかじって理解を深めたいと思います。

135:Now_loading...774KB
08/07/26 23:12:25 ujU4TWfq
1・外部XMLファイルをプログレスバーを表示してローディング→2・Tweener等を使ってサイト名表示等のアニメーション演出→3・XMLファイルデータを元に外部jpgを読み込み表示

といったflashをタイムラインを使用せずAS3で作成してあり、2の処理中に3へ処理をスキップする機能を持つスキップボタンを付けたいと思っているのですが
どのように考えれば良いかが上手くつかめません、2のスクリプト処理中の流れを割り込み(2で作られた演出用のスプライト等を削除し)3へ移動させる?というのは
どういった処理を行えばいいのでしょうか?

136:Now_loading...774KB
08/07/28 16:32:11 VNCXamqf
as3です。
同一ディレクトリ内にある別のasファイル(VideoLoader.as)の中の変数(_hoge:uint)を
別クラスのBtnsClass.as内のスクリプトで、「参照&書き換える」には、
どのようにしたらいいでしょうか。

VideoLoader内でpublicで変数を宣言しています。
BtnsClass内のコンストラクタです。
VideoLoader._hoge = 5; では駄目でした。
VideoLoader._hogeにも型宣言するのはおかしい気がするし、
publicで指定しているのになぜアクセスできないのか、、、
かなり悩んでます。


137:Now_loading...774KB
08/07/28 17:44:22 SuSWJ2Co
AS3で静的コンストラクタみたいな
使い方ができるものがありましたら教えてください。

138:Now_loading...774KB
08/07/28 18:09:46 1fUSat/w
>>136
URLリンク(livedocs.adobe.com)

>>137
URLリンク(www.trick7.com)

139:Now_loading...774KB
08/07/28 19:09:09 QYVJsqYm
マスクの下にあるムービークリップにattachMovieしたオブジェクトがマスクされません
回避方法としてはどういうものがありますか?




140:Now_loading...774KB
08/07/28 20:13:36 Gexl2UAW
aaa.swf内でbbb.swfをloadVariablesで読み込んでいるんですが
bbb.swfで記述しているsendAndLoadに対するonLoadイベントが発生しない状況になっています。

bbb.swfを単体で表示させるときちんとonLoadイベントは発生しているのですが
なにか問題があるのでしょうか?
またonLoadイベントが発生していないだけで表示は問題ありません。

aaa.swf内
_root.loadVariables("../menu/menu.txt");←これにbbb.swfパスが書いている
こんな感じです
&content1=../menu/bbb.swf&

bbb.swf内
var send_lv:LoadVars = new LoadVars();
var recv_lv:LoadVars = new LoadVars();
recv_lv.onLoad = function(){←aaa.swf経由で表示させると、こいつが走らない
trace("data");
};
send_lv.sendAndLoad("URLリンク(aaaaa.com)",recv_lv, "POST");
どなたかすみませんが教えて頂けませんでしょか

141:Now_loading...774KB
08/07/28 21:35:54 TxBAy1NH
var senddata:URLVariables = new URLVariables();
senddata.cmd = "cmd";
senddata.key1 = "001";
senddata.key2 = "002";
trace("##########: "+inkdata.toString());

とやったとき、traceの結果がころころ変わります。

cmd=cmd&key1=001&key2=002
だったり
key1=001&cmd=cmd&key2=002
だったり。

毎回
cmd=cmd&key1=001&key2=002
とサーバー側で受け取る方法ってないですかね?

142:Now_loading...774KB
08/07/28 23:17:43 XO5DuyEj
as2で作ったswfをas3で読み込んだらloader.contentがnullになってしまいます・・・
これってどうすればいいんでしょうか
ちなみにas2のflaファイルはもうないんです

143:137
08/07/29 00:22:15 Z0cq8PeP
>>138
ありがとうございます。

144:Now_loading...774KB
08/07/29 00:58:41 S+kplSAU
>>140
そもそもbbb.swfはどうやってロードしてるの?

145:Now_loading...774KB
08/07/29 09:26:28 DZacUpsR
>>139
マスクはどうやって作ってるの?
attachMovieは正の深度だよ
>>142
fla無いならAS3への移行できんからAS2で読み込んで処理する

146:Now_loading...774KB
08/07/29 17:29:01 Np3YCmwO
質問です。環境:AS3, Flex3
Q:デフォルト値が設定されている引数が複数あるとき、n番目の値だけ指定して、他を省略する事はできますか?

例:function fの呼び出しでarg4の値だけ指定したい
function f(arg1:int=0, arg2:int = 1, arg3:int = 3, arg4:int = 4):void
{
trace(arg1,arg2,arg3,arg4);
}

VBのCall f(arg4:=40)みたいなことは出来ないでしょうか

147:Now_loading...774KB
08/07/29 19:06:49 3ZXx5RAK
>>146
argumentsオブジェクトを使うといいかも。

148:Now_loading...774KB
08/07/30 13:04:03 /jifwed9
AS3です。
addChildの反対のdeleteChildみたいなのがありましたら教えてください。

149:Now_loading...774KB
08/07/30 15:13:37 cdPPc+ee
>>148
removeChild
答えた代わりに一つ聞きたいんだけど、この程度のことググった方が早くない?
どうしてわざわざ聞こうと思ったの?煽りとかじゃなくて。

150:Now_loading...774KB
08/07/30 15:29:53 /jifwed9
>>149
ActionScript3 + addChild + (反対 or 開放 or deleteChild)
あたりではググっていたのですが見つけられませんでした。

また、newに対するdelete、コンストラクタに対するデストラクタ
がない(行われるタイミングが分からない)というのもあって、
addChildの反対のものも無いのでは
という気持ちがいけなかったのかもしれません。

151:Now_loading...774KB
08/07/30 16:28:12 cdPPc+ee
なるほどね。とりあえず今後はLiveDocsのリファレンスガイドを活用するといいよ。
すべてのクラスとそのメソッドについて一覧と説明があるから、
そこを順番に見ていけば基本的なことの大半は解決するはず。

それからGoogleも単なる道具だから、使う側が工夫する必要もある。
「ActionScript3」の部分でAS3の情報に絞ったつもりだったんだろうけど、
ネット上のドキュメントはどちらかというとActionScript 3.0といった表記の方が多いんだよね。
例えばそこを変えただけでも(ActionScript 3.0 addChild)、LiveDocsが最初に引っかかるし。
あとremoveChildのことを「addChildの反対です」と表現してることってほとんどないし、
どういう書かれ方をしてるか予測して検索した方がより正解にたどり着きやすくなると思うよ。

152:Now_loading...774KB
08/07/30 16:43:23 yG5n5h/q
リストに対する追加/削除はadd<->remove
newに対する機能はdispose、ただしgcにまかせていいクラスならdisposeは存在しない

AS3に限らず最近のフレームワークはみんなこんな感じ


153:Now_loading...774KB
08/07/30 17:44:43 s39ND9NC
AIR1.1になって、IME.enabledを設定してもIMEのオン、オフができなくなってしまったのだけど、解決方法を知っている人いませんか?
AIR1.0では問題無くオン、オフできるのだけど。

154:Now_loading...774KB
08/07/30 18:37:00 /jifwed9
>>151>>152
すごく勉強になりました。
次に質問させていただくときには、気をつけたいと思います。
ありがとうございました。

155:Now_loading...774KB
08/07/31 19:29:34 e2PUWTO5
ある日数の範囲(例:20080801~20080930)と
ある日数の範囲(例:20080815~20081031)に
重なりがあるかどうかを判定するにはどうしたらよいでしょうか?

156:Now_loading...774KB
08/07/31 20:13:03 ayqNwGZU
Date.timeで数値としての日時が取得できるから、それを比較すればおk

157:Now_loading...774KB
08/07/31 20:16:17 VgsN3smr
>>155
期間A→A1~A2
期間B→B1~B2
とすると、重なるのは
■A1------------A2
■    B1------------B2

■A1-------------------------A2
■    B1------------B2

■    A1------------A2
■B1-------------------------B2

■    A1------------A2
■B1------------B2


なので、A1<B1<A2またはB1<A1<B2の時重複してると言える。
if ( (A1 < B1 && B1 < A2) ||
   ( B1 < A1 && A1 < B2 ))
   trace("重複");

これでどう?質問の本質を理解してないかも。

158:Now_loading...774KB
08/07/31 22:57:29 e2PUWTO5
>>156-157
ありがとうございます! なるほど、こういう考え方がありましたか。
これでうまく行きそうです。とても助かりました!

159:Now_loading...774KB
08/08/01 05:06:42 bQNbnEXo
NetStream.onStatusについての質問です。AS2です。
FLV が見つからない場合の"NetStream.Play.StreamNotFound"なんですが、
ローカルでは取得できるのですが、サーバー上だと取得できません。
しかもそのまま放置するとフリーズに近い状態になってしまいます。
よろしくお願いしまいます。

コード:

var connection_nc:NetConnection = new NetConnection();
connection_nc.connect(null);
var stream_ns:NetStream = new NetStream(connection_nc);
my_video.attachVideo(stream_ns);
stream_ns.play("video1.flv");
stream_ns.onStatus = function(infoObject:Object) {
if(infoObject.code == "NetStream.Play.StreamNotFound"){
messageText.text = "NetStream.Play.StreamNotFound";
}
};

160:Now_loading...774KB
08/08/01 06:40:21 bQNbnEXo
すいません自己解決しました。FC2サーバーだと取得できないみたいです。

161:Now_loading...774KB
08/08/01 14:22:38 +cQsqCyi
AirのSQLiteで、人名などの日本語のデータをサーチできなくて困ってます

sql.text = "SELECT * FROM daisy_task WHERE Task == 山田太郎"

みたいにするとエラーが帰ってきてしまいます どうしたらよいですか

162:Now_loading...774KB
08/08/01 14:29:30 //GSIzui
SQLiteはよく知らんが普通検索文字列は"とか'で囲むんじゃね
'山田太郎'とか

163:Now_loading...774KB
08/08/01 14:34:31 +cQsqCyi
>>162
はや!助かります
sql.text = "SELECT * FROM all_task WHERE Task == '山田太郎'";

これでやってみてもだめでした

164:Now_loading...774KB
08/08/01 15:18:00 +cQsqCyi
すみません、ご指摘の方法で出来ました
データベースの方がおかしかった模様
ごめんなさい

165:Now_loading...774KB
08/08/01 15:35:58 GEbgJ/jt
二次元配列を利用して、目標の座標へ移動する為に、どのような記述をすれば良いか困っています。
hitTable = [
    [0,0,0,0,0]
    [0,1,1,1,0]
    [0,0,2,0,0]
    [0,1,1,1,0]
    [0,0,0,0,0]

]
上の配列は簡単なものなのですが、0が移動可能領域、1が壁、2が目標座標といった感じです。
移動させる物は四隅([0][0]、[0][4]、[4][0]、[4][4])のいずれかからスタートし、1座標ずつ目標座標へ近づき移動したいのですがスタート位置がランダムな為、記述方法がいくら考えても思いつきません……。
良ければどうか皆さんの知恵を貸して頂ければ助かります。

166:Now_loading...774KB
08/08/01 16:23:32 dROoT5DI
それはASじゃなくてアルゴリズムの問題だよね?
ゲ製作技術とか行った方がいいんじゃないかな
もしくは経路探索アルゴリズムとか最短経路問題でググるといいと思う

167:Now_loading...774KB
08/08/01 17:02:19 WDMpy2el
環境AS3です.
flvを切り貼りするようなソフトを作ろうと思っているんだが,それ系のライブラリってあるぽ?
無いとしたらどうやって編集すればいいんだろ?
RichFLVがある以上は編集不可能ではないと思うんだが・・・.

168:Now_loading...774KB
08/08/01 18:08:59 78kX3edD
>>167
板違いです。
言語は何か知りませんがプログラム板にでもいってみては?

169:Now_loading...774KB
08/08/01 18:19:46 GEbgJ/jt
>>166
そうですね。アドバイスありがとうございました。

170:Now_loading...774KB
08/08/01 18:29:45 ee8nRpht
環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0)

hitTest()動作で質問です。

root上に2つのMC(mc1, boarderM)を置き、mc1はドラッグ移動が可能にしています。
boarderMは線状のMCで、これにmc1がドラッグ移動で右方向から当たった時、mc1の
X座標が増分される、つまり壁に当たって弾かれる動作をしたく思っています。
フレームアクションのASは以下の通りです。

this.onEnterFrame = function() {
if (this.mc1.hitTest(this.boarderM) == true) {
this.mc1._x = +1;
}

しかしこれだと、右方向から当った瞬間、mc1がrootの原点に飛んでしまいます。
アドバイス願います。

171:Now_loading...774KB
08/08/01 18:35:09 rILae5AR
AS2です。テキストフィールドにhtmlを読み込んで表示させています。
画像とテキストがあり、全てセンタリングしたいのですが 画像ができません。
ヘルプにはイメージタグのalignはleftとrightしかないと書いてあるのでalignでは
できないようですが、方法はないでしょうか?

172:Now_loading...774KB
08/08/02 00:42:40 RQJa+joB
>>171
スレチ

173:Now_loading...774KB
08/08/02 15:49:27 1+9B9CRx
>>170
よくわかんないけど、
this.mc1._x = +1;が
this.mc1._x += 1;の間違いなんじゃないか?

174:Now_loading...774KB
08/08/02 19:22:12 PD6WxBMs
同じムービークリップをたくさん複製するとして、
そのムービークリップの1つのフレームアクション内で同じ処理を何度も記述する場合、
その処理をfunctionを使って定義したらしないのよりその分メモリ余計に使いますか?

functionを使って記述した方が見やすくて修正も簡単ですが、少しでも処理が遅くなったりするのなら使わない方が良いしどうでしょう。

175:Now_loading...774KB
08/08/02 19:43:15 NJ437UpZ
>>174
関数呼び出しは確かにオーバーヘッドが生じますが、
コードの量によってそうした方が全体的なコストが下がる場合もあります
結局は内容次第なので、自分で計測してより良い方を選択するのがいいと思います
ただ、正直な話、それを自分で判断できないレベルではどっちにしても大差ない気もしますし、
Cみたいな言語で速度を追求したい場合ならともかく、ASなら普通は関数にまとめた方が良いと思います

176:Now_loading...774KB
08/08/02 20:19:45 PD6WxBMs
>>175
レスありがとうございます。大きな差がないか自分で確かめてみます。

それともう一つ質問なんですが、deleteを使って複数の変数、たとえばa、b、cを削除する場合、

delete a;
delete b;
delete c;

とdeleteを何度も書かずに、1つにまとめて削除する方法はありませんか?

177:Now_loading...774KB
08/08/02 22:40:26 ZZ2Wq4Gj
環境:
OS=Win XP SP3; Soft=Flash CS3 Pro;
パブリッシュ=ver.9+AS3.0; Player=9,0,115,0と9,0,124,0の両方で確認

TextFormatについての質問です。
Font.enumerateFonts(true)を利用して、その環境で使えるデバイスフォントを取得し、
あるTextFieldでそのフォントを使うようにし、その後適当な文字列を打たせて表示させたいのですが、
何故か一部のフォントはMS ゴシックらしきフォントが表示されます。(その現象が起きるフォントは固定)
ver.8+AS2.0環境で似たような処理をさせるとうまく表示できるのにver.9+AS3.0では出来ませんでした。
フォントを入れなおしたり、Playerを入れなおしてみたのですがそれでも駄目でした。
どのようにすれば、うまくデバイスフォントを表示させることが出来るのでしょうか。
次のレスにソースを置いておきます

178:177
08/08/02 22:43:44 ZZ2Wq4Gj
import fl.controls.List;
import flash.text.Font;
var Font_list:List= new List();
stage.addChild(Font_list);
var tmpFontArray:Array = Font.enumerateFonts(true);
tmpFontArray.sortOn("fontName",Array.CASEINSENSITIVE);
tmpFontArray.unshift({fontName:"_明朝"});
tmpFontArray.unshift({fontName:"_等幅"});
tmpFontArray.unshift({fontName:"_ゴシック"});
tmpFontArray.unshift({fontName:"_typewriter"});
tmpFontArray.unshift({fontName:"_serif"});
tmpFontArray.unshift({fontName:"_sans"});
var fontData:String;
var l:uint = tmpFontArray.length;
for each (var item:Object in tmpFontArray) {
        fontData = item.fontName;
        Font_list.addItem({label:fontData, data:fontData});
}
Font_list.selectedIndex = 0;
Font_list.scrollToIndex(0);
var myTextFormat:TextFormat= new TextFormat(Font_list.selectedItem.data,40);
var myTextField:TextField= new TextField();
myTextField.type= TextFieldType.INPUT;
myTextField.border= true;
myTextField.defaultTextFormat= myTextFormat;
myTextField.text= "ここに文字を入力";
stage.addChild(myTextField);
Font_list.addEventListener(Event.CHANGE, changeListener);
function changeListener(msg:Event):void {
        myTextFormat.font = Font_list.selectedItem.data;
        myTextField.setTextFormat(myTextFormat);
}

179:Now_loading...774KB
08/08/03 02:06:02 CWzh0Cgs
変数aの値によって参照する変数を変えたいのですがどのように変数を指定してあげればよいのでしょうか。

変数aに11と入っているとして ~~11  aに5が入っていれば~~05のようにしたいのです。
配列では~~[a]としてやれば出来ることは知っていますが、配列は使いたくありません。

180:Now_loading...774KB
08/08/03 02:41:20 fj3QYjTq
>>179
なんで配列使いたくないんだ?
ま、いいけど、配列アクセス演算子すら使いたくないのか?

181:Now_loading...774KB
08/08/03 02:47:24 Tf1D/DVT
this["hoge"+a]
aをゼロ詰めにする方法は宿題なっ!

182:Now_loading...774KB
08/08/03 14:05:03 CWzh0Cgs
>>180
>>181

亀レスすいません。
配列を使いたくないのは hoge[11]まで作ってしまうと hoge[4]など値を入れる予定の無い所まで作ってしまうので、
無駄が大きくなってしまうと思ったからです。

配列アクセス演算子ですか。勉強になります。

var a:int = 5;
var hoge5:String = "five";
var hoge11:String = "eleven";
var result:String = this["hoge"+a];

こうしてresultをTextFieldで表示。。。
これじゃダメなんですか。

resultを"a"と直接文字列を入れてあげればaが出ますし、
"a "+ this["hoge"+a]としてやると何も表示されなくなります。

Cを少しかじった程度ではオブジェクト指向プログラムは難しい。

183:Now_loading...774KB
08/08/03 14:50:38 qZg6COc7
>>182
>値を入れる予定の無い所まで作ってしまうので
それって設計自体間違ってるってことじゃね

184:Now_loading...774KB
08/08/03 14:57:09 k9av+oUF
>>182
traceしてみたら?

185:Now_loading...774KB
08/08/03 15:02:16 788UyqU8
>>182
trace(result)すると、ちゃんとfiveって出るけど?
何が問題なの?

186:Now_loading...774KB
08/08/03 15:04:59 t7BaF4rW
一通りの事ができるようになってから
無駄な部分を省くようにしていった方がいいな。
色々やってるうちに別の方法が見つかるのは良くあるので。

187:Now_loading...774KB
08/08/03 17:13:24 KKvHJLAf
>>182
結局のところ何がやりたいの?
小出しにせずにやりたいことを書いた上で詰まってるところを書いた方が自分のためだよ

188:Now_loading...774KB
08/08/03 18:45:28 fIylDXIM
>>173
そうでした・・・・ Orz

189:Now_loading...774KB
08/08/04 17:23:30 +RokT2ah
指定した小数の位以下の値を四捨五入する方法ってありますか?
例えば、少数点第二位以下を四捨五入して、0.59721を0.60000にするようなものです。

190:Now_loading...774KB
08/08/04 19:13:48 Uv7AQ0bo
掛け算

191:Now_loading...774KB
08/08/04 23:34:33 wky3oNs6
AS3での正規表現の部分がよく判らないので質問します。

<div>~</div>のパターンマッチングをしたいんですが
var pattern:RegExp =/<div>*<\div>/
上手くいかないので教えてください。

192:Now_loading...774KB
08/08/05 09:17:55 aJYgCtu2
>>189
var num:Number = 0.59721;
trace(Math.round(num * 10)/10);
>>191
ヘルプの正規表現の部分を読む
サンプルもいっぱい載ってる

193:Now_loading...774KB
08/08/05 10:00:53 +l0TUmad
>>191
正規表現はワイルドカードとは違います
<div>.*</div>
ドットは任意の一文字
アスタリスクは一つ前の文字が0個以上連続する文字列を表します
また\はメタキャラクタと言って、その後ろに続く文字によって意味が変わります(スラッシュを意味するわけではありません)
AS3のヘルプ中バックスラッシュで表記してあるのがこれにあたります。
> <div>*<\div>
の場合、\dは数字の0~9のいずれかを意味するので、パターン全体としては
"<div"に続いて">"が0個以上連続して続いた後"<"が現れ、続いて0-9の数字の後"iv>"が来るような文字列にマッチします
すなわち
<div>>>>>><0iv>
のような文字列にマッチします

「AS3での正規表現」と書いていますが、正規表現そのものを勉強した方がいいです。
よってスレ違い

194:Now_loading...774KB
08/08/05 18:46:53 wSZFqz11
AS3で、Localにある複数の外部SWFを読み込む処理を作成しています。
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, LoadComplete);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, LoadIOError);
loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, LoadSecError);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS , LoadProgress);
loader.load(new URLRequest(hoge), new LoaderContext(false, ApplicationDomain.currentDomain));
以上の処理を実行してCOMPLETEまたはERRORが発生したら、次のファイルで同様の処理を繰り返すということをしています。
たいていは上手くいくのですが、たまに(20回に1回程度)処理が止まってしまいます。
PROGRESSイベントを監視すると、データの読み込みは完了しているのに、その後何もイベントが起こっていないようです。
何もエラーらしきものを出さないので途方に暮れています。
考えられる原因はないでしょうか?



195:167
08/08/05 20:27:41 aTLY0McM
返信が遅れて申し訳ありません.>>167です.

>>168
言語はActionScript3.0です.

現在,ActionScriptを用いてFLVを編集するようなツール(ウェブ上のFLVを読み込んで編集し,吐き出しを行う)を制作したいと考えています.
そのために,適切なライブラリがあるのか聞きたかったのです.
インタフェースは後からどうにでもなるとして,FLVの一部を切り取ったり張り付けたりするのに適当なライブラリはありませんか?
すでに自力で調べ尽くして有りそうにない,と感じたので最後の頼みの綱として皆様の知恵をお借りしたいと考え,質問させていただきます.


196:Now_loading...774KB
08/08/05 21:09:29 kPitZFlV
ActionScript2です。
変数「a」に「こんにちは」を含む言葉が入ってる時に、
変数「b」に「おはよう」を代入のようにしたいんですけど、
エクセルのワイルドカード()曖昧検索のような事は出来ませんか?

197:Now_loading...774KB
08/08/05 21:18:53 qOBZSTWn
>>196
String.indexOf()使う

198:196
08/08/05 21:20:59 kPitZFlV
>>197
ありがとうございます。

199:Now_loading...774KB
08/08/05 21:25:26 aWUcR5nV
>>195
ffmpeg等の既存のライブラリを移植する以外に方法はないと思う
オープンな仕様だから仕様書読み漁って新規に作り上げるという手もあるけど、
正直なところ前者も後者も君のスキルでは無理だと思う

200:Now_loading...774KB
08/08/05 23:43:16 unbSDsE5
>>194
都度Loaderをnewしているなら
処理完了後にremoveEventListenerしてやらないと
Loaderオブジェクトが残ったままになるぞ。
それが直接の原因か分からんが

201:Now_loading...774KB
08/08/06 01:25:17 T28867CU
action script3で、
クラス間の変数の送受信は何でやればいいですか?

202:Now_loading...774KB
08/08/06 07:33:38 1Qj0tU1G
>>201
何でやればっていわれてもやり方はいっぱいあるし、やりたいことによって
ベストの方法は変わるから回答しようがないw

203:Now_loading...774KB
08/08/06 11:27:00 GaJWcf/x
>>194
それってFirefoxだけに起きる現象ではないでしょうか。
COMPLETEイベントが発生しないで読み込みが完了する場合があるようです。

PROGRESSイベント内で完了しているか判断してやるといみたいですよ。

204:Now_loading...774KB
08/08/07 01:33:02 AI5Lffy4
------------------------------------------------
mcMother ┬ mcChild1 - mcGrandchild1
      └ mcChild2
------------------------------------------------
上のような親子関係で
removeChild(mcMother)した時に

各子、孫には
this.addEventListener(Event.REMOVED_FROM_STAGE , onRemoveStage )

function onRemoveStage(event){
trace(event.target)
}
で削除を監視させておいた場合

mcChild1はEvent.REMOVED_FROM_STAGEが起きて、Traceされますが
mcChild2 , mcGrandchild1はTraceされません。

removeChild(target)
target以下のすべてにEvent.REMOVED_FROM_STAGEがいきわたる方法
もしくはヒントをいただけないでしょうか。

よろしくお願いします。

205:194
08/08/07 11:26:46 ODepELPj
>>200
意外なところで過去に作ったアプリのメモリリークの原因が分かりました。

>>203
そんなことがあるんですねー。
COMPLETEとERROR関連のリスナーを登録していれば、どれかが必ず呼ばれるという前提で、
ソフトを組んでいたのですが甘かったようです。

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


206:Now_loading...774KB
08/08/07 13:20:40 KxwulJ5Y
環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0)

ラジオボタンのプロパティ変更(色変更)で質問です。

 ○選択1 
というラジオボタン(MC名:radioBtnM1)で、○内の背景が灰色,「選択1」を赤色に
したく思い、MCのイベントとして下のASを書きましたが色が変更されません。

onClipEvent (load) {
this.setStyle("themeColor", 0xCCCCCC);
this.setStyle("Color", 0xFF0000);
}

ヘルプや、本「Flash ActionScript 逆引き大全550」(秀和システム)などを読みましたが
問題点が分かりません。
アドバイス願います。

207:Now_loading...774KB
08/08/07 13:52:17 V4FzOvxS
>>206
_global.styles.RadioButton = new mx.styles.CSSStyleDeclaration();
_global.styles.RadioButton.setStyle("themeColor", 0xCCCCCC);
_global.styles.RadioButton.setStyle("color", 0xFF0000);

これタイムラインに書いておけばいいと思う

208:Now_loading...774KB
08/08/07 19:58:06 KxwulJ5Y
>>207
さんきゅう。出来ました。

日本負けた・・・


209:Now_loading...774KB
08/08/07 23:35:22 FK5zdC5Z
質問させてもらいます。

private function init(){
var req:URLRequest = new URLRequest(filePath);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadHandler);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,progressHandler);
loader.load(req);
}
private function progressHandler(event:Event):void{
trace(event.bytesLoaded);
}

上のような形でロードされたバイト数を表示しようとしたのですが、
bytesLoadedが未定義だといわれてしまいます。

ちなみにeventをtraceすると下のような出力結果が出てきます。
[ProgressEvent type="progress" bubbles=false cancelable=false eventPhase=2 bytesLoaded=0 bytesTotal=28302]
[ProgressEvent type="progress" bubbles=false cancelable=false eventPhase=2 bytesLoaded=28302 bytesTotal=28302]

どうすればbytesLoadedを表示できますか?
回答お願いします。

210:Now_loading...774KB
08/08/08 00:42:00 Afnpz4ry
>>209
progressHandler(event:Event)じゃなくて(event:ProgressEvent)じゃーい

URLリンク(livedocs.adobe.com)
ここの一番下のサンプルでもみやがれい。

読まず嫌いが多いだろうがどんな本よりサイトより
最終的にはヘルプのリファレンス見ることになるから
リファレンスで調べるクセをつけたほうがいいよ。
元々英語のを翻訳してるようだから時々怪しい日本語とか間違いとかあるけど。

211:Now_loading...774KB
08/08/08 01:08:11 tjd5bG7m
>>210
オーマイガッ

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

212:Now_loading...774KB
08/08/08 11:46:57 ArlCqhai
環境:FlashCS3
パブリッシュ:ver8、AS2

mcにonClipEvent (mouseDown)でstartDragして、ドラッグできるようにしています。
その中にボタンのmcを置いて、getURLで別ウィンドウに外部リンクを開くようにしているのですが
その際の挙動がおかしくて困っています。

外部リンクを新規ウィンドウもしくは背面のタブで開いた場合には問題ありませんが、前面のタブに開いて
から、そのswfのあるページに戻るとstartDragが働いてしまっていて、解除できなくなります。
(ボタンMCの上にカーソルが乗った状態で、ドラッグされてしまうため、解除しようとクリックすると
 リンクを開いてしまいます)

onClipEvent (mouseUp) でstopDragを指定しているため、前面にリンク先のタブが出てしまうことで、
mouseUpイベントが取得できずにこの現象が起こっていると思うのですが、対処法がさっぱりわかりません


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

213:Now_loading...774KB
08/08/08 13:22:13 3E1Lk/MU
>>212
よくわからんのだけど、
ドラッグできるMCの中にボタンがあるという時点で問題があると思う。
MCの中にドラッグできるMCとリンクボタンという構成がいいんじゃない?
ようはリンクボタンのはじっこつまんでドラッグできるみたいな感じだよね?

で、MCのフレームにこれ書けばいいはず。
dragMC.onPress = function() {
this._parent.startDrag();
};
dragMC.onRelease = function() {
stopDrag();
};
lunkBtn.onRelease = function() {
getURL("http://", "_self");
};

おれの勘違いならすまんです。

214:Now_loading...774KB
08/08/08 15:00:14 f914dON+
環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0)

ラジオボタンの一斉非選択で質問です。

 ●選択1 ○選択2 ●選択3
 ○選択4 ●選択5 ○選択6

最初に、6個のラジオボタンが上の状態であったとき、何らかの操作で、全部を

 ○選択1 ○選択2 ○選択3
 ○選択4 ○選択5 ○選択6

の状態にしたく思っています(全部を一斉に非選択に)。

一応、ヘルプで該当する記述を探そうとしましたが、ラジオボタンの解説記述が
予想以上に多く、探し出すことが出来ませんでした。
アドバイスを願います。


215:212
08/08/08 15:29:47 UozHMj7i
>>213
ありがとうございます。
でもたぶんちがいます…。

ドラッグできるMCの中にボタンがあるという状態はあまり良くないことはわかる
のですが、実は地図の上にポイントがあって、
ドラッグできるMC=地図
リンクボタンMC=ポイント
なので、リンクボタンも一緒にドラッグできないと困るのでこういう作りなのです。

しばらく、_selfにして回避しておいて検討します。


216:Now_loading...774KB
08/08/08 16:42:19 3E1Lk/MU
>>214
clearBtn.onRelease = function() {
for (i=0; i<3; i++) {
for (j=0; j<2; j++) {
this._parent["radioBtn"+i+j].selected = false;
}
}
};


>>215
いやいや、だからいいと思うけど。
これでしょ?
URLリンク(uproda11.2ch-library.com)
DLキー:Flash

217:Now_loading...774KB
08/08/08 16:42:46 hDGwMOIe
>>215
だから、地図MCのなかにドラッグ用の透明でも背景でもいいけどMCを置いて
>>212のスクリプトを地図MCのフレームに書けばいいんじゃないのか?
そもそもonClipEvent (mouseDown)は、Flashのどこをクリックしても発生してしまうのだから
こういう場面では使わない方がいい。
どうしてもというなら、マウスがリンクボタンの上にあるときは、ドラッグ開始しないとかの
条件をつけておく。

218:Now_loading...774KB
08/08/08 18:09:53 vvIF8lQR
ActionScript3.0でフラッシュ自体の大きさをスクリプトの実行中に変えるにはどうしたらいいですか
例えばYoutubeの全画面化ボタンは、
以前は全画面ボタンを押すと新しい大きなフラッシュのページに飛んで全画面化を実現していましたが
今のYoutubeのプレイヤーは全画面化を押すとページが切り替わらずにフラッシュのプレイヤーの大きさが大きくなります
こういう事をやりたいのですが検索をしてみても要領を得られませんでした
ご存知でしたらご教示お願いします

219:Now_loading...774KB
08/08/08 18:22:06 h2w3CNeJ
確かにYoutubeのあれはやり方気になるな どうやってるんだろう

220:Now_loading...774KB
08/08/08 18:35:54 jr28n0pH
バイトコード読んで無いけどstage.displayStateだと思うよ

221:Now_loading...774KB
08/08/08 18:36:21 gpeKBz4K
>>216
さんきゅう。
やってみます。


222:Now_loading...774KB
08/08/08 18:37:44 gpeKBz4K
あー、ワタシ221は>>214ね。

223:Now_loading...774KB
08/08/08 18:44:50 3E1Lk/MU
>>218-220
おいおい。本気か?ネタか。
めんどいからActionScript3.0 フルスクリーンでググレ

224:Now_loading...774KB
08/08/08 19:30:30 cmsjT2lO
ページが変わらないってのはjavascript担当だとおも

225:Now_loading...774KB
08/08/08 22:32:51 NY+zwkHw
adobe flash cs3を使用しています。
シークバーのついたflvファイルを制作して
無限にループできるようにしたいのですが、エラーが出たりなどで
できません。
いろんなページを見て試しましたが全てエラーでした。
ActionScript3.0です。お願いします。

226:Now_loading...774KB
08/08/09 01:34:49 0FRGYsQy
>>225
わかりました

227:Now_loading...774KB
08/08/09 02:18:49 HiRyyXNl
お前の人生がエラーだよ

228:Now_loading...774KB
08/08/09 04:18:39 G9CXWAra
>>223-224
貧乏WEB土方さんって情報遅いんですね・・・

229:Now_loading...774KB
08/08/09 15:26:15 4sJJ87jn
>Flashのフルスクリーン
ゴチャゴチャと説明すると誤解とかありそうなので
適切そうな記事を提示しておきます(Screen操作に関しては関連記事も参考になるかと)

URLリンク(www.project-nya.jp)

230:Now_loading...774KB
08/08/11 14:57:34 TsNnBnyt
Flex3、ActionScript3.0です

sprite.graphics.beginFill(0x0000ff,1);
sprite.graphics.drawRect( 0,0,100,100);
のようにして描いたものに対して、
後から特定の座標に描かれている色を調べる方法はありますか?
getObjectsUnderPointで特定座標に存在するオブジェクトを取得できる事はわかったのですが、色を調べる方法がわかりません。

実際実現したい事はspriteオブジェクトをドラッグした時に、その下の表示オブジェクト(dropTarget)の色を調べる事です。

231:Now_loading...774KB
08/08/11 15:44:01 7YGrfVOp
ぱっと思いついたものだとBitmapData.draw(sprite)してgetPixel(x, y)

232:230
08/08/11 16:43:38 TsNnBnyt
>>231
ありがとうございます。
こんな感じで実装しました。
ただこれだと、dropTargetの負の座標に存在するオブジェクトが無視されるので、ちょっと問題がありますが・・。


private var target:DisplayObject
private var usedcolor:String;
private var spriteA:Sprite;

private function onMouseMove( evt:MouseEvent ):void{
target = spriteA.dropTarget;
var bmp:BitmapData = new BitmapData(target.width, target.height, true, 0);
bmp.draw(target);
var pixelValue:uint = bmp.getPixel(target.mouseX ,target.mouseY);
usedcolor = pixelValue.toString(16);
trace(usedcolor);
}

233:Now_loading...774KB
08/08/12 22:36:54 lQlawo36
        ,lllii、                     _,,_
       .,,iilll!゙ll,,,、              __,,,,,,,,,iiiiiillll!!!lll!
      .,,iill!゙°.゙゙!lii,,、         ゙゙゙゙゙゙゙゙゚゙lllll!
     ,,iill!゙°_,,,,,,,,,,l!lllii,,,、           llllll
   ,,iil!゙゙゙'llllllllllll゙゙゙゙゙゙ .゚゙!llllliii,,,,_       __,,,llllll,iiillllliii、
  ill゙゙゛  _,lllll,,,,iiiiiliiil,゙゙゙゙゙゙゙゙゙゙゙"    .lll!ll゙゙゙゙゙lllll ̄,,,,,,__
    'lllllllll゙゙゙゙゙lllll ゙̄,ii,,、               llllll  .゚゙!!llli,
     'lii,,,,  llll ,iill!!゙                lllll|   ゙゙゙,,,,,_
     ゙゙!!ll llllill゙゙’__,,,,,,、       .__,,,,,,,,,,,illlllliiilllllllllll!!llllllll.
   .,,,,,,,,,,,iilllllll!!lll!!!!!!!!!!!!!l!     llll!!l!!゙゙゙゙゙゙゙ ̄
   ゙゚゙゙″
●このレスをみたあなたに金玉潰しの呪いをかけました!
  今夜、あなたが寝るときや、オナヌーするとき、クラスのブサい女子が現れ、
  あなたの金玉をつぶしにやってきます。
  それが嫌ならスレリンク(mmo板:145-番) とその他のスレに、
  「ちんぽこマーチ」という言葉と、このコピペを書き込んでください。
  すると、玉潰しが現れません。
  スルーしてもかまいませんが、潰されても知りません。
 
  ・・・・さあ、いざ、あなたのところにも・・・?

234:Now_loading...774KB
08/08/12 22:58:11 dgbleKql
すごい待ってる!!!!ワクワクしてきた!!!!!

235:Now_loading...774KB
08/08/13 01:02:07 VjClvpwj
flex3 で任意のタイミングでstage上のマウスポインタの位置を
取得するのってできますか?
get_mouse_pos()みたいな関数でleaveしてたらエラーを返すようなの。


236:Now_loading...774KB
08/08/13 14:31:04 +xrZIMrU
SoundMixer.computeSpectrum()を使って、グライコやりたいんですが、
何故か音より先にcomputeSpectrum()のほうに値が入ってきます。
というより、音が遅れてるのかなあ?

これを解消する方法とかありませんでしょうか。
それとも、こんなもんだと諦めるしかないのかなあ・・・

237:Now_loading...774KB
08/08/14 02:38:32 NP4Zaa8e
System.useCodepage = true;
すると未定義である可能性が高いプロパティって怒られるんだがどうしてなんだろうか。

238:Now_loading...774KB
08/08/14 03:42:49 L2ZflYIQ
useCodePageだから

239:Now_loading...774KB
08/08/14 09:57:02 BkUavTrf
>>235
stage.mouseX
ではだめ?

240:Now_loading...774KB
08/08/15 01:15:14 jcWbDfb0
>>237
久々に見たこれw

241:Now_loading...774KB
08/08/15 01:50:04 9Wa4Jo7N
DBの内容をPHPで取り込んでFLASHで表示させるということをしたいんですが
PHP→FLASHの部分で躓いてしまいます

<param name="FlashVars" value="$out"> ※$outの内容は『date0=aaa』

でFLASHに投げてFLASHで受け取りたいのですが

oTxtName.text = unescape(_root.name);
oTxtCount.text = _root.count;
zyusin1=date0; ※zyusin1はダイナミックテキスト

と記述したのですがうまくいきません
どうすればよいでしょうか?

242:Now_loading...774KB
08/08/15 03:39:08 0pRjMK/9
ActionScript3.0としてのモーションのコピーをして貼り付けたやつで
複数のインスタンスに同時に同じモーションをさせることは出来ますか?

また同名のインスタンスを
var mc:MovieClip = new MowieClip();
のようにして作ってコピーしてきたモーションをさせることは出来ますか?



243:Now_loading...774KB
08/08/15 06:52:26 Gd9OTTkC
>>241
value="$out"って$outっていう文字列を渡してるんじゃね
あと、ASのバージョンを書け
>>242
複数インスタンスの動作は当然可能
同名のインスタンス名は不可能

244:Now_loading...774KB
08/08/15 12:02:21 ckI0L8Dl
>>241
向こうでも一応レスあったよ
移動したなら移動したって書いたほうがいい

245:Now_loading...774KB
08/08/15 12:05:57 wuR4htyh
はじめて質問させていただきます。

AS2.0で、
ループ再生しているムービーを、クリックしたときに
一定のフレームまで再生をつづけて、
そのあと別のフレームに移動させるスクリプトはありますか?

これによって、ループ再生してるムービーが違和感なく
次の動きに移ったように見せたいのですが、、

246:Now_loading...774KB
08/08/15 12:17:01 Gd9OTTkC
>>245
1つflgを作ってクリックでtrueにするとかの処理を作る
ループ再生している部分の一定のフレーム?の最後に
そのflgをみて、再度ループするか他の処理に行くかのif文入れとく

スクリプト作ってくれってのは無しでw

247:Now_loading...774KB
08/08/15 12:17:31 ckI0L8Dl
>>245
スクリプトがある、というより、そうなるようにAS書くってだけだけど
いくつか方法はあるよ。
クリックした時に、onEnterFrame発動させて、MCの_currentframeが
特定のフレームになるまで監視して別のフレームに移動させるとか
クリックした時に、フラグたてといて、特定のフレームにフレームアクションで
フラグの値がtrueならどこそこのフレームにgotoAndPlayしろって書いとくとか。

248:245
08/08/15 12:27:16 WCkH+01h
>246
>247
ありがとうございます。
いくつか方法があるようですね。
初心者もいいところですが、
FLGのほうはかろうじて調べればわかりそうです。やってみます!

フラグを使えば、例えば他にもクリックごとに違う動きをとらせることも可能ということでしょうか。




249:Now_loading...774KB
08/08/15 15:02:08 ckI0L8Dl
>>248
>フラグを使えば、例えば他にもクリックごとに違う動きをとらせることも可能ということでしょうか

そうそう。
if(){}else{}とかswitchステートメントを使って変数の値に応じて処理条件をわけることができる。
ヘルプで条件演算とか条件の記述といった項目を見ると、解説があるので
書き方はわかると思う。

250:Now_loading...774KB
08/08/15 19:15:59 F0gU4zJt
>>243
$outをdata0=aaaに変更して試してみたのですが
aaaと表示してほしいダイナミックテキストにはundefindと表示されてしまいました
ASは2.0、FLASHのバージョンはMX2004です

>>244
ありがとうございます
こちらに誘導させていただきました


251:Now_loading...774KB
08/08/16 01:02:30 0XeJiUmP
>>250
zyusin1は変数名なのか、インスタンス名なのか、どっち?
zyusin1は_rootにあるんだよね?

252:Now_loading...774KB
08/08/16 01:19:05 qkgMh7ab
>>251
zyusin1は変数名に設定していて_root上に配置しています

253:Now_loading...774KB
08/08/16 01:39:16 0XeJiUmP
>>252
確認はIEでしてるの?

254:Now_loading...774KB
08/08/16 02:35:36 qkgMh7ab
>>253
firefoxで動かしたいのでfirefoxで動作確認をしてます
DBを使うのでxamppで設定したアドレス(URLリンク(localhost)~)で確認してます
ファイルを直接指定(file:///C:/~)で試してみても結果は変わりませんでした

255:Now_loading...774KB
08/08/16 02:41:32 HnNPoklS
よくわからんが、
DBの内容を取得するPHPを別に用意してechoで出力。
それをLoadするというのはダメなん?

256:Now_loading...774KB
08/08/16 02:42:30 0XeJiUmP
>>254
embedタグでもちゃんと指定してる?

257:Now_loading...774KB
08/08/16 02:57:51 RybIB8F8
>>241
zyusin1=_root.date0;
だろ。

ヘルプ見ればすぐ済む話を
マルチまでしやがって引っ張りすぎだ。

258:Now_loading...774KB
08/08/16 03:08:01 WtQOPKvq
>>255
それもやってみたのですがよくわからなくて…
PHPで取り出したDBの内容をFLASHに読み込むことができれば成功なんです

>>256
bodyタグの間は↓の様に記述しています
<param name="FlashVars" value="date0=aaa">
<embed src="test.swf">

>>257
できませんでした…

259:Now_loading...774KB
08/08/16 03:23:35 RybIB8F8
>>258
paramタグはobjectタグと併用するIE用のものでFirefoxじゃ意味無い。
embedタグは以下のように記述する。
URLリンク(support.adobe.co.jp)

embedとobjectのタグの違い
URLリンク(allabout.co.jp)

260:Now_loading...774KB
08/08/16 03:35:19 0XeJiUmP
やはりembedタグの記述抜けが原因だったか…

261:Now_loading...774KB
08/08/16 04:19:54 5vNWF8eO
>>259
できました!ありがとうございます!

>>260
長々と申し訳ございませんでした。

皆様ありがとうございました!

262:Now_loading...774KB
08/08/16 06:55:25 Oyxvui6A
AS3、FlashDevelopです。

別のフォルダ階層にあるasファイルクラスの使い方を教えてください。
スタートクラスがMain.as、使いたいasファイルがforuda/Hoge.asとします。

ググってそれっぽいのを見つけてMain.asに
import foruda.Hogeやimport com.foruda.Hoge
と書いたのですが、どちらもうまくいきません。

前者は変な長いエラーメッセージ、
後者はcom.foruda:Hogeが見つかりませんと出ます。

263:Now_loading...774KB
08/08/16 07:04:26 a2oJizrF
>>262
そのフォルダをクラスパスに追加汁
変な長いエラーじゃわからんw

264:Now_loading...774KB
08/08/16 07:17:15 Oyxvui6A
>>263
ありがとうございます。

もう一度探していて、Hogeファイルのpackage名に
forudaと付けると(フォルダ名と同じ名前)うまくいったのですが、
これのことでしょうか。

変な長いエラーは、通常はでる行番号が出なくて、↓の感じです。
A file found in a source-path must have the same package
structure 'foruda', as the definition's package, ''.
そのクラスパスの事だと思われます。

265:Now_loading...774KB
08/08/16 13:28:06 2xKUbVYj
YoutubeのようにマウスがFlash上にあるときは、マウスホイールのスクロールを
Flash側で処理する(ブラウザをスクロールさせない)ためにはどうすれば
よいのでしょうか。

なぜかFlash内のコンテンツもブラウザも同時にスクロールしてしまい、
困っています。

266:Now_loading...774KB
08/08/16 15:46:32 hFeGF9f7
>>265
過去ログ、せめてこのスレくらい検索しようと何故思わなかったのでしょうか。

267:265
08/08/17 08:47:35 BJbe5mL8
過去ログではうまく情報を見つけられませんでした。
探し方が下手なのかもしれません。

このスレでは上の方で「wmode="transparent"」の対策を見たのですが、
自分の環境ではこのパラメータを設定してもブラウザとFlashコンテンツが
同時にスクロールしてしまいます。
wmodeを外しても同じです。

またYoutubeのタグを見てみたところ、特にwmodeなどの指定はなかった
ために、Flash/Flex内で完結した対応方法があるのかと思っていました。
もしもご存じでしたら、お教えください。m(_ _)m

268:前スレ985
08/08/17 09:28:54 YOp9Xplr
マウスオーバーしてる場合だけスクロール制御でスクロールさせないようにしてるんジャマイカ?

269:Now_loading...774KB
08/08/17 12:10:11 YOp9Xplr
スクロール制御じゃなくて、ホイール制御でした。失敬。
マウスオーバーに関係なくホイール制御を奪うようにすればok

270:Now_loading...774KB
08/08/17 12:31:29 BfBYh6/6
>>267
本題とは関係ないが、他人に手間を取らせるんだから、
自分が試したことを書いておくのは最低限の礼儀だよ
>>1
●質問する時は自分の環境を書く(AS2,AS3の別も)
●質問はものすごい勢いじゃなくて結構
●できるだけコードも示す
●まず自分がやりたいことを明確に書く。そのために試してみた処理を書く
って書いてあるけど全然守ってない、つまり過去ログどころか>>1も読んでないわけだ

271:Now_loading...774KB
08/08/17 19:03:22 hmHSJau8
AS3です
Sprite(container)が定位置(.x = 200)に来たら分岐条件で元の位置に徐々に.xする、
と言うのをやりたいのですが思ったとおりの挙動をしてくれません。
//移動フラグ
if ( container.x >= 100) //左進行フラグ
{
migi = -1;
hidari = 0;
}
else( 0 >= container.x ) // 右進行フラグ
{
migi = 0;
hidari = +1;
}
var pos_x = migi+hidari;
container.x += pos_x;
実行はTimerで連続処理させてます、
結果はSpriteが右に行ったきり戻ってきませんでした
どの様にするべきでしょうか?初歩的ですが宜しくお願いします。

272:265
08/08/17 19:30:14 BJbe5mL8
>>270さん

失礼しました。
●環境はAS3(Flex Builder3)
●実現したいこと
 1 ブラウザ上のFlash領域にマウスがある場合はマウスホイールの
   操作をブラウザに反映したくない。(ブラウザのスクロールを
   させたくない)。Flashはスクロールさせたい。

 2 マウスがFlash領域の外側に移動、もしくはフォーカスがFlashに
   ある場合は領域の外をクリックすることでマウスホイールの
   動作はブラウザにのみ反映したい(Flashをスクロールさせずに
   ブラウザのみスクロールさせる)
●試してみたこと
 1 このスレで得た情報のwmode="transparent"指定をつけたり外したり
 2 以下のコードのようにマウスホイールのイベントを取得して
   デフォルト動作のキャンセルをしようとしたがダメだった。
   (event.cancelableがfalseでどうもホイールのデフォルト動作は
    キャンセルできない?)
※コードは手元にないため正確ではありません。

scrollArea.addEventListener(MouseEvent.MOUSE_WHEEL, onMouseWheel);

private function onMouseWheel(event:MouseEvent):void{
event.preventDefault();
}

コードは今手元にありませんので、これ以上はお伝えできません。
ご存知の方おられましたら、よろしくお願いします。

273:Now_loading...774KB
08/08/17 19:45:39 VpRVlqJJ
>>271
else( 0 >= container.x ) // 右進行フラグ
 ↓
else if( 0 >= container.x ) // 右進行フラグ

とまあifが抜けてるだけ
ifが抜けるとelseが掛かるのは
( 0 >= container.x )
の部分だけとなり

{
migi = 0;
hidari = +1;
}
の部分がif else文と何ら関係なく
常に実行されてた訳

274:Now_loading...774KB
08/08/17 20:04:34 VpRVlqJJ
>>272
URLリンク(f-st1029.noc.toyama.nsk.ne.jp)
詳しくは見てないがこれとサイトのリンク先見る限りでは無理っぽいような

275:Now_loading...774KB
08/08/18 02:44:57 L4D0ELjG
>>273
根本的な部分は解決した、ありがとう

276:Now_loading...774KB
08/08/18 03:34:08 B7mViElF
勉強中です。
onイベントハンドラを使用してイライラ棒的なものを作製しました。
ロールオーバーを使用して境界線を引いていますが
右クリックしたままだとonイベントが発生せずスルーされてしまうことが分かりました。
どうしたらマウスをクリックしたまま触れてもロールオーバーイベントを発生できるのでしょうか?

277:Now_loading...774KB
08/08/18 04:15:59 Wwewy3wd
>>276
dragOver(ボタンの外から内側へ向けてドラッグすると)
併記してみて



278:Now_loading...774KB
08/08/18 04:32:15 B7mViElF
>>277 ありがとうございます。
併記ですが、変な形の動く壁のシンボルに記述しています。

on (rollOver, dragOver) {
gotoAndPlay ("gameover");
}

ではスルーされたので、それぞれの命令を分離させて

on (rollOver,) {
gotoAndPlay ("gameover");
}

on (dragOver,) {
gotoAndPlay ("gameover");
}

のようにしてみましたがやはりClickしたまま状態だと抜けられてしまいました。
書き忘れましたがAS1.0です。


試しに、ボタンシンボルをいっこ作って同じ操作をしてみたんですが
もしかしてFlashの仕様として、クリック状態だとマウスオーバーとは認識されないんでしょうかね・・・

279:Now_loading...774KB
08/08/18 04:32:38 kFg0p1MN
>>276
右クリックでメニューが出てる状態ではロールオーバーとかは制御不能なんじゃないかな???

右クリックされるのが嫌ならゲーム中の右クリックは禁止にするといいかもね。
右クリックしたと同時にゲームオーバー、みたいに。
メニュー欄で出来る設定なんかはゲーム中にいじる必要はないわけだし。

例えば、タイトル画面までは右クリックでメニュー開ける状態にしていつでも
設定を変える事ができるようにしておいて、ゲーム開始と同時に
『右クリック押したらゲームオーバー』イベントを反応するようにしておく。
ゲームオーバーになったら、タイトル画面に戻して、上のイベントは切っておく。
そんな感じで。

280:277
08/08/18 04:38:56 Wwewy3wd
ごめん実際試して見たけどdragOverじゃ駄目だみたいだねorz
マウス座標使うか、hitTest使うかかな?

ここまで書いた時点でリロードwおっとっと
右クリックは誤記だよね?w


281:Now_loading...774KB
08/08/18 04:44:14 B7mViElF
>>280
すいません、左クリックの誤記でした;

左クリック押しっぱなしだとスルーで、
コンテキストメニュー出すとワープになりますねぇ。。。

やっぱり壁の縁にHitTest記載した隠しシンボルをずらり並べるとか
完全に角形化するしかなさそうですね・・・
待ってる間に実際グーグルでいろいろ調べてたんですが大体そうやっているみたいでしたし
・・・
朝早くからありがとうございました。
精進イタします<(_ _)>

282:Now_loading...774KB
08/08/18 17:24:55 XiIEBvpl
Flex/AS3.0です

任意のタイミングで要素を追加、指定した要素を削除、全要素を列挙できるデータ構造として、
Dictionaryを使用したいと考えています。オブジェクトをキーとして、同じ物を値として保存するような・・・。
キーと値が同じなので、直感的に無駄な部分があるように思えて仕方ありません。
キーと値が同じようなDictionaryの使い方ってするものなんでしょうか。

用途のイメージです↓

var dict:Dictionary
public function addObj( obj:Object ){
  if( dict[obj] == undefined )
    dict[obj] = obj;
}

public function rmvObj( obj:Object ){
  if( dict[obj] != undefined )
    delete dict[obj]j;
}

public function traceDict(){
  for each( obj:Object in dict){
    trace( obj.toString() );
  }
}

283:Now_loading...774KB
08/08/18 17:38:00 3rh6DCFZ
>>282

値を取り出すために同じ値を必要とするならば、値を取り出す時点でその値が手元にあることになり、なんのために取り出すのかと


284:Now_loading...774KB
08/08/18 17:45:20 XiIEBvpl
>>283
値の取り出しはfor eachでのみ行うつもりです
用途は買い物カゴに商品を登録するようなイメージです

好きな商品をカゴに入れる→dict[obj] = obj
後で取り消したい場合はカゴから取り出す→ delete dict[obj]
最終的にカゴに入っている商品の総額を求める for each ( obj in dict ){ ...... }

やはり変な使い方でしょうか

285:Now_loading...774KB
08/08/18 17:49:09 nfZWJrk4
長文失礼します。
●環境 Adobe Flash CS3 ProfessionalでAS3.0使っています
●コード(2.swfに書き込んでいるコードです)
import flash.display.MovieClip;
import flash.display.Loader;
import flash.events.EventDispatcher;
var ldr:Loader = new Loader();
this.addChild(ldr);
//Button_btn5をクリックで3.swfを読み込む
this.Button_btn5.addEventListener(MouseEvent.MOUSE_DOWN,func01);
function func01(e:MouseEvent):void {
ldr.load(new URLRequest("3.swf"));
}
//テキストの表示
var theText:String;
theText = "表示するテキスト";
var theTimer:Timer = new Timer(50);//タイマーの設定
theTimer.addEventListener(TimerEvent.TIMER, onTick);
var myTextField:TextField;//以下テキストフィールドの設定
myTextField = new TextField();
※以下x.y座標などの設定(略します)
//フォーマットの設定(略します)
myTextField.defaultTextFormat = myFormat;
addChild(myTextField);
※以下Timerの設定(略します)//end
ページごとにそれぞれswfファイルを作成して、ボタンのクリックによってそれぞれのswfに移動するコンテンツを作成しています。
2.swfを読み込んだとき、「//テキストの表示」以下のコードによって1文字ずつテキストを表示するのですが、Button_btn5をクリックして3.swfを読み込んだとき、2.swfで表示されたテキストが3.swfに表示
された状態となってしまいます。
3.swfやその他のswfを読み込んだときに、このテキストが表示されない状態にしたいのですが、どうすればよろしいでしょうか?swfファイルの読み込み方がまずいのでしょうか?
改善方法をご存知の方、よろしくお願いします。

286:Now_loading...774KB
08/08/18 17:51:05 3rh6DCFZ
>>284
なるほどーそういう使い方なら別に変ではないと思いますよ

287:Now_loading...774KB
08/08/18 17:55:31 XiIEBvpl
>>285
addChild(ldr)をaddChild(myTextField)より後に書くか、
SetChildIndexでmyTextFieldの重なり順を変えるか、
func01でmyTextField.visible = false とするかしてみたらどうでしょうか

288:Now_loading...774KB
08/08/18 18:01:26 3rh6DCFZ
>>285

3.swfを読み込んだLoaderがTextFieldより深度が深くなってしまうという認識でいいですか?
Event.COMPLETEイベントを使って3.swfを完全に読み込んだあとにaddChildしたらいいかも
ムリやり消したいならvisibleをfalseにするとか


289:Now_loading...774KB
08/08/18 18:01:56 nfZWJrk4
とりあえず、addChild(ldr)をaddChild(myTextField)より後に書くことにより解決しました。
お早い回答ありがとうございます。
3つの方法がありますが、どの方法が一番利便性が高いのでしょうか?

290:Now_loading...774KB
08/08/18 18:13:14 nfZWJrk4
>>288
はい。TextFieldが一番前にきてしまうのです。

fanc01にmyTextField.visible = false;を加えたところ、ボタンをクリックすると
TextFieldは削除されたのですが、swfが読み込まれなくなりました…。


291:Now_loading...774KB
08/08/18 18:15:25 RRsF2cli
>>284
アホすぎで泣けたw
1000個のインスタンスのうち1つを選ぶのに
毎回毎回for eachで値を比較するわけだなw

292:Now_loading...774KB
08/08/18 18:40:31 NfD0Qby0
>>291
暑さで脳みそ溶けてないか?

293:Now_loading...774KB
08/08/18 18:43:08 RRsF2cli
>>292
まさか、そんな作りの買い物かご作ってるのか?
ASスレだから言うが、お前は無能だw

294:Now_loading...774KB
08/08/18 21:36:28 69F2CPZ/
ごく普通の考え方だと思うぞ?しかも結構初歩的で教科書的な。
どう勘違いしてるやら?

295:Now_loading...774KB
08/08/19 00:12:43 OnM4YQZu
291の問題点は日本語が読めないところだな

296:Now_loading...774KB
08/08/19 01:16:41 cYnpiDvP
Timerクラスで100ミリ秒前後でループさせているのですが、時間が安定しません。
どうにか安定させる方法はないでしょうか。


297:Now_loading...774KB
08/08/19 01:29:51 qevvbjcQ
>>296
無理。Flashプレーヤーはそのへんかなりいい加減なのよ。
高FPSにして、都度チェックするのと併用するのがポピュラーな手段だけど、それでも安定するとは言えない。
今後に期待するしかないのよ現状は。

298:Now_loading...774KB
08/08/19 02:04:36 cYnpiDvP
>>297

ループする間隔を長くすれば 全体で見たズレは少なくなりますか?

299:Now_loading...774KB
08/08/19 02:27:56 yFXjgqte
>>298

>>297は計測精度的なことをいっているが、
>>296の言い草ではおそらく
時計の表示タイミングのことぐらいの話だろう?

もしそうならTimerクラスじゃなくて
時間計測開始時の起動後ミリ秒を取得してこれを基準ミリ秒として
EnterFrameイベント毎に現在起動後ミリ秒を取得して
そのミリ秒と基準ミリ秒との差分が1000ミリ秒以上なら
1秒経過として時計の表示を更新するとともに
基準ミリ秒を+1000ミリ秒するようにすれば
フレームレートがよほど低く無い限り
見た目でのずれは
人間の目では感じることがなくなるよ。

Timerクラスは「ほぼ」指定したミリ秒間隔で実行するから
適度な遅延などあいまいな処理に使ったりで、
時計などには向かない。
ヘルプにもそう書いてあったはず。
時計の表示の更新に使うと最大で約指定ミリ秒×2の
表示のズレがどこかで生じる。

300:Now_loading...774KB
08/08/19 06:01:21 MNV9t+Mg
>>294
どの教科書に自分自身をキーにして自分自身を索引しましょうって書いてあるの?
普通はキーとデータの組み合わせだが
>>295
日本語が読めても無能では困る


301:Now_loading...774KB
08/08/19 08:14:06 qevvbjcQ
>>300
なにを勘違いしてるか分からんけど、こういうことでしょ?
ごくごく普通。

var cart:Dictionary=new Dictionary()

var item1:Object = {name:"商品A", price:500}
var item2:Object = {name:"商品B", price:300}

function addItem(item){cart[item]=item}
function removeItem(item){delete cart[item]}
function sum(){
var result=0;
for each(var item in cart)result+=item.price;
return result;
}

addItem(item1);
addItem(item2);
trace(sum()); //800
removeItem(item1);
trace(sum()); //300

実際の運用はCartクラスとItemクラスなんかを作って整理するのが多いんじゃないかな?

302:Now_loading...774KB
08/08/19 08:38:47 MNV9t+Mg
カートの中身の順番が不定な通販システム作るのかw
for in やfor eachはもれなく列挙することは保証しているが、
その順番については不定

303:Now_loading...774KB
08/08/19 09:11:16 qevvbjcQ
もう無能でいいよw
つきあいきれんw

304:Now_loading...774KB
08/08/19 12:35:31 6WSTXBPD
>>302

> カートの中身の順番が不定な通販システム作るのかw
> for in やfor eachはもれなく列挙することは保証しているが、
> その順番については不定

305:282=284
08/08/19 12:45:20 Tu77xjM1
自分のせいで荒れてしまってますね。すみません。

>>302
>>284で示した買い物カゴの例はあくまでイメージです。通販システムを作りたいわけではありません。
実現したいことはあくまで>>282に記述した
1.要素の登録
2.指定した要素の削除
3.登録された要素の列挙
です。
特定の要素を必要とする事はないので、ランダムアクセスは必要ありませんし、
中身の順番は不定で構いません。
どのような方法を用いるのが適切でしょうか。是非ご教授下さい。

306:Now_loading...774KB
08/08/19 14:16:10 5kuvsE+n
MNV9t+Mgはかわいそうな子

307:Now_loading...774KB
08/08/19 19:37:08 I9tAL0LM
質問です。少数値の計算は整数値よりも処理に負担がかかると聞いたのですが、毎フレーム少数値の計算を繰り返すとした場合、
それを防ぐために事前にMath.floorを使って整数にするときと少数のまま処理処理し続けるのではどちらの方が負担がかかるのでしょうか?

308:Now_loading...774KB
08/08/19 19:40:59 D4hib965
やってみればいいんじゃないでしょうか

309:Now_loading...774KB
08/08/19 20:07:34 V18lMoZN
D:\Flash\sample.swfがswf、D:\Flash\sample.htmlがhtmlだとします。
これでsample.htmlへアクセスしたときにD:\Flash\sample.htmlというパスを動的に取得したいのですが、どうすればいいでしょうか?

310:Now_loading...774KB
08/08/19 20:43:55 D4hib965
>>309
javascriptを使えばできたと思います

311:Now_loading...774KB
08/08/20 00:03:21 u1zcHG65
この場合は無理だと思います

312:Now_loading...774KB
08/08/20 11:55:36 rtbrbiHF
>>305
いまいちイメージが湧かないんだが、たとえばリストボックスとか、
複数のjpg画像で商品を表示しておいてそれを選択して確定ボタンを押すと
買い物かごエリアにその商品が表示されるとかなのか?
あと、指定した要素の削除にはランダムアクセスが必要だと思うぞ

313:Now_loading...774KB
08/08/20 11:59:37 xRczFEqI
Flash CS3/AS3.0で質問させてください。
Flash CS3にてMCシンボル
oya、koをそれぞれ作成し、oya内にkoを配置、"ko_mc"と命名。
oyaに以下のクラスをリンケージ
public class Oya extends MovieClip{
 //コンストラクタ
 public function Oya():void {
  this["ko_mc"].koMethod();
 }
 //メソッド
 public function oyaMethod():void {
  trace("oyaMethod() called");
 }
}
koに以下のクラスをリンケージしました。
public class Ko extends MovieClip{
 //コンストラクタ
 public function Ko():void{
 }
 //メソッド
 public function koMethod():void {
  trace("koMethod() called");
  //parent.oyaMethod();
 }
}
上記の状態で、Ko側からOyaのメソッドを呼び出したい場合、どのように
すればよいでしょうか。
koMethod()でコメントアウトしている書き方では以下のエラーが出力されます。
未定義である可能性のあるメソッド oyaMethod を、静的型 flash.display:DisplayObjectContainer の参照を使用して呼び出しました。
以上、よろしくお願いいたします。


314:Now_loading...774KB
08/08/20 14:10:22 2osAeMLk
>>313
親をこうして、
public class Oya extends MovieClip {
public var ko_mc:Ko
public function Oya():void {ko_mc.koMethod();}
public function oyaMethod():void {trace("oyaMethod() called");}
}
子をこんなで
import flash.display.MovieClip
public class Ko extends MovieClip {
private var oya_mc:Oya;
public function Ko():void {oya_mc = Oya(parent)}
public function koMethod():void {
trace("koMethod() called");
oya_mc.oyaMethod();
}
}
で、[パブリッシュ設定]の[ActionScript3.0]の「ステージのインスタンスを自動宣言」
のチェック外せばいけるんじゃないかな?
parentは使わないで、Oya型のプロパティを用意して、そこにparentをOyaでキャストしたのを入れて置いて使う感じ


315:Now_loading...774KB
08/08/20 14:30:51 xRczFEqI
>>314
教えていただいた方法で意図した動作が可能になりました。
キャストという方法があるんですね。
後、「ステージのインスタンスを自動宣言」というパブリッシュ設定項目に
ついてもまったく認識してませんでしたので、キャストとともに
ちょっと勉強しようと思います。
ありがとうございます。

316:Now_loading...774KB
08/08/20 16:31:47 RIt+z6DK
AS3.0です。contents.flaとControll.asを作りcontents.swf内のボタンを押したときの動作(再生と一時停止)をControll.as内に定義したいと思ってます。
contents.flaのフレームアクションは以下のとおりです。

import Controll;
var obj:Controll = new Controll();
addChild(obj);
bt_play.addEventListener(MouseEvent.CLICK, bt_playClick);
bt_pause.addEventListener(MouseEvent.CLICK, bt_pauseClick);
function bt_playClick(eventObj:MouseEvent)
{
obj.Play();
}

function bt_pauseClick(eventObj:MouseEvent)
{
obj.Pause();
}
続きます。

317:316
08/08/20 16:34:40 RIt+z6DK
Controll.asの中身は以下のとおりです。
package {
import fl.motion.Animator;
import flash.display.*;
public class Controll {
static var animeobj = new Animator();
//一時停止
public static function Pause():void {
animeobj.pause();
}
//再生
public static function Play():void {
animeobj.resume();
}
}
}
以上を実行すると
ArgumentError: Error #2012: Controll クラスをインスタンス化することはできません。
at _fla::MainTimeline/_fla::frame1()
とエラーが出ます。どのように直したらよいでしょうか。
よろしくお願いします。

318:Now_loading...774KB
08/08/20 16:51:52 YfXV1Gub
おれはAS3は全く解らないから聞き流してくれかまわない。

勘で、addChildいらない。といってみる。

319:Now_loading...774KB
08/08/20 17:32:02 XCrjyQ50
addChildももちろんいらないけどstatic関数呼ぶならインスタンスから
関数呼んじゃだめ。Controll.Play() Controll.Pause() とか。

320:Now_loading...774KB
08/08/21 03:48:05 yiuNeS3H
質問します。エクリプス+ASDTで作成環境を整えたいのです。
mtascで文法チェックすると警告・エラーは英語で出されますが、
これを日本語化できるのであればヒントをください。
もしくは、Flash8basicを持っているので、
これのコンパイラを利用して文法チェックできないものでしょうか。
というかどんな環境で制作していますか。

windowsXP、エクリプスはv3.2、ASDTはv0.0.8ビルド5、mtascは1.0.0
プレアデス最新版(1.2.2p3)で日本語化しています。

321:Now_loading...774KB
08/08/22 00:06:05 zkeJO+ji
MX2004で質問
トップから二階層目のMCにon(release)でトップの他のフレームに飛ぶ様にしてるんですが全く動作しません…
記述自体は間違ってないと思います。
MX2004って二階層目に記述しても無効みたいなルールがあるんでしょうか?

宜しくお願い致します

322:Now_loading...774KB
08/08/22 00:54:38 jW57sSMW
>>321
そんなルールはないよ

323:Now_loading...774KB
08/08/22 00:56:06 w9VqVE9w

『君の担当地区の商品の売り上げが
 伸び悩んでいると聞いたが』

「僕の売り方は間違って無いと思います。
 この地域は商品が売れない雰囲気みたいなものがあるんでしょうか?」

『おめーのせいだよ!』

324:Now_loading...774KB
08/08/22 09:57:37 5tNfiIZj
>>321
>記述自体は間違ってないと思います
まずはソースを書けwその上で先生方に間違いを指摘してもらうんだ

325:Now_loading...774KB
08/08/22 10:56:49 X14a+UCt
多分記述の間違いじゃないと思うから書かなくていいよ。

てか一番の間違いはマルチポスト
スレリンク(swf板:927番)

326:321
08/08/22 12:56:09 zkeJO+ji
なぜか二層目以降全く動作しないんですよね…(>_<)
記述自体は他の階層でも試したので問題ないはずです。

入れ子になってるMCを動かしてるからいけないんですかね?

327:Now_loading...774KB
08/08/22 13:23:38 cMsFsw4M
わざわざこのスレで俺の記述は問題ないから動かない原因を教えろというのはおかしな話だな


328:Now_loading...774KB
08/08/22 13:26:24 5tNfiIZj
>>326
問題ないなら動くだろwどうせ、path違うとかだろw
ソースと階層を正確にうpするかflaうp汁(2度目)


329:Now_loading...774KB
08/08/22 14:13:47 JjVXPpyP
このスレにエスパー様はいらっしゃいませんか?

330:Now_loading...774KB
08/08/22 14:19:39 c7ZxEblZ
>>321の一番の間違いというか問題はコミュニケーション能力の圧倒的不足
相手に理解してもらおうという意思が微塵も感じられない

331:Now_loading...774KB
08/08/22 15:25:00 WtXBlOy9
パソコン初心者によくある
『何が分からないのか分からないので教えて』
ってのに良く似ているな。

ソース書けよ。おまいのソースなんて隠すほどのレベルじゃないぞ?

332:Now_loading...774KB
08/08/22 16:11:50 CeeCXtCJ
どうやら321はソースとマルチポストの意味が解らないみたいだな?w

てかこれ超基本的質問スレとかでちょくちょく出てくるアレだろ?
onハンドラ入れ子にしてるとかだろ?十中八九。

333:316
08/08/22 16:48:57 z22XAMEC
>>318-319さん
どうもありがとうございます。結論から言うと解決しました。
addChildを無くし、static関数を正しく呼び出しました。
さらに、メインタイムラインの再生と停止は
クラス名.Play(root);で呼び出し、呼び出す関数にメインタイムラインを引数として渡しました。
Play(TimeLine:Object){
TimeLine.play();
}
ありがとうございました。

334:326
08/08/23 13:31:00 OkbceWQc
2ちゃんやってるキモオタ共うるせんだよw

無事一人で解決できました(^^)
妄想する事くらいしかできないオタクに聞いたのが間違いだったww

335:Now_loading...774KB
08/08/23 14:54:02 KlaUc0rO
しょうがないよ
妄想しないと何言ってんのかさっぱりわからなかったし

336:Now_loading...774KB
08/08/23 17:18:43 tVCkIdTa
321は結局なにも学ばなかったようだ。

337:Now_loading...774KB
08/08/23 17:45:24 L9gNpKx4
>>334
記述間違い以外が原因だったなら
どう解決したか書いてほしいです

338:Now_loading...774KB
08/08/24 00:02:57 OkbceWQc
原因は僕の頭にありました。フハ…フハハ ヒィー!
てか2ちゃんって思ったより誰ものってこないんですね(ToT)

339:Now_loading...774KB
08/08/24 12:34:17 SkLYaNjg
いろんな意味で残念だ

340:Now_loading...774KB
08/08/24 13:41:34 osdZAY+r
>>334
質問したときは、最終的に解決した方法を書くのが礼儀な

341:Now_loading...774KB
08/08/24 21:28:24 AwhjOw8M
Windows Flash Pro 8 AS2.0 の環境で、
外部テキストファイル(内容:1_name=テスト)から値を読み込みたくて、
1フレーム目:
_global.ranking = new LoadVars(); //宣言
_global.ranking.load("ranking.txt"); //ロード
3フレーム目:
if(ranking.loaded == false) //ロード終了まで待機
{
gotoAndPlay(2);
}
とし、その直後(4フレーム目)に、その値を確認しようと、
trace(_global.ranking.1_name);
とするとシンタックスエラーが発生してしまいます。
--------------------------------------------------
')' または ',' が必要です。
trace(_global.ranking.1_name);
--------------------------------------------------
ダイナミックテキストボックスを用意し、変数に_global.ranking.1_nameを
設定すると、テキストボックスには"テスト"と出てくれます。

解決方法、お分かりの方おられましたらよろしくお願いします。


342:Now_loading...774KB
08/08/24 22:58:24 qy+0FvkH
>>341
変数名は数字からはじまっちゃダメ。
ヘルプなどで識別子についてのルールを読むように。

それと、せっかくLoadVars使ってるんだから、フレームループじゃなく
リスナーで読み込み完了を検知して処理するほうがいいと思う。

343:Now_loading...774KB
08/08/24 23:08:42 USMKZNWk
最初の読み込み中に何%読み込んだかゲージが伸びていくようにしたいんですが、
これは別のフラッシュを用意すればいいんでしょうか?
実装方法が書いてあるページが見つけられませんでした・・・。

344:Now_loading...774KB
08/08/24 23:38:54 AwhjOw8M
>>342
おお どうもありがとうございます。
基本的な所でのミスで、ご迷惑をお掛けしました。

リスナーについては、また調べてみます。
本当にありがとうございました。

345:334
08/08/24 23:48:59 f8zvjK33
>340
礼儀なって・・・・てめーら何も教えてくれてねーだろwww
あつかましすぎんだよww
前も色々教えてやったのに礼の一つもなかったし2ちゃん住人には教えたくないわ

346:Now_loading...774KB
08/08/25 00:38:48 af0FzEDU
2ちゃんどうこうに限らず、こういう所は基本的にボランティアなんだから、
こっちが何かをあげたから何かを貰うというような考えは通じないんだよ。
お礼がないと何もしないのはボランティアじゃないし、行為を強要するのもボランティアじゃない。
そういうことがしたいなら、有料で答えが返ってくるサービスがあるから、
これからはそちらを利用するといいんじゃないかな?

347:Now_loading...774KB
08/08/25 00:59:59 ncTXIUtK
>>343
プリローダー flash で検索。
パーセントテキスト表示が出来てるならそんなに難しくないと思う。

>>345
>>321の質問には>>322が正確に解答してるんだがw
それ以前にzkeJO+jiはマルチポストしたまんますっとぼけてるんだがw
2chにも一応ルールがあるからルールを理解する気がないやつは来なくていいぜ。

348:Now_loading...774KB
08/08/25 01:42:28 T7/OLNTl
>>347
ありがとうございます!
調べてみます

読み込みバーで検索してました

349:Now_loading...774KB
08/08/25 09:26:09 AqR+AMLl
AS3で開発しています。
1秒に1回、URLLoaderでデータをダウンロードするアプリを作成しているのですが、
1回ごとにURLLoaderをnewしているので、使用メモリがガンガン上がっていきます。
物理メモリを食いつくしたぐらいのタイミングでガベージコレクションされるのですが、
その間CPU使用率が100%になり、処理が止まってしまいます。
URLLoaderをnewしないで再利用しようとしましたが、load関数を呼んでもリスナーは呼ばれませんでした。
何か良い方法はないでしょうか?

350:Now_loading...774KB
08/08/25 12:46:13 WXO+iNXi
>>349
設計からして間違ってるだろw
1秒に1回DLしなければならないって仕様は必要なの?

351:Now_loading...774KB
08/08/25 16:15:32 9n6bela/
配列に入れといてロード完了したのから使いまわせば?

352:Now_loading...774KB
08/08/25 19:34:29 iY8PIZ+U
flaファイルを開かなくても、swfファイルの縦横サイズが簡単にわかる方法はありませんか?

353:Now_loading...774KB
08/08/25 20:27:41 GvVA7x4R
>>352
このスレで聞くって事はASで縦横サイズ調べたいってこと?

354:345
08/08/26 00:11:28 BFdvFxed
お前ら俺のちんぽしゃぶれやウヒィ

ワイは猿や…

355:Now_loading...774KB
08/08/26 00:19:34 9jrVTYM2
ここで聞くことじゃないかもしれませんが、AS3のソースを難読化するツールを作ってます
文字列部分をてっとり早く難読化するにはどうしたらいいのでしょうか?

356:Now_loading...774KB
08/08/26 01:07:42 2E+5wvcW
352ですが、スレ違いでした。失礼しました。

357:Now_loading...774KB
08/08/26 01:56:41 +z2Qjr20
>>355
手っ取り早くやるなら文字コードの数値表現に置き換えるとかじゃない?
\u00xxみたいな

358:Now_loading...774KB
08/08/26 05:20:42 GNdAwumD
>>355
ちょうど自分も作っているとろこだ。
ひとまずは、コメント、改行、スペース消し辺り。
ファイル、関数、変数名変換は少し苦労しそう。
関数の内容展開も実装したい。

359:Now_loading...774KB
08/08/26 07:42:24 feXkVyDS
>>355
たしかニコニコ動画で難読化ツールを作る動画が上がっていたような希ガス
難読化というよりかは、デコンパイラ(というのが正しいのか解らんがその手のツール)
を騙すような仕組みになっていた。

その辺を作れる人はバイトコードでいぢれるそうで、正直ついていけんw

360:Now_loading...774KB
08/08/26 08:33:23 9jrVTYM2
>>357
ありがとうございます!
やってみます

>>358
おお、仲間が!
簡単だと思ってはじめたら継承とか配列からのメンバ呼び出しとかで
けっこう大変ですよね

>>359
ぬは、そんなものが・・・
バイトコードでいじれるとはすごい

361:349
08/08/26 11:07:57 b+xqqrEg
>>350
サーバ上のDBにたまっていくログをリアルタイムに表示するアプリなので、
他に手段が無いのです…

>>351
使い回してもload関数を呼ぶだけでメモリを消費するみたいです。


362:Now_loading...774KB
08/08/26 12:57:52 BFdvFxed
みそっぱちツールって知ってます?
あれ使ったらASなんて覚えなくても一発ですよ

363:Now_loading...774KB
08/08/26 15:47:15 c8bqOL8i
AS2でかいてます
外部読み込みのテキストのx行目からy行目までを表示させたいの
txt.text.split("¥r")とかで総行数とか調べれるのはわかったけど
結局どうしていいのかわからんです
たちけて

364:Now_loading...774KB
08/08/26 16:33:04 Kyx4ztpd
text1~text10までの変数に一度に代入したいのですが記述がうまくいきません。

for(i=1;i<=10;i++){
eval("text"+i)=a;//この部分が駄目でした
}
左辺のevalが原因と思いますが、他に良い方法が思いつきません。
text1=a;
text2=a;
……
とやっても良いのですが行が増えるのであまりしたくないんです。分かる方がいれば是非お願いします。

365:Now_loading...774KB
08/08/26 16:36:11 mbrVPtgS
>>364
「配列アクセス演算子」でぐぐる。

366:Now_loading...774KB
08/08/26 16:46:06 Kyx4ztpd
>>365
即レスありがとうございます。おかげさまでできました!
this["m"+i]=a
上の記述でできました!ありがとうございました。

367:Now_loading...774KB
08/08/26 16:58:45 GpaeuEGq
>>320です。みなさんのAS作成環境について教えてください。
もう一度お願いします。

368:Now_loading...774KB
08/08/26 17:05:57 A4l4OPRU
>>363
gaibuTxtLoad = new LoadVars();
gaibuTxtLoad.load("gaibu.txt");
gaibuTxtLoad.onData = function(dat) {
if (dat.indexOf("\r\n") != -1) {
gaibuTxtLine = dat.split("\r\n");
} else if (dat.indexOf("\n") != -1) {
gaibuTxtLine = dat.split("\n");
} else if (dat.indexOf("\r") != -1) {
gaibuTxtLine = dat.split("\r");
}
trace("2行目から3行目まで:"+gaibuTxtLine[2]+"\n"+gaibuTxtLine[3]);
trace("総行数:"+gaibuTxtLine.length);
};

369:368
08/08/26 17:07:42 A4l4OPRU
trace("2行目から3行目まで:"+gaibuTxtLine[1]+"\n"+gaibuTxtLine[2]);

だった

370:Now_loading...774KB
08/08/26 17:37:44 xVCJ80hp
>>369
それじゃ何百行と取り出したいようなとき酷いことになるし、
普通にsliceしてjoinの方が楽じゃない?

371:368
08/08/26 18:27:12 A4l4OPRU
こうですね

//2行目から3行目まで
startLine = 2;
endLine = 3;
out = gaibuTxtLine.slice(startLine-1, endLine);
trace("2行目から3行目まで:"+ out.join("\n"));

372:Now_loading...774KB
08/08/26 18:29:25 BFdvFxed
みそっぱちツール使ってみました!
こんなツールあったんですね

373:Now_loading...774KB
08/08/26 19:23:59 jdjggU2P
共通関数(common.as)を作りました。
↓↓↓↓↓↓

public class common {
 public static function hoge():uint {
  return 123;
 }
}

利用する側(同じフォルダ)でimport common;って書いて
hoge();したんですが、
「未定義である可能性が高いメソッドhogeの呼び出しです。」
と出ます!! どこがおかしいのでしょうか!?


374:Now_loading...774KB
08/08/26 19:37:04 k74bQ8KG
>>373
パッケージって知ってる?

375:Now_loading...774KB
08/08/26 20:12:04 jdjggU2P
>>374
package {
 public class common {
  ・・・・・
 }
}

って書いてますが・・・・
同じフォルダならこれでいいのかなって思って・・・


376:Now_loading...774KB
08/08/26 20:44:38 a5iQ1ZnH
common.hoge();ってやった?

377:Now_loading...774KB
08/08/26 20:55:24 jdjggU2P
>>376
common.hoge();で出来ました!

でもできればhoge();ってやりたいなあ~!??
getとかsetとかって書けばできるんのかな・・・・・

378:Now_loading...774KB
08/08/26 20:58:55 9jrVTYM2
1つのファイルで1個の関数しか出来ないけど
Hoge.asってファイルで

package {
public function Hoge():uint {
処理;
}
}

とやれば
Hoge();の呼び出し出来るようになるよ

379:Now_loading...774KB
08/08/26 21:00:15 9jrVTYM2
↑classにせずに関数だけのファイルってことです

380:Now_loading...774KB
08/08/26 21:11:36 jdjggU2P
>>378
できた~!! な・なるほど~・・・

関数沢山ある場合はその数分ファイル
作らなきゃいけないってことですね・・・・!?

381:Now_loading...774KB
08/08/26 21:12:53 a5iQ1ZnH
>>377
getter/setterはメソッドをプロパティのように扱えるようにするためのものだよ

382:Now_loading...774KB
08/08/26 21:23:25 a5iQ1ZnH
>>378

ロジック的にそれはどうなんだろうか・・・w

>>380
そもそもなんでcommon.hoge()と書きたくないの? (ちなみにクラス名の最初は大文字で書くこと)
確かにタイプ量が多くなってイヤとか、コードが長くなるとかあるけど
あとから読み返したときに突然hoge()なんてでてきたらわけわからなくなるよ?
common.hoge()と書くことによって一発でcommonクラスのstaticメソッドだと判断することができる
可読性ってのは結構大事だよ

あと、FlashCS3はカスだからできないけど、FlexBuilderやフリーのFlashDevelopなんかは
カスタムクラスのコード補完機能がついてるからタイプ量はあんまり変わらないはず

383:Now_loading...774KB
08/08/26 21:31:23 YS2tUzSn
URLリンク(www.coedobrewery.com)
上でやってる、写真の出方ってどうやるんでしょうか?

384:Now_loading...774KB
08/08/26 22:54:51 9jrVTYM2
>>382
た、確かにw
でも頻繁に使う関数(可変引数を渡すTrace)とかはこうしちゃってる

385:Now_loading...774KB
08/08/27 06:50:04 25in53zB
>>361
そういうのはソケットつかうんじゃねーのか?

386:Now_loading...774KB
08/08/27 11:15:46 J/nr7fkD
actionscript3.0を使用しています。
コード(0.swfに記述しています)
import flash.display.MovieClip;
import flash.display.Loader;
import flash.events.EventDispatcher;

var ldr:Loader = new Loader();
this.addChild(ldr);
this.stop();

this.start_btn.addEventListener(MouseEvent.MOUSE_DOWN,func01);
function func01(e:MouseEvent):void {
ldr.load(new URLRequest("1.swf"));
}
//end

このとき、startボタンをクリックすると0.swfの上に1.swfが重ねられて表示されますが、1.swfを読み込んで表示した後に、1.swfの下にある0.swfを消去する方法はありませんでしょうか?
ご存知の方、よろしくお願いします。

387:Now_loading...774KB
08/08/27 11:22:55 dVidHVDW
>>383
Flash使ったこと無いけど、
全面白いオブジェクトを手前に表示(透明状態)させておいて、
そのalpha値を画像の切り替え前後で急激に変化させてるんじゃないかなあと想像

             画像:  画像A → 画像B
白いオブジェクトのalpha値:  0→0.5→1→0.5→0

想像なので試してもないし保証も無し

388:Now_loading...774KB
08/08/27 11:35:28 nKJjPubh
>>383
プロパティのカラー 詳細でアルファとRGBの値を弄ってるだけなんじゃ?

389:Now_loading...774KB
08/08/27 12:08:20 MK9Vk3wy
blendとalphaっぽいね

390:Now_loading...774KB
08/08/27 12:32:30 Z00E6Rmg
なるほど。。。
前者の方法だと例のサイトのように抑揚がつかないんです。
後者だとFPSがかなり下がってしまって。。。

391:Now_loading...774KB
08/08/27 12:43:45 nMjtOeRo
ActionScript3.0で質問させてください。

16進数を扱う場合には0xFFFFFFのように
先頭に0xをつけることで16進数であることをあらわしますが
2進数を扱いたい場合はどういった表記ルールがありますでしょうか。
FlashCS3のヘルプを見てもそれらしい記述が見当たりませんでした

初歩的な質問で申し訳ありませんがお教えいただけないでしょうか。

392:Now_loading...774KB
08/08/27 12:55:56 MK9Vk3wy
>>390
キャッシュみると別ファイルだから、スクリプトでリアルタイムに変化させずに
単にムービーに変換したのを流してるぽい

>>391
ないんじゃない?
AS3から8進数の0表記もなくなったって書いてるし。

393:Now_loading...774KB
08/08/27 13:13:40 g2p94euP
>>383
ブレンドの加算だと思うよ

394:391
08/08/27 14:22:10 nMjtOeRo
>>392
やはりないんですね。
チョット別の方法を模索してみます。
レスありがとうございました。

395:Now_loading...774KB
08/08/27 17:09:54 Z00E6Rmg
383です。
加算やブレンドで表現出来ました。
例のサイトの様なトランジションをつけて背景に読み込んだんですが、サイズをステージの大きさに合わせて可変させるようにすると、かなり処理が重くなって染まします。
AS2で書きました。

リサイズ処理
this.onResize = function() {
boxResize();
};
Stage.removeListener(this);
Stage.addListener(this);
function boxResize():Void{
var boxRate:Number = imgBox._height/imgBox._width;
enterBtn.posY = Math.floor(Stage.height-320);
enterBtn.posX = Math.floor(Stage.width-122);
imgBox._width = Stage.width;
imgBox._height = Stage.width*boxRate;
if(Stage.height>imgBox._height){
imgBox._height = Stage.height;
imgBox._width = Stage.height/boxRate;
}
};
imgBoxというのに作ったムービーを読み込んでます。
他のちょっとした動きのメニューなどがかなり重くなってしまいます。

396:Now_loading...774KB
08/08/28 00:16:56 HIPE1BF0
フラッシュでおまんこに肉棒がつきささるフラッシュをつくりたぃんですがどうしたらいぃんですか?
あふれ出すマン汁もリアルに表現したいです

397:Now_loading...774KB
08/08/28 04:25:46 rdqOZFTz
>>394
むしろ2進数表記しなくちゃいけない場面ってどんなの?
何がしたいかが分かれば違う解決法も普通に提示できるかもしれない

>>395
AS3に切り替えるってのはだめ?
少なくともAS2で同じ処理書くより断然速いよ

398:394
08/08/28 10:37:29 D4/u9BBw
>>397
AS3.0の学習を兼ねてゲーム的なものを作ってます。
やりたかったことは、キー入力に対応したキャラの移動処理の部分で
斜め移動(2キー以上同時入力)の検出に2進法をつかった以下のような
処理を考えてました。
var val:Number = 0;
if(右キー押下なら){
val += 0001;
}
if(上キー押下なら){
val += 0010;
}
(中略)
swith(val){
case 0001:
右移動処理
break;
case 0011:
右上移動処理
break;
(後略)
同様の処理は10進数でも可能だったので、現在はそのようにしております。
他にスマートな方法がありそうにも思えるのですが…。


399:Now_loading...774KB
08/08/28 11:10:26 sCtlFI1r
>>398
こんなのはどうでしょうか
参考程度にどうぞ

const up:int = 1;
const right:int = 1 << 1;
const left:int = 1 << 2;
const down:int = 1 << 3;

var val:int;

//例1:左下同時押し
val = left | down;

//例2:右キー単独押下
val = up;

//例3:上キー押下追加
val |= right;

switch(val)
{
  case right:
    //右移動処理
    break;
  case right | up:
    //右上移動処理
    break;
}

400:Now_loading...774KB
08/08/28 11:11:05 /ttrGSMI
if(右キー押下なら && 上キー押下なら){
上移動処理;
右移動処理;
}
じゃだめなん?

401:399
08/08/28 11:11:48 sCtlFI1r
すみません訂正

//例2:右キー単独押下
val = right; //upになってました

//例3:上キー押下追加
val |= up; //rightになってました

402:Now_loading...774KB
08/08/28 11:48:23 D4/u9BBw
>>400
レスありがとうございます。
その方法だと斜め移動時と上下左右移動時を比較したときに
1フレームあたりの移動距離が変わってしまう(斜め時の方が速くなる)のが
今作成中のものでは問題となるため、今回は採用できませんでした。

>>399
レスありがとうございます。
ビット演算については正直放置してたのですが、調べてみたところ
もともとの処理のイメージに近い記述が可能なようですね。
ビット演算の用法についてチョット学習をすすめていこうと思います。


403:Now_loading...774KB
08/08/28 22:35:54 rtj/VMTN
>>397
AS3は書けないんですよね。。。これを機に勉強するようにします。。。



404:Now_loading...774KB
08/08/29 04:41:10 XbYxuVwl
環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0)

PCへの負荷で質問です。

ある処理を0.05秒毎にやりたいとき、その処理をフレームアクションで書いて20fpsと
する時と、setInterval()で50ms毎に行う場合とでは、どちらがPCの負荷として軽く
なるのでしょうか?

Flash開発用PCはCore2Duoの3GBなので多少の負荷には耐えられますが、そうで
ないPCの動作を考え、質問しました。


405:Now_loading...774KB
08/08/29 07:49:41 g253lIgq
>>404
負荷自体は変わらんが、ある処理が重い画面描画を伴うとかだと
当然fpsの数値が影響する

406:Now_loading...774KB
08/08/29 14:16:15 067/jyDZ
>>404
負荷がかかった場合を考えるなら、どちらが軽いかなんてどうでもいいことではなく、
実際に負荷がかかっても問題ない動きにするにはどうしたら良いかを考えた方がいいよ
想定する低スペックなPCがなくても、重い処理の代わりに適当な待機処理を時間を変えながら挟んで、
長くかかってもちゃんと動くかどうかシミュレートすればOK

407:Now_loading...774KB
08/08/29 16:36:15 ubRo66Sb
>>405-406
なるほど。さんきゅうです。

408:Now_loading...774KB
08/08/30 01:12:05 PuG3gNuJ
WindowsXPでFlash8-Proを使っています。

ランダムな値を監視して、それが基準値を超えたら音が鳴るようなASを書きたいの
ですが上手くいきません。下は基準値を80にして、Beep音を鳴らすようにしています。
(すいません、一応ASの全文を貼りました)

Sound0 = new Sound();
Sound0.attachSound("beep.wav");
//
this.onEnterFrame = function() {
volume0 = Math.random()*100; //0~100の間のランダム値
//
if (volume0>80) {
trace("Sound0");
Sound0.setVolume(volume0); //音量はそのときのランダム値
Sound0.start();
}
};

どうしたら良いでしょうか?
beep.wavのリンケージは確認しています。


409:Now_loading...774KB
08/08/30 01:34:34 6t+3clUJ
>>408
やってみたけど上手くいったよ

410:408
08/08/30 02:50:49 PuG3gNuJ
>>409
レス有難うございます。

原因が分かりました。リンケージ確認が不十分でした。
AS上では Sound0.attachSound("beep.wav");  と書いていますが、
識別子の方に拡張子「.wav」を書いていませんでした。




次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch