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

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

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

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

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

関連スレ
Flashの超基本的な質問はここでしろ! part42
http://hibari.2ch.net/test/read.cgi/swf/1305783143/
※初心者は↑こちら推奨

ActionScript ライブラリ総合
http://hibari.2ch.net/test/read.cgi/swf/1308658905/
2Now_loading...774KB:2011/06/30(木) 00:32:23.68 ID:TQ4wpGXz
昨日の画像読み込みたがってた者です

var Name = "homhom_bot";
var loader = new MovieClipLoader();
var load_obj = new Object();
load_obj.onLoadError = function() {
msg = "エラー";
loader.unloadClip();
};
loader.addListener(load_obj);
msg_txt.onKeyDown = function() {
if (Key.getCode() == Key.ENTER) {
loader.loadClip("http://api.twitter.com/1/users/profile_image/"+Name+".json", _root.mc);
_root.mc._width = 48;
_root.mc._height = 48;
}
};
これで画像読み込みは大成功したのですが、一回でも実在しないアカウントを入力したり
スペルミス等をすると、それ以降画像が読み込まれなくなります。なんでですかー
3Now_loading...774KB:2011/06/30(木) 01:09:00.85 ID:WKrYT5hF
挙動からして原因はloader.unloadClip();意外にあるまい
ローダーのコンプリートイベントとloadClipの直後にでもtraceいれてそこ通ってるか見てみては?
4Now_loading...774KB:2011/06/30(木) 05:47:44.55 ID:wAQr8OE0
>>1おつ
5Now_loading...774KB:2011/06/30(木) 07:43:10.34 ID:Zc3jYYS6
AS3で、関数もコンストラクタの中身もない変数宣言だけの空のクラスを作って、
全てのクラスをそのクラスから派生させるってやり方はやめたほうがいいですか?
グローバル変数みたいな感じで、変数や他のクラスのインスタンスへのアクセスが
容易になるのでとても便利に思えるのですが・・・
6Now_loading...774KB:2011/06/30(木) 07:44:10.40 ID:Zc3jYYS6
>全てのクラスをそのクラスから派生させる
すいません。そのクラスから継承させるの間違いです
7Now_loading...774KB:2011/06/30(木) 09:29:44.32 ID:WKrYT5hF
プリミティブ値だと書き換えできないから期待の動作はしないと思う
A→O
B→O
Oにprotected var num:int=0;
A.numとB.numは別物
8Now_loading...774KB:2011/06/30(木) 12:19:01.70 ID:qbmoCtK6
>>3
load_obj.onLoadInit = function() で調べてみたら
一応読み込み完了でアクセスはできるらしい
9Now_loading...774KB:2011/06/30(木) 13:16:33.05 ID:WKrYT5hF
>>8
ミスったあともinitイベントは拾えてるってこと?
10Now_loading...774KB:2011/06/30(木) 17:30:16.85 ID:/4yVED7W
だと思う
いまいちメソッドの使い方がわからん
11Now_loading...774KB:2011/06/30(木) 17:35:49.29 ID:l/t80g9Q
もうflaあげちゃえよ…
12Now_loading...774KB:2011/06/30(木) 19:42:40.37 ID:TQ4wpGXz
http://www.dotup.org/uploda/www.dotup.org1749003.fla.html
あとFLASH上でパブリッシュすると外部ファイルが読み込めないのは何故だ
13Now_loading...774KB:2011/06/30(木) 20:46:19.62 ID:tMaeai6i
>>12
外部ファイルをホイホイ読めちゃうとセキュリティ的にヤバイって仕様
14Now_loading...774KB:2011/06/30(木) 23:15:47.46 ID:OwKR6bCH
AS3の質問です。
swf内でマウスオーバーなどに効果音を使っています。
使っている効果音は1種類なのですが、

外部編集ソフトで音を調整

新しいmp3ファイルをライブラリに読み込み

りんゲージでクラス名を指定

スクリプトの方で生成するクラス名を書き換え

パブリッシュ

で、パブリッシュするたびに.swfファイルがどんどん大きくなっていってしまいます。
入れ替えた音源ファイルのサイズは変わっていないはずなのに、です。
ライブラリにあるものは使っていなくても全て.swfに突っ込まれるのでしょうか?
15Now_loading...774KB:2011/07/01(金) 00:07:41.14 ID:XqLvZAs2
ライブラリから削除してみたらわかるだろう…
16Now_loading...774KB:2011/07/01(金) 01:47:04.19 ID:fbVPqeN3
>>15
ありがとうございました。
17Now_loading...774KB:2011/07/01(金) 08:05:11.21 ID:84crWNLE
例えばゲームのセーブ・ロードなどファイルを総合的に管理するクラス(FileManager)など、
プログラム内でインスタンスが一つだけ存在すればいいクラスを作った場合、
インスタンスを作る必要ってあるのですか?
例えば、上記のクラスの場合、クラス内の関数や変数を全てstaticで宣言して
クラス関数としてFileManager.saveData()などを呼び出せば、
インスタンスを作る必要がないと思うのですが。
18Now_loading...774KB:2011/07/01(金) 11:41:11.79 ID:KbKVqZl2
一体誰にインスタンス化を要求されたんだ?
思い込み?
19Now_loading...774KB:2011/07/01(金) 13:24:12.52 ID:84crWNLE
WEBに公開されてたAS3のゲームのサンプルを見たら描写のクラスやセーブロードのクラスなど、
複数のインスタンスが必要ないクラスでもインスタンス化してから関数を呼んでいたので
それが作法か正しいやり方なのかと疑問に思いました。
20Now_loading...774KB:2011/07/01(金) 13:50:00.34 ID:EdAbbWkd
アイテムなんかのデータベースはどうやって取り扱ってるんだろうね
21Now_loading...774KB:2011/07/01(金) 21:01:53.13 ID:+9l0/7bR
>>17
メモリ食うんじゃない?
22Now_loading...774KB:2011/07/01(金) 22:06:41.56 ID:AKruFvxm
flashlite1.1に最適なエディターってのがあったら教えて欲しいです

FlashDevelop使ってみたけど、あれLite1.1ってのないよね?
23Now_loading...774KB:2011/07/01(金) 22:26:10.98 ID:KbKVqZl2
>>19
>複数のインスタンスが必要ないクラスでもインスタンス化してから関数を呼んでいたので
そのソースを見てないから断言はできんが、
インスタンス化する必要はないで良いと思う。

例えば、constとか。
MouseEvent.MOUSE_DOWNとかインスタンス化してるやつは居ないはず。
24Now_loading...774KB:2011/07/01(金) 22:43:45.64 ID:WzBFbHS8
何で切れてんのw
ひとつしかないから全部静的でいいって人もいれば、
データ構造持つならシングルトンにするって人もいるんじゃないの?
好きにすればいい
25Now_loading...774KB:2011/07/01(金) 22:46:24.13 ID:WzBFbHS8
そのへんOOP宗教戦争みたいなとこあるから、まあいろいろあるって事知っておけばいいよ。
絡まれるとうるさいから気を付けてねw
26Now_loading...774KB:2011/07/01(金) 22:57:09.73 ID:84crWNLE
なるほど・・単純にこういうルールだっていうのはないんですね。ありがとうございます。
27Now_loading...774KB:2011/07/01(金) 23:08:24.23 ID:Go/3HqqK
Javaならコンパイラがワーニング出すから
インスタンスからの呼び出しはしないほうが良いってわかるけどなぁ。
28Now_loading...774KB:2011/07/02(土) 11:17:17.36 ID:ON3mwvne
AS3で、表示リストの子に対してdispatchEventを使うとその親たちも同じイベントを受け取ることができますが
同じ階層にあるオブジェクトや親子関係にないものの場合はどうすれば同じイベントを受け取らせることができますか?
個別に参照してdispatchEventを使うのは効率が悪いので一度に全てのリスナーに受け取らせられると良いんですけど・・
29Now_loading...774KB:2011/07/02(土) 11:54:46.26 ID:Zsn3WLg/
無理でしょ
イベント投げられたら通知したいオブジェクト全部にイベント送りつけるっていうメソッドのあるオブジェクトを作ってそれに投げるか
共通のイベントレシーバ持たせてそれぞれそれを監視するか
30Now_loading...774KB:2011/07/03(日) 02:17:27.20 ID:2Mf+frbz
マジもう・・・先にデザインと仕様をFIXしてくれよマジで。。。
後から思いつきでやっぱこうがいいとかどんどん変更指示だしてきて、
ソースがどんどん汚く、そして分かりにくくなる。
作り方もなんか複雑になってきてるし。。。
プログラマに投げるときは、もう微修正しか出来ないと思って投げて来いバカヤロー!!
31Now_loading...774KB:2011/07/03(日) 04:37:08.92 ID:s3sCNdN5
ふむ
32Now_loading...774KB:2011/07/03(日) 11:21:00.31 ID:0m0ZJhfa
>>30
それだと楽だがつまんないものしかできなくなるんだぜ
33Now_loading...774KB:2011/07/03(日) 13:23:14.79 ID:3faxKPbm
超くだらない質問かもしれないから
申し訳なさでいっぱいなんだが、
あるMCを作って、this.onPressを書いた。、
ところでそのMCを構成する部品として存在する別の小さいMCにも
this.onPressを書いた。そして部品MCをクリックした場合と、
全体MCをクリックした場合は別のfunctionを割り当てたいのだが、
どうしたことか、部品MCをクリックしても全体MCをクリックした
ことにしかならん。

なんとか部品MCをクリックしたら、全体MCのほうは黙っていて
欲しいんだが…教えてくれ、いや教えてくださいお願いします。
34Now_loading...774KB:2011/07/03(日) 13:45:37.25 ID:i8EPCclT
>>33
AS2.0?
onイベントは排他的に受け取るから、その動作は仕様

MCのなかに、全体用のヒットエリアを作って、その上部に部品MCを配置するとか
クリックした位置によって、動作を変更するとかで対応する
35Now_loading...774KB:2011/07/03(日) 14:10:46.77 ID:3faxKPbm
>>34
そう、AS2でやってる。そういう仕様だったのか…orz
じゃあ、がんばって位置で区別がつくように作りなおしてみる。
早めに見切りがついてよかった。本当にありがとうございました。
36Now_loading...774KB:2011/07/03(日) 15:16:38.23 ID:2Mf+frbz
>>32
いやぁそれは分かるんだけども、そういうレベルじゃないんだよ。
表現とかじゃなくて、根本から変えてくるんだよね。
しかもちょいちょいと。

そんなの最初にデザインカンプの時点でちゃんと見てれば分かる事じゃん、みたいな。
お前らちゃんと考えてたのかよ、と問い詰めたい。
37Now_loading...774KB:2011/07/03(日) 15:48:27.68 ID:hvF7mQ5A
tween系のライブラリで追従するような動きは表現できますでしょうか
終点を指定すればそこまで移動はできますが、終点が動くような場合それにあわせて追従するようにしたいです。
細かく時間分割してtweenするしかないのでしょうか?
38Now_loading...774KB:2011/07/03(日) 23:54:00.31 ID:8f4rTcAt
>>29
教えてくださりありがとうございました。
その方法でやってみることにします。
39Now_loading...774KB:2011/07/04(月) 11:29:17.57 ID:RBtt+tGU
ASのライブラリでtweensyみたいに炎とか雷みたいなエフェクトを簡単に作成できる
ライブラリってありますか?別に炎とか雷でなくてもいいのですが。
40Now_loading...774KB:2011/07/04(月) 12:04:19.73 ID:wduqaf4C
tween系ライブラリならいくつかあるけど
そこからエフェクトを簡単に作れるかどうかは知らん
41Now_loading...774KB:2011/07/04(月) 14:05:59.68 ID:RBtt+tGU
言葉足らずですみません。探してるのはゲームで使えそうなエフェクトが簡単に作れたりかけられたりする
ライブラリで、tween系でなくてもかまいません。そういったライブラリがないなら
tweensyを使うしかないのですが・・・
42Now_loading...774KB:2011/07/04(月) 21:01:01.46 ID:4oFK1EGi
AS3.0、FlashPlayer10で表示オブジェクトのzプロパティに値を代入すると
中のベクタ画像がラスタ画像のように表示されてしまうのはなぜですか?
43Now_loading...774KB:2011/07/04(月) 22:14:51.75 ID:8wSbBz83
●が並んだブロックが右から順次流れていく
フラッシュをCS4にて作成中です。
表示レイヤーには「block00」から「block27」まで24個のダイナミックテキスト
オブジェクトが配置してあります。00〜07,10〜17,20〜27と3列に並んでいます。
先にblockArray[set][x][y]にnセット分のブロックが格納されています。

for (k=0; k<20; k++) {
//表示を初期化
for (i=0; i<3; i++) {
for (j=0; j<8; j++) {
this["block"+i+j] = "";
}
}
for (i=0; i<3; i++) {
for (ay=0; ay<8; ay++) {
for (ax=0; ax<blockFace[k+i]; ax++) {
this["block"+i+ay] = this["block"+i+ay]+blockArray[k+i][ax][ay];
}
}
this["answer"+i] = blockPiece[k+i];
}
}
先に用意したブロックを最後に表示させるとき、
変数kで順送りするつもりなのですが、バラバラにしか表示されません。
右のブロックが左に流れるつもりで書いたのですが・・・。
どうしたらよいのでしょうか?
44Now_loading...774KB:2011/07/04(月) 22:28:09.94 ID:cIdoOPh7
>>41
stardustがぴったりかと
>>43
まず
this["block"+i+j] = "";はblock00〜block27を指さない
何故なら例えばi=1,j=2の時this["block"+i+j]はblock3になる


this["block"+i+ay] = this["block"+i+ay]+blockArray[k+i][ax][ay];
block00〜block27がダイナミックテキストを指す変数ならこの足し算はおかしい。
なにをやりたいの?


あとは他の変数についてもくわしく
45Now_loading...774KB:2011/07/04(月) 22:54:56.46 ID:cIdoOPh7
>>42
ためしに線だけ設定してSprite.graphicsにdrawCircle()してみた
zを設定すると拡大したら確かに荒れるね
ビットマップ化されてるっぽい


http://blog.livedoor.jp/denpika/archives/cat_10237.html
2009年02月12日

仕様なんじゃないかな
46Now_loading...774KB:2011/07/04(月) 23:45:43.43 ID:RLLgNRFf
>>44
stardustいいですね、サンプルもたくさんあるし。使わせてもらいます。
47Now_loading...774KB:2011/07/05(火) 09:21:33.18 ID:NvDQ/iZ2
外部エディタ使用している方とかフォント何使ってます?
見やすいのとかおすすめのあったらおしえてください。
いまFlashDevelopでデフォのcourier newです
48Now_loading...774KB:2011/07/05(火) 10:16:22.75 ID:z5NPnZyo
>>44
ありがとうございます。
アクションがすべて実行されたあとに、ダイナミックテキストへ変数が反映される
ことを知らなかったので躓いていました。きっと見えない間に終わっていたのでしょうね(笑)。

>this["block"+i+j] = "";はblock00〜block27を指さない
>何故なら例えばi=1,j=2の時this["block"+i+j]はblock3になる
に関しては、左辺が文字型の為に+演算子が文字結合として働いて
block00〜27を指してくれます(検証済み)。

ランダムに●を並べたブロックを表示させて●の個数を答える
ゲーム(トレーニング?)を作ろうと思っています。
フレームで分けたほうがいいのか、検討中です。
49Now_loading...774KB:2011/07/05(火) 11:01:16.33 ID:7AfRqpeR
>>48
失礼。確認したら大丈夫だった。逆に勘違いしてたぽい。

開始画面とゲーム画面とクリア画面はフレームに分けるとすごい楽だよね
50Now_loading...774KB:2011/07/05(火) 13:34:41.91 ID:uI8Qe6xQ
>>47
Migu使ってる
検索すれば分かるが、MSが作ったプログラム用フォントみたいなのもあるみたい
フリーだし、紹介も結構されてるし、検索して試してみてはどうか
51Now_loading...774KB:2011/07/05(火) 20:47:24.65 ID:o6jZnFlE
>>45
ありがとうございます。使用だったなら仕方ないですね。
ビットマップ化するならせめてジャギが出ないようにしてほしかったです・・。



続けてすみません、もう一つ気になったことがあったので質問させてください。

メインタイムラインに矩形を描いてから↓のコードを記述して、
その矩形をクリックしてもトレースが起こらないのはなぜですか?

root.addEventListener(MouseEvent.MOUSE_DOWN, Hoge);

function Hoge(e:Event):void{
 trace("clicked");
}
52Now_loading...774KB:2011/07/05(火) 21:26:00.12 ID:NvDQ/iZ2
>>50
ありがとうございます。Miguとか色々試して見ます。
53Now_loading...774KB:2011/07/05(火) 21:47:01.94 ID:NvDQ/iZ2
ちょっと試す前にお尋ねしたいのですが、例えば円や頂点の数の多いシェイプなど多用してすごい重い100フレームぐらいアニメするMCがあった時、
そのMCの全てのアニメフレームをビットマップデータに一時的に描画して、ビットマープデータとして連続してアニメ表示させるという方法は、
効果的だと思いますか?またそうすることはAS3で可能ですか?
54Now_loading...774KB:2011/07/05(火) 22:11:30.10 ID:I8QoO8Yn
>>53
可能だと思うけどとてつもなくメモリを消費するから現実的ではないかもね
55Now_loading...774KB:2011/07/05(火) 22:28:58.69 ID:9xEFsCdA
>>51
タイムラインのgraphicsに書いたの?

graphicsがマウスイベント受け取らないからなんだろうけど、じゃあなんでSpriteに書いたらSpriteは受け取るの?ってことになるよねえ
56Now_loading...774KB:2011/07/05(火) 23:57:06.25 ID:Sz/hlQ2A
AS2なんだけど、関数で引数を省略したときは1をデフォルトにしたいときはどうしたらいいですか
function f(x){
ここ何て書く
return x;
}
f(0); //0を返す
f(); //1を返す
57Now_loading...774KB:2011/07/05(火) 23:58:46.69 ID:o6jZnFlE
>>55
いいえ、このコードはタイムラインに直接書きました。
addEventListenerをrootではなくstageに実行すると上手くいくのですが・・
理由がよくわかりません。
58Now_loading...774KB:2011/07/06(水) 00:00:46.27 ID:H3AGXQwy
>>56
function f(x){
 if(x == undefined) x=1;
 return x;
}

引数が省略されている=未定義なのでこれでどうでしょうか?
59Now_loading...774KB:2011/07/06(水) 00:03:00.98 ID:jAU65gI1
>>57
いや、矩形をgraphicsに描いたのかってこと
rootでもthisでもだめだったけどstageでは受け取るんだよね
60Now_loading...774KB:2011/07/06(水) 00:23:22.19 ID:4AYaQHaH
>>58 tx
61Now_loading...774KB:2011/07/06(水) 10:46:52.77 ID:YPgHppkL
変数に値変数のポインタを代入するのってできないんですか?
p=&i; みたいな
62Now_loading...774KB:2011/07/06(水) 11:01:59.37 ID:MpU2pkWk
できないよ
63Now_loading...774KB:2011/07/06(水) 11:39:58.77 ID:6uX1RCEl
i = {value: 1};
p = i;

回りくどいけど、値をObjectでくるんで参照型にするとか。
64Now_loading...774KB:2011/07/06(水) 18:15:09.29 ID:kHrV0SNh
ローダで既にSWFがロードしてある際に、SWFのloadBytesを行った場合は、
必ず内容が表示されないタイミングがあるのでしょうか。

例えば、
1: 前もってSWFを別のURLLoaderでロードしておき、
  ボタンクリックでLoaderにURLLoaderで読んでいたSWFのデータをloadBytes。
2: ボタンクリックでURLLoaderにSWFをロード、Event.COMPLETEでSWFのデータをloadBytes。

1の場合、一瞬で画面が切り替わり、まずLoaderの中身がなくなることはありませんが、
2の場合、Loaderの中身切り替わりの際にコンマ何秒か表示が消え、ステージの背景が視認出来てしまいます。
どちらもloadByte時にデータは揃ってるし、Loaderにunloadなど何もしていません。

表示切り替わりに差があるのはどの辺の問題なのでしょうか。
65Now_loading...774KB:2011/07/06(水) 18:18:45.46 ID:kHrV0SNh
>2: ボタンクリックでURLLoaderにSWFをロード、Event.COMPLETEでSWFのデータをloadBytes。
 ↓
2: ボタンクリックで、別のURLloaderでSWFロード開始、URLLoaderのEvent.COMPLETEを受け取ったら、
  実表示用のLoaderでURLLoader.dataのSWFをloadBytes。
66Now_loading...774KB:2011/07/07(木) 07:38:53.61 ID:D/aNLu8Z
flexのswfdump.exeで上手く逆アセンブルが出来ないときはどうすればいいですか?
67Now_loading...774KB:2011/07/07(木) 10:42:22.98 ID:gKJDQBGu
具体的にどうなるの?
68Now_loading...774KB:2011/07/07(木) 11:02:27.80 ID:PjCfwnRX
if (stage)
init();
else
addEventListener(Event.ADDED_TO_STAGE, init);

ドキュメントクラスの最初に書いてあるこれってやっぱ必要?
6935:2011/07/08(金) 12:35:22.45 ID:4nzN0bms
上で質問した者で、超亀作業なんだが、
部品MCを入れ子にした全体MCを作って、onPressするとクリックする場所が部品MC上か
その周りの全体MCかで反応が分かれるコードを書いてみた。マウスの座標と部品MCで
hitTestを使ったらうまくいった。
いつもここでお世話になっているので、たまに誰かの役に立てばいいなと思ってUPする。

tarako・・・全体MC(のインスタンス名)
ebi・・・tarakoMC中の部品MC(のインスタンス名)

tarako.onPress = function (){
myX = _root._xmouse;
myY = _root._ymouse;
//部品MCでヒットテスト。外れたら全体MCで処理
result = tarako.ebi.hitTest(myX, myY, false);
if(result == true){
trace("ebi desu!");
}else{
trace("tarako desu!");
}
};
70Now_loading...774KB:2011/07/08(金) 12:40:59.71 ID:TdoF8X50
エビちゃんが二匹いたらどうするんだい?
7135:2011/07/08(金) 13:16:15.30 ID:4nzN0bms
>>70さま
エビが二匹の場合はエビのインスタンス名をそれぞれ変えて、if文に二匹目も
ORで入れればなんとかなるかと
72Now_loading...774KB:2011/07/08(金) 14:03:31.68 ID:P7emKjyj
>>34みたいにすればいいのさ
73Now_loading...774KB:2011/07/08(金) 16:09:49.93 ID:3iFX3QOX
>>68
作成したswfが別のswfから呼ばれた時のことを考えるとあった方がいいんじゃないかな
メインswfのロードの仕様だっていつ変更されるかわからんし
7435:2011/07/08(金) 17:50:09.84 ID:4nzN0bms
>>70さま>>72さま

エビさんがたくさんいたらifの中のOR文をいっぱい書くのがめんどいので
配列とevalで作ってみた。一応エビ三つで試したからエビが100匹いても大丈夫。
ただし、ebi0,ebi1,ebi2...と全部同じ動作をする。各エビが違う動作をするとなると
また考えなきゃないが…コードは下に

nameArray = new array();
nameArray[0] = "ebi0";
nameArray[1] = "ebi1";
nameArray[2] = "ebi2";
tarako.onPress = function (){
myX = _root._xmouse;
myY = _root._ymouse;
for (i =0; i<3; i++){
result = _root.tarako.eval(nameArray[i]).hitTest(myX, myY, true);
if (result == true){
break;
}
}
if(result == true){
trace("ebi desu!");
}else{
trace("tarako desu!");
}
index++;
};
75Now_loading...774KB:2011/07/08(金) 20:32:04.90 ID:Ic0RBnvU
evalのとこは[]で十分じゃね?
76Now_loading...774KB:2011/07/08(金) 20:54:06.04 ID:dV0X781S
環境) FlashProCS4,AS3,WinXP
FlashProのようなオーサリングソフトでのタイムライン動作をASで再現したいです。

今、試しにチャレンジしているのが、Sprite内のオブジェクトをドラッグ移動→停止(マウスUp)
する度に円形オブジェクトの位置が映画のフィルムのように記録されて行くものです。

つまりは、最初は
[ ● ] [   ] [   ] [   ] [   ] [   ] [   ] [   ] [   ] [   ]

ですが、コマが蓄積され
[ ● ] [ ● ] [ ● ] [ ● ] [ ● ] [ ● ] [ ● ] [ ● ] [ ● ]

となって、任意の位置(例えば3コマ目)から

         |→→
[ ● ] [ ● ] [ ● ] [ ● ] [ ● ] [ ● ] [ ● ] [ ● ] [ ● ]

のように再生したいです(mc.gotoAndPlay(3)みたいな感じ)

ttp://flash-scope.com/scene_change_with_function_call.htmlを見ると
class Scene extends Sprite とあって、var scene:Scene = new Scene(引数);
とあるので、同じ様にsceneにSpriteを代入しようとしたが型の不一致エラーで駄目でした。
※参考サイトのSceneはSprite型なんですが・・・

サイトの方法には拘りませんが、ASで記録&再生したいです。どうすれば良いでしょうか?
77Now_loading...774KB:2011/07/08(金) 21:16:05.82 ID:Kakovcd5
オブジェクトの位置情報を配列に入れとけばいいんじゃない?
78Now_loading...774KB:2011/07/08(金) 22:12:41.01 ID:bNMFKjK6
3Dオブジェクトだけどおなじようなことをやったことがある

>>77のように記録用のクラスextends Objectを作って座標と回転を記録してBetweenAS3で動かしたよ
79Now_loading...774KB:2011/07/08(金) 23:23:26.59 ID:Ro2WLl/U
操作自体(上だと、マウスの動き)か、操作の結果(スプライトの動き)を記録して、
再生させるしか無いんじゃないかなぁ
8076:2011/07/09(土) 00:04:18.13 ID:9HM2gm5R
>>77-79
どうも。
う〜ん、スクリーンショットみたいな感じで(Sceneとして)記録してパラパラ漫画風に
再生したかったのですが・・・
やっぱ、パラメーターを元に再現するのが常道っぽいですね。

ここでの質問ではオブジェクトの位置のみですが、実際はコレ自体のグラデーションやら、
背景の色やら多くの情報があるので(それを元に再現するとなると大変なので)

要は楽したかったのです。
81Now_loading...774KB:2011/07/09(土) 00:26:33.56 ID:4y8eJPiZ
ならオブジェクトのクローン作って保存しとくとか
82Now_loading...774KB:2011/07/09(土) 00:35:46.35 ID:4BBAkC4B
パラパラマンガだけでいいならBitmapData.draw()とかどうよ
83Now_loading...774KB:2011/07/09(土) 01:27:08.42 ID:jQTtMD5K
以前も少し質問させてもらったんだけども、解決しなかったのでもう一度質問させてください。
AS3でURLLoaderを使って1MBくらいのデータをダウンロードしています。
で、ダウンロード中はFLASHの動作が重く、その他のムービークリップの動きが止まったり、
MOUSE_UPのイベントが全然発生しません。
たとえば、ダウンロード中にクリックを10回連打したら、
ダウンロード後にMOUSE_UPイベントが10回通知されるような動作になります。
addEventListenerではMOUSE_UPイベントの優先度を高く設定していますが、
やはりダウンロードのほうが優先されて処理されています。
これめっちゃ不便なのですが、なにかいい解決法はないでしょうか?
84Now_loading...774KB:2011/07/09(土) 11:31:35.51 ID:/i7qHg8t
なんでビット演算の優先度低いの?
a*2+bの時に
(a<<1)+bってめんどくせーよ
直感的じゃないじゃん
85Now_loading...774KB:2011/07/09(土) 11:44:20.02 ID:Pp1cWjw5
ロード中はあまり他の処理をさせない方がいいんだって せいぜいアニメMCを流すくらいだ
フラグ設定してロード完了するまで他の処理(マウスイベント等)を止めた方が吉

>MOUSE_UPのイベントが全然発生しません。
しょうがないんだって
86Now_loading...774KB:2011/07/09(土) 20:03:50.52 ID:mcte6UbI
なんでビット演算なんか使うの?
直感的じゃないじゃん
87Now_loading...774KB:2011/07/10(日) 01:03:07.30 ID:5gdunzdj
>>85
なるほど・・・ありがとうございます。でもそれだとちょっと問題が起こるんです。
とあるボタンがあって、それを押すたびにランダムで画像を読み込んで表示させるのですが、
ユーザがそのボタンを連打した時の対処が上手くいかないんです。
フラグ設定してロード完了するまで他の処理を止める方法もやってみたのですが、
ロードが完了するまでMOUSE_UPイベントが処理されないので、
全く意味がないのです。

マウス連打

画像DL開始(ロード中フラグ立てる)

画像DL終了(ロード中フラグ折る)

2回目のMOUSE_UPイベントが処理される(ロード中フラグが立っていないので普通に画像DLを開始)

画像DL開始(ロード中フラグ立てる)

画像DL終了(ロード中フラグ折る)

3回目のMOUSE_UPイベントが処理される(ロード中フラグが立っていないので普通に画像DLを開始)

続く...

フラグが立っている間のイベントは無視するという狙いが完全にスベってます。
で、画像も結構重いので、しばらくの間何も操作が出来ない状態が生まれてしまいます。
クリック連打するなといいたいのですが、そんなのユーザは知ったこっちゃないですしね。
暫定的に今、ボタンをクリックすると、画像をDLする前にremoveEventListenerで
MOUSE_UPイベントを削除して、画像をDL完了した後にまたaddEventListenerでMOUSE_UPイベントを登録しています。
これでボタンクリック連打すると、上のように何度も画像がDLされることはなくなるのですが、
画像がDLされた後、1度だけまた画像をDLし始めます。
何か他にいい方法があれば教えてください。
88Now_loading...774KB:2011/07/10(日) 01:08:16.58 ID:6CqeUV3U
わざわざremoveしなくても、mouseEnabled = falseでいいんじゃね?
その現象が起きなくなるかは分からんけど
89Now_loading...774KB:2011/07/10(日) 01:28:51.21 ID:lFZEoHaD
ロード中はボタンを
ここまで書いて>>88と同じこと言おうとしてることに気付いた
90Now_loading...774KB:2011/07/10(日) 11:22:18.22 ID:r9jWTqud
そのボタンのイベントハンドラ内のコードだけうpしてみてお
フラグが立ってる間はキャンセルすりゃいいんだお
function mouse_On( e:MouseEvent ):void{
if ( loadingFlg ) return;//ロード中ならキャンセル loadingFlgはメンバ変数
//以下 ロード開始処理
}
91Now_loading...774KB:2011/07/10(日) 11:37:24.45 ID:SXHJAW+Z
>>90
ロード完了後にまとめてマウスイベントが来るって言うんだから
前にクリックした分が10回ぶん列に並んで待ってるてことじゃない?

ロード中にクリックしたif(loadFlg)を処理するのはロード完了後だからまた勝手に読み込み始めちゃうんじゃ?
92Now_loading...774KB:2011/07/10(日) 13:25:58.31 ID:tpshOzX9
普通に考えてロード完了したらボタンのイベントつけりゃ済む話じゃねーのそれ
93Now_loading...774KB:2011/07/10(日) 15:55:39.35 ID:SXHJAW+Z
Loader.loadで指定されたURLが存在しない場合ってどうやって拾ったらいいかな

誰かイベント投げてくれるっけ?
94Now_loading...774KB:2011/07/10(日) 15:59:43.13 ID:6CqeUV3U
loaderInfoがIOError投げてくれるんじゃなかったか
95Now_loading...774KB:2011/07/10(日) 16:01:39.86 ID:SXHJAW+Z
それがIOEイベント登録したけどなんにもくれんかった
96Now_loading...774KB:2011/07/10(日) 16:05:38.78 ID:6CqeUV3U
loaderオブジェクトに付けてるんじゃなくて?
loaderのloaderInfoに付けないとだが
97Now_loading...774KB:2011/07/10(日) 16:13:35.62 ID:6CqeUV3U
contentLoaderInfoだった
98Now_loading...774KB:2011/07/10(日) 16:15:25.32 ID:SXHJAW+Z
>>96
contentLoaderInfoに付けて
loaderInfoに付けるとnullにさわんなって言われた
99Now_loading...774KB:2011/07/10(日) 16:18:02.14 ID:SXHJAW+Z
あ、URLカラにしたら拾った

拾う間違いと拾わない間違いがあるのかな
100Now_loading...774KB:2011/07/10(日) 17:39:31.82 ID:SXHJAW+Z
しかしload中にアニメーションさせると一瞬止まるのね
バックグラウンドでloadしながらなんかするのは無理なのか
101Now_loading...774KB:2011/07/11(月) 21:58:15.39 ID:GzEtX4Uc
102Now_loading...774KB:2011/07/11(月) 23:50:52.20 ID:6IXeJr2n
なにがおもろいのかわからんがBox2Dでググると幸せになれるかもな
103Now_loading...774KB:2011/07/11(月) 23:55:42.98 ID:8JCIhmH2
おもしろいな
104Now_loading...774KB:2011/07/14(木) 13:39:02.46 ID:gkzTEyv0
環境:XP-Pro,AS3,CS4

最初ブラー(blurX)フィルタがかかったMC(my_mc)をBetweenAS3で徐々にブラー
解除するようなコードを書いていますが、エラーが出て困っています。
(参考サイト)
ttp://corleonis.net/blog/?p=89
ttp://log.xingxx.com/2009/08/-betweenas3.html


ブラーフィルタ設定は下記から始まり
var filter:BlurFilter = new BlurFilter();
filter.blurX = 10;
my_mc.filters = [filter];

ボタンを押したアクションとして下の様にしました。
function clickHandler(e:MouseEvent):void {
var _testTween:IObjectTween = BetweenAS3.tween(my_mc,
{filter: {blurX: 0}}, null, 5.0, Bounce.easeOut);// IObjectTween を作る
// 1046: 型が見つからないか、コンパイル時定数ではありません : Vector。
// と出る。 ITweenでも不可

_testTween.play();// tween 開始
}

これだとコメントにあるように、「コンパイル時定数ではありません」という警告が出て、
CS4でエラー箇所を参照するとBetweenAS3自体のクラス(ClassRegistry.as)が対象
となっています。

どう修正すれば良いでしょうか?
105Now_loading...774KB:2011/07/14(木) 14:06:30.51 ID:oab2ebi9
Flash10用の設定になってないとか。
106Now_loading...774KB:2011/07/14(木) 14:16:15.02 ID:frZXCTn7
Vectorが使えないとなるとそうだろうね

ファイル→パブリッシュ設定→Flash→Player
を確認
107104:2011/07/14(木) 14:46:26.55 ID:gkzTEyv0
>>105-106
さんきゅうです。やっぱり、Playerのバージョンが原因でした。

コンパイルはOKになったのですが、肝心のBetweenAS3動作でエラーになります。
※BetweenAS3自体のクラスで、「null のオブジェクト参照のプロパティまたはメソッドに
アクセスすることはできません。」が出ます。

この部分は
var _testTween:IObjectTween = BetweenAS3.tween(my_mc, {filter: {blurX: 0}}, null, 5.0, Bounce.easeOut);
なのですが、ドコに問題があるか分かりません。

試験的にブラーフィルタではなく、MCを現在位置から単純にX=100に移動するように
var _testTween:IObjectTween = BetweenAS3.tween(my_mc, {x: 100}, null, 5.0, Bounce.easeOut);
したところOKでした。

BetweenAS3動作は有効のようですが、フィルタに作用できません。
どうすべきでしょうか?
108Now_loading...774KB:2011/07/14(木) 14:51:29.60 ID:2Jy22IUv
>>107
エラーの通り、参照先がnullになってるんだから
参照時点でfilter: {blurX: 0}が存在してないとかじゃないの?
109Now_loading...774KB:2011/07/14(木) 15:19:42.74 ID:frZXCTn7
>>107
そのエラーはだいたいnewし忘れが原因のことが多いかと
110104:2011/07/14(木) 16:06:57.10 ID:gkzTEyv0
>>108-109
分かりました。
BetweenAS3のスペシャルプロパティDisplayObjectのフィルタのトゥイーンを使えばOKでした。

var _testTween:IObjectTween = BetweenAS3.tween(my_mc, {_blurFilter:{blurX: 0}}, null, 5.0, Cubic.easeOut);
// _blurFilterを適用
// トランジッションはCubic.easeOutにしました。

一応、ブラー幅は減少されるものの、ゼロになっても本来のシャープな画像にはならないようです。

ご指導、有難うございました。
111Now_loading...774KB:2011/07/14(木) 16:18:57.83 ID:frZXCTn7
>>110
まあ0になったらfunctionでブラーやめるとか。
112104&107&110:2011/07/14(木) 16:53:29.85 ID:gkzTEyv0
>>111
度々すいません。こんな感じで出来ました。

my_btn.addEventListener(MouseEvent.CLICK, clickHandler);
function clickHandler(evt:MouseEvent):void {
var _testTween:IObjectTween = BetweenAS3.tween(my_mc, {_blurFilter:{blurX: 0}}, null, 5.0, Cubic.easeOut);
_testTween.addEventListener(TweenEvent.COMPLETE, onComplete);
_testTween.play();

}

function onComplete(evt:TweenEvent):void{
my_mc.filters = null;
}
113Now_loading...774KB:2011/07/14(木) 17:11:31.84 ID:frZXCTn7
>>112
ああ。completeでもいいね。
functionならtweenの途中で引数つきメソッドを実行できるんだよ
114Now_loading...774KB:2011/07/14(木) 21:25:40.67 ID:oq2V8Jn7
tween系ライブラリたくさんありすぎてどれ使ったらいいのか考えるだけで面倒
115Now_loading...774KB:2011/07/14(木) 21:35:26.00 ID:frZXCTn7
BetweenAS3いったく
116Now_loading...774KB:2011/07/14(木) 22:37:29.99 ID:HycxgA6f
>>115
BetweenAS3の戻り型にはIObjectTweenとITweenとがあるけど、使い分けがイマイチわかんない。
(ITweenGroupはその名の通りグループだし)
これらはググると ttp://www40.atwiki.jp/spellbound/pages/74.html では
 tween()の戻り値はIObjectTweenというインタフェースです。このIObjectTweenはITweenを継承しています。

ということなんで、とりあえずIObjectTweenを使っとけばOK?
他の解説としては ttp://oshige.com/flash/as3study/betweenas3/ がありますがお薦めのサイトありますか?
117Now_loading...774KB:2011/07/14(木) 22:44:28.63 ID:4mByocTp
>>116
IObjectTween.asを見ればわかると思うけど、IObjectTweenはITweenにtargetのgetterがついただけ
targetを使わないならITweenで受け取っていいと思う
なんかいろんなサンプルもみんなITweenだし

// target の各プロパティに対する値のセッター、特殊プロパティの処理の提供などが主な役割。
// 各プロパティといっても、全てのプロパティに対して責任を持つ必要は無く、特殊化したいものだけ処理すればよい。
// たとえば DisplayObject に対するものであれば、主要な x, y, rotation といったプロパティのみに対する処理だけでも良い。
// それ以外のプロパティに関しては、全てのプロパティを扱うことができる汎用的な ObjectTweenTarget が責任を持って処理をするので
// 意識する必要は無い。
118Now_loading...774KB:2011/07/14(木) 22:50:45.16 ID:YSEr+wwc
>>116
とりあえずIObjectTween使っとけば良いじゃんと思って、初めやったけれど
戻り値がITweenのメソッドが使えないからそうでもないと思う
119Now_loading...774KB:2011/07/14(木) 22:52:38.23 ID:4mByocTp
解説は

betweenas3 イージング


でググるとチュートリアル的なページがいくつか見つかるかも
120Now_loading...774KB:2011/07/14(木) 22:58:36.08 ID:4mByocTp
>>116
んー??
IObjectTweenってITween継承してるから
ITweenで定義されたメソッドはIObjectTween実装したクラスなら使えるんじゃない?

自信ないけど
121Now_loading...774KB:2011/07/15(金) 05:51:56.24 ID:KYrOdPhT
既存のshapeにフィルターなどのエフェクトをつけたいのですが
shapeをmovieclipにAS3を使って変換ってできますか?
movieclipを作ってそこにshapeを描写するとかでなく、
文面どおりshapeをmovieclipに変換できるやり方があったら教えてください。
122Now_loading...774KB:2011/07/15(金) 05:56:28.14 ID:z+dOWKOw
ねーよそんなもん
Shapeにフィルタかけりゃいいじゃん
123Now_loading...774KB:2011/07/15(金) 10:33:26.72 ID:ZOiM6wfM
>>120
その認識であってる。
124Now_loading...774KB:2011/07/15(金) 13:51:21.46 ID:NEIbh8oJ
>>121ですが何とか解決しました。レスどうもです。
125Now_loading...774KB:2011/07/15(金) 18:27:29.26 ID:GkceFhpF
>>124
どうやったんだよ
126Now_loading...774KB:2011/07/15(金) 23:12:33.24 ID:NEIbh8oJ
>>125
activeden.netというサイトで自分の作ろうとしてたものが見つかったので購入しました。
127Now_loading...774KB:2011/07/17(日) 11:57:58.41 ID:5TIH4Fix
uint型の値が和算や乗算でオーバーフローしたときの挙動は、どうなっていますか?
どこかに仕様はありますか?

できれば、Number型や他の数値型についても、同様にオーバーフローの挙動を知りたいです。

128Now_loading...774KB:2011/07/17(日) 12:05:47.57 ID:DDPxXsVK
uintは単純に最大から最小とかその逆とかループしたと思う
intも確かそうだった
129Now_loading...774KB:2011/07/17(日) 13:22:27.68 ID:6kggsGu5
Numberがfloatのときもdoubleのときもある変態とかいう話をどっかで読んだんだが
130Now_loading...774KB:2011/07/17(日) 21:30:00.60 ID:26VmyoSy
as3.0でflvを再生しようとしてるんですが、youtubeとかみたいにまだバッファが読み込まれていない部分でも
クリックするとすぐにその位置から読み込み直して再生するにはどうしたらいいですか?
131Now_loading...774KB:2011/07/18(月) 01:44:18.57 ID:Y0PQiyf4
132Now_loading...774KB:2011/07/18(月) 08:03:56.73 ID:5F+pOO+x
>>130
ストリーミング配信できるサーバー買え
133Now_loading...774KB:2011/07/18(月) 14:34:08.92 ID:+39pNx2M
新規作成した空のフラッシュのコンパイルが無茶苦茶遅かったので調べてみたら
なんかflaファイルのおいてあるサブフォルダを全て読み込みにいっるような感じなんだけど
どういうこと?
134Now_loading...774KB:2011/07/18(月) 16:03:47.15 ID:krtOKqPa
>>128
int型同士の乗算結果は机上のビット演算と同様になるはずだけど、
結果を即座にint型変数に代入せずにそのまま計算式を続けると
勝手にNumber型に変換されて上位ビットが保持され下位ビットが失われる
ことがあるから注意が必要だよ
C++で難読化したリソースがAC3での展開時に壊れてハマったことがある
135Now_loading...774KB:2011/07/18(月) 16:44:16.68 ID:HUEIMFxI
ユーザーが落書きしたり、画像に文字をつけたりして投稿するサイトを作りたいのですが、
参考になる本やサイトを教えて下さい。
オブジェクトなどの理解はありますが、それを駆使して作れないレベルです。
136Now_loading...774KB:2011/07/18(月) 20:11:18.03 ID:VEOqFATk
>>135
どの部分がわからない?
137Now_loading...774KB:2011/07/18(月) 20:15:46.83 ID:eoL8Dt9p
関数クロージャでget関数を作ることは不可能ですか?
たとえば、

function get hoge():Number{
 return _hoge;
}



var hoge:Function=(function():Function{
          return get function():Number{
           return _hoge;
          }
         })();

のようにして作りたいのですが、getを入れる位置が悪いのかエラーになってしまいます。
138Now_loading...774KB:2011/07/18(月) 20:31:20.27 ID:8ERpekyt
var _hogeFunc:Function;
function get hoge():Number{
 return _hogeFunc();
}
って定義しておいて、どこかで
_hogeFunc = function():Number{
 return _hoge;
}
てやるしかないんじゃないかなぁ
139Now_loading...774KB:2011/07/18(月) 22:24:36.48 ID:tTTJzQ4r
>>136
ユーザーがマウスを使って線を書いたり、文字を入力する表示の部分が
特に知りたいです。ライブラリとかでありますか?
140Now_loading...774KB:2011/07/18(月) 22:34:19.78 ID:fkjqd78P
>>139
とりあえず入門wikiの該当しそうな箇所読めば一通りのことはできるようになる

けど文字入力の表示?ができないレベルだと最初から読んだほうがいいかも
141Now_loading...774KB:2011/07/19(火) 11:35:35.44 ID:HrBbyZz+
>>138
やってみます。
ありがとうございました。
142Now_loading...774KB:2011/07/20(水) 19:36:46.98 ID:Ama4B2Lc
(使用環境)AS3,WinXP,FlashCS4
オブジェクト(MCとか)を動かした時の自作イベント通知の書き方と仕組みの立て方が
分かりません。

※文章が長くなりましたので2つに分けます。

テキストフィールド内容変更時の tf.addEventListener(Event.CHANGE, リスナー関数) の
通知と同じ様な仕組みを目指しています。 つまり、

 ドラッグで動かす
  ←○→  ==========>(mc1へ変更の通知)==========>  □
   mc0                                 mc1

のように「動いたら通知」を実現したいです。ASでの流れとしては下がドラッグに関しての記述です。
mc0.addEventListener(MouseEvent.MOUSE_DOWN, mc0_onMouseDown);
function mc0_onMouseDown(evt:MouseEvent) {
evt.target.startDrag();
}
mc0.addEventListener(MouseEvent.MOUSE_UP, mc0_onMouseUp);
function mc0_onMouseUp(evt:MouseEvent) {
evt.target.stopDrag();
}

// 通知イベントの発生 *** 理想としてはこんな感じ ***
mc0.addEventListener(OperationEvent.CHANGED, changeFunc);
function changeFunc(evt:OperationEvent) {
trace("位置が変更されました ");
mc1.dispatchEvent(evt);
}
143142:2011/07/20(水) 19:38:38.96 ID:Ama4B2Lc
(上[142]の続き)
自作イベントとしては、package内に下の様に書きましたがここから先どう書き換えれば良いか分かりません。

import flash.events.Event;
public dynamic class OperationEvent extends Event {//Eventを継承
public static const CHANGED:String = "changed";

public function OperationEvent(type:String,bubbles:Boolean=false,cancelable:Boolean=false):void {
super(type,bubbles,cancelable);
}
public override function clone ():Event {
return new OperationEvent(type, bubbles, cancelable);
}
public override function toString ():String {
return formatToString("OperationEvent", "type", "bubbles", "cancelable", "eventPhase");
}

}

参考にしたサイトは下記です。
1)ttp://source-laboratory.net/blog/?p=161
2)ttp://tamushou-web.net/wp/archives/1500
3)ttp://melancholy.raindrop.jp/wordpress/?p=668
4)ttp://d.hatena.ne.jp/saliy1/20100510/1273507396

目標に一番近いのは4)ですが、「対象の位置が変更されたらイベント発生」の書き方が分かりません。
どなたかアドバイス下さい。
144Now_loading...774KB:2011/07/20(水) 19:52:13.84 ID:DIPG3igY
一番簡単なのは、addEventListener Event.ENTER_FRAMEで
条件判断してEventDispatcherクラスのdispatchEventを呼ぶ方法かな。
145Now_loading...774KB:2011/07/20(水) 19:58:42.42 ID:geJkw8us
ドラッグ中にmouseMoveそのまま使えばいいじゃんとしか思わないけど
mouseMoveの中で好きなだけカスタムイベントdispatchすりゃいいんjじゃね?
146Now_loading...774KB:2011/07/21(木) 03:07:41.69 ID:g/3eOb5j
質問させてください
テキストについてです

あいうえおれらの文字を
1文字ずつ あ 次に い その次に う
と右から画面中方にだして 止めるのはどんなASを書けばいいか教えてください
147142:2011/07/21(木) 13:17:38.92 ID:fxudowbK
>>144-145
レスありがとうございます。
そうですね、小難しいことをせずにmouseMoveを使えば良いですね。
148Now_loading...774KB:2011/07/22(金) 04:00:58.23 ID:lLEp/32V
>>146
自分で調べないで丸投げするような質問に答える人はいないよ
一応レスしてあげる
149Now_loading...774KB:2011/07/22(金) 18:01:27.89 ID:REmXMU+4
Vista Flash CS4 As3.0です。

ボタンAを押すことで
addchild(hoge_mc)を使い、ステージに表示させる事までは出来ました。

次に表示させたhoge_mcを
別のfunctionから動かそうとすると
1120 未定義のプロパティhoge_mcへのアクセスです。
とエラーが出てきてしまいます。

ネットや本で調べてみましたが、生成したfunction以外のfunctionからのアクセス方法がわかりません。
よろしくお願いいたします。
150Now_loading...774KB:2011/07/22(金) 18:09:47.69 ID:vLukB6EO
>>149
> 生成したfunction以外のfunctionからのアクセス方法

意味がよくわからんのだが、要するにエラーの通り、hege_mcがない
もしくは参照が間違ってるんでしょ
hoge_mcは、いつ、どこで定義されてるの?
funtionとやらも、いつ、どこで定義されてるの?
それがわからない第三者に、アクセスの仕方を訊かれても答えようがないと思うぞ
151Now_loading...774KB:2011/07/22(金) 18:25:59.96 ID:REmXMU+4
hoge_mcは、ボタンAを押した時に生成、表示した後にマウスに重なるように。
SetBtn.addEventListener(MouseEvent.CLICK,SetOn);
function SetOn(e:MouseEvent):void {
var mc = new Carsol();
stage.addChild(mc);
addEventListener(Event.ENTER_FRAME,onMove);
}
function onMove(e:Event):void {
mc.x=stage.mouseX;
mc.y=stage.mouseY;
}
としています。ボタンを押すことでhoge_mcの表示。まではできているのですが、次のマウスの位置にあわせる。というところで詰まっています
152Now_loading...774KB:2011/07/22(金) 18:35:00.70 ID:CVJ7jMEh
>>151
var mcをクラスで
153Now_loading...774KB:2011/07/22(金) 18:51:56.20 ID:REmXMU+4
var mc:Carsol=new Carsol としてみました。

function onMove 内の
mc.x=stage.mouseX;
mc.y=stage.mouseY;
はどうすればいいのでしょうか?。ここが解ればremoveも同じようにうまくできると思いますので
よろしくお願い致します。
154Now_loading...774KB:2011/07/22(金) 19:06:11.53 ID:vLukB6EO
>>153
ドキュメントクラス(と仮定するが)で、mcを定義していたら後は変更する必要は無いはず
まずvar mc:Sprite;とでも、mcを定義しておいて、その中身は
function setOn()内で、newすればいい
function setOn()内で、var mcとしてもローカル変数になるだけ

おそらく、今の書き方はごっちゃになっている
155Now_loading...774KB:2011/07/22(金) 19:53:18.60 ID:M+1wY94S
タイムラインと見た
156Now_loading...774KB:2011/07/22(金) 20:14:46.94 ID:pRyJabnR
>>153
functionの外に private var mc:Carsol; みたいに定義しないと
他のfunctionから参照できないんじゃない?
157Now_loading...774KB:2011/07/22(金) 21:39:03.33 ID:/z+f1NmN
カーソルのつづりってcursorじゃなかったっけ
158Now_loading...774KB:2011/07/22(金) 22:01:02.82 ID:XxIfD0pG
カーソルじゃないんだろ
159Now_loading...774KB:2011/07/23(土) 06:22:00.86 ID:6RJRZtWA
いっそFlaファイルをUp
160Now_loading...774KB:2011/07/23(土) 22:04:19.54 ID:SiW5uF0z
AS3,XP-Pro,CS4(CS5)です。
BetweenAS3で関数をトゥイーンとして利用するにはどうしたら良いでしょうか?
※一応作りましたがエラーが出ます。

元々はオブジェクト(wrap)がEvent.ENTER_FRAMEで0.1度づつ回転するに伴い、フレーム毎に
rotFuncを呼び出してwrap内の子に対して処理をしていましたが、ボタンを押すことで

 ・現在の回転角度より → 徐々に遅くなるイージング処理を伴い1秒後に+36度回転
 ・この+36度回転の最中にwrapの子(10個)は常にrotFuncの処理で深度が入れ替わる

としたいです。
つまり、rotFunc→rotFunc→rotFunc→rotFunc→(回転が遅くなる)→rotFunc→ストップ
という感じで限定された時間内でトゥイーンとして動作させたいです。

ttp://oshige.com/flash/as3study/betweenas3/ を参考に下の様にしました。
function _testTween(rotFunc:Function):ITween;//定義
_testTween = BetweenAS3.tween(wrap, null, { $rotationX : 36 },1.0, Sine.easeOut);// +36度回転
_testTween.play();

これだとコンパイル時に「1126: 関数にボディを含めることはできません。」というエラーが
出ます。
どうしら良いでしょうか?
161Now_loading...774KB:2011/07/23(土) 22:11:39.76 ID:z43HNJhl
>function _testTween(rotFunc:Function):ITween;//定義
これは・・・

var _testTween:ITween;
こうじゃないか?
162160:2011/07/23(土) 22:34:53.39 ID:SiW5uF0z
>>161
あ〜 本当だ・・・
163Now_loading...774KB:2011/07/23(土) 22:41:40.60 ID:m130oc+P
CS4(CS5)とはいかに
164160&162:2011/07/23(土) 22:50:34.42 ID:SiW5uF0z
再訂正:
ごめんなさい。var _testTween:ITween; では一見動くように見えますが、
wrapの子を処理するrotFuncが実行されていないので結局、回転変化がありません。


>>163
時々CS5も使うという意味です。
CS4の方がフォントの指定とかで楽なんで。
165Now_loading...774KB:2011/07/23(土) 22:55:26.47 ID:m130oc+P
そりゃrotFuncがどこにも書いてないからな
166160&162:2011/07/23(土) 23:05:15.01 ID:SiW5uF0z
>>165
正直、このBetweenAS3でのrotFuncの使い方が分かりません。

SWFをUpしました。
http://swfup.info/view.php/0923.swf
一見回転しているように見えますが、数字が元のままです。
どうしたら良いでしょうか?
167Now_loading...774KB:2011/07/23(土) 23:09:53.91 ID:m130oc+P
具体的になにがやりたいのかさっぱりわからん

>>166を見てボタンとかイージングとかはなんとなく分かった
rotFuncはいつ行いたいの?
168Now_loading...774KB:2011/07/23(土) 23:10:53.69 ID:z43HNJhl
BetweenAS3使ったこと無いけど、UPDATEイベント発行してくれるみたいだから
_testTweenにリスナー付けてその中で深度変更、とかでいいんじゃないの
169160&162:2011/07/24(日) 00:05:41.40 ID:nelAHRmY
>>167
rotFuncは_testTween.play()による開始から終了までです。
Event.ENTER_FRAMEで単純にクルクルと回すだけでしたらOKだったのですが、
時間限定で動かしてなおかつイージングが出来ません。


>>168
_testTween.addEventListener(TweenEvent.UPDATE, _onUpdate); で
public function rotFunc (e:TweenEvent){処理}
で実行するとエラーは出ませんが、相変わらず回転と番号が一致しません。


------
FlaファイルとドキュメントクラスのASとSWFをZipでUpしました。
http://cgi.geocities.jp/p77org/upup/upload.cgi?mode=dl&file=1318
※DLキーは 1 です。(800KB)

rotFuncはドキュメントクラスの下の方にあります。
度々すいません。よろしくお願い致します。
170160&162:2011/07/24(日) 00:08:33.00 ID:nelAHRmY
(上の訂正)
_testTween.addEventListener(TweenEvent.UPDATE, _onUpdate); 
                                   ↓
_testTween.addEventListener(TweenEvent.UPDATE, rotFunc);
171Now_loading...774KB:2011/07/24(日) 00:14:18.72 ID:QHcJKq97
トゥイーン中はエンターフレームでやらせたいってこと?


回転と番号のとこ詳しく
どうなるのが理想なの?
172160&162:2011/07/24(日) 00:34:07.44 ID:nelAHRmY
>>171
http://swfup.info/view.php/0923.swf では1回押す毎に上方向に(8→9→10方向に)
全体が回転していますが、最初8が正面にあるので1回押すと正面が7になるようにしたいです。
173Now_loading...774KB:2011/07/24(日) 00:35:02.67 ID:Bq5E9K+f
ファイル見たけど、tweenのfromで渡した$rotationXが一定だから
毎回同じ位置から回転が始まってるんじゃないかと
毎回tweenを作り直して、$rotationXをその都度変えて渡すとかすれば
やりたい(であろう)動作になるんじゃないかな
174160&162:2011/07/24(日) 01:15:59.00 ID:nelAHRmY
>>173
Zipファイルを見て頂き有難うございます。
どうやら、ストリング($)を使った回転の相対値によるトゥイーンだと駄目なようなので、
回転の目標値を wrapRotTo = wrap.rotationX + 360/panelKazu; で指定して

_testTween = BetweenAS3.tween(wrap, { rotationX :wrapRotTo }, null, 1.0, Back.easeOut)

またこの間の監視として
_testTween.addEventListener(TweenEvent.UPDATE, rotFunc);
とすればOKでした。

当初のコードよりはスマートな状態ではありませんが、これで良しとします。


Upしました:http://swfup.info/view.php/0923.swf
あれ・・・ Web上では番号と板回転が一致しない。 
スタンドアローンではOKなんですが・・・ まあなんとかなりますw
175160&162&172:2011/07/24(日) 02:34:00.06 ID:nelAHRmY
http://swfup.info/view.php/0923.swf はリロードしたらOKでした。
これが求める動作の形です。
176Now_loading...774KB:2011/07/24(日) 19:05:53.17 ID:kYDl/NUC
ActionScriptの質問というか、設計についての質問です。

開発環境:Flex Builder4

今、お絵描き掲示板を作ってるですが、FlashからPOSTで画像データを送ると
モバイルノートPCなんかの低速回線だと時間がかかって
送信がタイムアウトしてしまう事があるみたいです(bmpをpngにエンコードしたものを送信してます)

こういう場合、どういう設計にするのが良いでしょうか。
POSTじゃなくてコネクション張って送信、みたいな形にすれば良いのかなぁと思うんですが
Red5みたいなストリーミングサーバを使えばできるものでしょうか??
177Now_loading...774KB:2011/07/24(日) 20:36:20.68 ID:+uW9OlT6
package {
 import flash.display.MovieClip;
 import mx.collections.XMLListCollection;
 import mx.controls.MenuBar;

 public class Main extends MovieClip {

  private var MyMenuBar:MenuBar = new MenuBar();
  private var menuBarCollection:XMLListCollection;
  private var menubarXML:XMLList =
   <>
     <menuitem label="Menu1" data="top">
      <menuitem label="MenuItem 1-A" data="1A"/>
     </menuitem>
   </>;
  public function Main() {
   menuBarCollection = new XMLListCollection(menubarXML);
   MyMenuBar.dataProvider = menuBarCollection;
   addChild(MyMenuBar);
  }
 }
}

MenuBarクラスを使って画面の上部にメニューバーを表示したいのですが、
FlashProfessionalCS5、AIR2、FlashPlayer10で新規ドキュメントのメインタイムラインで
このコードを実行してもメニューバーが表示されません。どうしてですか?
ライブラリへのパスは通してあるのでmxで始まるパッケージが読み込めていないということはないはずです。
このコードはアドビの公式リファレンスガイドに載っていたmxmlファイルに記述するはずのコードを
asファイルに記述できるように必要な部分だけ抜き出したものなのですが、そこで何かを間違えたのでしょうか。
そもそも、mxで始まるパッケージをFlashProfessionalで使用することはできるのでしょうか?

178Now_loading...774KB:2011/07/24(日) 20:39:21.98 ID:Bq5E9K+f
mx.〜はFlex用だからFlashじゃ使えない
179Now_loading...774KB:2011/07/24(日) 21:55:42.15 ID:QHcJKq97
>>177
FlexSDKから抽出できたはず
180Now_loading...774KB:2011/07/25(月) 09:28:47.30 ID:Ko4OKd7d
詳しく調べていると使えるという情報と使えないという情報が両方あって余計にわからなくなってきました。

>>178
MenuBarクラスから生成したMyMenuBarをトレースするとちゃんと表示されるのですが、これでもFlashでは使えないのでしょうか。

>>179
よく意味がわからなかったので調べて見たのですが抽出というのは↓のページに書かれているようなことですよね。
時間があるときに試してみます。ありがとうございました。
ttp://sazzzzz.blog15.fc2.com/blog-entry-258.html
181Now_loading...774KB:2011/07/25(月) 12:32:21.25 ID:O8mgxxMD
>>180
そんなかんじ。SDKからもってくるだけだけど

そもそもMenuBarクラスつかえてるんでしょ?
なんにもせずにmxパッケージが使えるのはそれはそれで変な気がするんだが
182Now_loading...774KB:2011/07/25(月) 19:58:56.92 ID:Ko4OKd7d
>>181
上のページの方法を試したところ確かにmxパッケージは読み込めているようなのですが、それでもメニューバーは表示されません。
MenuBar以外にも、

import mx.controls.Alert;
Alert.show("テスト", "テスト", Alert.YES | Alert.NO);

を実行しても何も起こりません。
読み込めているのに動作しないということはまだどこかが間違っているのでしょうか?
183Now_loading...774KB:2011/07/25(月) 20:32:48.33 ID:L+RjUK9o
mxのコンポーネントって初期化のプロセスとかあったりするから
flashでコンパイルしたswfじゃ無理だと思うんだけどなぁ
まぁそこまで追ってないから分からんけど
184Now_loading...774KB:2011/07/25(月) 22:33:36.59 ID:Q4+zHLSp
ああー
コンポーネントか
それは試したことないな
俺が使ったのはBase64とかだから
185Now_loading...774KB:2011/07/26(火) 16:16:41.14 ID:KENUIYgY
FileReferenceでローカルのflv動画とりだしてNetStreamに入れてVideoDisplayて再生しようとしているんだけど
再生、一時停止はできるんだけどseekができない 誰か知らない?
186Now_loading...774KB:2011/07/26(火) 16:23:13.73 ID:/xJQPA5+
flv側にキューポイント作ってねーんじゃね?
187Now_loading...774KB:2011/07/26(火) 18:04:16.40 ID:KENUIYgY
それはないと思うyoutubeから撮ってきたテスト用動画だし

いろいろ調べてみるとこの現象っぽい ここでは原因不明
http://kinsentansa.blogspot.com/2011/07/flexflashnot-in-air2011.html

通常(ネット上のパスからとってくる)
netStream.play(動画のURL);

今回のやつ(ローカルから取ってくる)
netStream.play(null);
netStream.appendBytesAction(NetStreamAppendBytesAction.RESET_BEGIN);
netStream.appendBytes(fileReference.data);

今回のやつのソースで netStream.seek(数値)が動作しない
188Now_loading...774KB:2011/07/26(火) 18:13:07.41 ID:Qsmh/f+E
WinXPでCS4,AS3 
CS4のライブラリのMCをStageにaddChildしようとしています。

この時、このMC内のフレームに定義した関数を使ってShapeのGraphicsで描画しようとすると
ShapeとGraphicsオブジェクトが null になってしまいます。

つまり、ライブラリのMCのフレームASを下のようにしました.
var sh:Shape = new Shape();
var gr:Graphics = sh.graphics;
addChild(sh);

trace("grとsh "+gr+", "+sh);// 出力 [object Graphics], [object Shape] ←※ OK

// addChildしたときに呼び出される塗り関数
function shadowing(num0:Number) {
trace("num0= "+num0+", "+gr+", "+sh);// grとshが null になる
gr.clear();
gr.beginFill(0xCCCCCC, 1-num0);//透明度を指定
gr.drawCircle(0, 0, width/2);//半径は土台の半分
gr.endFill();
}


星印のようにそのまま trace("grとsh "+gr+", "+sh); で呼び出せば問題無いのですが、
関数内で呼び出すと駄目のようです。
どうすべきでしょうか?
189Now_loading...774KB:2011/07/26(火) 19:09:58.74 ID:bIxHpzHR
この質問大杉

shadowingを実行するオブジェクトにgrの参照がないんだろ
伝えといてやれ
190182:2011/07/26(火) 20:50:18.78 ID:jTsTClvw
>>183
>>184
そうですね。mxパッケージを使うのは無理そうなので諦めて他の方法を使うことにします。


そしてListコンポーネントを使った代用方法を考えていたのですが、また別の問題に当たってしまいました。
Listコンポーネントに表示する文字に書式を設定することはできないのでしょうか?
タイムラインにListのインスタンスlistを配置し、下のコードを実行してもフォント等が変更されません。

var tf:TextFormat = new TextFormat();
tf.font = "Arial";
tf.size = 16;
tf.bold = true;
list.setStyle("textFormat", tf);

しかしList以外のもの、例えばButtonクラスのインスタンスbuttonを配置して
button.setStyle("textFormat", tf);
を最後の行に加えるとbuttonのフォント等が正しく変更されます。

ListがtextFormatスタイルに対応していないのかと思い公式のリファレンスで調べてみると
ちゃんと継承されていますし、どうして上手くいかないのか全くわかりません。
191Now_loading...774KB:2011/07/26(火) 21:52:24.96 ID:hzD1lmmb
>>188
MCをstageにaddChild()して、さらにそのMCのフレームアクションでshをaddChild()してるのか?
何がいつどこから呼び出されるのかいまいち明確じゃないが、>>189のいうように
参照がとれていないのでないなら、フレームアクション使ってることが問題

フレームアクションは実行順序が遅めだから、MCをnewした時点で実行したいアクションは
MCのコンストラクタ内に書くべき
192Now_loading...774KB:2011/07/27(水) 20:35:01.49 ID:3HVWfNwT
FLASHでの実現方法を教えていただけないでしょうか。
http://www.qjnavi.jp/pc/←こちらのサイトのトップ部分にある、
動的なマップをFLASHで制作したいです。

現在制作しているものでは、近いところまでは出来るのですが
全く同じアクションではありません。

【上記サイトのアクション】
・サイトを開いた時点では、マウスオーバーで各地方の表示が出る。
・その地方のボタンをクリックすると、都道府県ボタンが表示される。
・一度クリックすると、都道府県の表示が固定されて、他の地域をマウスオーバーしても動かない。

【実際制作しているFLASH】
上記と同様、各地方のボタンに「on (release, rollOver) {gotoAndPlay(2);}」というスクリプト挿入。
⇒これでは地方ボタンをクリックした後、別地方ボタンをマウスオーバーした際、その別地方の
都道府県が表示されてしまう。

↑これを回避して、地方ボタンを一度クリックしたら表示が固定され、別地方をマウスオーバーしても
動かないようにしたいです。


要するに上記サイトと全く同じ仕組みを、FLASHで作りたいです。

どのシンボルにどのようなスクリプトを挿入すれば良いか教えていただければ
大変有難いです。

宜しくお願いします。


【環境】
Windows Vista
Adobe FLASH CS4 (AS2.0)
193Now_loading...774KB:2011/07/27(水) 21:20:35.99 ID:yJUDLD3T
動的なマップじゃねーじゃん
と思ったけど動的なマップ生成のことじゃないのか

おまえさんがどう作ってあるのかぜんぜんわからん。
県ごとにMC作って個別にライトアップしてるのか
フレームごとに違う県がライトアップされてるのか

とりあえずフラグになる変数を作って一回目のクリックがあったかどうか保存させとけば?
194Now_loading...774KB:2011/07/28(木) 02:00:23.96 ID:d3PTi+xk
asではないんですが、シンプルな画像をflashのシェイプに変換するツールみたいなものってありますか?
195Now_loading...774KB:2011/07/28(木) 08:01:19.89 ID:Z5oLRwF3
Flashだったらビットマップの分解
Illustratorだったらライブトレース
196Now_loading...774KB:2011/07/28(木) 09:37:04.66 ID:vAdJpGbT
Flashでビットマップをベクターの線に変換できたららくだよなあ
197Now_loading...774KB:2011/07/28(木) 12:42:53.17 ID:1Xq6Jkp4
>>195-196
ありがとうございます。flashに最初からついてるとは知りませんでした。
ただ、単純な画像でもかなり生成されるシェイプの頂点の数が多くなりますね。
198Now_loading...774KB:2011/07/28(木) 13:10:21.65 ID:1Xq6Jkp4
クラスインスタンスのメンバ変数をリストみたいにして取得することはできますか?
カスタムクラスのインスタンスのデータを全てsharedobjectに保存したいのですが、
一括して処理する方法がわかりません。
下のようにfor in関数でメンバ変数を一括取得したいのですが、できません(traceに何も出力されない)

public class Test {

public var a = 45;
public var b = "gtstee";
public var c = {};
public var d = [];

public function Test(){

}

public function show(){
trace("*" + this.a);
trace("*" + this.d);
for (var n in this){
trace(n);
}
}
}
199Now_loading...774KB:2011/07/28(木) 15:01:44.31 ID:filCyFwU
>>198
describeType()でXML形式で取得するという方法はある
200188:2011/07/28(木) 15:16:08.61 ID:wM9Ue1hf
>>189
>>191
有難うございます。タイムラインでなくASファイルでの再現プランBで
検討していましたが、タイムラインでもOKでした。
newした時にmc.func0(abc)とかで呼び出すのではなく、タイムライン内で定義
しておいた func0(abc) を同じフレームで実行させるようにしてけばOKでした。
※実質、コンストラクタと同じ動作??



>>195-196
Flashのビットマップの分解でやると図形がガタガタになる場合があるから
俺はあまり使いたくない。

1週間位まえに白黒画像ならラスタ→ベクターの変換が出来るソフトの
ニュースがあった。 URLは失念
201Now_loading...774KB:2011/07/28(木) 16:54:28.27 ID:1Xq6Jkp4
>>199
やりたいことはdescribeType()でやるのとほぼ同じなのですが、調べてみたら
describeType()ってちょっと不便そうですね。プライベート変数はリストしてくれないなどなど。。。
メンバ変数の数が多いので一つ一つ書き出していくのも面倒だし
保存するデータを別のオブジェクト上に作成するのも見づらくなるし、
何かスマートな解決方法はないでしょうか。
202Now_loading...774KB:2011/07/28(木) 18:17:54.38 ID:2ekO3zdD
>>201
インスタンス自体をByteArrayに変換してそのまま保存するとか


>>200
そのソフトぜひとも知りたいな
203Now_loading...774KB:2011/07/28(木) 19:17:06.60 ID:YiFvCS/8
だれか>>187わかんない?
やろうとしているのは裏でFileReferenceやURLStreamを使ってダウンロードしつつ
NetStreamにappendBytesで追加しながら再生って感じなんだけど

204Now_loading...774KB:2011/07/28(木) 21:46:34.12 ID:5M7rejn7
(横レス)
>>202
あー、なんか面白そう!
早速、「インスタンス ByteArray 変換 保存 ActionScript OR AS3」でググったけど
参考になるサイトが見つからない。

なんかお薦めのサイトありますか?
205Now_loading...774KB:2011/07/28(木) 21:55:36.04 ID:i3D626qF
「ActionScript clone」でググるとそれっぽいのが出てくるが
206Now_loading...774KB:2011/07/28(木) 22:32:28.83 ID:9iWmd+vH
>>204
writeObjectするだけだよ
そしてprivateは無理っぽい
207Now_loading...774KB:2011/07/29(金) 00:13:46.41 ID:9JQOI9XB
>>202
フォルダから掘り出しました。たぶんこれ
ttp://d.hatena.ne.jp/project_the_tower2/20110724/1311473645
208207:2011/07/29(金) 00:24:05.61 ID:9JQOI9XB
(追加)
上の関連リンク
ttp://potrace.sourceforge.net/
・・・ Using Potrace with other programming languages: の所にAS3の記述

as3potrace ttp://wahlers.com.br/claus/blog/as3-bitmap-tracer-vectorizer-as3potrace/

SparkProjectにもあったw ttp://www.libspark.org/wiki/nitoyon/PotrAs
209Now_loading...774KB:2011/07/29(金) 00:30:47.68 ID:bW6fyEq9
potraceならつかったことあった
aiにしてくれるんだっけ
210Now_loading...774KB:2011/07/29(金) 12:11:55.82 ID:AUjgSFXa
http://www.flash-jp.com/modules/newbb/viewtopic.php?topic_id=10091&forum=8

辛辣すぎワロタwwww
こいつ2chより煽りひどいな
211Now_loading...774KB:2011/07/29(金) 17:55:30.99 ID:5jOO7+7Z
AS3,FlashCS4

配列の要素の組合わせでswitch〜case判別は可能でしょうか?
つまり(形としては)配列arrの中身が3要素(全部整数)で N,M,L とかであったとき、

switch (arr) {
case 0,1,2 :
trace("1番目!");
break;

case 7,7,4 :
trace("2番目!");
break;

default:
trace("-- 該当無し!");
}

という感じにしたいです。

if文を使うのもアリだと思いますが、switch〜caseの方がスマートな書き方が出来そうなので
質問することにしました。
if(arr[0]== 0 && arr[1]==1 && arr[2]== 2){
trace("1番目!");
} else if(arr[0]==7 && arr[1]==7 && arr[2]== 4){
trace("2番目!");
} else if ・・・
212Now_loading...774KB:2011/07/29(金) 18:41:25.13 ID:CtPHH5aw
>>211
配列の中身が一桁の自然数または0だという制限があるのなら、
arr[0]*100+arr[1]*10+arr[2]で1つの整数にするって手もあるよ
スマートかどうかは別として
213Now_loading...774KB:2011/07/29(金) 19:39:17.52 ID:AUjgSFXa
2進数限定にしてそのまま足すとか


でもif文なら最初の条件文で大多数跳ねることができるから計算コストいいと思うの
214Now_loading...774KB:2011/07/29(金) 20:31:05.36 ID:fX6E9HXk
すごい初歩的であほくさい質問かもしれないけど…、
タイムラインエフェクトってアクションスクリプトで制御出来る?
例えばASで特定のオブジェクトにドロップシャドウかける、とかって可能?
215211:2011/07/29(金) 20:32:12.15 ID:dwUNbkoR
>>212
なるほど。でも各要素は0〜14なので。



>>213 2進数限定にしてそのまま足す

すいません。もう少し詳しく。
216Now_loading...774KB:2011/07/29(金) 20:39:34.60 ID:tgOAr9Ae
>>214
出来るかどうか不明だけど、タイムラインをXML化して制御する
「Animator クラス(モーション XML)」というのが有る。
ttp://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/motionXSD.html
ttp://itpro.nikkeibp.co.jp/article/COLUMN/20080312/296010/?ST=webdesign&P=1
ttp://www.game-create.com/archives/1308

BetweenAS3ならタイムラインのフレームトゥイーンも可能らしい
ttp://memo.393.bz/archives/946
217Now_loading...774KB:2011/07/29(金) 20:39:37.60 ID:0B0jzgCe
>>214
リファレンス読む限りではできる
俺はやったこと無いけど

>>215
>>211の形にしたいなら、速度的にはアレだろうけどjoin()で文字列にしちゃうとか
218Now_loading...774KB:2011/07/29(金) 21:06:07.23 ID:SanZYHgD
>>211
できない。

他の人が書いてるけど、
if文のほうが可読性が高くて良いと思うし、
AND条件で結合するかぎり、コスト的に問題ない。

>switch〜caseの方がスマートな書き方が出来そうなので
スマートとはおもわんが。
219Now_loading...774KB:2011/07/29(金) 21:34:08.78 ID:aPBMPhcF
>>211
そういうのはRGBと同じ考え方で判定するのがいいよ。

//3パターンの値の入れ物(RGB値みたいなもん)
var abc:uint;
//3種類の値をセット
var a:uint = 0, b:uint = ,c:uint = 2;
//RGBみたいな感じで連結(足す)
var a:uint = 0;
var b:uint = 1;
var c:uint = 2;

//判定したい式を定数にしておくと楽
const ZERO_ONE_TWO:uint = 0x012;
const SVN_SVN_FOUR:uint = 0x774;
//判定
switch(abc){
case ZERO_ONE_TWO:
trace("012のパターン");
break;
case SVN_SVN_FOUR:
trace("774のパターン");
break;
}
//フラグ判定の場合 ex:aの値が10、bcの値は問わない場合
const A_GA_TEN:uint = 10<<8;
if(A_GA_TEN == (abc & A_GA_TEN)){
trace("aが10");
}else{
trace("aが10でない");
}
220Now_loading...774KB:2011/07/29(金) 21:35:04.92 ID:aPBMPhcF
ああ、
var a:uint = 0, b:uint = ,c:uint = 2;
の行は消してちょうだい。
221Now_loading...774KB:2011/07/29(金) 21:36:57.09 ID:aPBMPhcF
ああ、あと肝心のの連結部分が無いな
a、b、cの値決めた後にこれ入れて

abc = a<<8 | b<<4 | c;

酒飲んでる度駄目だ。ごめんよ。
222Now_loading...774KB:2011/07/29(金) 22:15:26.71 ID:bW6fyEq9
>>215
あーごめん
同じ数取りうるならダメだ。忘れて。
223211:2011/07/29(金) 22:36:25.53 ID:tgOAr9Ae
>>218-222
どうも。
結局、各要素の数字を2桁の文字列にして合成し(例:011305とか030512)、
これをif文で判定する方法を採用しました。つまり、

if(str=="011305"){
//処理
} else if(str=="030512"){
//処理
}

という感じです。
224Now_loading...774KB:2011/07/29(金) 22:59:51.99 ID:bW6fyEq9
2桁にする手間あるならカラーと同じ方式のほうがいいんじゃ
22535:2011/07/30(土) 03:42:22.78 ID:g1zzBQyi
AS2のswapDepthsで困っています。
1フレームと5フレームをボタンで行き来するようにして、1フレーム目にあるMCにswapDepths()をかけてMCを前に出した後、
5フレームに行ってまた1フレームに戻ると、先にかけたswapDepths()が無効になります(-16383と出てくる)。
それはいいのですが、これをfunctionにして5フレーム目から呼び出しても1フレーム目ではやはり無効になって引っ込んでしまいます。

具体的にはこんな感じです

1フレーム目(細部省略)
//深度を増やすfunction
function f_increase_depth (){
myMC.swapDepths(100);
Shindo = myMC.getDepth();
trace(Shindo);
}

f_increase_depth ();

myBtn1.onPress = function (){
_root.gotoAndStop(5);
};

5フレーム目

myBtn2.onPress = function(){
_root.gotoAndStop(1);
f_increase_depth ();//5フレームからfunctionを呼び出す
};
functionは呼び出されています。swapDepthsは一度かけると、同じMCにはもうかからないのでしょうか?どうすれば、前に出てくれるでしょう?
お願いします。
22635:2011/07/30(土) 03:56:55.01 ID:g1zzBQyi
すみませんやや自己解決しました
5フレーム目の行を入れ替えて、1フレームに飛ぶ前にfunction()を呼び出せば
大丈夫なようです。失礼しました。
227Now_loading...774KB:2011/07/30(土) 17:18:14.33 ID:Qszz+YMb
AS3で関数Aの引数に関数Bを指定した渡した時に、
関数Bの名前を文字列に変換して取得することは可能ですか?
デバッグの時にtraceで関数Bの名前を表示させたいのですが。
下のようにするとtraceで B ではなく function Function() {} が帰ってきます。

A(B);
function A(func:Function){ trace(fucn);}
function B(){}
228Now_loading...774KB:2011/07/30(土) 19:44:19.73 ID:h1btEDQm
無理なんじゃないの。別に識別子持たない関数もあるし。
なんでそんな事したいわけ?
229Now_loading...774KB:2011/07/30(土) 19:54:32.80 ID:Go27n2Eb
テキストフィールドがあるMovieClipをaddChildで表示させ、
その時テキストフィールドに
rootにあるvar TextCont:String="ありがとう";
を読み込ませ、表示させたいと思っています。

ステージ上にあるテキストフィールドには
TextBox.text=MovieClip(root).TextCont で表示させることができるのですが
addChildしたMovieClipの場合だと
TypeError: Error #2007: パラメータ text は null 以外でなければなりません。
というメッセージが出て、変数をtraceしてもnullとなっています。

addChildしたMovieClipからrootの変数を参照する場合はどうしたらいいのでしょうか?
ぜひお教え下さい。よろしくお願い致します。
230Now_loading...774KB:2011/07/30(土) 20:17:24.29 ID:ssJTcCyt
エラー見る限りでは、rootの変数を参照できてないんじゃなくて
MovieClip側のTextFieldをちゃんと指定できてないみたいだけど
231Now_loading...774KB:2011/07/30(土) 20:47:38.97 ID:h1btEDQm
たぶんaddchildするmcの1フレーム目にでも書いてあるんじゃないの?
普通にaddchildしてからtext設定すれば済む話だと思うけど。

どうしてもmc側に書きたかったらroot使う場合にはADDED_TO_STAGEイベント使うのがいいと思うよ。
232Now_loading...774KB:2011/07/31(日) 00:01:47.72 ID:i77hMO7h
ここにソース書けばいい
233Now_loading...774KB:2011/07/31(日) 09:44:09.07 ID:bhR3NE3m
質問させて頂きます。
マイクとスピーカーがPCにそれぞれ2台づつ接続されているとして、
それぞれのデバイスを選択出来るようにしたい場合、AS3.0ではどのようにすれば実現可能でしょうか?
選択した側のスピーカーからのみ(左右のパンではなくデバイスの選択)音を出力するようにしたいと考えています。
マイクはMicrophoneクラスのgetMicrophone()で取得出来そうなのですが、
スピーカーはどのように制御出来ますでしょうか?
ご回答よろしくお願いします。
234Now_loading...774KB:2011/07/31(日) 09:58:30.43 ID:iRk7tx8E
いらん方のプラグ抜け
235Now_loading...774KB:2011/07/31(日) 12:55:17.19 ID:zp3GL9rM
Javaでいうstatic初期化ブロック

static{
}

に変わるものってありますか??
236235:2011/07/31(日) 13:04:46.93 ID:zp3GL9rM
おっと、static{}なぞ付けずにメンバ定義部に直接記述したら出来ました。
237Now_loading...774KB:2011/07/31(日) 14:41:29.77 ID:vh1tdRrN
true返すstaticメソッドにして
private static var _initClass:Boolean = _init();
という手も
238Now_loading...774KB:2011/07/31(日) 16:46:45.51 ID:sj9IgLJ8
WinXP-Pro,CS4(AS3)

SWFを読み込むLoaderを持つMCを子としてルートにaddChildして、子(MC側)から 
子自身をルートより削除したく思っています。 構造は下のようになっています

 root[ MC[ Loader(SWF) ] ] // ルートから見てLoaderは孫

記述は
private function deleteB_onClick(e:MouseEvent) {//削除ボタンを押して実行
root.removeChild(this);
}

とすると「DisplayObject は呼び出し元の子でなければなりません」のエラーが出て困っています。

親子関係が正確でないと上記のエラーが出るとのことなので、
this.parent.removeChild(this);
としましたが同じでした。
また
if (root.contains(this)) root.removeChild(this);

でも同じでした。どうすべきでしょうか?
239Now_loading...774KB:2011/07/31(日) 17:13:01.30 ID:VcKojKpa
よみこむmcのparentはloader
parent続けて階層ちゃんと確認してみ
240Now_loading...774KB:2011/07/31(日) 17:13:54.34 ID:VcKojKpa
あと読み込むmcのrootは読み込むmcでのrootになるからその手の処理にゃ向いてないよ
普通にparentで辿ってけばいいんじゃね?
241238:2011/07/31(日) 17:20:31.23 ID:sj9IgLJ8
>>239-240
すいません、自己解決しまいた。
ttp://wrelish.com/?p=217 と
ttp://www.flash-jp.com/modules/newbb/viewtopic.php?topic_id=7723&forum=20&post_id=38468
を参考にルートに置いたMC自身のremoveEventListenerをすればOKでした。

どうやら原因は2番目のリンクにある
「イベントハンドラを明示的に削除していなかったのでインスタンスへの参照が残っていた」
ぽいです。
242Now_loading...774KB:2011/08/01(月) 14:13:10.69 ID:uyIDnOn2
>>234
>>233です
使わない方のスピーカーを外すということは出来ないのですが、Flashでは制御不可能ということでしょうか?
スピーカーが2つ接続されている場合にどちらから音が出るかは分からないということでしょうか?
243Now_loading...774KB:2011/08/01(月) 14:47:17.50 ID:ymabKP2/
OSでの設定に依存するんじゃないのそれは
244Now_loading...774KB:2011/08/02(火) 01:52:03.93 ID:4WoTYgHc
AS3(CS4)でnewしたテキストフィールドの文字サイズを調整したいのですが
出来ません。

var myTxt:TextField = new TextField();
// myTxt.width = 400;とかでテキストフィールドの枠の大きさ等を指定

var tf0:TextFormat = new TextFormat();
tf0.size = 30;// 本来は12ptだが仮に30とした

myTxt.setTextFormat(tf0);
addChild(myTxt);

どこに問題があるのでしょうか?
245Now_loading...774KB:2011/08/02(火) 02:34:38.84 ID:HMCs2Kt5
>>244
そのままコピペしたけど、ちゃんとサイズ変わったよ(CS4じゃないけど
他に問題あるんじゃないかなぁ?
246244:2011/08/02(火) 03:21:04.08 ID:4WoTYgHc
>>245
すいません。原因が分かりません。
タイムラインに書いたASを丸ごとコピペします。

System.useCodePage = true;

var myTxt:TextField = new TextField();
myTxt.border = true;
myTxt.width = 400;
myTxt.height = 300;
myTxt.x = 250;
myTxt.y = 150;

myTxt.type = TextFieldType.INPUT;
myTxt.textColor = 0x000000;
myTxt.background = true;
myTxt.backgroundColor = 0xFFFFFF;
myTxt.multiline = true;

var tf0:TextFormat = new TextFormat();
tf0.size = 30;
myTxt.setTextFormat(tf0);

addChild(myTxt);

これでも手打ちしても字が小さいもままです。
247Now_loading...774KB:2011/08/02(火) 03:35:25.24 ID:HMCs2Kt5
文字入れたあとにsetTextFormatしないとダメみたいだねぇ
248244:2011/08/02(火) 03:39:50.95 ID:4WoTYgHc
>>247
できました。有難うございます。
249Now_loading...774KB:2011/08/02(火) 06:55:07.16 ID:TM66Wn87
QuickBox2D AS3ですが
var j:QuickObject = sim.addJoint({ a:obj1.body ,b:obj2.body,frequencyHz:3})
このように書いた場合frequencyHzを変更する場合どのようにしたらいいでしょうか?
250Now_loading...774KB:2011/08/02(火) 09:28:42.75 ID:ie1CllVf
frequencyHzって自分で定義したもの?
251Now_loading...774KB:2011/08/02(火) 23:36:40.08 ID:MNYE1tXK
質問です。
複数のシンボルがあり、それぞれのシンボルにスクリプトを記述している場合、
どういう順序で処理が行われるんでしょうか?

例えば「シンボルA」「シンボルB」「シンボルC」があって、
それぞれに「trace("A")」「trace("B")」「trace("C")」って記述したとして、
どういう法則で順番が決定されるんでしょうか。
252Now_loading...774KB:2011/08/03(水) 00:55:46.03 ID:UGiO04H5
オーサリング段階で配置されてる場合にはレイヤー順だったかな
実際に自分の環境でどういう順番になるか試してみれば?
253Now_loading...774KB:2011/08/03(水) 01:16:25.56 ID:LiPw8puZ
その順番に依存するようなプログラム書くなよ
254Now_loading...774KB:2011/08/03(水) 09:24:14.40 ID:+rtucCzU
配列について、ArrayとVectorのどちらを使用しようかと考えています。
配列の要素の型は自分で作ったクラスです。
型がそのクラス固定で、少しでも速度が速い方がいいので、Vectorの方がいいかと思いましたが、
なぜかas3.0のリファレンスに載っていませんでした。
なぜVectorクラスがリファレンスに記載されていないのでしょうか?
また上記の場合ArrayとVectorのどちらを使うのが好ましいでしょうか?
255Now_loading...774KB:2011/08/03(水) 09:33:09.24 ID:LiPw8puZ
http://pc-news.ldblog.jp/lite/archives/51740114.html
661

494らへんで話してるけどVectorのほうがいいかと
Array配列を引数に取るものがあるのでそこは注意だけど
256Now_loading...774KB:2011/08/03(水) 09:55:22.85 ID:+rtucCzU
>>255
回答頂いたURLでVectorクラスのリファレンス見つかりました。
また、ArrayじゃなくVectorクラスの方を使ってみようと思います。
どうもありがとうございました。
257Now_loading...774KB:2011/08/03(水) 23:03:54.38 ID:gJd4GDaB
エディタで変数関数の補完が使えるvector一択だな
arrayじゃ開発できる気がしないw
258Now_loading...774KB:2011/08/03(水) 23:17:03.45 ID:LiPw8puZ
FDならArrayでも補完できますしおすし
259Now_loading...774KB:2011/08/03(水) 23:17:50.76 ID:LiPw8puZ
まあVector一択だけど、10からだしなー
260Now_loading...774KB:2011/08/03(水) 23:22:51.42 ID:btER0dwW
Arrayも宣言で/*(型名)*/付けてやれば補完出るけどね
var array:/*int*/Array;みたいな感じで
FlashDevelopだけど
261Now_loading...774KB:2011/08/04(木) 03:19:22.32 ID:BOVeuURM
ホントだスゲー
しかし使う人いるのかこれw
262Now_loading...774KB:2011/08/04(木) 20:36:34.85 ID:ynGfmqBL
使ってるよ
263Now_loading...774KB:2011/08/04(木) 20:49:59.88 ID:mZYxAC4d
メインタイムラインでtrace(getBounds(stage));を実行すると
(x=6710886.4, y=6710886.4, w=0, h=0)ってトレースされるのはなんで?
264Now_loading...774KB:2011/08/04(木) 21:54:59.46 ID:4vqUBtRO
>>260
何それすごくありがたい
これでescキーいちいち押さなくてすむ罠
265Now_loading...774KB:2011/08/05(金) 01:41:28.41 ID:r8h6VVu+
actionscript3.0からプログラム始めた超初心者です。
わかる方、助けてください。
ボタン押すとランダムで音が鳴るようにしたいんですが、

var SE_0:Sound=new SE_0();
var SE_1:Sound=new SE_1();
var SE_2:Sound=new SE_2();
var SE_3:Sound=new SE_3();
と、リンケージしたファイルを宣言して、
function btnClick(e:MouseEvent):void
{
var rand = Math.floor(Math.random() * 3);
var playSE = "SE_" + rand;
playSE.play();
}
とやってるんですが、プレビューすると
TypeError: Error #1006: value is not a function.
って出てしまって再生されません。
playSEをトレースするとちゃんとSE_0とかSE_1とかになってるんですが根本的に間違っているんでしょうか?
266Now_loading...774KB:2011/08/05(金) 02:47:03.44 ID:Edf1kg9U
>>265
根本的に間違ってる。
var playSEはString型になるから、playSE.play()とやっても、play()メソッドが無い。
たしか、this[playSE].play()でできたような気がする。
267Now_loading...774KB:2011/08/05(金) 02:48:01.87 ID:dZMSlvZc
playSEはStringになっちゃってる

配列アクセス演算子で文字列からオブジェクトを取得できたと思うから
(this[playSE] as Sound).play();
でいけるかな?

だけど普通なら配列にいれる
268Now_loading...774KB:2011/08/05(金) 02:55:01.81 ID:r8h6VVu+
>>266
回答ありがとうございます!
var rand = Math.floor(Math.random() * 3);
var playSE = "SE_" + rand;
playSE.play();

var rand = Math.floor(Math.random() * 3);
this["SE_" + rand].play();
にしたらなりました。
[]で連結するんですね。
本当に助かりました。こんな時間にすぐ回答があって嬉しかったです。
ありがとうございました。
269Now_loading...774KB:2011/08/05(金) 02:56:39.61 ID:dZMSlvZc
泣きながら寝るわ
270Now_loading...774KB:2011/08/05(金) 02:57:55.35 ID:r8h6VVu+
>>267
回答ありがとうございます。
まだ始めたばかりで何が普通で何が普通じゃ無いかがわからなくて困ってます。
かろうじてランダムでならす場合、if文やcase文でやってたら手間がかかるっていうことはわかってこの方法を試したました。
配列も本で見てみましたがまだ全然理解できていません。頑張ります!
271Now_loading...774KB:2011/08/05(金) 03:01:54.18 ID:dZMSlvZc
あー。ASが初プログラムって書いてあったな
めずらしい

配列まだなら仕方がない
次からは気軽に初心者スレにおいでなさい
272Now_loading...774KB:2011/08/05(金) 03:06:36.76 ID:r8h6VVu+
>>271
ありがとうございます!
もともとFLASHでアニメとかを作っていてアクションスクリプトにはほとんど触れていなかったんですが、
最近になってゲームを作りたくなって本買って勉強始めました。
またとんちんかんな質問をすると思いますが、よろしくお願いします。
273Now_loading...774KB:2011/08/05(金) 20:28:14.62 ID:3egmXlMC
>>272
プログラミングは、簡単なサンプルコードが沢山載ってる本を買って
改造したり組み合わせたりして遊んでみるのが一番手っ取り早いし面白い。
274Now_loading...774KB:2011/08/05(金) 21:21:02.80 ID:XzsnAg2s
MovieCLip.removeMovieClip() を唱えると、
そのMovieClipとMovieClipの持ち物がすべて削除される、、、
そう思っていた時期が僕にもありました。

マジカ
275Now_loading...774KB:2011/08/05(金) 21:22:49.09 ID:XzsnAg2s
as3でクラスのインスタンスにnull突っ込んだ時も
そのインスタンスの変数って自動的にはGCの対象にならないの?
276Now_loading...774KB:2011/08/05(金) 21:28:17.49 ID:dZMSlvZc
>>274
子をすべてremoveChildってだけならその願い、もうすぐ叶うよん

>>275
参照されてなければなるよ
そもそもnullつっこむことが参照いっこ消すってことだし
277Now_loading...774KB:2011/08/05(金) 22:16:46.50 ID:dZMSlvZc
>>276
あー。インスタンスが残ってる時にインスタンス変数にnull突っ込むのか

たぶんなると思う
結局インスタンス変数には参照が入ってるわけだし、その参照を書き換えるんだから元の参照先のオブジェクトは参照カウント減ると思う
278Now_loading...774KB:2011/08/05(金) 23:14:46.05 ID:dPPk+iy+
AS2であったMovieClipの複製はAS3ではなくなったそうなので、
コンストラクタからクラスとって生成という方法があるそうですが、リンケージされたMCしか出来ないんでしょうか
座標とかはともかく複製さえできればいいんですが・・・
他に方法があればそれでもいいんですが、今更数千もあるSWF内のバーツを全てリンケージするのも辛いなぁ、と。
279Now_loading...774KB:2011/08/05(金) 23:19:16.13 ID:VgGVpomC
できないもんはできない
リンケージの設定くらいだったらJSFL書いてマクロ流せば?
280Now_loading...774KB:2011/08/06(土) 01:45:33.40 ID:XUhNXjoq
AS2の時だってduplicateするにはリンケージしてたんだろ
クラス名に変えるだけだよ

hakuhinにそんなJSFLあったかもね
281Now_loading...774KB:2011/08/06(土) 13:17:59.84 ID:BP45XHBE
AS2はすでに負の遺産だな
282Now_loading...774KB:2011/08/06(土) 15:14:01.63 ID:Fm8Fa1hO
負の遺産が一番金稼いでるんだけどな
現場にいない人にはわからんか
283Now_loading...774KB:2011/08/06(土) 18:35:10.08 ID:BP45XHBE
時代遅れ現場乙^^;
284Now_loading...774KB:2011/08/06(土) 19:16:11.89 ID:Fm8Fa1hO
ありがとう。AS2書ける奴がAS3書けないというわけもないので、せいぜい頑張ってちょうだい。
稼げるうちに稼がせてもらうだけだわ。
285Now_loading...774KB:2011/08/07(日) 01:44:12.20 ID:JFC/iiOO
・・・「今話題の」AS3です。

int型表記のRGB色を16bitの6桁表記(お馴染みの0xFFFFFF表記)にする
際に桁数を6に整形するにはどうしたら良いでしょうか?

例えば、緑色はintで65280ですが、65280.toString(16) だと 0xFF00 になり、
実質4桁になってしまいます。 
※青なら0xFFで2桁

文字列長を調べて頭に0を付ければ良いかも知れませんが、もっとスマートな
方法を探しています。
どなたかヒントを下さい。
286Now_loading...774KB:2011/08/07(日) 08:43:05.51 ID:SAAKqc4R
× int型 ◯ uint型

× 16bit ◯ 24bit

(65280 | 0x1000000).toStrig(16).replace("x1","x");

一行だけどスマートじゃないか…
287Now_loading...774KB:2011/08/07(日) 09:42:07.27 ID:qJgLeqzX
微妙に関係ないしスマートでもなんでもないけど
ちょうど先日書いたので投下

private function randomColor():int {
var red:int = 120 + Math.round(Math.random() * 100);
var green:int = 120 + Math.round(Math.random() * 150);
var blue:int = 120 + Math.round(Math.random() * 100);
var hex:int = red << 16 | green << 8 | blue;
return hex;
}
288Now_loading...774KB:2011/08/07(日) 09:56:12.35 ID:SAAKqc4R
>>287
それなにがやりたいの…?
289Now_loading...774KB:2011/08/07(日) 13:47:28.61 ID:EYFyB/5X
>>287
なんかしらんけどgがrの領域侵す可能性ない?
290Now_loading...774KB:2011/08/07(日) 17:00:06.47 ID:qJgLeqzX
正直言うとweb探して見つけた方法だから、ビット演算とかよくわからないんだ。すまんかった
291Now_loading...774KB:2011/08/07(日) 17:11:17.16 ID:EYFyB/5X
なにがやりたかったのん?
292Now_loading...774KB:2011/08/07(日) 21:10:58.86 ID:f7yyR4Mb
いきなりだけど
ビルトインクラスを、無許可で書き換えるのは
コンプライアンス的にアリですか?
293Now_loading...774KB:2011/08/07(日) 21:11:43.64 ID:SAAKqc4R
どうやって書き換えるの?
294Now_loading...774KB:2011/08/07(日) 21:20:40.62 ID:f7yyR4Mb
開発環境インストールしたとこの
クラスバスにあるtweenなどの
asファイルを直接書き換えます。
295Now_loading...774KB:2011/08/07(日) 21:40:38.10 ID:SAAKqc4R
>>294
よしパス教えてくれ
296Now_loading...774KB:2011/08/07(日) 21:49:39.16 ID:f7yyR4Mb
>>295
あれ?
検索するとtween.asとかでてきません?
297Now_loading...774KB:2011/08/07(日) 21:56:42.93 ID:SAAKqc4R
>>296
mxパッケージのやつ?
Adobe permits you to modify
ってあるからいいんじゃね?
298Now_loading...774KB:2011/08/07(日) 22:01:47.23 ID:f7yyR4Mb
ありがと。
一応改変を許可してるんですね。
今のプロジェクトで、いじくりまわした奴がいて
パブリッシュするのにビルトインクラスを
差し替えないといけないという
謎な状況でして…
299Now_loading...774KB:2011/08/07(日) 22:04:05.21 ID:qWPBZa7r
それはビルトインクラス継承したクラス作っといた方がいいんでないの?
同名のクラス使いたいんだったら別パッケージで作っておくとか。
たぶんあとで困るぜ。
300Now_loading...774KB:2011/08/07(日) 22:04:49.48 ID:qWPBZa7r
ああ、もう困ってんのかw
301Now_loading...774KB:2011/08/07(日) 22:11:17.81 ID:f7yyR4Mb
>>299
激しく同意なんですけどね…
302Now_loading...774KB:2011/08/07(日) 22:14:53.09 ID:SAAKqc4R
いじくりまわすとかすげーな
でも
ビルトインA←ビルトインB
の時Aいじりてえーって時たまにあるわ
単純にA継承したの作ってもBが使えなくなっちゃう
303285:2011/08/08(月) 04:35:40.72 ID:tKsF/93u
>>286
有難う。出来ました。

お礼にお薦めの写真を貼っておきます。
ttp://2ch.at/s/20mai00449806.jpg
ttp://2ch.at/s/20mai00449807.jpg
304Now_loading...774KB:2011/08/08(月) 07:18:00.38 ID:n9W/VGFc
フリーランスのas3とjavaのプログラマ雇うとして
月給の相場ってだいたいどれくらいですか?
305Now_loading...774KB:2011/08/08(月) 18:33:51.66 ID:8VdE5gby
CS4 AS3.0で質問です
下記のような鑑賞動画を切り替える構成で…
1フレーム目 FLVムービークリップその1
2フレーム目 FLVムービークリップその2
3フレーム目 FLVムービークリップその3
例えば1フレームから3フレームへgotoAndStopすると
2フレーム目のムービークリップのBGMが1回だけ再生されて聞こえています
3フレーム目ではその2のムービークリップは削除してあり違う動画が再生されています
逆に3フレーム目から2フレーム目へさかのぼっても1フレーム目の動画は聞こえません
各フレームstop();で止めていますが何を注意したらいいのでしょうか?よろしくおねがいします
306Now_loading...774KB:2011/08/08(月) 19:21:41.48 ID:8VdE5gby
1F ループ動画+ジャンプリンク集1
2F リンク1用の動画A 再生が終わったらリンク集1へ戻る
3F リンク1用の動画B 再生が終わったらリンク集1へ戻る
4F ループ動画+ジャンプリンク集2
5F リンク2用の動画C 再生が終わったらリンク集2へ戻る
6F リンク2用の動画D 再生が終わったらリンク集2へ戻る
やっぱり例えばリンク集1からリンク集2(4フレーム目)へgotoAndStopすると
何故か一つ前の3フレーム目に置いた動画が聞こえたり
6フレームの目の動画を再生し終えて4フレーム目に戻らせると
3フレーム目の動画が聞こえます……orz
307Now_loading...774KB:2011/08/08(月) 19:51:18.25 ID:JmUnNsZZ
フレームに埋め込んだ動画の制御はやっかいなんだよな
ガチャガチャいじくってうまい具合の感じを見つけるしかないw

動画と動画の間には空白フレーム入れたり
親のフレーム移動の時は子のFLVはしっかり停止させたり…
イベント、ストリーミング再生の指定ってのはサウンドファイルだけだっけ
308Now_loading...774KB:2011/08/08(月) 20:24:22.14 ID:RPySVm67
AS3のSWFLoaderで他のswfを呼び出しています。

その時SWFLoaderでloadForCompatibility=trueにしてswfをロードして
作成したカスタムイベントクラス(いろいろ値を渡したい)でイベントを通知したいのですが、
同じクラスファイルを使用して投げたものを受け取り側で受け取ろうとすると
強制変換エラーで受け取ることができません。

マルチバージョン前提なのでloadForCompatibility=falseにすることもできません。
なんとかなるものでしょうか。よろしくお願いします。
309Now_loading...774KB:2011/08/08(月) 20:36:36.16 ID:VvycXaRi
>>308
今作ってるそれは、loadForCompatibility=falseにすれば動くの?
310Now_loading...774KB:2011/08/08(月) 20:44:36.71 ID:RPySVm67
>>309
はい。普通に変換でエラーにならずイベントを受け取ることができるんです。
311Now_loading...774KB:2011/08/08(月) 20:49:06.41 ID:VvycXaRi
>>310
じゃあどう見てもそこがネックなんで無理でしょ。
sharedObject経由で情報共有とかで逃げるしかないんじゃないかな。
イベント通知も多分無理だろうから、値の変化を監視する感じで。
312Now_loading...774KB:2011/08/08(月) 20:49:16.28 ID:Ira1IF17
くわしくどんなエラーなの?
313Now_loading...774KB:2011/08/08(月) 21:01:09.11 ID:8VdE5gby
>>307
直前のフレーム素材が再生されてしまうならと
空白も挟んでみたんですけどやっぱり再生されるんですよね…
314Now_loading...774KB:2011/08/08(月) 21:36:04.87 ID:RPySVm67
>>311
このパラメータをtrueにしたとき、他の方法とかあれば思ったのですが。
sharedObjectだと受け付けないって設定されちゃってると泣けそうです...

>>312
[Fault] exception, 情報=TypeError: Error #1034: 強制型変換に失敗しました。common::MyIDChangeEvent@793a471 を common.MyIDChangeEvent に変換できません。

こんな感じで型変換に失敗します。
呼出元のクラスと呼ばれるクラスが別管理になってしまってる?感じなんでしょうか...
315Now_loading...774KB:2011/08/08(月) 21:56:41.94 ID:Ira1IF17
>>314
カスタムイベント周りの型変換エラーっていうとまっさきにcloneをオーバーライドしてないやつが思い浮かんだけど、それとは違うみたいだねえ
316Now_loading...774KB:2011/08/08(月) 22:05:04.86 ID:RPySVm67
>>315

cloneは書けってどっかに書いてあったので、言われるがままに書いてありますw

標準のイベントはなんでOKなのかか解決の糸口だったり?と思ったりするんですけど、どうやって調べればいいのやら...
317Now_loading...774KB:2011/08/08(月) 22:22:10.96 ID:Zv+J4Wbp
>>316
別サンドボックスというか、別名前空間扱いになってるような感じじゃない?
それだったらイベントのリスナー関数は呼び出せてるのかな。
引数を*型で受け取って、取り出したいプロパティの値を配列アクセス演算子で取り出すとかできそうじゃない?
318Now_loading...774KB:2011/08/08(月) 22:24:09.36 ID:Zv+J4Wbp
function eventHandler(e:*):void{
trace(e["propertyName"]);
}
みたいな感じって事ね。
319Now_loading...774KB:2011/08/08(月) 23:03:54.59 ID:RPySVm67
>>318

ありがとうございます。
その方法がいいのか悪いのかがわからず、クラス定義があるのに、スマートに書けないかと思って質問させてもらいました。

新たな糸口(キレイに書ける方法)が見つかるまで、その方法で進める事にします。

みんなさん、ありがとうございました!
320Now_loading...774KB:2011/08/08(月) 23:16:53.90 ID:Zv+J4Wbp
そだね。ダイレクトなキャストが駄目なら、受け取った値を元に、そっち側で該当クラスのインスタンスを
再構築して扱うようにしとけばいいんじゃないかな。直列化と復元みたいな感じで。
321Now_loading...774KB:2011/08/09(火) 05:13:23.85 ID:ZcSF/+6D
>>304 
30万くらい?20でいいから俺雇ってくだしあ
322Now_loading...774KB:2011/08/09(火) 18:14:38.48 ID:knC8GOmZ
AS3,CS4,WinXPです。

CS4のライブラリパネル(アセット?)にある部材の大きさを取得するには
どうしたら良いでしょうか?
例えば、ライブラリパネルに "Fig0" という画像(実質ビットマップ)があったとして、
これを参照する方法です。

宜しくお願います。
323Now_loading...774KB:2011/08/09(火) 19:31:41.65 ID:fiBpWPGD
よくわかんないけどスクリプトでってこと?
newしてサイズ聞いてみたら?
324Now_loading...774KB:2011/08/09(火) 23:13:28.55 ID:xJanOP7g
var ClassList=[ClassA,ClassB,ClassC]; // ClassA,B,Cとかは全部クラス
var test=new ClassA(); // ClassAのインスタンスを作成
if(test is in ClassList){trace("成功")}

みたいに成功を出したいんですが、 isとinを同時に使用できません。
どうしてもforループを使わずにinとか一行でやりたかったらどうしたらいいですか?
325Now_loading...774KB:2011/08/09(火) 23:16:47.70 ID:fiBpWPGD
インターフェース…
326Now_loading...774KB:2011/08/10(水) 06:32:03.22 ID:n9EFtvJA
AS3でstageのscaleModeがNO_SCALE以外のモードのときにクライアントサイズを変えた場合、
クライアントの幅、または拡大倍率を調べること方法はありますか?
NO_SCALE以外の場合、サイズをかえてもstageWidthは変わらないし
またstage.scaleXも1.00のまま変わりません。
327Now_loading...774KB:2011/08/10(水) 06:45:17.44 ID:LSXJBwEm
Win vista CS4
ステージに配置した矩形MC上の任意のポイントをクリックした時に、
そのクリックしたポイントをステージ中央に移動させたいと思っています。
box.addEventListener(MouseEvent.MOUSE_DOWN, boxMove);
function boxMove(event:MouseEvent):void {
Pox=box.mouseX;
Poy=box.mouseY;
img_box.addEventListener(Event.ENTER_FRAME,onEnterframe);
}
function onEnterflame(eventObj:Event):void {
img_box.x += ((clickX - img_box.x)/5);
img_box.y += ((clickY - img_box.y)/5);
//
if (Math.abs(img_box.x)<10) {
img_box.x = (0-clickX);
img_box.y = (0-clickY);
img_box.removeEventListener(Event.ENTER_FRAME,onEnterflame);
}
}
ここまでやってみたのですが、上手く動きません・・・
熱暴走しそうです・・・ぜひ解決法をおしえてくださいお願いします
328Now_loading...774KB:2011/08/10(水) 08:06:00.91 ID:FNdrmOdp
>>327
具体的にどう動かないの?
clickXってなに?
frameの綴りはあってるんだろうな?
329Now_loading...774KB:2011/08/10(水) 09:25:33.25 ID:INcdEQJE
>>326
無いんじゃ?サイズ変更でポイント数(ピクセル数じゃないよ)変わったら配置ガタガタになるし。
変わってもらっちゃ困るでしょ。
330Now_loading...774KB:2011/08/10(水) 16:47:19.30 ID:COKW9jJr
FlashCS5(FlashIDE)上でコンパイラオプションを指定、
例えばinclude-librariesを指定したい場合どうしたらいいんでしょうか?
331Now_loading...774KB:2011/08/11(木) 05:34:04.37 ID:CK3wec4N
CS4(AS3)でWinXP。
以前どっかのサイトで、MC(またはスプライト)をファイルとして書き出すライブラリを見たのだが
URLを失念してしまった。

誰か知らなイカ?
332Now_loading...774KB:2011/08/11(木) 06:43:18.05 ID:YOjeiJiS
swcにしたら?
333Now_loading...774KB:2011/08/11(木) 13:29:21.65 ID:eq0Hl6F2
一時的に作るビットマップデータのバッファって
参照が消えた時点でGCの対象になりますか?
それともdispose()を支持しなきゃいけないんでしょうか?
334Now_loading...774KB:2011/08/11(木) 19:33:56.15 ID:YOjeiJiS
ならないからdisposeがあるんだよ
335331:2011/08/11(木) 20:42:49.84 ID:3YUeXS1d
>>332
どうも。swcはASで読み込めないような・・・
通常のFlashからASで読み込みたいです。
336Now_loading...774KB:2011/08/11(木) 20:51:59.46 ID:YOjeiJiS
>>335
ランタイムで読み込むってこと?
そのライブラリについては知らないけど、無理じゃないかな

プロパティを全部読み取ってByteArrayにして保存→逆変換
ならできるだろうけど
337331&335:2011/08/11(木) 21:46:40.87 ID:3YUeXS1d
>>336
さんきゅうです。というか、俺が見たのは何だったのか・・・ 幻覚か??

最低限、変数や数値情報を別個保存できれば良いので、AMF(Action Message Format)
というのを使ってみます。
参考サイト:
ttp://hikipuro.blog105.fc2.com/blog-entry-426.html
ttp://blog.nipx.jp/2009/12/amf%E3%81%AE%E3%81%93%E3%81%A8/
338Now_loading...774KB:2011/08/12(金) 16:30:49.60 ID:HdghjN7l
FlashCS4,AS3,WinXP

CS4でFlexのmxパッケージを使いたいのですが、テストに成功したもののAlertクラス
が使えず困っています。
参考にしたサイトは ttp://sazzzzz.blog15.fc2.com/blog-entry-258.html で、ここの
DateFormatterはOKだったのですが、Alertクラスを使うため下記の記述をしたところ
エラーと警告が沢山出ました。

//メインタイムラインに書きました
import mx.controls.*;
import mx.events.*;
var alert0:Alert = new Alert();
alert0.buttonWidth = 160;
alert0.yesLabel = "同意します";
alert0.noLabel = "同意しません";
alert0.show("選択してください。:", "確認", alert0.YES | alert0.NO, this);
//YES,NOを選択した時のイベント設定は未だです
addChild(alert0);

つまり、CS4のプレビューでアラートのパネルを出したいです。
どう変更したら良いでしょうか?
339Now_loading...774KB:2011/08/12(金) 17:06:14.21 ID:zSIuL88d
めんどくせーからFlashBuilder買えよもう
レイアウトの要素がからんでくる物は無理だっての
340Now_loading...774KB:2011/08/12(金) 20:14:37.77 ID:au9H4Oui
FlashDevelopで作れば?
スクリプトで何かやるのにわざわざCS使わなくてもと思ってしまう
341Now_loading...774KB:2011/08/12(金) 20:35:18.25 ID:p+B3gdir
as3で面倒だからimport記述したくないんですが記述しない方法ってありますか?
342Now_loading...774KB:2011/08/12(金) 20:38:47.91 ID:EXqJL68u
ねえな
同じパッケージならワイルドカード使えるけど
全パッケージimportしたファイルをincludeするとか?


まあFD使えってこった
343Now_loading...774KB:2011/08/12(金) 21:38:38.32 ID:HKXe9nrY
宣言すれば勝手にimport付くのはFlashだとCS5からだったっけな?
344Now_loading...774KB:2011/08/12(金) 21:44:11.94 ID:HVglvfa4
超初歩的な質問だけどお願いしていい?
AS2でシューティングゲーム作ってて、効果音実装し始めたところなんだ。

とりあえずショットしたときの音鳴らそうと思って shot_se.start(); 使ってみたんだけど、
実際起動してみるとショットしたタイミングと効果音が再生されるタイミングがズレてるんだ。効果音の方が若干遅れてる。

ショットした瞬間に効果音鳴らすにはどうすればいい?
345Now_loading...774KB:2011/08/12(金) 22:02:33.43 ID:fawJybt1
どこでstart()させたのか分からない

AS2ってplay()じゃないんだな。はじめて知った
346344:2011/08/12(金) 22:11:36.94 ID:HVglvfa4
>>345
自機に直接AS書いてます。ショットに関係する部分抜き出すと以下のような感じ。

onClipEvent( load ) {

var shot_se = new Sound();
shot_se.attachSound( "shot_se" );

}
onClipEvent( mouseDown ){

  //SEを再生
  shot_se.start();

  //ショットを出現
  _root.attachMovie("shot_mc","autoshot"+shot_depth, shot_depth + 1001);  //オブジェクトの読み込み、オブジェクト名の決定


}
347Now_loading...774KB:2011/08/12(金) 22:14:55.44 ID:EXqJL68u
ある程度は仕様
Flashはインタラクティブな音の再生には向かない

ある程度以上ってんなら音ファイルに無音部分があるとか
348344:2011/08/12(金) 22:33:58.16 ID:HVglvfa4
wavの無音部分はちゃんと確認して削ったよ。
それ以上の音の遅れは仕様なのか…。

マテリアルスナイパーっていうゲームではクリックと射撃音同期してるように見えるんだけど
どんな裏技があるんだろう…。
http://nextframe.jp/flash/matsnp/matsnp.html
349Now_loading...774KB:2011/08/12(金) 22:38:27.54 ID:fawJybt1
ショットの出現方法を変えるか、音の再生方法を変える(どうすれば良いか想像できないが)しかないんじゃないかな
マウスクリックだけで効果音がどうなってるか確認した?
350Now_loading...774KB:2011/08/12(金) 22:59:41.79 ID:au9H4Oui
一番手軽なのは容量小さくすること
音質下げたりステレオからモノラルにしたりとか
351Now_loading...774KB:2011/08/12(金) 23:00:50.82 ID:jMR0msl2
>>348
予めバッファに溜め込んでいるとか
352Now_loading...774KB:2011/08/12(金) 23:12:32.62 ID:Gzhhz7YV
asで効果音扱ったことないんでわからんけど、効果音の後ろにでも無音部分作っといて、
ゲーム中常時無音部分ループ>マウスダウンで効果音頭に再生位置変更
とかだめ?頭から読み込むよりは早そうな気はするが
353Now_loading...774KB:2011/08/13(土) 06:08:36.28 ID:FdJ7pEgh
環境) WinXP-ProでFlashProCS4(AS3)

特にAS3に限った話では無いのですが、startDrag中のオブジェクトがマウスドラッグの
移動スピードに追い付けず、フォーカス(?)が外れた場合の対処法です。

例えば、マウスポインタを上矢印「↑」で表し、ドラッグ対象を ○ とした場合、

  ○   ・・・(ドラッグして)・・・  ○
  ↑                  ↑

であればOKなんですが、追従できずに

  ○   ・・・(ドラッグして)・・・  ○
  ↑                       ↑    

となった時は、ポインタの位置とオブジェクトの位置が一致出来ずおかしな状態になります。
50fpsにして速い反応をしているつもりですが、この際にドラッグを解除したいです。
どうすれば良いでしょうか?
354Now_loading...774KB:2011/08/13(土) 08:39:37.13 ID:S1gX65qG
フレームごとにオブジェクトとマウス座標を比べて一定以上離れてたらドラッグ解除
そうでなければ追従処理すれば?
355Now_loading...774KB:2011/08/13(土) 08:57:10.54 ID:3DlA+e4N
これで独立できる

売るものはスマートフォンアプリ WEBサイト運営
サーバーはクラウド VPS
電話はスマートフォンSkype
オフィスは地方にプレハブ型の格安高性能オフィスを建て(300万〜500万)
レンタル自習室&シェアオフィスで収入を得ながらそこで開発する
http://tinyurl .com/43xmk7m
http://tinyurl .com/3mopkfy
356Now_loading...774KB:2011/08/13(土) 11:08:32.33 ID:XYQTXLxL
>>353
startDragってコマ落ちはしてもそんなズレたりしたっけ?
まぁ、ダウン>startDrag>アップ>stopDragでなく、
ダウンしたらマウスムーブかEnterFrameでも置いて、
追従するよう自分で座標+-計算でいいんじゃない?
357338:2011/08/13(土) 13:38:07.51 ID:6PvYtQXR
>>339-340
素直にFBかFD使います。
358Now_loading...774KB:2011/08/13(土) 13:44:33.07 ID:ieMs9v1M
>>354
>>356
EnterFrameで監視する案を採用しました。
だいぶ改善しましたが、有る程度のマウスの速さになるとやっぱり追従から離れますが・・・

取り急ぎ、有難うございました。
359Now_loading...774KB:2011/08/13(土) 21:43:48.94 ID:KG4ydlQq
http://shimoigi.net/archives/129

みたいにグローバル変数を使いたいんだけど
このGlobal.っていうのいちいち書くの面倒くさいんですが
書かないでもできるようなグローバル変数って作れますか?
360Now_loading...774KB:2011/08/13(土) 21:53:27.88 ID:S1gX65qG
3.0では無理
そもそもグローバル変数というものがOOPに則してない
しかもリンクの例だとObject型使ってダイナミックにメンバを追加してるからよろしくない



ダイナミックでなくていいなら同じようにパッケージ変数で

public const globalNum:Nymber;

ってすればできるかもね

ていうかGlobal.つけるくらいめんどくさがってたらなんもできないだろ
361Now_loading...774KB:2011/08/14(日) 03:27:15.52 ID:IvimQbO3
なるほど、そんなものなのですか。
今まで変数の宣言もしなくていい言語を使ってたので
何でも面倒くさいです
362Now_loading...774KB:2011/08/14(日) 07:11:39.40 ID:r2Gg17Wr
>>358
EFでどういう計算してるかわからんけど、
マウスダウンポイントからマウスが動いたxy分、
インスタンスの初期xy値に足せばズレるはずがないと思うんだが・・・
363Now_loading...774KB:2011/08/14(日) 08:20:31.00 ID:pbhSgdYi
>>361
俺も2.0の頃はしてなかって3.0に移行した時にクソめんどかったけど、慣れればわかりやすいしいい感じ
364Now_loading...774KB:2011/08/15(月) 15:27:56.51 ID:N/IerK66
WIIN CS4 です
ドラッグ出来る親ムービークリップの中に
縦横10個ずつムービークリップをタイル上に番号を付け敷き詰めています。
ステージ中央の現在、何番目のムービークリップがあるのか判定する場合
どのような方法があるでしょうか?

自分だと、As2.0の時にはセンサーのようなMCを置き、そのMCでEnterFrameで
HitTestでやっていると思うのですが、他にもっと負荷の少ない方法や
精度の高い方法があればお教え頂きたいです
365Now_loading...774KB:2011/08/15(月) 16:57:19.36 ID:fEzLS5eN
AS3,FlashCS4です。 ※文章が長くなりすいません。
fl.motion.AdjustColorとflash.filters.ColorMatrixFilterを使った
MCのHSB(HSV)色変換をしたいのですが上手くいきません。

記述は、クラスHSBtoCMF_01に必要なクラスをインポートして
var colorFilter:AdjustColor = new AdjustColor ;
var mColorMatrix:ColorMatrixFilter;
var mMatrix:Array = [];
var targetMC:MovieClip = new MovieClip ;//対象のMC
のように変数を設定しました。

ここでH,S,Bの各値をhsbH,hsbS,hsbBで指定し、HSBtoCMF_01で
colorFilter.hue = Math.floor(hsbH);//整数化(-180〜180)
colorFilter.saturation = Math.floor(hsbS*200-100);// 整数の-100〜100
colorFilter.brightness = Math.floor(hsbB*200-100);// 整数の-100〜100
colorFilter.contrast = 0;
trace("Data= "+Math.floor(hsbH)+", "+Math.floor(hsbS*200-100)+", "+targetMC);//目的の値は出る
mMatrix = colorFilter.CalculateFinalFlatArray();
mColorMatrix = new ColorMatrixFilter(mMatrix);
targetMC.filters = [mColorMatrix];

としました。実際の利用では下のように書きました。
var cmf:MovieClip = new HSBtoCMF_01();
cmf.iroChange_byHSB();

対象のMCは最初緑色なのですが、colorFilter.hue,colorFilter.saturation,
colorFilter.brightnessで0,0,0を与えているので理想通りに動けば赤黒っぽい色
になる筈なのですが緑色のままです。
どうしたら良いでしょうか?
366Now_loading...774KB:2011/08/15(月) 17:34:28.77 ID:M3BxDpnZ
>>364
よくわからんけど、ドラッグできるMCで現在画面の中心にある子MCはどれかってこと?
enterFrameで親MCの現在座標から現在ルートの中心は親のローカル座標でどこなのかわかるから、
あとは敷き詰める式から逆算して左から何番目、上から何番目のMCがそれにあたるかを計算すればいいよ
367Now_loading...774KB:2011/08/15(月) 19:59:30.22 ID:oWtX6kqr
>>364
ルートの中心座標を(xc,yc)とすると
親MCから親ローカルの(xc-親MC.x,yc-親MC.y)がルートの中心にいることがわかる

あとは配置方法次第だけど、だいたいは幅で割ると出てくる
368Now_loading...774KB:2011/08/16(火) 01:12:59.74 ID:jsq0g86G
フラッシュ初心者です

ボタンを押して特定のフレームへジャンプする方法はわかるのですが
ボタンを押さないで特定のフレームに移動する方法がわかりません。

例:24フレーム目にくると、自動で2フレーム目に移動(そして、stop又はplay等)

初心者すぐる質問ですいません。
早急な解答をまってます。
369Now_loading...774KB:2011/08/16(火) 07:04:58.69 ID:suF4HbMw
>>368
フレームに書けばいいんじゃないかな?
370Now_loading...774KB:2011/08/16(火) 12:10:39.77 ID:xp+j5qug
flash.net.NetConnection
でサーバが死んでるのにcallし続けるとメモリが増え続ける気がします。
どうもタイムアウトがないみたいで、airだと設定できるみたいなんですが、
それ以外の場合はどうするんでしょうか?
371Now_loading...774KB:2011/08/17(水) 20:00:44.04 ID:jCLRUYqZ
クラス毎に自前でデストラクタみたいなのを作っているのですが、
関数名はrelease()とkill()とどちらの方がいいですか?
今release()でやっていますが、何か問題ありますか?
372365:2011/08/18(木) 03:04:22.51 ID:FlDhQ4xt
(自己レス)
原因が分かりました。
fl.motion.AdjustColorとflash.filters.ColorMatrixFilterを使ったMCのHSB(HSV)
色変換というのは、実際には色の移動(シフト)であり、元の色が基準になります。

colorFilter.hue,colorFilter.saturation,colorFilter.brightnessに0,0,0を与えると、
なにも移動しないので(移動度がゼロなので)何も変化しません。
というか、フィルターなので、Graphicsのような着色では無いので当たり前ですが・・・

取り敢えず色の変更は出来ましたが、colorFilter.saturation,colorFilter.brightnessと
colorFilter.contrastを100にしてhueだけを変更しましたが、どうも正しい色相環の色を
再現出来ません。

なので、このASは今後の課題として保留します。
373Now_loading...774KB:2011/08/18(木) 03:33:02.70 ID:dIphjZtv
FlashCS4のAS3(Player10)
HPに書いてあるASをコピペして実行させたところエラーが出て困っています。

ttp://ojigotts-app.zono.cc/2010/01/29/scrollpane/のコードを元にScrollPaneをステージに
addChildしようとしています。

//下はMouseEvent.CLICKで実行
var editArea:Sprite = new ScrollPaneClass();
addChild(editArea);

これだとSWFはScrollPaneClassの子である赤と黒の部分しか出ず、下記のエラーが出ます。
 TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。
at fl.containers::ScrollPane/drawBackground()

デバッグモードでプレビューしても同じで、原因箇所の行番号が分かません。
どこに原因があるのでしょうか?
374373:2011/08/18(木) 05:17:17.85 ID:dIphjZtv
(追記)
似たような記述(多分HPの元コード)を見つけました。これを元にしたASの
コンストラクタ内は下記になりましたが、これでも同じエラーが出ます。

var aSp:ScrollPane = new ScrollPane();

var box:MovieClip = new MovieClip();
drawBox(box,0xFF0000);//box内に赤い矩形を描く

aSp.source = box;//MCをソースとして利用
aSp.setSize(150, 200);
aSp.move(100, 100);

addChild(aSp);//Sprite内にScrollPaneを設置

function drawBox(box:MovieClip,color:uint):void {//矩形を描く関数
box.graphics.beginFill(color, 1);
box.graphics.drawRect(0, 0, 150, 300);
box.graphics.endFill();
}

原因が全く分かりません。
375Now_loading...774KB:2011/08/18(木) 13:02:45.19 ID:Ean+uDzo
すごい初歩的な質問かもしれないけど…、AS2で、音の管理について質問。
例えば「A.wav」「B.wav」「C.wav」の3つのファイルがあったとして、
それぞれ別個に音量や再生の管理をしたい場合ってどうすればいいの?

音は1つのムービークリップに対して1つまでしか設定できないって読んだんだけど、
ムービークリップを3つ用意してそれぞれに対応する音を設定していくしかないの?
376Now_loading...774KB:2011/08/18(木) 13:24:03.21 ID:27VEXP3P
>>375
今どうやって鳴らしてるか知らないけど、wavならライブラリに読み込んでリンケージ名付けておく。
で、Soundクラスに読み込んでおいて鳴らしたい時にstartすればいいんじゃない?

//リンケージ名「SE1」の場合
var se1:Sound = new Sound();
se1.attachSound("SE1");
se1.start();
377375:2011/08/18(木) 15:58:24.72 ID:Ean+uDzo
>>376
返事どうもです。
今は以下のように書いてるんですが、この場合se1のボリュームだけをいじってるつもりなのに、
se2のボリュームまで変わってしまうんです。

ちょっと質問が変わりますが、それぞれ個別にボリュームを設定するにはどうしたらいいんでしょう?

onClipEvent( load ){
  var se1 = new Sound(this);
  se1.attachSound( "se1" );

  var se2 = new Sound(this);
  se2.attachSound( "se2" );

  se1.setVolume(50);
}

//↓それぞれ任意の場所で
se1.start();
se2.start();

それと、>>376のソースの1行目にある「:Sound」ってなんでしょうか?
378Now_loading...774KB:2011/08/18(木) 16:01:56.16 ID:IuyVo1CA
>>377
たしか、ボリュームはMCごとの管理だから
複数MC用意して、それぞれにサウンドオブジェクトを割り当てるしか
なかったと思う
うろ覚えなので、間違ってたらすまん
379Now_loading...774KB:2011/08/18(木) 17:50:49.24 ID:27VEXP3P
>>377
>>378の言うとおり。こんな感じ。

//サウンド管理用MC2つ準備
var soundMC1:MovieClip = createEmptyMovieClip("soundMC1",this.getNextHighestDepth());
var soundMC2:MovieClip = createEmptyMovieClip("soundMC2",this.getNextHighestDepth());
//ひとつめの効果音
soundMC1.se = new Sound(soundMC1);
soundMC1.se.attachSound("SE1");
//ふたつめの効果音
soundMC2.se = new Sound(soundMC2);
soundMC2.se.attachSound("SE2");
soundMC2.se.setVolume(10);

あとはstartでいけんじゃない?
「:Sound」とかは型宣言。やっとくとコード入力する時に楽だから付けてる。使わないなら無くてもいいんじゃない?
380373&374:2011/08/18(木) 18:53:59.70 ID:CWhZ5+0I
(追記)
更に検証したところ、どうやらScrollPaneをaddChildするときにエラーになっているようです。
しかし、addChild(aSp);の代わりの trace("aSp= "+aSp+", "+aSp.source); では正しく参照できます。

aSp.addEventListener(Event.COMPLETE, completeHandler);を使おうと思いましたが、外部ファイルを
読み込む訳でも無いので止めました。

どなたかアドバイス下さい。
381373&374:2011/08/18(木) 19:12:51.49 ID:CWhZ5+0I
(自己解決しました)
CSシリーズでは、使用するコンポーネントを予めFlaのライブラリに
登録しておくことを忘れていました。
382Now_loading...774KB:2011/08/19(金) 03:41:08.13 ID:LghYlJzO
SharedObjectについてなんですけど、セーブ時にflush()を行っているのですが、
セーブ後にブラウザを閉じるとセーブされていない、ということがあるようなんです。
それまでのセーブは出来ていて、ブラウザを閉じる前の最後のセーブが出来ていない、
という感じです。
原因や対策方法など分かる方いらっしゃいますでしょうか?
AS3です。
383Now_loading...774KB:2011/08/19(金) 08:45:07.60 ID:ZkPCe8/e
最後のセーブの後に何かの処理が干渉してるっぽいな
ロードやセーブの度にSharedObjectをnullして参照を断てばおk

ロード、セーブボタンをクリック もしくは何かのタイミングで

SharedObjectをnew ロードやセーブ処理行う

実行後SharedObjectをnull  セーブ処理をクラスにしてる場合は
「クラス内の全部のメンバ変数(リファレンス変数だけで可)をnullにするリムーブメソッドみたいなの」
を実行してから最後にインスタンス自体をnull
384Now_loading...774KB:2011/08/19(金) 11:48:40.04 ID:/i+O2oUp
>>383
ありがとうございます、やってみます。

385Now_loading...774KB:2011/08/19(金) 16:03:11.41 ID:LsZrGFs0
プログラマーってみんな一日に12時間ぐらい働いてるの?
386Now_loading...774KB:2011/08/19(金) 16:57:14.46 ID:ZkPCe8/e
単純なint型数値の比較で
ifよりも switchが速い事を確認できるサンプルコードがありましたら教えて下さい
もしくは作ってもらえませんかw
387Now_loading...774KB:2011/08/19(金) 18:50:14.77 ID:ZkPCe8/e
時間ができたのでやってみました 自分で振っておいてすんません

60fpsにして10個の判定をforで3億5千万回処理 forの処理の前後のフレームでData().timeのミリ秒計測 
処理無し   2102, 2779, 2084    2秒ちょっと
if文 else有り 61805, 61807, 61934  61秒後半
if文 else無し 62594, 62612, 62699  62.5秒ちょい
switch文   60742, 60754, 60800  60秒後半

やっぱswitchが速いですな もっと判定が多かったり非力なマシンだと差が顕著に出るのかも
388Now_loading...774KB:2011/08/19(金) 21:11:11.51 ID:BEDCeipA
ふーん。
switchのほうがはやいなんて初めて聞いたわ

==しかないときはそっちのほうがいいってことかね
389Now_loading...774KB:2011/08/19(金) 22:51:59.96 ID:4qhkJuGD
FLASHを一切触ったことがないプログラマーです。
Box2DFlashAS3ライブラリを利用して今回Android向けの
アプリケーションを作成することになりました。

開発環境についての質問なのですが、Adobeのどの製品を
買えばよいか教えてください。

下記2候補を考えてます。全ての機能を網羅している
開発環境はどちらなのでしょうか?

Adobe Flash Builder 4.5 Premium
Adobe Flash Professional CS5.5

Androidアプリの利用はAir形式で出力して利用予定です。
390Now_loading...774KB:2011/08/20(土) 05:28:25.77 ID:318lZkzV
外部の画像を読み込んで表示させるswfを作っています。
ここまでできましたが同じ階層に3つの画像の有無を
(優先順位aaa.png→ bbb.png→ccc.png)順番にチェックして
あるものを1つ表示させたいです。
loadMovie(aaa.png,_root);
loadMovie(bbb.png,_root);
loadMovie(ccc.png,_root);

これだと、aがあってもcが無いのでなにも表示されませんでした。
どうやって条件分岐したらよいのでしょうか・・
391Now_loading...774KB:2011/08/20(土) 08:13:35.03 ID:bQ2K9enm
_rootを見てやっと2.0の話だな、と思ってゆっくりスレを閉じます
392389:2011/08/20(土) 08:25:30.90 ID:4p6xOqfz
公式に書いてたわ
BuilderとProfessional両方いるんだな。
次はFLEXを買う必要があるか検討してみる

Flash Builder、Flash ProfessionalおよびFlexの違いは何ですか?
Flash Builder:Flash Builderは、FlexおよびActionScriptアプリケーションデベロッパー用の
、Eclipseベースの生産性ツールです。Flash Builderを使用すると、デベロッパーは、
インテリジェントなコーディング、インタラクティブなステップスルーデバッグ、メモリおよび
パフォーマンスのプロファイリング、ユーザーインターフェイスレイアウトの視覚的な
デザインなどの機能を使用して、アプリケーションをよりすばやく構築、テストおよび
最適化することができます。

Flash Professional:Flash Professionalは、クリエイティブなプロフェッショナルがWeb
サイトにインタラクティビティを追加するために使用される、アニメーション化されたSWF
およびFLVコンテンツを作成するための、タイムラインベースの生産性ツールです。
Flash Professionalには、基本的なActionScript編集のためのActionScriptエディターが
含まれていますが、高度なActionScript編集を行う場合、大半のActionScriptデベロッパー
はFlash Builderを使用しています。カスタムFlexコンポーネントは、Flash Professionalを
使用して作成し、Flash Builderに読み込むことができます。

Flexフレームワーク:Flexは、アプリケーションを作成するために使用する、基礎になる
オープンソースのフレームワークです。Flexフレームワークは、モバイル、Web、
デスクトップ用の表現豊かなアプリケーションを迅速に開発するために必要な、
宣言型言語、アプリケーションサービス、コンポーネント、データ接続を提供します。
特定のニーズに合わせてFlexを拡張、改良したり、オープンソースFlex SDKプロジェクトを
通じてFlexの進化に貢献したりすることができます。Flexアプリケーションの作成には
Flexフレームワークしか使用することができませんが、ほとんどデベロッパーは、
アプリケーションの開発を迅速に進めるためにFlash Builderを使用しています。
393Now_loading...774KB:2011/08/20(土) 08:35:33.43 ID:bQ2K9enm
始めてならFlex SDK(無理)とFlash Develope(無料)で十分できると思うよ。
Box2Dならビジュアル面は画像を読み込んで適用するだけだし

まあ仕事で買ってくれるんならどっちも買ってもらうか、PSとかAiのパックで両方入ってるのにすれば?
394389:2011/08/20(土) 09:03:21.44 ID:4p6xOqfz
PSとかAiとかプレミアムスイートとか、まったくよく判らない
造語で俺を惑わせようとするAdobe本当に大嫌いだわ

とりあえず両方入ってる中で一番安そうな
Adobe Creative Suite 5.5 Web Premium 買うことにした
395Now_loading...774KB:2011/08/20(土) 09:49:42.19 ID:dFAL/USY
torrentでごにょごにょするとただで手に入る
ただしなんで英語版使ってるのかって聞かれた時の答えを考えとかなきゃいけない
396Now_loading...774KB:2011/08/20(土) 10:38:12.91 ID:x/+ixFdl
AndroidアプリはCS5.5だけで全然おk

>>390
チェックしたいなら入れ物用のMCを用意してその中に読み込まなきゃだめだ
空のMCを複数配置して全部にインスタンス名を付けておく で読み込んだ後そのインスタンス名でアクセスだ
mc1 〜 mc3まであるなら全部消してから任意のMCを表示
条件判定のif とか 表示非表示の_visible とかはハクヒンさんとこででも勉強してくれ
397Now_loading...774KB:2011/08/20(土) 14:55:04.26 ID:Mul6EP4U
>>395
消え失せろ
398Now_loading...774KB:2011/08/20(土) 23:17:11.62 ID:qowVSgjA
CS5 AS3
タイマークラスで、途中に間隔を変える方法を教えてください。
var time:Timer=new Timer(1000,12);
のとき、偶数回数のときは、間隔を1000から3000にしたいのです。
よろしくお願いします。
399Now_loading...774KB:2011/08/20(土) 23:56:59.85 ID:F5+fUV3P
400Now_loading...774KB:2011/08/21(日) 00:21:27.02 ID:87JSTFmf
そこは見ていましたが理解できませんでした。
401Now_loading...774KB:2011/08/21(日) 08:55:49.93 ID:OI8A74al
理解しろw ディレイタイムは途中で変更不可なんだろ stop()してnewし直すしかない
402Now_loading...774KB:2011/08/21(日) 10:20:46.39 ID:2axCboSs
フラッシュのプログラミングってイベント地獄なんだけど、
他のwindowsのプルグラム言語もみんなこんな感じなの?
応用が利かないなら他のJavaScriptとかに移行しようかとかんがえてる。
403Now_loading...774KB:2011/08/21(日) 11:54:08.69 ID:B1UVdH6f
まずASはWindowsのプログラミング言語ではないが…
イベント駆動が嫌なら、昔ながらのBASICとか?
まぁこっちはこっちでGOTO地獄が待ってるけど
404Now_loading...774KB:2011/08/21(日) 13:41:39.05 ID:FnwsfCax
イベント地獄が嫌ならどういうのならいいんだ
405Now_loading...774KB:2011/08/21(日) 15:33:49.11 ID:jtwqIZhb
超根本的な質問だけど、AS3.0の利点って何?

いまAS2.0でゲームを1つ完成させた所なんだけど、2作目を引き続き2.0で作ろうか3.0勉強しようか迷ってる。
まだAS2.0すら習得しきれてない状態だから、むしろ変なクセが付かないうちに3.0に行った方がいいのかなとか。

趣味で作ってるだけだから、3.0に移行しなくても全然問題ないんだけど。
例えば3.0だと断然こういう点が優れてるよ、3.0勉強する価値あるよとか、その辺教えてくれないか?
406Now_loading...774KB:2011/08/21(日) 16:02:53.37 ID:VB/T3qHu
軽い。機能豊富。ライブラリ多い。
407Now_loading...774KB:2011/08/21(日) 17:32:05.26 ID:N8JGEZnb
>>405
>>406の言うとおり

処理が速いうえに、3.0じゃないと使えないライブラリ、機能等があるから
3.0に移行したほうが断然いいよ
質問するにしても、2.0に詳しい人はどんどん減っていくだろう
参考になる書籍やソースも3.0、新機能も3.0ばかりになっていく
結果的として、3.0のほうが作業も速く、完成も早くなる
408Now_loading...774KB:2011/08/21(日) 17:50:34.58 ID:OI8A74al
AS3だとAIR2.6のAIRアプリが作れる
AIRアプリが作れるとAndroidアプリやiPhone/iPad/iPod touchアプリも作れる
409Now_loading...774KB:2011/08/21(日) 22:49:13.42 ID:2axCboSs
今のプログラミングってみんなAS3みたいにイベント駆動なんですか?cとかも?
410Now_loading...774KB:2011/08/21(日) 23:22:15.99 ID:f6fKF+PS
操作に応じて処理切り替えたいなら、イベント駆動になるわなあ。どの言語だろうが。
411Now_loading...774KB:2011/08/22(月) 10:18:25.03 ID:roXJ1hkg
イベントをリスナー登録してる全てのオブジェクトに一度に送出する機能が欲しい。
dispatchEventToAllみたいな。
412Now_loading...774KB:2011/08/22(月) 10:46:32.45 ID:rhvnFsmk
意味わかんね。
addEventListenerしときゃ登録したもの全部に届くだろうに。
それ根本的に使い方間違ってるのに文句言ってない?
413Now_loading...774KB:2011/08/22(月) 11:13:12.17 ID:roXJ1hkg
間違ってるのかな?
親子関係にないオブジェクトだと自分に直接addEventListenerを使った場合、
そいつに直接dispatchEventしないとリスナー関数が実行されないから、送出する対象がたくさんいる場合に面倒に感じるんだよね。
イベントごとにリスナーのリスト作ってループかければ済む話なんだけど。
それとも「自分に直接addEventListenerを使う」って所からして使い方間違ってるのか
414Now_loading...774KB:2011/08/22(月) 11:29:58.52 ID:rhvnFsmk
さっぱりわからん
自分自身でも関係無いし
イベントリスナーってそもそも「リスナーのリスト」を自動管理する仕組みだし
415Now_loading...774KB:2011/08/22(月) 11:39:48.05 ID:Jw3i0/0a
確かに意味わからんな

マウスイベントだと、クリックした部分ととその親の他にマウスイベント登録した全部のとこにいかせたいの?

確かにカスタムイベントをABCに登録して、AにdispatchしてもBCは受け取らないな
これをいっぺんにやりたいのかな?
416Now_loading...774KB:2011/08/22(月) 12:07:20.84 ID:rhvnFsmk
ますますよくわからん
カスタムだろうとなんだろうと、登録しておきゃdispatcで通知されるでしょ。

//とりあえず3つリスナー
function funcA(e:Event):void{trace("funcA",e.type)}
function funcB(e:Event):void{trace("funcB",e.type)}
function funcC(e:Event):void{trace("funcC",e.type)}

//hogeイベントに3つ登録
addEventListener("hoge",funcA);
addEventListener("hoge",funcB);
addEventListener("hoge",funcC);
//piyoイベントに2つ登録
addEventListener("piyo",funcA);
addEventListener("piyo",funcC);

//hogeイベントとpiyoイベント発生。それぞれ登録したもの全部が実行される
dispatchEvent(new Event("hoge"));
dispatchEvent(new Event("piyo"));
417Now_loading...774KB:2011/08/22(月) 15:07:27.65 ID:w1dnXoER
>>409
UIがあるやつは、ほぼイベント駆動だとおもうが。
CとかJavaとか言語は関係ないぞ。
プログラミングの手法のひとつってだけ。
418Now_loading...774KB:2011/08/22(月) 15:09:18.86 ID:Zqv7xyQV
CS4でAS3,WinXPですが、ASで定義した関数が参照できません。
public class Test01 extends MovieClip (Test01クラス)で、関数をdraw_graph(iro:int)
としました(引数は色)。

Test01クラスはnewされたときに名前を test.name = "test01"として、rootの配列objListに
root.objList.push({mc:test, name:test.name}); で格納しました。
このとき、draw_graphは正しく実行されています。

別のオブジェクトからインスタンスは格納先のroot.objList[i].mcで参照できたのですが、
この関数root.objList[i].mc.draw_graph(iro) は
 Error #1069: Test01 にプロパティ draw_graph が見つからず、デフォルト値もありません。

となって参照できません。 Test01にはintA = 100という変数も入れていますが、これも
参照できません?

どうすべきでしょうか?
419Now_loading...774KB:2011/08/22(月) 15:19:17.69 ID:5NYCzo0P
>>418
draw_graphがprivate関数とかいうオチでは?
420418:2011/08/22(月) 15:26:27.23 ID:Zqv7xyQV
>>419
イエス

またやってもうた・・・
421Now_loading...774KB:2011/08/22(月) 17:56:57.62 ID:Jw3i0/0a
>>416
そういう意味じゃなく、ターゲットが3つってことだ
ABCとオブジェクトが3つあったとき、ABC全部にディスパッチしないとダメだろこれを一回でやりたいんじゃない?
422Now_loading...774KB:2011/08/22(月) 19:46:20.57 ID:rhvnFsmk
意味わかんないんだけどあんたらのいう「ディスパッチ」ってaddEventListenerの事?
423Now_loading...774KB:2011/08/22(月) 19:47:10.89 ID:rhvnFsmk
だとしたらそんなもん全部登録してくれとしか言えないでしょ。
どうやって自動で判別すんの?
424Now_loading...774KB:2011/08/22(月) 19:51:10.04 ID:rhvnFsmk
親子関係とかカスタムがどうのこうのとかいう話全然意味ないしまじで意味わからんよ。
お好きにどうぞ、って感じだわもう。
425Now_loading...774KB:2011/08/22(月) 22:19:14.99 ID:Jw3i0/0a
>>424
ディスパッチって聞いて分からんやつには意味わからんだろうな…
426Now_loading...774KB:2011/08/22(月) 22:29:35.85 ID:Jw3i0/0a
と思ったら普通に使ってんじゃねえか


function funcA(e:Event):void{trace("funcA",e.type)}

a.addEventListener("hoge",funcA);
b.addEventListener("hoge",funcA);
c.addEventListener("hoge",funcA);

a.dispatchEvent(new Event("hoge"));
これだとaにしかいないから、同じ"hoge"イベントを登録してあるオブジェクト全部に一気にイベント送信したい
って意味じゃない?
427Now_loading...774KB:2011/08/23(火) 07:38:36.21 ID:6WynXvrs
as3マスターできたらプログラマを名乗っても大丈夫ですか?
428Now_loading...774KB:2011/08/23(火) 08:26:42.14 ID:zPYjeyAR
>>396
からっぽの各MCの中へ画像をLoadMovieした後、
画像の有無をIF条件でチェックし結果で_visibleを変えました。

発想を求めていたのであとは検索して無事解決できました。
よいヒントありがとうございました。
429413:2011/08/23(火) 11:04:10.13 ID:OA1PATP/
自分がやりたかったことは>>421>>426みたいなことね。

この場合だったら、hogeっていうイベントをブロードキャストするfooってオブジェクトを作って、そのfooにa,b,cの3つがリスナー登録すれば
fooひとつにdispatchEventを使うだけでa,b,cに一斉送信されることに気付いたんだけど本来こういう使い方をするものだったんだよね?
430Now_loading...774KB:2011/08/23(火) 15:17:34.34 ID:ItX00WD+
質問です。
親親親親子というような構造で、子のムービークリップのフレームに
EnterFrameで例えば左右に動くスクリプトを書く場合と
親(root)のフレームに子を動かすスクリプトを書いて動かす場合では
CPU負荷的で差がでることってありますか?

低負荷に作りたいので、どこに書けば一番効率が良いのかわからないでいます
431Now_loading...774KB:2011/08/23(火) 18:20:51.04 ID:8IiJHYoW
>>430
a.b.c.dで
dにaddEしてthis.x=

aにaddEしthis.b.c.d.x=
ってこと?
変わらないと思うけど、後者はパス辿るぶんの何かがありそうだな


ちなみにENTER_FRAMEはまとめたほうが明らかに速いらしいよ
たくさんある場合だろうけど
432Now_loading...774KB:2011/08/24(水) 22:53:38.21 ID:msuK+u8y
var vec:Vector.<String> = Vector.<String>([
["A", "B", "C"], ["D", "E", "F"], ["G", "H", "I"]
]);
trace(vec[1]);//D,E,F
trace(vec[1][1]);//E と出したいけどでない。

var vec:Vector.<Vector.<String>> = Vector.<Vector.<String>>([
["A", "B", "C"], ["D", "E", "F"], ["G", "H", "I"]
]);
trace(vec[1][1]);//多次元配列にしたらいけるやろーと思ったけど、出ない。

誰か教えてくれ ( >_< )
433Now_loading...774KB:2011/08/24(水) 23:03:42.67 ID:3tUOxtf7
var vec:Vector.<Array> = Vector.<Array>([
["A", "B", "C"], ["D", "E", "F"], ["G", "H", "I"]
]);
434Now_loading...774KB:2011/08/25(木) 00:06:32.66 ID:qEOQDXNC
var vec:Vector.<Vector.<String>>でいいじゃん
同時に初期化?むり
var vec1:Vector.<String>=Vector.<String>(["A","B","C"]);
var vec2:Vector.<String>=Vector.<String>(["D","E","F"]);
var vec3:Vector.<String>=Vector.<String>(["G","H","I"]);
var vec:Vector.<Vector.<String>>=Vector.<Vector.<String>>([vec1,vec2,vec3]);
435Now_loading...774KB:2011/08/25(木) 02:40:46.26 ID:K3Ge8cwG
【環境】
flashlite1.1 CS3 Windows7 エミュレータ:Device CentralCS3

switch文を使用時にムービークリップ間の変数の受け渡しが
うまくいかないので詰まっています。

共にメインのタイムラインrootが親
-------------------------------
インスタンス名:eng_mc
D = FSCommand2("GetDateDay");
kinou = D -1;
../N_mc/:num = kinou;
-------------------------------
インスタンス名:N_mc
stop();
switch(num){
case "0":
gotoAndPlay(1);
break;
case "1":
gotoAndPlay(2);
break;
(省略)
}
N_mcに変数名:numでダイナミックテキストを配置したところ
eng_mcで取得した変数の値を正しく表示しました。
メインタイムライン上でならswich文もうまくいくのですが、
別ムービークリップになると、switch文だけ取得がうまくいっていないみたいな感じです。
一体何が問題なのか見当もつかず…ご教授お願いいたします。
436Now_loading...774KB:2011/08/25(木) 03:22:32.45 ID:qEOQDXNC
switchが問題なの?
switch直前に値を読んで取れてないんだったらパスが違うとかじゃない?
取れてたらLite1.1のswitchがおかしいかと

kinouは-1してるからnumは数値だとおもうけど、switch分で文字列と比較してるように見えるのは関係ない?
437Now_loading...774KB:2011/08/25(木) 10:54:18.26 ID:KctooOkQ
メソッドが1つも宣言されてないインターフェースIHogeがあったとして、
IHogeを実装してないクラスのインスタンスをIHogeに強制変換したいのですが、できません。
これを可能にする方法はありませんか?

なぜこんな方法を探しているのかというと、xとyの両プロパティを持つオブジェクト2つを引数に受けてその2点間の距離を返すメソッドが作りたいのですが、
xとyを持つクラスはDisplayObject、Point、Rectangle・・と色々あるので
各クラスを必要に応じてIHoge化する方法が必要なんです。(IHogeを実装するためだけにサブクラスを作るのも効率が悪いと思うので)
438Now_loading...774KB:2011/08/25(木) 11:26:27.56 ID:nzqvgy6X
インターフェース型の変数に普通にキャストして代入すりゃできんじゃない?
でもそれインターフェースの意味まったく無いバカみたいな使い方だから全然意味ないけど。
IHogeがx、yプロパティ持ってること補償してるわけじゃないから結局どこかでチェック入れなきゃなんない。
439Now_loading...774KB:2011/08/25(木) 11:41:47.37 ID:KctooOkQ
位置を表すxとyを持っているクラスにしかIHogeを実装も強制変換もしないと自分で決めていてもこの使い方はおかしいのでしょうか。
ではIHoge型を引数に指定しているメソッドではかわりにObject型を指定してxとyを持っているか判定を取るのがいいということですか?
440Now_loading...774KB:2011/08/25(木) 11:56:32.68 ID:nzqvgy6X
「自分で決めてるからOK」と決めてるならそもそもインターフェース使う意味無いじゃん。
なんかOOPがんばって使おうとしていろいろ基本的な考えがおかしくなってんじゃないの。

ASはオーバーロード基本的にできないし、判定式を関数の中にでも入れておくのがベターなんじゃないかな。
441Now_loading...774KB:2011/08/25(木) 11:57:25.85 ID:qEOQDXNC
素直に引数をDisplayObjectにして
カスタムクラスはDO継承したら?
442Now_loading...774KB:2011/08/25(木) 12:37:08.60 ID:nzqvgy6X
>>441
DisplayObject以外も使いたいらしいよ。Pointとか。
すげーいいかげんなチェックだけどこんなイメージなんじゃない?

function getDistanceFromObj(a:*,b:*):Number{
var num:Number = NaN;
try{
var dx:Number = a.x-b.x;
var dy:Number = a.y-b.y;
num = Math.sqrt(dx*dx+dy*dy);
}
catch(err:Error){
trace("aかbのx,y無いです"); //,err);
}
return num;
}

trace(getDistanceFromObj(new Point(0,3),new Point(4,0)));
trace(getDistanceFromObj(new MovieClip(),{x:10,y:20}));
trace(getDistanceFromObj(new Sound(),new XML()));

なんの保証もしてないIHoge型とかいうの使ってもx,y無いのにアクセスしたら止まるから結局判定しなきゃならんし。
443Now_loading...774KB:2011/08/25(木) 14:18:51.67 ID:qfsmvIVO
Win7 FlashCS5 AS3.0

アクションフレームの1フレーム目に下記を記述しました
stage.addEventListener(KeyboardEvent.KEY_DOWN, key_down);
function key_down(event:KeyboardEvent):Void {
if (event.keyCode == Keyboard.RIGHT) {
nextFrame();
}
}

実行すると、以下のエラーが出ています
シーン=シーン 1, layer=イベントリスナー, frame=1、行 2 クラスまたはインターフェイス 'KeyboardEvent' をロードできませんでした。

何がいけないですかね?
444Now_loading...774KB:2011/08/25(木) 14:34:21.50 ID:nWDsXT/B
AS4.0っていつでんの? as2.0からの時みたいに色々変わるんだったら
javaとおんなじ仕様にでもする変更のほうがいいのに。
まあ、java覚えるのが面倒なだけだけどw
445Now_loading...774KB:2011/08/25(木) 16:56:38.89 ID:e2vy4B8y
>>433 >>434
ありがとうございます!

Vector.<Array> Arrayは思いつかんかった。

>>434さんの方法は知ってたけど、
仕込みの文字が多すぎるから別の方法を探してたんです。(´・ω・`)

Vectorの恩恵を十分に受けるにはそっちのがいいんだろうけど。
446Now_loading...774KB:2011/08/25(木) 17:09:01.81 ID:NgzjVH2O
>>443
多分、パブリッシュ設定がAS2.0になっている
さらに、3.0にすると「Void」だとエラー出るんじゃね?
447Now_loading...774KB:2011/08/25(木) 18:25:25.01 ID:qEOQDXNC
>>445
恩恵も何もArrayでやったらまったくの無意味だろ
それなら二次元Arrayのほうがマシだわ
448Now_loading...774KB:2011/08/25(木) 18:32:54.77 ID:qfsmvIVO
>>446
その通りでした
ありがとうございました
449Now_loading...774KB:2011/08/25(木) 19:44:08.10 ID:qEOQDXNC
そもそもPointクラスのxyとDisplayObjectのxyを比べようと思うのが間違いだと思うの
450Now_loading...774KB:2011/08/25(木) 20:22:45.54 ID:1LLH7JOG
そだね。本来ならきちんとカスタムクラス作るのが楽だと思うよ。
あの関数実行時エラー待ちだしね。
451435:2011/08/25(木) 20:22:48.21 ID:K3Ge8cwG
>>436
遅レスになってしまってすいません。
無事に変数の受け渡しがうまくいきました!
ありがとうございます!

switch分で文字列と比較してる事が原因でした。
数値での比較にしたらあっさりと。
メインタイムライン上だと問題なく動いたので
てっきりパスかFlasilite特有の問題かと思っていて
盲点でした…
452Now_loading...774KB:2011/08/25(木) 20:26:18.85 ID:XAFbEbSz
引数はオブジェクトじゃなきゃいかんのか?
function getDistance(x1:Number, y1:Number, x2:Number, y2:Number):Number{}じゃダメなの?
453Now_loading...774KB:2011/08/25(木) 20:49:03.57 ID:KctooOkQ
>>440
そうですね。無理にオブジェクト指向的な考え方をしようとしておかしなやり方をしていました。
バカの私には向いていないことに気付きませんでした。

>>449
確かに、同じ名前のプロパティであっても同じ物を表しているとは限りませんよね。
インターフェースの使い方ともども根本的に間違えていました。

>>452
xとyを持ったオブジェクトごと引数に渡す方法しか考えていませんでした。
確かにその方法ならクラスに関係なく距離が測れますね。
ありがとうございました。
454Now_loading...774KB:2011/08/27(土) 11:53:21.98 ID:JanN5lB0
外部swfを読み込んで表示させるのってやっぱり普通にmovieclipをaddchildするより重いの?
ゲームとかでインタフェースとかゲームのキャラとかグラフィック関係を
全部外部swfにして作ろうと思ってるんだけど無謀ですか?
455Now_loading...774KB:2011/08/27(土) 12:07:51.84 ID:S8uxvmgF
ひとつにまとめたいとかそういう理由?
456Now_loading...774KB:2011/08/27(土) 13:31:47.34 ID:Hk3OyT8e
ローダーの方が全然重いはず。
子くらいならまだしも、ローダー内でまたローダー作ってとかやって、
孫swf、ひ孫swfとかやるとくっそ重くなるよ
457Now_loading...774KB:2011/08/27(土) 14:42:09.81 ID:pZS2bDXZ
>>454
自分はそうしてるよ
ゲームや再生環境にも依るだろうし自分が鈍いのかもしれないけど、
いまのところゲームとして問題になるような動作の遅延は感じない
458Now_loading...774KB:2011/08/27(土) 23:41:56.71 ID:tXq2Xf6W
a.swfからb.swfを呼び出しています。
a.swfの仕様は

b.swfを読み込む
a.swfのstageのonResizeでb.swfのサイズを変更する。
具体的にはb.swfの縦横比は崩さずにステージ全体にb.swfを表示します。
その際、b.swfの上下、左右は切れても(端っこが見れない)問題ありません。

つまり、b.swfがwidth:heightが4:3だった場合(この縦横比は絶対固定です)、
a.swfのstageWidth600、stageHeight200の時は
b.swfはwidth600、height450にリサイズされ、b.swfをa.swfの中心に配置、
つまりb.swfの上下125pxは見えない状況になります。

ここで、b.swf内に配置したムービークリップAを常にステージ下部に表示させたいのですが、
上のように125pxが見れない場合にどうしても見えなくなってしまいます。
今自分がどこまで表示されているのかを取得することって可能でしょうか?

a.swfはソースが見れないので、b.flaだけでどうにかする必要があります。
459Now_loading...774KB:2011/08/27(土) 23:45:57.99 ID:tXq2Xf6W
ちなみにb.swfの中で

// ↓は今ココで適当に書いたスクリプトです
stage.addEventListener(Event.RESIZE, resize);
function resize(e){
  MC_a.y = stage.stageHeight - 30;
}

みたいな事を書いてみたのですが、a.swfの縦横比が横長になると、
MC_aは見えなくなってしまいます。
stage.stageHeightはどうやらb.swfのstageHeightを取ってきているっぽいです。
a.swfのスクリプトをいじらずに、a.swfのstageHeightをどうにか取得できませんでしょうか?
460Now_loading...774KB:2011/08/28(日) 03:25:52.74 ID:XfBw/HZZ
環境はFlashCS4,AS3,WinXPです。親子関係を持つMCでのマウスイベントの
ターゲット把握が上手く出来ません。

目標は 親[ [子] [子] [子] [子] [子] ] で子のみをマウスイベント(重なった時)の
対象にしたいです。

全ての子に下の2つを試しましたが、両者共に子を一旦クリックしないと実行されません。
addEventListener(MouseEvent.MOUSE_OVER, _onMouseOver, false, 0, true);
function _onMouseOver(evt:MouseEvent) {
evt.stopPropagation();//ターゲット段階(子)でのみ動作
}//@
addEventListener(MouseEvent.ROLL_OVER, _onRollOver, false, 0, true);
function _onRollOver(evt:MouseEvent) {
evt.stopPropagation();//ターゲット段階(子)でのみ動作
}//A

どう修正したら良いでしょうか?
461Now_loading...774KB:2011/08/28(日) 03:37:23.38 ID:vu6rnhlA
>>458
Flaということは、CSシリーズか?
サイズ自体は
var loader:Loader = new Loader();
var info:LoaderInfo = loader.contentLoaderInfo;
のnfo.width;と info.height; で取得できるし、縮小したければ
event.target.content.scaleX = 0.8;
event.target.content.scaleY = 0.8;
で出来る。

それにしても読みにくいし分かり辛い文章だな・・・
「上下、左右は切れても(端っこが見れない)問題ありません」

「125pxが見れない場合にどうしても見えなくなってしまいます」
が矛盾してないか?
462Now_loading...774KB:2011/08/28(日) 17:47:31.17 ID:UDVmKQVg
>>458
parentでLoaderの外まで辿れなかったっけ?
463Now_loading...774KB:2011/08/29(月) 20:37:34.90 ID:5raEqgDS
ADDED_TO_STAGEだかいうイベントで自分がロードされたタイミングが分かるから、
そのタイミングでMovieClip(stage.getChildAt(0)).stage.stageWidth、MovieClip(stage.getChildAt(0)).stage.stageHeightで
一番親のステージサイズが取れるから、あとはbのサイズなんかからはみ出し量調べていくらでも計算してくれ
グローバル、ローカル座標使ってもいいけど
464Now_loading...774KB:2011/08/30(火) 18:21:08.18 ID:2ntVwwsp
CS4,AS3です。FLV再生で2点質問です。

Q1) 実際の再生前にメタデータを取得することは可能でしょうか?
var netStr:NetStreamを定義し、
netStr.client = new Object();
netStr.client.onMetaData = metaDataHandler;
として
function metaDataHandler(objInfo:Object):void {
for (var prop:String in objInfo){
trace(prop + ":" + objInfo[prop]);
}
}
であればPlay開始後に取得できますが、事前の取得が出来ません。


Q2) ループ再生の方法を教えて下さい。
調べたところ、ttp://web.donnatokimo.com/as3/493 とかで
netStr.addEventListener(Event.COMPLETE,replay);
function replay(evt:Event) {//event→evt:Eventとした
netStr.play();
}
がありますが、最後で止まったままです。
465Now_loading...774KB:2011/08/30(火) 19:08:18.78 ID:XFgnJG/V
onID3とかでいけたんじゃないかな。
あとflvはいろいろ形式があって、古い形式のflvや、サードパーティ製のよくわからん変換ツールで
作ったflvはcompleteイベントきちんと散れないときあったかな。
466Now_loading...774KB:2011/08/30(火) 19:11:39.37 ID:XFgnJG/V
ああ、ごめん。onID3じゃなくて、 onMetaDataか。
最近触ってないけど、そのあたりでいけないかな。
467Now_loading...774KB:2011/08/30(火) 22:45:57.07 ID:xJl4Qin5
CS5のAS3で
質問なのですが、
ステージ上にaa_mcというmcを設置していて、それを非表示にしたいのですが、

var XX:String="aa_mc";
var YY:MovieClip=XX as MovieClip;
YY.visible=false;

にするとnullにはアクセスできません。と出ます。
何か間違ってるでしょうか。
468Now_loading...774KB:2011/08/30(火) 22:56:37.70 ID:OrTmb7jh
>>467
StringをMovieClipとして扱おうとしてるから

var YY:MovieClip=this[XX] as MovieClip;
でどうだろ
469Now_loading...774KB:2011/08/31(水) 00:22:05.16 ID:Qje0NSvf
>>468
できました! ありがとうございます。
as MovieClipは前のものならなんでもMCに変換みたいに書いていたのですが違うんですね。
あと、[]がArray系のみ意味しか知りませんでした。
っていうか、「速習AS3」って本来の定義が書いてねえ。
470Now_loading...774KB:2011/08/31(水) 00:43:26.47 ID:8k6nM7CB
>>469
中身がMCを継承してるクラスであるときだけasでMCにできる

[]については『配列アクセス演算子』でflash関連の情報を探すといいかも
471464:2011/08/31(水) 11:56:33.85 ID:pvz5OGa3
>>466
どうも。
なるほど、FLVファイルは各々クセがあるんですね。

メタデータの事前取得に関しては、再生対象の縦横サイズに合わせてVideoオブジェクトの
サイズ変更が目的だったのですが、手元の本:「ActionScript 3.0辞典」(伊藤のりゆき ほか)翔泳社
のp471でそのものズバリを見つけました。

ここではローカル再生ですが、どうやらNetStatusEventのinfo.codeで判別するのが肝のようです。
(余談ですが)Video()では普通にMPEG4が再生できるんですね。テスト用MPEG4素材は
NHKクリエイティブ・ライブラリー ttp://www.nhk.or.jp/creative/ を使いました。
 ※ループ再生はまだ模索中です。
472Now_loading...774KB:2011/08/31(水) 13:11:09.77 ID:FyjcpWq8
ビデオもそうだけど、ローカル再生web上での読み込みと結果違う事あるよ。
本稼働もローカル再生ならそれでもいいけど、上げてテストしてみた方がいいよ。
473Now_loading...774KB:2011/08/31(水) 14:27:01.24 ID:hUjA5r+j
質問させていただきます

開発環境はwindiws7のFlashBuilder4.5で、テストにwindowsXPのブラウザ(Chrome,FF)
JavaのサーバーはUbuntu10.04で動かしています

AS3.0でJavaとソケット通信を行っています
AS側
受信:readUTF 送信:writeUTF

Java(DataOutputStream)側
受信:readUTF 送信:wirteUTF

使って通信しています

ですが、WindowsXP(vista,7ubuntuでは正常に動きます)でFlashを動かしたときだけreadUTFでEOFErrorが発生して通信できません

しかも最初の通信の何回かは成功して、途中で止まる状態です(javaのプロセスクラスの出力を転送しています)


どなたか原因がわかるかたいらしたら教えてください m(_ _)m
474Now_loading...774KB:2011/09/01(木) 02:15:00.36 ID:rEvQlbMi
AS3,CS4
ファイル選択ダイアログボックスでは、そのタイトルが「localhostでアップロードするファイルを
選択します」となっています。これを単に「ファイルを選択します」にすることは可能でしょうか?

現在のASを抜粋すると次のようになっています。
var fileReference:FileReference = new FileReference();

private function handleClick( evt:MouseEvent ):void {
// ファイル選択イベントのリスナ登録
fileReference.addEventListener(Event.SELECT, onSelectFile);
fileReference.browse();
}

private function onSelectFile( evt:Event ):void {
tf.text = fileReference.name; // 選択されたファイル名の表示
}

※上のASに拘りはありません。
宜しくお願い致します。
475Now_loading...774KB:2011/09/01(木) 10:52:35.57 ID:VqoCIfrp
どなたか、>>460(マウスイベントの親子関係)をお願いします。
476Now_loading...774KB:2011/09/01(木) 11:06:03.62 ID:rzthF1ks
>>475
言いたいことよくわからんからもっと詳しくするかflaあがるかしてみてよ
477Now_loading...774KB:2011/09/01(木) 11:35:20.87 ID:GDsDmN9I
>>474
確か変更できなかったと思う。
そこのメッセージは再生環境依存で、例えばブラウザ上からだと単に「開く」になるんじゃなかったかな。
478Now_loading...774KB:2011/09/01(木) 11:39:22.51 ID:GDsDmN9I
ボタンクリックしたら実行されるんなら、ボタンクリックしなきゃ実行されない場所にコード書いてるんじゃないの、としかw
479Now_loading...774KB:2011/09/01(木) 15:53:50.03 ID:/vo5PyXf
>>460
その子に対し、全部にmouseChildren=false書いてみたらどうだい
480Now_loading...774KB:2011/09/01(木) 19:59:33.11 ID:rHQKU/5k

こんにちは
ActionScript経験が浅く調べても的確なページがみつかりませんでした

Dateオブジェクト生成すると、例えば自分はwindowsを普通に使っているのでタイムゾーンが日本になります
つまりtimezoneOffsetが -540 になります

自在にロケール変更したいんですが、read onlyなのでできないですよね
まさかそんな糞言語なわけないと思うのですが、どうやってロケールを設定するんでしょうか?
-1時間して中国時間に無理やり変えても、timezoneOffsetはそのままなので吐き気がします
481Now_loading...774KB:2011/09/01(木) 20:06:27.29 ID:rHQKU/5k
ロケールというとおかしいですね
扱いたいのはタイムゾーンです
482Now_loading...774KB:2011/09/01(木) 20:27:20.45 ID:jCJhdAV4
タイムゾーンの変更はできないかな。基本、ブラウザ上で動くもんだからOSの部分に触れないようになってるし。
getUTC系で世界標準時取ってきて、そこからオフセット値の設定や差分計算するクラス作るのがいいんじゃないかな。
探せばだれか作ってるかもね。
483Now_loading...774KB:2011/09/01(木) 21:29:14.56 ID:4k+/1hFT
タイムゾーン調節の便利メソッド作ったとしても、timezoneOffsetの値を変えられないため、
その便利メソッドを2回以上通過させると漏れなくバグるんですよね

サーバーからはUTCで時間が送られてきて、
Flashでは勝手にJSTになり、
でもアプリケーションではPSTやCSTで表示したい

ハゲそうです
484Now_loading...774KB:2011/09/01(木) 21:32:09.06 ID:jCJhdAV4
2回通過させるとかよくわからんけど、UTCで送られてくる値をそのままシリアル値計算すれば済む話じゃないの?
485Now_loading...774KB:2011/09/01(木) 21:59:47.91 ID:4k+/1hFT
2回通過してはダメなので、
プログラム内で1回しか使わないことをプログラマに保障させる必要がでてきます
でもそれは規模の大きいコードだと難しいことです

サーバーから送られてくる値を、Flashは受け取った時点で自分のタイムゾーンに変換してしまいます
日本のユーザーはJSTになりますし、アメリカのユーザーはPSTになります
getTime()がUTCじゃないんですが、シリアル値で、どうにかできますか?
486Now_loading...774KB:2011/09/01(木) 22:26:38.38 ID:C5wIgnRo
>サーバーから送られてくる値を、Flashは受け取った時点で自分のタイムゾーンに変換してしまいます

ここがよくわからん。どうやって送られてくる日付値引っ張ってるの。
サーバーで管理してるUTC時間基準でいきたかったら、そのまんまDATEに変換して、
計算はシリアル値でそのままやって、表示だけ専用のオフセット関数でも作ればいい話だと思うけど。

全般的に意味がよくわからないからいざとなったらこっちで相談してみて。
http://toki.2ch.net/hage/
487Now_loading...774KB:2011/09/01(木) 22:34:44.33 ID:4k+/1hFT
サーバーからはUTCのUNIX時間がミリ秒で送られてきます

Flashでnew Date(timestamp)すると、この時点で各環境毎に時間が書き換えられるため、
日本とアメリカとではgetTime()の値が異なるんです
488Now_loading...774KB:2011/09/01(木) 22:49:20.17 ID:C5wIgnRo
なるほど。Date.UTC(サーバーから送られてくる値)だと駄目なのかいな。
489Now_loading...774KB:2011/09/02(金) 10:18:35.24 ID:sKFG0WWM
もう自力では完全に詰んだので誰か助けてくださいorz

設定の警告
symantec.
権限の無いプログラムによって一部のシマンティック製品の設定が変わりました。
これは攻撃者またはウイルスが保護を無効にしようとしたことを示す可能性があります。
問題を避けるために、設定が復帰されて以前の設定に戻り、システムが再起動します。
続行するには[OK]をクリックします。
ここをクリックするとシマンティック社の Web サイトのテクニカルサポートのページが表示されます...

1004.1 @OKボタン


の状態に陥ってしまい、
OKボタンを押しても再起動の後に同じ表示が出ます
×ボタンを押して消しても再起動が掛かってしまい同じ表示が出ます
何とかなりませんでしょうか
誰か助けてください orz
490Now_loading...774KB:2011/09/02(金) 10:40:26.46 ID:ytB5sM57
なぜこのスレで助けを求めるんだw 作業データのバックアップはとってあるんだろ?
OS再インスコしかないのかな ここへのカキコは違うPC、ケータイから? もしくはセーフモードでかい

復元ポイントからの復帰
↓ダメ
C:(システム)ドライブのバックアップからの復帰
↓バックアップとってない
作業データのバックアップ後OS再インスコ

もしくはシステム関連の他スレで聞くことをお勧めする がんがれ
491Now_loading...774KB:2011/09/02(金) 12:49:04.26 ID:J33s4f2x
ウイルススレ行くべきじゃね?
感染してるかもしれんし
492Now_loading...774KB:2011/09/02(金) 22:04:19.93 ID:pTO+x/gG
素直にテクニカルサポートに電話してやれよ
493473:2011/09/03(土) 10:34:17.69 ID:XgA5FLZ+
473ですが、自己解決しました。
どうやらreadUTFメソッドを利用していたせいでした
494Now_loading...774KB:2011/09/04(日) 20:14:09.86 ID:oyDJ19b4
インスタンスの消去についてなんですが
インスタンスAからインスタンスAを消すことはできますか?
インスタンスAからみると自分自身を消すってことです
addChildで出しているのでインスタンス名はありません
つけると処理が大変になるのでつけてません
495Now_loading...774KB:2011/09/04(日) 21:23:43.62 ID:oyDJ19b4
>>494

AS3のCS5です
496Now_loading...774KB:2011/09/04(日) 22:05:12.95 ID:G3EZsGVM
表示リストに追加されてるんだったらparent.removeChild(this)で消えるはず
497Now_loading...774KB:2011/09/04(日) 22:06:20.60 ID:7dmo5RzP
>>494
消すの意味がわからん
addChildで出すの意味がわからん
つけると大変なので〜別に大変じゃないだろ


結論から言うとできる
498Now_loading...774KB:2011/09/04(日) 22:16:55.42 ID:Xi0MBUPD
>>494
addChildできるなら、removeChildもできるだろ
消すってのが見た目だけなら、visible変えれば?

インスタンス名つける必要ないが、そもそもどこにも参照を持たせてないのか?
そのほうが処理が面倒な気がするが
499Now_loading...774KB:2011/09/04(日) 22:49:10.22 ID:oyDJ19b4
>>496

AIRにするとエラーが出力されます

>>497

removeChildしたいのですがAIRでエラーがでます

>>498

参照持たせるって意味がわからないですが上の階層からターゲットに出来なくて処理はめんどうです
500Now_loading...774KB:2011/09/04(日) 22:50:55.82 ID:7dmo5RzP
>>499
なんてエラー?
501494:2011/09/05(月) 15:59:01.22 ID:eppdkEkS
>>500

遅れましたがエラー内容はこれです

ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
at flash.display::DisplayObjectContainer/removeChild()
at waza1/ch()[waza1::frame1:17]
at flash.utils::Timer/_timerDispatch()
at flash.utils::Timer/tick()
502Now_loading...774KB:2011/09/05(月) 18:18:35.22 ID:3GcL54CY
タイマー生きててもう表示リストから消えてるのにもう一回消そうとしてんじゃないの。
イベント関係は消す前に全部止めといたほうがいいよ。
503Now_loading...774KB:2011/09/05(月) 18:35:36.03 ID:eppdkEkS
>>502

if文つかって

一度消したら変数の値を変えて2回以上ならないようにはしてます
504Now_loading...774KB:2011/09/05(月) 18:42:17.05 ID:3GcL54CY
できてないからそのエラーでてんじゃん。自分の思い込みだけでエラー無くなるなら世話無いわ。
505Now_loading...774KB:2011/09/05(月) 18:52:06.70 ID:0zmg5eRE
いいから、removeChildするタイミングでそいつに登録されてそうなイベントを「全て」リムーブしとけ
506Now_loading...774KB:2011/09/05(月) 18:52:44.29 ID:a4jVtNT1
ネットゲー作りたいんだけどサーバー側のプログラムって何で動かすのが普通なの?
Javaとか?
AS3理解してれば簡単に書けるものなの?AS3理解してないけどw
507Now_loading...774KB:2011/09/05(月) 19:06:31.68 ID:SxYT9tnZ
AS3ならPHP
508Now_loading...774KB:2011/09/05(月) 19:37:59.50 ID:NcJ82Ea8
ネットゲーじゃないけど、ネットランキング機能作った時はPerlでやったな、俺は
509Now_loading...774KB:2011/09/05(月) 19:47:34.29 ID:ZWiLd10G
AS3ならJava
510Now_loading...774KB:2011/09/05(月) 20:15:38.71 ID:J/74mYb/
Adobe Flash Builder 4.5 for PHP Premiumがあるくらいだしな
511Now_loading...774KB:2011/09/05(月) 21:59:05.67 ID:eppdkEkS
>>504

タイマーをストップさせたら出来ました

ご迷惑をおかけしました
512Now_loading...774KB:2011/09/06(火) 06:32:04.16 ID:3dwvE2j0
初歩的な質問ですいません
WinVista CS4 As3.0です。
外部テキストに msg1=メッセージその1&msg2=メッセージ2&msg3...と
5つほどメッセージを書き、フラッシュに用意した変数list1〜list5に
格納しようと思っています。

単純に外部テキストに書いた文章を表示させるところまでは出来たのですが
外部テキストに書いた変数をflashに渡すところでつまづいています。
//
System.useCodePage = true;
var url : URLRequest = new URLRequest("外部テキストUrl");
//
var url_loader : URLLoader = new URLLoader();
//
var list01:String="";
・・・・・
var list05:String="";
// ボタンが押されたときに読み込みを開始
button.addEventListener(MouseEvent.CLICK,doTxtLoader);
function doTxtLoader(e:MouseEvent):void{
url_loader.load(url);
}
url_loader.addEventListener (Event.COMPLETE,URLLoaderCompleteFunc);
function URLLoaderCompleteFunc (event : Event) {
text_field.htmlText = url_loader.data;
list01= url_loader.data.list01;←デバック時にここでエラー表示
}
よろしくお願いします
513Now_loading...774KB:2011/09/06(火) 07:32:20.28 ID:cKrWc+/r
PHPとJAVAでサーバーのスクリプト書く時の利点とかの違い教えて
どっちの言語にしても学ぶ気力だけはある(キリ
514Now_loading...774KB:2011/09/06(火) 09:14:02.38 ID:eSbft2E3
>>512

URLエンコード形式のものを読み込む場合には、
url_loader.dataFormat = URLLoaderDataFormat.VARIABLES;
が必要かな。

で、そのときは、
System.useCodePage = true;
にしないで、テキストファイルの方の形式をUTF-8にしといた方が楽かな。
テキストエディタとかで保存するときに形式を指定できると思うよ。
515Now_loading...774KB:2011/09/06(火) 09:47:14.26 ID:iMKepYb3
>>513
>どっちの言語にしても学ぶ気力だけはある(キリ
ならググッて調べる気力もあるはずだ
516Now_loading...774KB:2011/09/06(火) 10:30:40.26 ID:FUMVqVAC
エラーが出る人はエラーの名前も書こうぜ…
重要な情報なんだよこれ
517Now_loading...774KB:2011/09/06(火) 11:33:48.24 ID:NhclT2n9
これで独立できる

売るものはスマートフォンアプリ WEBサイト運営
サーバーはクラウド VPS
電話はスマートフォンSkype
オフィスは地方にプレハブ型の格安高性能オフィスを建て(300万〜500万)
レンタル自習室&シェアオフィスで収入を得ながらそこで開発する
http://tinyurl.com/43xmk7m
http://tinyurl.com/3mopkfy
518Now_loading...774KB:2011/09/06(火) 11:40:23.78 ID:pE2oJFnC
Flexを介さない場合のPHPとJavaの比較だと、
出力先がウェブブラウザ(HTML)となるなら、その目的に作られたPHPの方が簡単。
JavaにもJSPという似たようなスクリプトがあるけど、
利用するためにはアプリケーションサーバが必要になる。
このアプリケーションサーバを準備することがほとんどの場合ネックになる。
(最近はVPSサービスが安いから話は変わってきてるけど)
そういった環境面での取っつきやすさでもPHPが上。

ただ、今回はサーバサイドな訳だから、
その利点がほとんど生きない。
取っつきやすさ&試しやすさぐらいしか無いかな?

まぁActionScript3を勉強するんだったら、
AS3作成に当たっての参考元言語であるJavaのほうが理解しやすいと思うが。

俺の場合は、サーバサイドをJavaで書くから、
ちょっとした宣言の違いがこんがらがって、
イライラする場合が多い。

phpはDB周りのフレームワークを使うと簡単だけど重いから嫌い。
Javaはメモリが無いとつらいからサーバと相談と言う事になる。
519Now_loading...774KB:2011/09/06(火) 16:44:34.99 ID:3dwvE2j0
>>514
おかげさまで
url_loader.dataFormat = URLLoaderDataFormat.VARIABLES;
を使用して変数を読み込むまでは出来ました。

ところが、読み込みたい変数は日本語の文章なのですが、文字化けしてしまってます。
System.useCodePage = true; を使わなければ、記号ばかり
System.useCodePage = true; を使わなければ、ムツカシイ漢字ばかりになってしまいます

UTF-8で保存してみましたが、文字化けは相変わらずです・・
520Now_loading...774KB:2011/09/06(火) 16:46:47.73 ID:3dwvE2j0
>>514
テキストをUTF-8、System.useCodePage = true; を使わない。
で、無事きちんと日本語表示できました!!

ありがとうございました
 
521Now_loading...774KB:2011/09/06(火) 20:28:57.33 ID:NooosCQt
CS3時代の作品(Flash Player9)をCS5.5(Flash Player10.2)で動かそうとしたらワケのわかんないエラーが出て困ってます

TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。
at 作品名_fla::MainTimeline()

nullと言われてもオブジェクトはnewしたインスタンスのみです デバッガでは「この場所にはソースコードを表示できません。」と出て
ブレイクポイント入れて追っていったらnewしたインスタンス内のENTER_FRAMEイベントの1回目のメソッドの処理が終わった直後に
上記のエラーが出ます
もーまったくワケわからん 何が原因なんでしょう?
522Now_loading...774KB:2011/09/06(火) 22:26:58.81 ID:iKyuFrXi
>>521
CS3はAS3.0だっけ?
メッセージから察するに、CS3時代の古いコンポーネントがライブラリに残ってるとかかな?
たぶん現物見てみないとわからんかも。
523521:2011/09/07(水) 15:20:21.06 ID:+Yv2/xu6
自己解決しました……
原因はconstに定数じゃなく変数を代入してた事です

単純なコードで検証したらエラーは出ず中身がnullになっただけだったんですが
実際の作品では 代入した変数というのは外部から読み込んだモノだったのです
(読み込まれる前に代入されたというわけではありません varだとうまくいきます)
こんなバカなミスをする人なんか想定してなくてエラーメッセージを用意してなかったというオチのかorz
524Now_loading...774KB:2011/09/07(水) 22:34:50.02 ID:VVjgFsfY
CS4のAS3です。
この環境でMinimalComps(com.bit101.components)を使おうと
ttp://code.google.com/p/minimalcomps/downloads/detail?name=MinimalComps_0_9_10.zip&can=2&q=
よりライブラリZipをDLし、解凍後パスを設定したのですが下記のエラーが出ます。

 トランスコーディングパラメータ 'embedAsCFF' は flex2.compiler.media.FontTranscoder ではサポートされていません

MinimalCompsはAdobeの開発環境では使えないのでしょうか?
525Now_loading...774KB:2011/09/08(木) 00:22:33.81 ID:4CchZ3ei
flex sdkを入れてないとか?
526524:2011/09/08(木) 02:22:55.24 ID:oxEKVzXc
>>525
CS4上でflex sdkを動かすということ?
527Now_loading...774KB:2011/09/08(木) 02:38:54.73 ID:4CchZ3ei
いや、使ってるコンポーネントがflex2で始まってるから、flexsdkは必須なはず。
俺はFlexBuilder使いだから、CS4での設定はわからんが、
flex.swcをパスに指定するような設定がいるんじゃないかい?

528Now_loading...774KB:2011/09/08(木) 05:13:13.33 ID:d9w2RlLd
入れ子の状態のFLVでのContextMenu(コンテキストメニュー)で質問です。
(CS4,AS3.0,WinXP)

MC(mcA)内に var vidObj:Video = new Video(); による再生用オブジェクトvidObjをaddChildして
contItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, contMenu_onSelected);
mcA.contextMenu = contMenu;

によりmcAにコンテキストメニューを設定しました。つまり、vidObjの親mcAを右クリックすると
メニューが現れます。
ここまでは出来たのですが、いざメニュー選択してもコードが実行されません。

function contMenu_onSelected(evt:ContextMenuEvent):void {
trace("contexM_evt= "+evt.mouseTarget.width);// これが出ない
}

単純にマウスイベントを受け付けないだけかと思いましたが、mcAではクリックイベントの
MouseEvent.CLICKが実行されます。
何かアドバイス願います。
529Now_loading...774KB:2011/09/08(木) 08:25:54.40 ID:opEIIgDl
>>524
CFFって事は、テキスト表示するのにTLF使ってるんじゃないかな。
そうだとしたら、TLFはCS5からの機能だからCS4のコンパイラでは、コンパイルできないと思うよ。
530Now_loading...774KB:2011/09/08(木) 13:14:29.04 ID:0v5wH3nz
SWFで自身が置かれたパス(ディレクトリ)を把握するコマンド(関数?)は何でしたっけ?
AS2の時使った記憶がありますが思い出せません。
531Now_loading...774KB:2011/09/08(木) 13:44:45.59 ID:opEIIgDl
>>530
AS3.0なら、 this.loaderInfo.ur lとかかな。
532530:2011/09/08(木) 14:11:36.33 ID:0v5wH3nz
>>531
早速てんきゅう
533Now_loading...774KB:2011/09/08(木) 14:32:11.16 ID:PUSHhn8q
addChildでムービークリップをだしてmc.nameでインスタンス名?をつけたんですが
このムービークリップ内に上の階層から変数を宣言することはできますか?

var mc.var:int = 1;とやっても1084?エラーのセミコロンをつけてくださいとでました
534Now_loading...774KB:2011/09/08(木) 14:32:49.68 ID:PUSHhn8q
>>533

AS3,CS5です
535Now_loading...774KB:2011/09/08(木) 14:40:46.06 ID:5raK1xzH
>>533
>var mc.var:int

あたりまえだ。こんな書き方しない
少しは文法を学ぼう
536Now_loading...774KB:2011/09/08(木) 14:48:41.58 ID:PUSHhn8q
>>535

じゃあどうしたらいいですか?
537Now_loading...774KB:2011/09/08(木) 14:57:08.22 ID:uwKGCmQX
上の階層の意味がわからんが、addChild元のこと?
なら上からmcにアクセスして.hoge=でいけるんじゃん?
MCはダイナミッククラスだから
538533:2011/09/08(木) 18:32:45.90 ID:PUSHhn8q
>>537

こんな感じです

import flash.display.MovieClip;

var make:MovieClip = new aa();
make.x = 240;
make.y = 400;
addChild(make);
make.name = "mc1";
var mc:MovieClip = MovieClip(getChildByName("mc1"));
var mc.xx:int = 5;
539Now_loading...774KB:2011/09/08(木) 18:46:22.97 ID:w2c/ZEtS
外部swf(フレームごとに画像が並んでる)をloadmovieでmcに読み込み表示しているのですが
画像が追加されたため、さらに別のswf(追加画像が並んでいる)を読み込む必要が生じました

データとしては連続なので、本来これらを一つのmcに並べたいのですが
loadmovieでは1つのswfを1つのmcに読み込むことしかできないため
表示する画像によって追加画像のmcを表示・非表示させるなど面倒なことになっています

今後もデータが追加される可能性があるため、どうしようかと悩んでいます
どなたかご教示いただけないでしょうか?
540Now_loading...774KB:2011/09/08(木) 19:44:43.87 ID:5raK1xzH
>>538
makeって宣言してるんだから、mc1なんてnameをつける必要はないよ
makeでアクセスすればいい
getChildByName("mc1")なんてのも不要では?
それから、前のレスにあるようにMovieClipはダイナミクスクラスだから
makeにxxを勝手に定義できるが、makeのプロパティにする必要があるの?
var xx:int = 5;
でいいじゃない
どうしてもmakeのプロパティにしたいなら、aaのクラス定義で宣言しといたら?

とりあえず基本がテキトーすぎだから、基本を勉強しろって
541Now_loading...774KB:2011/09/08(木) 20:29:54.45 ID:PUSHhn8q
>>540

作ったmcは消去するので中に作りたかったんです
542Now_loading...774KB:2011/09/08(木) 21:15:44.63 ID:uwKGCmQX
>>541

よくわからんけど、やりたいことは単純にこれでできるよ

import flash.display.MovieClip;

var make:MovieClip = new aa();
make.x = 240;
make.y = 400;
addChild(make);
//make.name = "mc1";
//var mc:MovieClip = MovieClip(getChildByName("mc1"));
//var mc.xx:int = 5;
make.xx = 5;//型指定はできない
543Now_loading...774KB:2011/09/08(木) 23:04:28.94 ID:PUSHhn8q
>>542

子インスタンスになるmcにはじめからxxを定義しといて変数を変更するってことですか?
544Now_loading...774KB:2011/09/09(金) 02:41:47.03 ID:2K6kh7QD
>>543
はじめからじゃない
MovieClipはダイナミッククラスって上で何度もいってるだろ
だから、勝手にプロパティやメソッドを追加できる
詳しくはヘルプとかで、ダイナミッククラスについて読むとかして
545Now_loading...774KB:2011/09/09(金) 11:33:52.56 ID:4TQMTfnM
ワロタ
546Now_loading...774KB:2011/09/09(金) 13:33:01.34 ID:8ZWoSCP0
暗号化ライブラリの as3crypt について質問です。

暗号化処理をしようと思っているのですがちんぷんかんぷんです。

IVを自分で指定したいのですが、decryptがうまく行きません。

ライブラリの中のIVModeというクラスの中に
/**
* Optional function to force the IV value.
* Normally, an IV gets generated randomly at every encrypt() call.
* Also, use this to set the IV before calling decrypt()
* (if not set before decrypt(), the IV is read from the beginning of the stream.)
*/
とあるので、
現状ではIVはライブラリに勝手に生成されるらしいのですが、
同クラスの function set IV() に代入してもうまく行きません。
どなたか詳しいかたご教示お願いします。
547Now_loading...774KB:2011/09/09(金) 13:35:45.23 ID:8ZWoSCP0
以下は試しているサイトからの引用ソースです。
IVをどのタイミングでどういう風に設定してよいのかわかりません。 

var type:String='aes-256-cbc'; // 暗号タイプ
var key:ByteArray; // 暗号化キー

var ivval:int=1263485468;

public function encrypt( k:String, s:String):ByteArray {
var e:ByteArray = new ByteArray();
var key:ByteArray = Hex.toArray(Hex.fromString(k));
var data:ByteArray = Hex.toArray(Hex.fromString(s));
var pad:IPad = new PKCS5();
var cipher:ICipher = Crypto.getCipher(type, key, pad);
pad.setBlockSize(cipher.getBlockSize());
cipher.encrypt(data);
e.writeObject(data);
if(cipher is IVMode){
var ivmode:IVMode = cipher as IVMode;
e.writeObject(ivmode.IV);
}
e.position = 0;
return e;
}
548Now_loading...774KB:2011/09/09(金) 13:39:58.72 ID:8ZWoSCP0
複合化です。これがどこでIVを設定するのかわからないです。

public function decrypt(k:String, e:ByteArray):String {
var data:ByteArray = e.readObject();
var kdata:ByteArray = Hex.toArray(Hex.fromString(k));
var pad:IPad = new PKCS5();
var cipher:ICipher = Crypto.getCipher(type, kdata, pad);
if(cipher is IVMode){
var ivmode:IVMode = cipher as IVMode;
ivmode.IV = e.readObject();
}
cipher.decrypt(data);
return Hex.toString(Hex.fromArray(data));
}
549Now_loading...774KB:2011/09/10(土) 09:30:39.43 ID:suWwdMWn
CS5.5 にてアンドロイドアプリを作り始めています。
現在、画像をタップして、画像を動かす場合に
startDragにて動かす方法と、
タッチしているポイントにENTER_FRAMAで追従する方法。どちらにするか迷っています。

比較的重いMCを動かしたいと思っているのですが、処理的に軽いのはどちらなのでしょうか。
お教え頂ければ幸いです。
550Now_loading...774KB:2011/09/10(土) 12:06:27.83 ID:nReYafdh
ウチでもそのいわゆる「フリックスクロール」に挑戦してるよ
今のところドラッグとエンターフレーム両方使わないとだめっぽい

通常のクリック&ドラッグで「通常移動」
すばやく移動して指を放した場合「距離に応じた時間、その方向にスクロール」

PC上だとまあまあの出来なんだけどスマフォ側だとカクカクして不自然な感じでむずかしいっす!
551Now_loading...774KB:2011/09/10(土) 13:48:31.82 ID:suWwdMWn
>>550
スマホだとTweenクラスとか使ってもカクカクしちゃいますもんねぇ・・
できるだけ小数点計算とかをしないようにチマチマやってるんだけど・・
552Now_loading...774KB:2011/09/10(土) 15:04:35.41 ID:nReYafdh
そのフリック部をクラスファイルにしてるならどっかに.asファイルうpってみてよ
うpってくれたらこっちもうpるよw
553Now_loading...774KB:2011/09/10(土) 16:49:42.50 ID:suWwdMWn
>>552
技術評論社の「flashではじめるAndroidアプリ開発入門」という本に
スマホっぽい動かし方が出来るクラスが載ってる。
でも、それを実装するまでいってないんだよね〜俺wwww

技術評論社のサイトからサンプルをDLできて、その中にクラスファイルがはいってる。
ただし、DLにはユーザー名とパスが必要。
554Now_loading...774KB:2011/09/10(土) 17:48:55.42 ID:Rb5IcReQ
SharedObject(共有オブジェクト)でlocalhost内に作成したフォルダーを削除する
方法って分かりますか? (AS3,FlashCS4)

var sObject:SharedObject; で、
sObject = SharedObject.getLocal(フォルダー名+"/"+適当なSolファイル名, "/");
sObject.data.dataStr = 適当なデータ;
sObject.flush();

これでフォルダーが出来ますが、逆に削除する方法が分かりません。
555Now_loading...774KB:2011/09/10(土) 17:53:34.42 ID:suWwdMWn
>>554
フォルダーごと削除?それとも、フォルダは残して書き込んだデーターの削除?
556554:2011/09/10(土) 17:55:49.35 ID:xEnxFVkR
>>555
フォルダーごとです。
557Now_loading...774KB:2011/09/10(土) 21:56:34.41 ID:suWwdMWn
MCのフレームに、var MN:MovieClip = HogeMc;と変数を宣言しています。
カスタムクラスを作り、変数を受け取りたいのですが
パブリッシュすると
1046: 型が見つからないか、コンパイル時定数ではありません : MouseEvent。
というメッセージが出てきてしまいます。
クラス外にある変数を利用する時はどうしたらいいでしょうか?
558ラインハルト:2011/09/10(土) 22:24:11.48 ID:s34JxkKP
なんかとりあえず簡単な文法書を1冊やったほうがいいような気がする。
かくいう俺もJavaとかC#はわかるけど、ASは初めてなんだけど、割と素直に書ける感じ。
559Now_loading...774KB:2011/09/11(日) 10:17:15.64 ID:38aQvKBF
>>557
エラーが出てくれてる時はそれでググればいいんだよ
まんまググってなかったらエラー番号で
で意味を考えれば自ずとわかる
どういう理由でこのエラーがでてると思う?
560Now_loading...774KB:2011/09/11(日) 20:13:33.86 ID:AVBX17Se
>>557
ActionScript3.0エラー辞典みたいの買ってみたらどうだろうか
まぁ検索すれば大抵は出てくるけど
561Now_loading...774KB:2011/09/11(日) 20:49:59.79 ID:WrHV0vvd
AS2です。
JPEG画像ファイルを読み込んだあと、
画像ファイルの縦横のサイズを知りたいのですが
方法はないのでしょうか?

またMCにloadMovieやloadClipでロードするのですが
この際受け皿となるMCをファイルの縦横に合わせて
自動的に伸縮させるような設定はないのでしょうか?

ほとんどの教科書では受け皿となるMCとファイルサイズを
あらかじめあわせるようにと書いてありますが、
そんな手作業はできません。

よろしくお願いします。
562561:2011/09/12(月) 01:06:20.91 ID:U5GN8Wk0
自己解決しました。

受け皿のMCフレームに
onClipEvent(Data){
ルートへのパス.function名XX();
}

と書いて、データのロードが完了したことをルートの方に送ります。

ルートのほうで

function XX (){
受け皿MC._width;
受け皿MC._height;
}

と書くとなぜか画像のサイズが表示されました。
563Now_loading...774KB:2011/09/12(月) 08:27:55.22 ID:mZnM9HY8
strictとwarningをアンチェックしてコンパイルしてますが何か問題ありますか?
stcictをチェックするとコンパイルできません。
564Now_loading...774KB:2011/09/12(月) 09:42:20.29 ID:kUME3ILB
>>563
そりゃコードが間違ってるからだろ
該当箇所を直せよ
565Now_loading...774KB:2011/09/12(月) 21:03:32.93 ID:bmu4iU2F
キーコードの値からそのキーの文字を求める方法はありませんか?
566Now_loading...774KB:2011/09/12(月) 21:53:47.69 ID:Z9zsvsF1
ByteArray型オブジェクトのオブジェクトに16bit単位のバイナリデータが格納されていて、それからBitmapData型に変換したいのですが、
その場合自分でPNGやGIFのフォーマットのヘッダーを付加してして、その後にバイナリデータの値を置いて、それを読み込ませるような手間のかかる事をしなければいけないのでしょうか?

ByteArray型のオブジェクトは単純に二次元配列の値が入っています。
567Now_loading...774KB:2011/09/12(月) 21:54:19.71 ID:kUME3ILB
3.0ならString.fromCharCode(keyCode)
568Now_loading...774KB:2011/09/12(月) 22:00:22.52 ID:kUME3ILB
>>566
最初からmx.graphics.codec.PNGEncoderを使えば?
569Now_loading...774KB:2011/09/12(月) 22:12:41.05 ID:Z9zsvsF1
>>568 レスありがとうございます。
完全に自分が所望していた情報です。
ヘッダーから手書きするところでした。助かりました。
570Now_loading...774KB:2011/09/13(火) 11:45:45.61 ID:0zshwae5
XMLに記述されたアドレスから画像を読み込み、コンテンツ内で使用するという事をやっています
「読み込む画像の数」と、「読み込み終わった数」をカウントし、
全てのファイルを読み込み終わったと確認したら、実際にコンテンツがスタートする、という構造にしているのですが、ココで問題が出てきました

FlashCS3上で「ムービープレビュー(ctrl+Enter)」した場合と、HTMLに埋め込んで動作させた時には正常に動作するのですが、
CS3の「ムービーのデバッグ」と、.swfファイルを単体で開いた場合には、読み込みが途中で止まってしまい、コンテンツ始まりません

「読み込む画像の数」と、「読み込み終わった数」をtraceしてみると、
どうやら「全く同じファイル」を複数回読み込ませる場合には、初めの一度しか読み込みが終わったと認識されないようです
(LoaderInfoのEvent.completeが起こらない)
これを解決するにはどうすればいいでしょうか?

WinXP FlashCS3 AS3で製作しています
571Now_loading...774KB:2011/09/13(火) 18:31:21.78 ID:w9q8WZU8
「全く同じファイル」を数えて重複分を「読み込む画像の数」から予め引いておく、じゃダメかね?
572Now_loading...774KB:2011/09/13(火) 19:01:31.50 ID:0zshwae5
>>571
レスありがとうございます
ちょうど今現在、そういった方法の実装も考え、「全てのデータを精査しながら読み込み、その後に画像を必要とするMovieClipに振り分ける」という様に作り変えています

ところで、元々は↓を参考に、一斉にファイルの読み込みを行っていたんですが、
http://www40.atwiki.jp/spellbound/pages/310.html
上記の方法(XMLに記述した順番に読み込む)にしたら、問題自体は解決してしまいました
どうやら「同時に全く同じパスのファイルを読み込むと、先に読み終わった方しか”Event.COMPLETE”を行わない」ようですね
573Now_loading...774KB:2011/09/13(火) 19:32:08.94 ID:v2kZWzje
BulkLoadrrつかえば?
574Now_loading...774KB:2011/09/14(水) 15:48:46.25 ID:3zKvd5Up
教えてください。
on(rollOver) {
gotoAndPlay(1);
}
をおいて、gotoの先には
var id = setInterval(go, 15000);
stop();
function go() {
clearInterval(id);
play();
}
があります。
同様にボタンを複数個配置すると、15000ミリ秒どころか、0.5秒くらいしか停止してくれません。
エロい人教えてください!!
575574:2011/09/14(水) 16:01:10.42 ID:3zKvd5Up
あ、すみません。もっと妥当なスレありましたので移動します。。
576554:2011/09/14(水) 21:53:58.52 ID:x5qX6PH+
【再記】
SharedObject(共有オブジェクト)によってlocalhost内に作成したフォルダーを
削除する方法って分かりますか?

SWFのSharedObjectで作ったフォルダを丸ごと消したいです。

577Now_loading...774KB:2011/09/15(木) 00:18:45.14 ID:8Wc7Q5+J
ドラクエのような2DRPGを作っています。
マップの描写する際についてなんですが
今は1マス1マスをスプライト継承クラス化して全部addchildしてるんですが
このやり方は処理的に重いのでしょうか
でっかいbitmap1枚に切り貼りしていった方がやっぱり最適なのでしょうか

もし参考になるサイト等あればぜひ教えてください
578Now_loading...774KB:2011/09/15(木) 03:19:51.49 ID:b3XprF3b
>>577
BitmapDataを使うのが速い。
元素材の加工が必要になるかもしれんが。

ここを読んでわからんならあきらめたほうがいいぐらい、よくまとまってる。
http://sipo.jp/blog/2009/12/flashbitmapdata.html
579Now_loading...774KB:2011/09/15(木) 12:48:51.05 ID:cE4e0IWF
そこのサイトのサンプルの動きすげえな! ちょっとびっくりした
おれもシューティングや単純な絵のアクションゲームではBitmapDataを活用する事に決めたw
580Now_loading...774KB:2011/09/15(木) 19:00:07.34 ID:1ycsvQoI
flashってgpu使えないから糞
本格的なゲームは作れない
581Now_loading...774KB:2011/09/15(木) 19:12:07.44 ID:DWU2cjLQ
Molehillってもう2010に発表してたよな
582Now_loading...774KB:2011/09/15(木) 19:46:16.83 ID:8Wc7Q5+J
gpu使えないっていつのflashよ
583Now_loading...774KB:2011/09/15(木) 22:28:10.64 ID:LMbM7B2O
もうRCまで出てるのに
おっくれてるーう
584Now_loading...774KB:2011/09/16(金) 10:48:26.56 ID:l1IHSAyx
flashは普通にgpu使えないだろ
585Now_loading...774KB:2011/09/16(金) 12:25:24.49 ID:NKTTLZMG
3つ前の単語くらいググってから書き込んでくれ
586Now_loading...774KB:2011/09/16(金) 14:46:59.84 ID:oOklgogk
初歩的な質問ですいません。
Win Vista FlashCS5.5

親Mcの中で変数を定義して、親Mcの中に入れ子で子McをaddChildした場合に
親Mcで定義した変数を取りにいくのってどうすればいいのでしょうか?
587Now_loading...774KB:2011/09/16(金) 15:41:10.85 ID:SNR3WZk0
>>586
親がMovieClipだとしたら、parentで辿って変数名でアクセスする。
こんな感じ。

var mc:MovieClip = MovieClip(this.parent);
trace(mc.hoge);

こんなでもいい。

trace(MovieClip(parent).hoge);
trace((parent as MovieClip).hoge);
588Now_loading...774KB:2011/09/16(金) 18:21:46.43 ID:rcvgjAWz
階層が崩れると使えなくなっちゃうから
子を作る時に親の参照を渡すのがいいと思うけどな
589Now_loading...774KB:2011/09/18(日) 05:27:47.24 ID:l8mi4khQ
主要な場所の参照突っ込むオブジェクト作って色んなとこで共有してるな
590Now_loading...774KB:2011/09/18(日) 10:42:00.13 ID:fNf/M/1E
>>589
もうそれ静的にしたら?
591528:2011/09/19(月) 16:18:03.46 ID:QczsILXG
すいません、上記のFLVでのContextMenu(コンテキストメニュー)の質問です。
だれか分かりますか?
592Now_loading...774KB:2011/09/19(月) 17:06:11.76 ID:gO4b5JU9
「これが出ない」の意味がちょっと曖昧なんだが…
リスナー関数自体が実行されないのなら、どこかでスペルミス等の問題がある
evt.mouseTarget.widthが期待している値と異なるのなら、Video辺りの問題か、実際は仕様通りの動作であるか
はたまたそれ以外の原因がある
この程度の情報からではこれくらいしか言えないんじゃないかな
593528&591:2011/09/19(月) 17:52:16.89 ID:QczsILXG
>>592
レスどうも。
詳しい検証は再度行いますが、「これが出ない」というのはtrace出力パネルで
contexM_evt= 〜 という文字列そのものが出ないという意味です。

つまりは単なる動作確認で、trace出力自体は trace("2ちゃん") でも構いません。
取り急ぎお返事します。
594Now_loading...774KB:2011/09/19(月) 17:54:50.49 ID:gO4b5JU9
試してみたけど、動画を置いたMCにコンテキストメニュー設定して
動画上でカスタムメニュー選んでも確かにリスナーは実行されないな
ビルトインのメニューは動作するから仕様かな?
とりあえず、透明に塗ったSpriteを動画の上に重ねることで解決はできた
ただ、ContextMenuEventのmouseTargetは当然Spriteになるけど
595528&591&593:2011/09/19(月) 20:23:02.32 ID:LRP2ggxP
>>594
さっそくの検証有難う。
596528&591&593:2011/09/19(月) 22:42:08.66 ID:LRP2ggxP
>>594
検証頂いた透明Spriteの方法でOKでした。
重ねて御礼申し上げまちゅ。
597Now_loading...774KB:2011/09/20(火) 02:07:46.01 ID:JYXlu2EK
ActionScriptってバグが多いってのは事実上なんだろうか?
ちゃんと書いても予期せぬエラーとかありません?
598Now_loading...774KB:2011/09/20(火) 02:52:18.37 ID:y88jESuw
>>597
たしかにFlash Playerが抱えているバグも多いが
ちゃんと書いても動かないということはない
よってお前が悪い
599Now_loading...774KB:2011/09/20(火) 03:51:05.34 ID:JYXlu2EK
なるほど。
勉強して出直します
600Now_loading...774KB:2011/09/20(火) 09:54:46.64 ID:3J/fw+Xp
バグじゃねえの?みたいな変な仕様はときどきあるけど、書いた通りには動いてるな
まぁそんな複雑なこともしてないけど
601Now_loading...774KB:2011/09/20(火) 15:36:06.97 ID:lHvg2WS3
多分書き方の問題だと思いますけど、同じコードで機能する時としない時があるんですよね。
すごく遅くなる時とかも。

割り込み処理が上手く出来てないんでしょうね
602Now_loading...774KB:2011/09/20(火) 20:46:37.45 ID:QIaHqz1c
遅くなるのはともかく、機能しない時があるってのは十中八九作ったプログラム側の問題だと思う
603Now_loading...774KB:2011/09/21(水) 00:15:25.90 ID:GYM90OJa
FlashProCS4のAS3でTextArea(インスタンス:txtArea)にCSVから読み込んだカンマ
区切りの文字列を表示しています。
 こんな感じ:
麻生君,安倍君,福田君,田中君
70,80,50,65

表示自体は狙い通り行ったのですが、この行数の把握を txtArea.textField.numLines で
するとおかしくなってしまいます。 ※10行のデータを23行と返す。

この現象は普通のテキストファイルをTextAreaに表示した時も同じで、30行のTextを112行と
返します。 ※複数行なので txtArea.textField.multiline = true; としています。

考えられる原因は何でしょうか?

604Now_loading...774KB:2011/09/21(水) 01:49:26.94 ID:q48iVV84
numLinesって純粋なテキストデータの行数じゃなくて
TextFieldに表示できてる行数(幅が狭ければその分値も増す)だけど
その理解はおk?
605603:2011/09/21(水) 01:55:55.57 ID:RjOAVZ9q
>>604
どうも。
「幅が狭ければその分値も増す」コレ自体はそうだなあと理解しますが、
txtArea.horizontalScrollPolicy = ScrollPolicy.ON; ということで水平スクロールを
可能にしているので表示幅との関係と整合できません。

606Now_loading...774KB:2011/09/21(水) 02:32:38.06 ID:wTAJvckR
>>605
適当なので違ってたらスマン。

スクロールしようがしまいが、見えている一行の文字数を
ベースにして、その数で割った行数を返してくれてるとか?
607Now_loading...774KB:2011/09/21(水) 06:19:55.84 ID:q48iVV84
検証してないけど、その可能性が高いと思う。
TextAreaじゃなくてTextFieldだけ作って試してみれば?
608603:2011/09/21(水) 16:05:05.05 ID:s+IutUfa
>>606-607
さんきゅう。
CSでテキストフィールド(txtFd)を作ってそこに>>603の本文(14行)を入れて、
trace("行数:"+txtFd.numLines); で参照したところ、15と表示されました。
※1行多いw

私の文法自体は間違って無いようですが、やっぱりTextAreaだとおかしくなるのかも・・・
とは言っても、txtArea.textFieldでちゃんとテキストフィールドへの参照が取れているので
問題は無いと思いますが・・・ (泣

引き続きアドバイス願います。
609606:2011/09/22(木) 01:33:44.09 ID:4C7dqqAw
>>608
最後の行の改行まで入れていれば、
きっちり15行になるんじゃないかと思ったり。

諦めて文字列内の改行コードをカウントするってのも手か。
610Now_loading...774KB:2011/09/23(金) 14:34:28.75 ID:ZCNozzV9
あとは最終的に>>603がどうしたいかだな
原因をつきとめるという意味ではもう終了してると思うけど
純粋な行数をとりたいだけなら、改行コードチェックでもいいよね
611Now_loading...774KB:2011/09/24(土) 14:37:15.50 ID:hw9gAfaO
すいません、質問があります。
embedでmp3を取り込もうとしているのですが、
col: 3: Error: unsupported sampling rate (32000Hz)
と表示されてしまい、取り込めません。
周波数は固定でしっかりと44100に変換しています。
変換はituneで行いました。

環境はFDK3.3.2、Windows7、iTune10.4.1.14

もちろん、他に色んな周波数で試しましたが、32000が48000になったりするだけです。

どなたかお願いします。
612Now_loading...774KB:2011/09/24(土) 16:39:59.06 ID:oFlWIZW5
本当に変換できているのかを怪しむことしかできない
613Now_loading...774KB:2011/09/25(日) 13:53:47.06 ID:4zOz/rnz
actionscriptを使って四角形にグローフィルタをかけたいのですがうまくいきません
box.applyFilter(box, box.rect, new Point(), new GlowFilter(0xFFFFFF));

また円の場合、↑の書き方でフィルタをかけることが出来ました
614Now_loading...774KB:2011/09/25(日) 17:49:03.47 ID:ZfkizXda
言語も書けない奴には無理
615Now_loading...774KB:2011/09/27(火) 21:08:25.18 ID:7fErkBbq
AS3,CS4でWinXPです。ContextMenu(コンテキストメニュー)のアイテム(ContextMenuItem)を配列で管理
しようとしていますが狙い通りにいきません。
管理用の配列を var conexItemArr:Array = new Array(); として、

conexItemArr[0] = new ContextMenuItem("名無しさん0");
conexItemArr[0].addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, item_onSelected0);
conexItemArr[1] = new ContextMenuItem(" 名無しさん1");
conexItemArr[1].addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, item_onSelected1);
conexItemArr[2] = new ContextMenuItem(" 名無しさん2");
conexItemArr[2].addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, item_onSelected2);

と定義して、
var newMenu:ContextMenu = new ContextMenu();
newMenu.hideBuiltInItems();//既存のメニューを消したいけど無効?

メニューを追加します。
for (var idx:int=0; idx<conexItemArr.length; idx++) {
newMenu.customItems.push(conexItemArr[idx]);// 要は push(〜, 〜, 〜); と冗長に書きたくない
}

MC.contextMenu = newMenu;//対象MCへの割り当て

この場合メニューは出ますが、「名無しさん0」のみで他が出ません。 
また、newMenu.hideBuiltInItems();も無効になってます。
どうしたら良いでしょうか?
616Now_loading...774KB:2011/09/27(火) 21:26:55.16 ID:/rQVhLnC
言語も書けない奴には無理
617Now_loading...774KB:2011/09/27(火) 22:40:04.95 ID:nIlN8XGs
>>615
コピペしてみたけどちゃんと出てたよ?

MCをrootドキュメントクラスのthisにしたけど
618Now_loading...774KB:2011/09/27(火) 23:05:35.02 ID:Sy7NrZij
だからそいつには無理
619615:2011/09/28(水) 03:24:36.63 ID:bx0t0ruu
>>617
どうも。対象MCはマウスに追従して動くものです。
上記をMC自体のフレームアクションとして記述しましたが駄目でした。

また、正直に
var conexItem0:ContextMenuItem = new ContextMenuItem("名無しさん0");
var conexItem1:ContextMenuItem = new ContextMenuItem("名無しさん1");
var conexItem2:ContextMenuItem = new ContextMenuItem("名無しさん2");
として、
newMenu.customItems.push(conexItem0,conexItem1,conexItem2);
でも駄目でした。

一応、1個だけは出るのでこれで引き続きやってみます。

620sage:2011/09/28(水) 07:40:02.62 ID:7UwmpZpH
すみません。初心者ですが助けてくださいまし>< cs3,as3,win7です。

関数名に配列アクセス演算子を使用したいのですが、上手くいきません。
とりあえず、
var num_array:Array = new Array(num);
example.addEventListener(MouseEvent.CLICK,num_array[0]);

でイベントリスナーの登録はできるのですが、いざ関数を定義しようして、

function num(event:MouseEvent){
処理
}

では正常に動作するのですが、関数名をnum_array[0]とし、

function num_array[0](event:MouseEvent){
処理
}

とするとエラーが起きてしまいます。

どうしたらいいのでしょうか。。。



621Now_loading...774KB:2011/09/28(水) 08:00:29.42 ID:1UdSNQ33
関数名に[と]が使えないからじゃない?
622Now_loading...774KB:2011/09/28(水) 09:06:31.02 ID:OUO+bd2w
なんでそれでいけると思えるのかが不思議だわ。
この人自分で自分だけの言語作らないと無理だと思う。
623Now_loading...774KB:2011/09/28(水) 09:10:56.23 ID:OUO+bd2w
たぶん

num_array[0] = function(event:MouseEcent){};
num_array[1] = function(event:MouseEcent){};
...

みたいな感じの事やりたいのかな?
624Now_loading...774KB:2011/09/28(水) 17:52:24.32 ID:l88fzMUz
すみません、質問させて下さい。
CS5、
AS2、
windows7です。

FLVPlaybackコンポーネントを使用してflv動画を配信したいのですが、
プレーヤーの初期設定をミュート(消音)状態にするには
どのようなスクリプトを記述すれば良いでしょうか?

プロパティの設定だけでは不可能で、スクリプトを記述しないといけない、
という所までは分かったのですが、具体的な記述方法が全く分からない状態です。

よろしくお願いいたします。
625Now_loading...774KB:2011/09/28(水) 18:38:15.13 ID:3mtDOkHp
>>620
それじゃ動かないのはどうしようもない。
やりたいことがあるのなら(管理の方方とか)、
そのやりたいことを書かないことには助言のしようもない
626Now_loading...774KB:2011/09/28(水) 19:05:39.09 ID:YiFEGD0W
言語も書けない馬鹿にはなにやっても無理
627Now_loading...774KB:2011/09/28(水) 21:22:43.16 ID:9FND67/j
しつけえな
なんなのおまえ
628Now_loading...774KB:2011/09/28(水) 22:12:26.91 ID:hvSJHEqU
質問スレに1人はいる奴
629Now_loading...774KB:2011/09/28(水) 22:38:18.40 ID:9FND67/j
>>613だろ
くだらんことで根に持たないでくれ
630Now_loading...774KB:2011/09/28(水) 23:52:25.65 ID:u+pPp2hc
他いってくれ
631Now_loading...774KB:2011/09/29(木) 00:10:58.44 ID:janZcQlF
FLASHって右クリック判別できたっけ?
ASを噛ませて、AS側からイベントを送れる?
632Now_loading...774KB:2011/09/29(木) 00:35:40.53 ID:eWc9fYH4
できませーん
633Now_loading...774KB:2011/09/29(木) 00:38:06.93 ID:eWc9fYH4
正確に言うと右クリックは判別できるけどブラウザとユーザーの設定次第で安定運用できませーん。やめといた方が良い。
634Now_loading...774KB:2011/09/29(木) 00:59:02.41 ID:MsipDFGU
テキストフィールドに外部XMLからテキストを呼び出そうと思っています。
traceの結果、XMLからはテキストの文章は呼び出せているようなのですが
文章をテキストフィールドに入れ込む段階で上手くいきません。

var Cmt001:String=XML.Date;
TextField.text = Cmt001;

このままだと、エラーになりますし、
TextField.text = "Cmt001";
だと、XMLの文章ではなく、Cmt001 とだけ表示されてしまいます。
XMLの文章をTextに入れ込む方法を教えてください。

635Now_loading...774KB:2011/09/29(木) 02:33:06.21 ID:UsIW6Eq4
>>634
TextFieldがインスタンスであるという前提のもとで

>var Cmt001:String=XML.Date;
>TextField.text = Cmt001;

一行目ができてたら二行目にエラーがでるわけがない
一行目の時点でちがうんだろ
636Now_loading...774KB:2011/09/29(木) 03:16:08.14 ID:s4sHn9HZ
>>634
エラーが出るなら、エラーメッセージを書くべき
>>635の言う通り、本来ならエラーなんか出ないのだから、何かが間違っている
そして、何が間違いかは、エラーメッセージに書かれてるはず
637Now_loading...774KB:2011/09/29(木) 11:55:47.90 ID:UsIW6Eq4
638643:2011/09/29(木) 12:24:20.50 ID:MsipDFGU
説明不足でした
エラーではなく、外部XMLに日本語で書かれた文章をflashに読み込み、、
traceすると日本語で出力されるのですが、
それをTextFieldに渡すと表示がされない。という状況です。

たぶん、XMLの内容を「変数:String="XML内容";」に代入すると思うのですが
その方法がわからないでいます。

639Now_loading...774KB:2011/09/29(木) 13:37:50.52 ID:s4sHn9HZ
>>638
XMLの読み込みが完了した時点で、値をわたしているのか?
TextFieldやXMLの参照は正しいのか?
XMLではなく、ただのテキストデータなら表示されるのか?
など、問題を切り分けて原因を追及する

traceすると、というが、いったいどの段階でtraceしているのか?
たとえば、
var Cmt001:String=XML.Date;
の直後にtrace(Cmt001)をしたら
ちゃんと値が入っているということ?
640643:2011/09/29(木) 15:10:24.53 ID:MsipDFGU
>>639
です。
XMLを読み込む関数内でtraceしたり、テキストフィールドに代入したりすると
きちんと表示されるのですが、

読み込み関数外で宣言した変数に代入して使おうとすると上手くいきません。

var 文章:String;
function XML読み込み関数{
文章=XML内文章;
}

641Now_loading...774KB:2011/09/29(木) 15:30:46.75 ID:m/oTokG5
読み込んだ後なら表示されるなら、読み込む前に表示しようとしてんじゃね?
その関数の中で「文章」とやらに普通の文字列代入したらその値は表示されんのかい。
642643:2011/09/29(木) 15:53:12.48 ID:MsipDFGU
>>641
いろいろとやってみたところ、XML読み込み関数内では
XMLの内容をrootに配置したテキストフィールドに代入したり、
traceも正常に動いています。

問題はローカルの変数をグローバル変数に移し替えるところが
上手くいってないっぽいです。

var hoge変数:string="あいうえお";
function XML読み込み{
hoge変数=かきくけこ
}
trace(hoge変数);
結果 あいうえお
643Now_loading...774KB:2011/09/29(木) 16:00:49.37 ID:UsIW6Eq4
XML以前の話じゃねーか…
3.0にグローバル変数なんてもんはないよ

クラスベースでやってるならインスタンス変数にすればおk
644Now_loading...774KB:2011/09/29(木) 16:12:33.03 ID:m/oTokG5
それ関数実行してないだけとかじゃなく?
XML関係ないねマジでw
645Now_loading...774KB:2011/09/29(木) 17:09:12.12 ID:s4sHn9HZ
>>642
何度も言われてるが、確実に「読み込み完了」後に代入してる?
実行順序が後だから読み込み終わってるはず、なんて誤解してないか?

それと、グローバル変数に移し替えるとか、オリジナルな用語つくらないように
参照がとれないなら、値が入ってないか、参照が間違ってるか、アクセスできないか
そのあたりだと思う
646643:2011/09/29(木) 17:15:34.53 ID:MsipDFGU
XMLは読み込めてるんですよね
function内では、traceしてもXML内の文章が出てくるし、
それをfunction内からテキストフィールドに代入してもちゃんと表示できています。
ただ、そのデーターをfunctionの外で使おうとすると、nullに
なってしまいます。
function内で変数をtraceするとちゃんとXML内の文章がtraceされるのですが
function外でtraceすると「null」になってしまっています
647Now_loading...774KB:2011/09/29(木) 17:26:01.12 ID:QLj6qbWh
全部コード書けよもう。
日本語通じてねーもん。
648Now_loading...774KB:2011/09/29(木) 17:27:43.97 ID:s4sHn9HZ
>>646
話が噛み合ってないような気がするな
XMLが読み込めることはわかっているが、
XMLへの参照が「読み込み完了後」に実行されていると確信できる情報がない

もしも、本当に以下の通りに実行しているなら、trace()の段階で
XMLは読み込まれていない可能性もあるということです

> var hoge変数:string="あいうえお";
> function XML読み込み{
> hoge変数=かきくけこ
> }
> trace(hoge変数);

情報を小出しにするより、具体的なASを晒した方がはやいと思います
649Now_loading...774KB:2011/09/29(木) 17:36:55.65 ID:RRLfIoYj
非同期メソッドの意味をわかってないんだろうなぁ。
650643:2011/09/29(木) 18:33:03.20 ID:MsipDFGU
toString();で解決できました。
ありがとうございました
651Now_loading...774KB:2011/09/29(木) 19:16:26.14 ID:UsIW6Eq4
回答者たち : あれこれ推測してあたりをつけてアドバイス
質問者 : 話を聞かず勝手にナナメの方法で解決
回答者たち : 「」

あるあるwwwwww
652Now_loading...774KB:2011/09/29(木) 20:59:10.69 ID:4It6ex8h
質問者が日本語読めてないからしゃーないわ
653Now_loading...774KB:2011/09/29(木) 21:20:03.66 ID:UsIW6Eq4
まあこれに懲りずにまた質問してくれ

理解度と内容によってこっちと使い分けすればおk

Flashの超基本的な質問はここでしろ! part42
http://hibari.2ch.net/test/read.cgi/swf/1305783143/
654Now_loading...774KB:2011/09/29(木) 22:40:20.53 ID:RNeysCJz
DataGridの特定の行の文字色・背景色を変えたいんだけどどうしたらいいんでしょう?
Flash8・AS2ではCellRendererとか使らんといけんかったが
655Now_loading...774KB:2011/09/29(木) 23:01:30.46 ID:zpGCkhHs
そんな質問で分かると思ってんの?
656Now_loading...774KB:2011/09/29(木) 23:25:49.20 ID:2OA4B90a
as3、flashbuilder4.5でaway3dliteとflash10のポリゴン機能を試してるんですが、テクスチャをはるとuv座標が1pxほどはみ出ます
具体的にはUV値に0〜1以外の値が入ってしまい、反対側のテクスチャがリピートしているような現象が起きます
どうしたら綺麗にテクスチャを貼れるでしょうか?
657Now_loading...774KB:2011/09/30(金) 18:51:24.71 ID:PU134PWF
>>620
そもそも[]は変数名には使えないはず
658Now_loading...774KB:2011/09/30(金) 19:19:27.36 ID:Oq0ZByGE
>>614
すいません、AS3 FlashDevelopです…

ttp://www40.atwiki.jp/spellbound/pages/618.html
ここを参考にグローフィルタをかけた四角形を作ろうとしたのですが四角形に変化がありません
四角形と円でapplyFilterの書き方は変わるんでしょうか?
659Now_loading...774KB:2011/09/30(金) 20:47:42.00 ID:3RFYdq/V
>>658
それ、フィルターはかかったけど効果の部分がbitmapDataの矩形外だから出てきてないだけじゃね?
フィルターかかった画像以上の大きさのbitmapDataにapplyFilterで描けば出てくると思う
660Now_loading...774KB:2011/09/30(金) 22:43:20.53 ID:N+C4Ts6F
AIRで画像ビューアを作ろうと思ってます
VBの「コントロール配列」みたいな機能ってあります?
661Now_loading...774KB:2011/10/01(土) 01:47:26.46 ID:PUjvfDBw
環境(AS3,CS4,XP)ですが、lineToで点を結んで出来た線(パス)が勝手に閉じて
しまい困ってます。

簡単な例として、コ の字に点A-B-C-Dが並んだとき、これは開いた図形の筈ですが、
beginGradientFill()とendFill()を使うとAとDが自動的に(?)繋がりA-B-C-D-Aの閉じた
図形になって内部が塗られてしまいます。
※ コ → ■ になってしまう

一番良いのは「塗らないこと」ですが閉じ具合で塗りを制御する方法はありますでしょうか?
662Now_loading...774KB:2011/10/01(土) 08:15:35.72 ID:TU5uEra6
>>659
出来ました
ありがとうございます
663Now_loading...774KB:2011/10/01(土) 09:38:23.86 ID:msncz/xC
>>660
コントロール配列は無いけど、表示リストを使って一括してイベント管理する事ならできる。
664Now_loading...774KB:2011/10/01(土) 17:23:05.35 ID:F28zs2rO
package hoge
{
 public function test():void { trace("HOGE"); }
}

みたいにパッケージに公開関数を入れるってのはあんまり使っちゃ駄目?
665Now_loading...774KB:2011/10/01(土) 17:45:15.56 ID:HGyKtc64
別にいいんじゃね
公式にもあるんだし
666Now_loading...774KB:2011/10/04(火) 14:27:00.96 ID:004okITp
AS2,CS4を使用しています。
質問させてください。

画面上を、自分の色を1色だけ持ったMCが100種類ほど入り乱れています。
その状況で特定の座標の、深度が一番上の色を取得することは可能なのでしょうか。
667Now_loading...774KB:2011/10/04(火) 15:04:55.93 ID:Ro8J1giK
>>666
MCで管理しちゃってるなら、色を管理するプロパティみたいなの用意しといて、onPressでなんとかなるんじゃない?

function createMC(){
//MC作る
var n = this.getNextHighestDepth();
var mc = this.createEmptyMovieClip("mc"+n,n);
var color = Math.random()*0xFFFFFF;
mc.beginFill(color);mc.lineTo(50,50);mc.lineTo(50,0);mc.lineTo(0,0);
mc._x = Math.random()*500;mc._y = Math.random()*450;
//色を管理するプロパティを用意しておく
mc.color = color;
//クリック用イベントハンドラセット
mc.onPress = checkColor;
}

function checkColor(){
trace("深度:"+this.getDepth()+" 色:"+this.color.toString(16));
}

for(var i=0;i<100;i++)createMC();
668Now_loading...774KB:2011/10/04(火) 18:01:05.71 ID:yaPdeM9W
as3(Adobe Air) FlashDevelop4を使用しています

flash.html.HTMLLoaderを使っていているけど、表示されるWebページのフォントが汚い
そこで、表示フォントを埋込みフォントに変更するか、アンチエイリアスをかけたいんだけど何か方法ってある?
669Now_loading...774KB:2011/10/04(火) 19:24:48.35 ID:CbhcewKj
一旦Flashで、使うフォントを埋めんこんだswf作って使う。
670Now_loading...774KB:2011/10/04(火) 20:51:30.49 ID:HnIAOF3M
>>669
すみません、もうちょっと具体的にお願いします
フォントを埋め込むところまではわかるけど、HTMLLoaderにフォントを指定する方法がわからない
671Now_loading...774KB:2011/10/04(火) 21:11:38.33 ID:4n/TeAlK
embedでfontName付けて埋め込んで、htmlLoaderのwindow.document.styleSheets配列を介して適用とか?
それっぽい用語でググった結果見て考えただけなんで、実際出来るかは分からんが
672Now_loading...774KB:2011/10/04(火) 21:49:14.00 ID:aa4x92nM
質問です

ムービークリップAとBが重なっていてAは動くとします
AがBと重ならなくなったときにイベントを発生させることはできますか?
673254:2011/10/05(水) 02:00:50.93 ID:ixHpDwGu
>>667
丁寧な回答ありがとうございます! やってみます!!
674Now_loading...774KB:2011/10/05(水) 03:00:51.09 ID:3zRYKvSX
>>672
むり
ENTER_FRAMEで監視
675Now_loading...774KB:2011/10/05(水) 08:06:08.82 ID:EGpgUime
>>671
やってみたけど、できなかった。
情報も色々探してみたけど、無理みたいだなあ
676Now_loading...774KB:2011/10/05(水) 11:41:45.33 ID:oOGPZYlC
WOFFとかつかって@font-faceでどうにかなるんじゃって思ったんだけど、

http://stackoverflow.com/questions/6619655/adobe-air-2-5-font-face-and-the-htmlloader

>After upgrading the @font-face started working,
>but I still didn't like it cause the fonts had no anti-alias smoothing,
                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>the fonts render like they would in a browser using web safe fonts.
だって。
677Now_loading...774KB:2011/10/06(木) 20:14:20.73 ID:d43NG5g5
わかる人いたら教えてください
ttp://hakuhin.jp/as/bitmap_data.html#BITMAP_DATA_03
このサイトの「ムービークリップの絵をキャプチャする」の項目で
静止画としてコピーするのではなく、ムービークリップの動きをそっくりそのままキャプチャするにはどうしたらいいでしょうか?
Event.ENTER_FRAMEで常にコピーすると残像が残ってしまいました
678Now_loading...774KB:2011/10/06(木) 20:19:55.26 ID:d43NG5g5
677です
すみません追記で
actionscript3.0の場合です
679Now_loading...774KB:2011/10/06(木) 22:29:03.91 ID:iKNXuP2G
残像って意味がようわからんが、10フレーム分コピーしたいなら10枚BitmapData用意すればOKって事じゃないのそれ。
680Now_loading...774KB:2011/10/06(木) 23:43:52.14 ID:lqOpCymP
エラーの対処法を教えてください

TypeError: Error #2007: パラメーター listener は null 以外でなければなりません。
at flash.events::EventDispatcher/addEventListener()
at flash.display::Stage/addEventListener()
at _fla::MainTimeline/frame1()
▼コード
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.events.Event;

stage.addEventListener(Event.ENTER_FRAME,test("l","r"));

function test(a,b){
trace(a + "and" + b);
}
681Now_loading...774KB:2011/10/07(金) 08:02:50.63 ID:tMKeE7I7
test("l","r") = void
682Now_loading...774KB:2011/10/07(金) 08:19:19.22 ID:V46r7yi7
>>680
公式リファレンス読もう

リスナー関数に引数渡したいだけなら、test()内で無名関数返せばいい
683Now_loading...774KB:2011/10/07(金) 13:06:39.11 ID:7fBdSC/g
CS5 AS3
1つのfunction関数が定義されているレイヤー3があり、
Scene 1, レイヤー 'レイヤー3', フレーム 1 1084: シンタックスエラー : rightbrace が end of program の前に必要です。
というエラーが起こったので調べてみたんですが、原因と考えられる括弧の抜けもなく、
function a(){

}
と中身を削ってプレビューしても同じエラーが発生します。
さらにレイヤーのアクションスクリプトを全部消すと、
今度はその上にあるレイヤーに対して同じエラーが発生します。

これは原因はなんでしょうか。わけがわからないです。
684Now_loading...774KB:2011/10/07(金) 13:15:46.65 ID:tMKeE7I7
もうfla作り直せば?

見ないとさすがにわからん
includeしてるとか全角スペースとかくらいしか思いつかない
685Now_loading...774KB:2011/10/07(金) 15:14:18.30 ID:VkeAXglm
>原因と考えられる括弧の抜けもなく
} が足りないとそういうエラーが出る どっかにあるはずw
もしくはどっかに全角スペースが隠れている
全部NoEditor(フリーのテキストエディタ)にコピペすると見つけやすい
686Now_loading...774KB:2011/10/07(金) 21:27:16.37 ID:NcouEUU+
解決しました。
全然違うレイヤーの関数内で括弧が閉じてませんでした。
んなわかるかー
687Now_loading...774KB:2011/10/08(土) 05:06:32.26 ID:MblZZyiY
AS3のソースコード中見慣れないモノを見かけたので下記が何か教えていただきたいです

[Property(toString="true",clonable="true")]//←このメタデータタグ

用途は想像できないでもないのですが、
リファレンス類を見ても見つけられなかったもので
因みにソースは
http://www.farmcode.org/page/Farm-Open-Source-AS3.aspx
から落としました。Google Codeのリポジトリは機能していない?ようです
具体的にはorg.farmode.bezier.Pathの27行目などに書いてあります(ほか多数)
688Now_loading...774KB:2011/10/08(土) 13:37:09.49 ID:LptSfEwH
誰かアドバイスをくださいな。
今までAS2でゲーム作ってて、今更ながらAS3に移行しようと思ったんだけど、
文法やら何やら全然違ってわけがわからない。何から手をつけていいかさっぱりだ…。

AS3をどうやって学習したらいい? オススメの本とかサイトとかありませんか。
689Now_loading...774KB:2011/10/08(土) 15:27:49.04 ID:Nv1AD4d4
690Now_loading...774KB:2011/10/08(土) 15:28:17.94 ID:Tvc0ijLU
AS2をクラスベースでやってきたかどうかによるな
それならイベント周り以外は大体一緒かと
691Now_loading...774KB:2011/10/08(土) 15:57:16.53 ID:++D+9TCd
基礎周りの本一冊買って読め。tips系のサイト探し回ってるより結局は早い。
692Now_loading...774KB:2011/10/08(土) 17:31:14.57 ID:LptSfEwH
>>689-691 ありがとう!
>>689のサイト見てみたけど、解説が少なくて今の自分にはちんぷんかんぷんだった。
ぶっちゃけAS2もほとんど理解してないようなもんなんで、最初から学ぶつもりで基礎の本探すことにするよ。
「ゲーム制作向けの基礎のAS3の本」でいいのなんかないかな?
693Now_loading...774KB:2011/10/08(土) 17:32:58.04 ID:pKc+9T9b
ゲームっつっても結局基礎は一通り必要になるから、
黙ってAS3の基礎を学ぶのが吉
694Now_loading...774KB:2011/10/10(月) 21:34:09.76 ID:Phb1FK/s

AS3の中に埋め込まれたSWFから
どんなイベントが飛んで来ているか
知る方法はありますか?

よろしくお願いします。
695Now_loading...774KB:2011/10/10(月) 22:10:25.84 ID:IFOAf5o1
ねーよそんなもん
696Now_loading...774KB:2011/10/11(火) 16:57:59.31 ID:Y9ep7y/e
>>694
「埋め込まれたSWF」ってのが意味わかんないけど、
イベント名わかってれば普通にaddEventListenerでハンドルできるんじゃない?
とにかくイベント発生させてるかどうか知りたいってなら無理だと思うけど。
697Now_loading...774KB:2011/10/12(水) 19:12:22.04 ID:eFXBf7/8
PrintJobクラスを使ってプリンタからPDFを印刷したいと思っています。

HTMLLoaderで所定の場所からPDFを読み込んだものを
PrintJobクラスに渡して印刷すると
紙に真っ黒に印刷されます。

PDFを印刷しようとした場合、
どのような手順を踏んでいけばよろしいのでしょうか?
よろしくお願いします。

ソースの一部抜粋になりますが、こんな感じで作っています。

・PDFの読み込み。
htmlLoader = new HTMLLoader();
htmlLoader.load(new URLRequest("file:///"+"hoge.pdf"));

・PrintJobに渡す
printJob = new PrintJob();
if(printJob.start2(null,false)){
printJob.addPage(htmlLoader);
printJob.send();
}
698Now_loading...774KB:2011/10/13(木) 01:08:40.84 ID:KT93W5wC
プレビューは真っ黒だったん?
699697:2011/10/13(木) 15:23:02.42 ID:Qnrw8hpa
>>698
プレビューでは真っ黒ではなく、きちんとPDFが閲覧できました。
何がダメなんでしょうか。。。
700Now_loading...774KB:2011/10/13(木) 20:29:51.56 ID:mDPn73GJ
印刷できないように保護の設定がされたPDFなんじゃね?
701697:2011/10/14(金) 09:47:29.29 ID:IaN9OcRS
>>700
たとえば、AIRからAdobeReaderをコマンドラインで実行して
印刷処理を行うと問題なく印刷できましたし、
PDF単体をAdobeReaderで開いて印刷しても
問題なく印刷できました。

AIRからPDFを直接印刷するという情報が
ググッてもなかなかヒットしないので、
もしかしたら元々そういったことができないのではないかと
不安になりつつあります。

702Now_loading...774KB:2011/10/14(金) 20:28:49.86 ID:VF5Tmprf
var vec:Vector.<Boolean> = new Vector.<Boolean>(1);
trace(vec[0]);

このコードのトレース結果がnullになるのはなんで?
Boolean型の初期値はfalseだしnullには設定できないはずだよね?
703Now_loading...774KB:2011/10/14(金) 22:48:35.24 ID:xbkcGZzJ
型のチェックを保証するだけで初期化まで自動で行うわけじゃないから。
長さが不定なVectorも扱うからそうなてんじゃないの?
704Now_loading...774KB:2011/10/15(土) 00:25:06.84 ID:CktNND6g
むしろ何も入れてないのにfalseになったら驚くわ
705Now_loading...774KB:2011/10/17(月) 10:53:47.32 ID:lxaTNyUc
ボタンクリックで、30フレームづつフレーム移動していきたいのですが
どういうスクリプト書けばいいでしょうか?
フレーム1で止まってる場合、ボタンをクリックしたら30フレーム目までいき
もう一度クリックすると60フレーム目にいくといった感じです。
706Now_loading...774KB:2011/10/18(火) 00:17:10.28 ID:JKx+FJlI
>>705
フレームを移動する命令しってる?
707Now_loading...774KB:2011/10/18(火) 01:16:36.71 ID:fdbd9Rrs
今のフレーム数みて、それに30足したとこ移動すればいいだろう
708Now_loading...774KB:2011/10/18(火) 13:56:03.74 ID:tVIv32hI
止めたいフレームに stop() 書いて、ボタンには play() だけ書くとか。試してはないけど。
709Now_loading...774KB:2011/10/18(火) 17:26:04.41 ID:1YHtBKU+
外部のxml読み込みで、変数が0のときはMCをストップして
1〜10のときは、それぞれに応じたMCをplayさせたいと思っています。
その場合、どういったスクリプトを書けばよいかわかりますでしょうか?
710Now_loading...774KB:2011/10/18(火) 18:52:41.52 ID:o1lmJy4f
わかります。

まず、ググってXMLを読み込めるようにしてから
また質問やね
http://www.google.co.jp/search?q=actionscript+xml%93%C7%82%DD%8D%9E%82%DD
711Now_loading...774KB:2011/10/18(火) 19:17:21.63 ID:1YHtBKU+
>>710さんありがとうございます。
xml読み込みのFLASHは制作実績がいくつかありますので、読み込み方法はわかるのですが
変数がこの値のときに、このMCを動かすといったスクリプトがわからないのですが
お解かりになりますでしょうか?
712Now_loading...774KB:2011/10/19(水) 02:23:13.76 ID:tAJ5jjjG
わかるよ

わかるけどだったらxmlという単語はいらなかったんじゃない?

知りたいのは変数に対応したMCを動かす方法だったわけでしょ?

問題の切り分けは大事だよ

MCが与えられたら動かせるのかな?
だったらいくつかのMCを配列にでもつっこんどけば変数に対応してアクセスできるよ

具体的には言語がわからんから言えないわ
713Now_loading...774KB:2011/10/19(水) 04:09:53.94 ID:HXgcD5j0
CS4,AS3です。FLV再生で質問です。
(以前聞きましたが解決できなかったので再質問)

ループ再生の方法を教えて下さい。
調べたところ、ttp://web.donnatokimo.com/as3/493 とかで
var netStr:NetStream;
// NetConnectionとの関係は省略

netStr.addEventListener(Event.COMPLETE,replay);
function replay(evt:Event) {//event→evt:Eventとした
netStr.play();
}
としましたが最後で止まったままです。
714Now_loading...774KB:2011/10/19(水) 13:32:28.77 ID:pCdWzoHM
>>713
NetStreamはEvent.COMPLETE非対応

リファレンス > NetStream > イベント
で送出されるイベント一覧見ましょう
715Now_loading...774KB:2011/10/19(水) 14:34:02.70 ID:NDlguihf
CS5 AS3
FileStream で外部SWFファイルを読み込み さらに本体からSWFを操作する事ってできますか?
FileStreamにしたい理由はどうしても非同期で読み込みたいからです
「やってみりゃいいじゃん」と思われるかもしれないですが今ちょっと忙しくてorz
知っている方がいたらよろしくです
716Now_loading...774KB:2011/10/19(水) 22:58:38.82 ID:f0783NbW
AS3です。
addChildでムービークリップAを追加するのですが、
ムービークリップAは2フレーム目にボタンXを持っています。
このボタンXのイベントリスナをroot階層に記述するにはどうしたらいいんでしょうか。
普通に、mcA.btnX.addEventListener(...)とかくと、「Error #1009: Cannot access a property or method of a null object reference.」といわれてしまいます。
717713:2011/10/19(水) 23:52:49.39 ID:Qc3O47zZ
>>714
ループ再生出来ました。
ttp://www.flash-jp.com/modules/newbb/viewtopic.php?topic_id=10055&forum=8
を参考にしました。

netStr.addEventListener(NetStatusEvent.NET_STATUS, roopy_func);
private function roopy_func(evt:NetStatusEvent):void {
if (evt.info.code == "NetStream.Play.Stop") {
netStr.play(FLVファイル名);
}
}
718Now_loading...774KB:2011/10/20(木) 00:04:13.53 ID:6JagOCu7
>>716
ボタンXを1フレーム目から配置しといて
visible=falseとかなんとかにしとく

コマアニメとかでもない限り、AS3ではタイムライン使わない方が楽
719Now_loading...774KB:2011/10/20(木) 12:11:10.57 ID:W9CR3IL9
>>718
ありがとうございます。

もう一点質問です、
GPS情報の取得について、ルーターからの擬似GPS情報が
取得できるらしいですが、デスクトップPCの環境では使用できないのでしょうか。あくまでスマートフォンデバイスが対象なんでしょうか。
自分でデスクトップ環境を試したらダメでした。
720Now_loading...774KB:2011/10/20(木) 12:43:10.30 ID:t8Bjo5aT
GeolocationのisSupportedみれ
つーかデスクトップは無理
721Now_loading...774KB:2011/10/20(木) 23:13:27.54 ID:NLpLAlP0
仕事で、CDから起動するFlashのアプリケーションを作る必要があります。

インストールしなくても動作しなければならないので、AIRは
使えず、プロジェクターの実行ファイルにすることになりました。

プロジェクターにした場合、不要なメニューが表示されるので
これをどうにかしなければなりません。

プロジェクターのメニューを消す方法を教えていただけないでしょうか。

あるいは、プロジェクターの代わりになるFlashのプレイヤーが
あれば教えてください。3万円以下なら有償のものでも
構いません。

よろしくお願いします。



722721:2011/10/20(木) 23:32:58.72 ID:NLpLAlP0

投稿した後で、次のような情報を見つけました。
他にも情報がありましたらお教えください。

Flash Player コンテキストメニューのカスタマイズ
http://help.adobe.com/ja_JP/as3/dev/WS5b3ccc516d4fbf351e63e3d118666ade46-7f53.html
723Now_loading...774KB:2011/10/21(金) 10:06:07.43 ID:WIlg0km8
久しぶりにFlashで制作しようとして、
最新のCS5.5でActionScriptを書こうとしているのですが、
本を読むと、AS3はまだ普及していないから、止めておけみたいな記事が多いのですが、
商業サイトでAS3で制作するのはやめておいた方が良いでしょうか?

Javaに慣れているので、AS3の方が実装としては好きです。
漠然とした質問で申し訳ありませんが、アドバイスをお願いします。
724Now_loading...774KB:2011/10/21(金) 12:49:57.45 ID:dUktdNdS
>>723
>本を読むと、AS3はまだ普及していないから、止めておけみたいな記事が多いのですが、
その本の発行時期を確認した方が良い。
明らかに間違い。

新規の案件で顧客要望でもない限りAS2なんかありえん。
725Now_loading...774KB:2011/10/21(金) 14:07:13.57 ID:3L+egym9
携帯の客も取り込みたいならAS3なんかありえん
726Now_loading...774KB:2011/10/21(金) 14:16:02.97 ID:dUktdNdS
最近携帯でFlashの仕事自体が少ない訳だがw
727715:2011/10/21(金) 15:04:49.65 ID:n05WU8Li
FileStreamでの外部SWFファイル読み込みについて報告

結論:無理でしたorz 

ファイルストリームでreadObject();ってメソッドがあったのでいけるかと思いましたが
エンコードなんたらというエラーでだめでした
ByteArrayで読み込んでMovieClipに変換という手も考えて調べましたが
サポートしていないとの事でした ちなみにByteArrayは重い画像だと重宝しそうですな
728Now_loading...774KB:2011/10/23(日) 17:44:23.82 ID:vCHJCAfl

FlashBuilder でアプリを開発しています。
FlashBuilderのスライダーはデザインが悪いので
Flashのスライダーを使うよう依頼されています。

Flashでスライダーだけのswfを作り、
それをFlashBuilderに貼り付けて使おうと思っています。

何かもっとよい方法があったら教えてください。
よろしくお願いします。
729Now_loading...774KB:2011/10/23(日) 23:27:11.72 ID:wUsWFFVG
シンボルとして作れたら、SWCで書き出して、FlashBuilderからライブラリとして使える。
730Now_loading...774KB:2011/10/24(月) 17:39:18.41 ID:2opTluTF
FlashもあるならCatalystもありそうなもんだが。
そっちで作るってのはどうよ。
731Now_loading...774KB:2011/10/24(月) 19:38:05.12 ID:14zSZUCs
クラスの設計で相談があります。

例えばある処理の実装を強制する時には
interfaceをimplementsさせますよね。

そんな感じで、例えば、addEventListenerのoverrideを
強制させたいときには、どのようなクラス設計されてますか??

DataGridやTextInputを拡張したクラスを作成する際に
addEventListenerの処理にも少し手を加えるようにしたいのですが
どのように設計すればよいか悩みました。
アドバイスをよろしくお願いいたします。
732Now_loading...774KB:2011/10/24(月) 19:54:23.30 ID:yDSGWKJv
インターフェースはそういう使い方しない。ちょっとずれてる。

で、そういうのは他の言語だと抽象クラス(abstractなクラス)を継承する形で実装するけど、
AS3.0にはそういう概念が無い。

じゃどうするかというと、仕方ないから普通の基底クラス作っておいて、そのクラスを継承させ、
イベントハンドラメソッドをオーバーライドする形を取るのがベターってなことになる。
traceで「オーバーライドしてね」って表示するくらいしかできないんじゃないのかな。

ただ冗長すぎるきらいもあるんで、その辺は好きにしてくれって感じかな。
733Now_loading...774KB:2011/10/25(火) 00:35:16.38 ID:45aRdEI/
抽象クラスのメソッド呼んだらエラー投げてやれ
734731:2011/10/25(火) 10:56:50.30 ID:bOgWFmdq
>>732,733

ありがとうございます。
今回はDataGridなどのクラスを拡張して行なっていきたいのですが、
普通に基底クラスを作ったとした場合、
DataGridを拡張したクラスとはどのように関連付ければいいんでしょうか?

自分の中ではDataGridやTextInputを継承した各クラスで
addEventListenerをオーバーライドしていくという
手間のかかる案しか思い浮かびませんでした。



735Now_loading...774KB:2011/10/25(火) 13:35:09.03 ID:OK2Jqx59
>>731
良くやる方法としては、>>732,733が書いているが、
AbstractMyDataGridとかの名前にして、
規約として継承元がAbstractであると明示する方法だとおもう。
で、Abstract側でoverrideを強制するメソッドについて>>733のように
エラーを投げたり、空実装にしたりするのが良いのでは無かろうか。

こんな実装もあるが、直感的でないのでお勧めしない。
http://www.ericfeminella.com/blog/2007/01/16/pseudo-abstract-classes-in-as3/
736734:2011/10/25(火) 16:49:36.21 ID:bOgWFmdq
>>735

ありがとうございます。
なるほど。継承元がAbstractであることを
明示する方法ですね。すごく参考になりました。

教えて頂いたサイトも見てみました。
たしかにちょっと直感的ではなくなっているように思いました。

まずは継承元がAbstractであることを明示する方法で
実装してみたいと思います。

ありがとうございました。
737Now_loading...774KB:2011/10/25(火) 22:59:07.25 ID:v0xicEqc
ActionScript3.0
フレームのイベント処理(addEventListener( Event.ENTER_FRAME, hogehoge))で
hogehogeが毎回呼ばれたタイミングでマウスの左ボタンがクリックされているかを判定することは可能でしょうか?
738Now_loading...774KB:2011/10/26(水) 01:56:50.89 ID:W8qlNTSv
ダウンとアップでフラグたてとき
739737:2011/10/26(水) 02:16:46.57 ID:QvOa/x0S
>>738
ムービークリップ内で簡単なラインを書きたいのですが、マスクで一定以上の箇所を書けないようにしています。
マスクの箇所でボタンを話した時に、イベントを取れないので、Event.ENTER_FRAMEのイベントでマウスのボタンが押されていない
ことを取得したかったのですが・・・・・・
マスクの箇所でマウスを離したときに、イベントを取得する方法はあるのでしょうか??
740Now_loading...774KB:2011/10/26(水) 04:16:59.20 ID:4/TOld3c
>>739
あるだろう
そもそもイベントを取得できないってのが、おかしい気がするんだが
どういう構造なのかわからんので、なんとも言えない
741737:2011/10/26(水) 08:02:55.95 ID:gGtI2OSw
>>740

調べてみたけどダメでした。

var ms:Sprite = new Sprite();
ms.graphics.lineStyle(0,0x0);
ms.graphics.beginFill(0x0000ff);
ms.graphics.drawRect(0,0,this.width,this.height);
ms.graphics.endFill();
addChild(ms);
this.mask = ms;

これで、キャンバス(this)以外は書けないようにしてますが、
キャンバス意外でマウスを話すと、MouseEvent.MOUSE_UPが呼ばれません・・・・・
742Now_loading...774KB:2011/10/26(水) 10:07:09.15 ID:W8qlNTSv
MOUSE_UPだけstageにaddEventListenerしとき
743Now_loading...774KB:2011/10/26(水) 13:44:14.10 ID:PYqN1TPX
FlashBuilderでCaptiveRuntimeでコンパイルするのにadtコマンドでbundleする。
と見たのですが、何をどうして良いのやら皆目わかりません。
ヒントをください、、。
744Now_loading...774KB:2011/10/27(木) 00:23:51.53 ID:RoUC1OLJ
>>743
AIRスレで聞いてくれ
745737:2011/10/27(木) 08:16:04.48 ID:HwV7kiTO
>>742
返信ありがとうございます。
ダメでした。 メインのステージでMOUSE_UPを登録してみましたけど、なぜか呼ばれませんでした。
maskを削除すれば呼ばれます。 
746Now_loading...774KB:2011/10/27(木) 17:55:03.19 ID:Ki8AwMGU
>>744
わかりましたすいません。
747Now_loading...774KB:2011/10/28(金) 01:54:41.06 ID:9YQKLPN/
>>745
んー
stageのMOUSE_UPが呼ばれないはずないとおもうんだけどなあ・・・
748Now_loading...774KB:2011/10/28(金) 02:15:51.72 ID:7LQoAwDQ
>>745
たしかに、その状況はおかしい
リスナー登録とmask周りのASはどうなってんの?
いっそflaあげちゃえば?
749737:2011/10/29(土) 07:53:07.42 ID:fIrbNzIq
>>747 748
返信ありがとうございます。
勘違いしていまいた。 メインのフレームがstageだと思っていました。
ムービークリップを表示させてるメインフレームで
this.addEventListener( MouseEvent.MOUSE_UP, hogehoge );は呼ばれませんでしたが
stage.addEventListener( MouseEvent.MOUSE_UP, hogehoge );でよばれました。

750Now_loading...774KB:2011/10/31(月) 21:41:33.75 ID:aRjO9dmx
すいません、動画初心者です。
Flashc S3でWINです。

flaで作ったアニメーションを、
FLVで納品しなければいけないのですが
AS3も使っています。

この場合どうやって書き出せばいいのでしょうか。。?
探してもやり方が見つからず。。

ご存知の方いらっしゃいましたら
よろしくお願いいたします。。
751Now_loading...774KB:2011/10/31(月) 21:47:23.91 ID:0cyw4EV2
そんなもん無理に決まってんじゃん。
自前で連番PNGにでも書き出すAIRアプリでも作ってみたら?
どういう内容かわからんから自分で調整するしかないけど。
752Now_loading...774KB:2011/10/31(月) 22:09:16.84 ID:2WMBKEVe
「Flash flv 書き出し」でググったらそれらしい情報あったけど・・・?
753Now_loading...774KB:2011/11/01(火) 00:32:29.79 ID:h8RkYCKt
>>750
マルチ乙
754Now_loading...774KB:2011/11/01(火) 01:25:59.01 ID:HXRhL4WF
やはり無理ですか。。
結構需要ありそうなんですが
できないものなんですね。。

直接じゃなくてもいいんですが。。
swfで書き出したのをデスクトップで流して
それをキャプチャするとかしかないのか。。

こことか
http://blog.alt-scape.com/archives/284#
755Now_loading...774KB:2011/11/01(火) 01:42:44.91 ID:nL9sYKEB
クリックしたら動くとかしこんであるようなやつをどうやったら動画に出来ると思うんだ???
756Now_loading...774KB:2011/11/01(火) 09:11:47.51 ID:u6Slxspq
mov書き出しなら出来るんだから、変換したら?
757Now_loading...774KB:2011/11/01(火) 12:02:10.73 ID:1+uCTXWi
FlashBuilderを使用して開発しています。
ロジックとビューを分離する場合について質問させて下さい。

画面はMXMLで作成し、ロジックの部分は
IMXMLObjectを実装したクラスを作成しています。

ある画面ではポップアップウインドウを表示する処理を
行なっています。
ポップアップウインドウには親画面から値を渡す処理もしています。
その場合、分離の観点から言うと、MXMLの中にスクリプトを書くのは
あまりよろしくないとは思っていますが
子画面のMXMLにScriptタグを書いてその中に
setter getterを書き、それらを経由して値のやり取りをしています。

皆さんはロジックとビューを分離したときに、
画面に値を渡したい場合はどのようにされてますか?
バインディングとか、同一セッション間で値を持ち回れる
コンテナを作成するとか考えてはいるのですが・・・。

ご意見いただけると幸いです。
758Now_loading...774KB:2011/11/02(水) 20:05:57.26 ID:SCW8Xk+T
flex4.5ですが、データプロバイダはメモリ空間のポインタを管理していると思いますが、
list.dataProvider.getItemAt(index)で得られるポインタは、そのデータプロバイダで管理されているポインタそのものなのか、
そのポインタへのポインタなのかどちらでしょうか?

と言いますのは、渡されたポインタをデータプロバイダにaddItemAtで新しいインデックス位置に追加したのですが、
addItemAtした方の内容を編集した時に、getItemAtされた方の表示は変わらないのに、
getItemAtされた方を編集すると、
addItemAtした方の表示が変わるからです。
なぜかなと思いました。バカでしょうが重要だと思うので教えて下さい。
759Now_loading...774KB:2011/11/04(金) 22:19:16.83 ID:6ahcyGLb
外部テキスト読み込みで、UTF8は大丈夫なんですが
UTF8Nを読み込むとエラー出るのは仕様なんでしょうか?
中国語テキストがUTF8Nじゃないと表示されないみたいでして困っております。。
760Now_loading...774KB:2011/11/06(日) 16:16:54.07 ID:jN3+5Sl2
>>759

UTF8Nの読みこみもわかるけど
それはそうとさ、

スペックの高いモテ男にとって
家でエロゲやるより、
この現実がすでにエロエロゲだよな。

気に入った子見つけて口説けば
エッチできる。
部屋にお持ち帰りしてしまえば
どんないやらしいことでもできる。

そいつにとって
この現実こそがエロすぎる最高のエロゲー。

考えただけでも勃起してくるぜ。
761Now_loading...774KB:2011/11/08(火) 07:12:04.47 ID:w97NSK6E
CS4のXPでAS3ですが、ラジオボタン(RadioButton)の初期選択が
思う通りに設定できません。

タイムラインのフレームアクションで radioB2.selected = true; とかで設定
できるはずですが、ラジオボタン自体は出るものの無選択のままです。
また、イベントを発生させて無理やり radioB2.selected = true; としても駄目でした。

どうすべきでしょうか?

762761:2011/11/08(火) 07:23:08.46 ID:w97NSK6E
すいません。自己解決しました。
4個のボタンを2個づつグループ分けし忘れていました。
763Now_loading...774KB:2011/11/08(火) 15:59:29.49 ID:EznP+LZe
AS1.0です。講座サイトを見ていると
if(hoge){}という分岐を見かけます。
== 0や== trueを入れるであろう部分が省略されているんですが
これはどういう意味になんですか?
764Now_loading...774KB:2011/11/08(火) 16:25:03.30 ID:21Bjzs6g
Boolean型の比較ということだ hogeの中身がtrue かfalseか判定
if ( hoge ){ 中身がtrueなら以下の処理を実行
if ( !hoge ){ 中身がfalseなら〜 
765Now_loading...774KB:2011/11/08(火) 16:32:03.86 ID:21Bjzs6g
ああ 単純に==tureを省略してるって事
ASなら他の型でも省略できるみたいだな
if ( hoge ){//int型なら0以外なら以下の処理を〜
if ( hoge ){//String型ならnull、""(何も無し)以外なら以下の〜
766Now_loading...774KB:2011/11/08(火) 16:33:36.29 ID:EznP+LZe
>>764-765
こんな便利な方法があったんですね
ありがとうございます
767Now_loading...774KB:2011/11/08(火) 16:46:32.64 ID:21Bjzs6g
失礼 AS1、2ならnullじゃなくてundefinedって扱いだ
768Now_loading...774KB:2011/11/08(火) 17:26:17.45 ID:EznP+LZe
たびたびすみません、AS1.0の質問です。
moveTo();lineTo();で描画した直線の深度が一番奥になってしまうんですが
深度を変えるにはどうすればいいんでしょうか?
ツールはparaflaを使っていてスクリプトは下のように記述しています。

Edit = false;
onMouseDown = function (){
_root.xstart = _root._xmouse; _root.ystart = _root._ymouse; Edit = true;
};
onMouseMove = function(){
if(Edit){
clear(); lineStyle(1,0xFFFFFF,100);
moveTo(_root.xstart, _root.ystart);
lineTo(_root._xmouse, _root._ymouse);
}};
769Now_loading...774KB:2011/11/08(火) 18:11:25.81 ID:B13Hnqdd
>>757
なんかここの話題とはちょっと違うような気もするが。
FxUGとかで聞いた方が間違い無いと思う。ここはFlexの話題がメインじゃないし。

IMXMLObject#initialize(document:Object,id:String)
で元のObjectが取れるんだから、プロパティとかScriptタグで定義しなくても良いと思うんだが。
自クラスで使うには、initializeを上書きして、documentを自前で保持しておく必要はあると思うが。

MXML側(ビュー側)にロジッククラスを書き込んでやって、
<fx:Declarations>
<hoge:HelloWorldLogic id="hello"/>
</fx:Declarations>

ロジック側ASでは
[Bindable]
public class HelloWorldLogic implements IMXMLObject{
...

ってやってやれば、動的にバインドしてくれる。
770768:2011/11/08(火) 19:24:02.78 ID:EznP+LZe
すみません自己解決しました
空のムービークリップを作って指定したら直りました
771Now_loading...774KB:2011/11/08(火) 20:31:57.34 ID:o+aPH1bP
どなたかご存知の方がいたら教えていただきたいんですが、
Flash(AS2ですが)で外部画像やムービーを呼び出すときは
loadMovieで外部画像やムービーを読み込むと思うけど、その画像ファイルや
ムービーファイルをサーバに設置するとき、ファイル名を含んだURLを
打たれても見られないようにするにはどうしてますか?

ディレクトリのパーミッションを644にして画像は755(705とか)にしてますか?
画像も644(600?)で読み込めるんでしょうか。
772Now_loading...774KB:2011/11/08(火) 22:26:30.71 ID:21Bjzs6g
実際にサーバにうpって試してみるんだw
結果の報告待ってるよ〜
773Now_loading...774KB:2011/11/08(火) 23:00:34.93 ID:o+aPH1bP
了解です。しばし結果はお待ちください。
774Now_loading...774KB:2011/11/09(水) 03:07:17.38 ID:ftaSXIAf
AS2で作業をしております。
サウンド再生で行き詰まっていることがあって質問させて頂きます。

ムービークリップ内のサウンドオブジェクトを再生する際、
_rootから変数を使って(=変数名で)指定したいのですが、再生出来なくて悩んでおります。

bgm_mc…サウンドを収容しているmc。 このmc内でサウンドオブジェクトを作成するASを記入している。
oto   …サウンドオブジェクト名。
hensu …指定用変数

と仮定して、
 _root.hensu = "oto";           // 変数に再生したい音を振り分け
 _root.bgm_mc.hensu.start();  //  再生

のように書いているのですが再生出来ません。 「_root」の所を削除したり、「_global」で変数で代入して
階層を省略したり、MC内から変数を参照して再生するASを書いてみたりと色々と試して2週間が過ぎてしまいました。
変数を使用せずに直接サウンドオブジェクトを指定すれば、再生されます。

どうかご指導お願い致します。
775Now_loading...774KB:2011/11/09(水) 07:11:10.99 ID:yE3VRrDE
なんか妙にAS1.0と2.0の質問が多いな。
卒業制作で困ってるのか?

776Now_loading...774KB:2011/11/09(水) 12:07:54.58 ID:NAxBptib
気になるのはuがuみたいに日本語で打ったように見えるところなんだけど
777Now_loading...774KB:2011/11/09(水) 14:48:28.14 ID:2MWHYFMD
ホントだwよく気がついたなwwww
778Now_loading...774KB:2011/11/09(水) 17:02:00.95 ID:ftaSXIAf
>>774です。
uの全角は、手打ち変換していて間違えました。すみません
実際の変数名は「hensu」ではないので、大文字が原因ということでは
ないと思います。
779Now_loading...774KB:2011/11/09(水) 20:02:02.37 ID:VoiHAyMc
_root.bgm_mc[_root.hensu].start();

こうじゃね?
780Now_loading...774KB:2011/11/09(水) 21:11:21.49 ID:ftaSXIAf
>>779
鳴りました!本当にありがとうございます。

[]の前にピリオドが付かないんですね。 かなり近い所で何度も書きまくっていたけれども
多分これは気づくことが出来なかったと思います。
ようやく作業が前に進めます。 ありがとうございました。
781Now_loading...774KB:2011/11/10(木) 04:55:28.43 ID:Vkb6/ool
困っています。AS2なんですが、サーバにアップしたときに、
loadMovieで以下のようなディレクトリ構造で画像ファイルを
呼び出そうとしているのですが、画像ファイルのフォルダに
.htaccessがあって、それが画像を呼び出すのを邪魔しています。

[testprogram] --[gazoo]--gazoo.jpg
| |-.htaccess
|-[program]--load.swf
|-load.html(swfを埋め込んである)

.htaccessの記述

SetEnvIf Referer "^http://www\.testprogram\.com/program/load\.php" ref_ok
order deny,allow
deny from all
allow from env=ref_ok

.htaccessをはずすと画像を読み出すのですが、直リンクやブラウザからの
画像の呼び出しを許してしまいます。どの辺が悪いか何かお気づき
できしたら、ご教示ください。なお、リファラは
http://www.testprogram.com/program/load.php
と出てきています。よろしくお願いします。
782Now_loading...774KB:2011/11/10(木) 04:58:44.65 ID:Vkb6/ool
ディレクトリがずれてしまってますが、二行目以下は
一段、階層を下げてずらしてください。[gazoo]の中に
画像ファイルとにっくき.htaccessがあります。
783Now_loading...774KB:2011/11/10(木) 17:02:39.71 ID:zRfCwqqf
AS1.0の配列についての質問です。
お客さんの好みの食べ物を与えてスコアを稼ぐゲームを作っていて
配列で下のように設定しています。

// 配列の宣言
food = new Array(); type = new Array();
food[0] = new Array(); food[1] = new Array(); food[2] = new Array();
type[0] = new Array(); type[1] = new Array(); type[2] = new Array(); type[3] = new Array();

// 【食べ物の設定】(温かい,冷たい,甘い,辛い,酸っぱい)
food[0] = [0,0,1,0,1]; // オレンジ。甘くて酸っぱい
food[1] = [1,0,0,1,0]; // カレーライス。温かくて辛い
food[2] = [0,1,1,0,0]; // アイスクリーム。冷たくて甘い

// 【お客さんの好みの設定】(温かい,冷たい,甘い,辛い,酸っぱい)
type[0] = [1,1,1,1,1]; // 太郎さん。特に好きなものも嫌いなものもない(点数1倍)
type[1] = [1,1,1,1,0]; // 次郎さん。酸っぱいものは嫌い(点数0倍)
type[2] = [1,1,2,1,1]; // 三郎さん。甘いものが好き(点数2倍)
type[3] = [0,0,0,0,3]; // 四郎さん。酸っぱいものが大好き(点数3倍)他のものは嫌い(点数0倍)

// 【食べ物を与えた時の処理】
score = 100;
↑ここで食べ物の味と客の好みを比較して
・四郎さんに甘くて酸っぱいオレンジを与えると100 * 0 * 3 で0点
・三郎さんに冷たくて甘いアイスクリームを与えると100 * 2 * 1 で200点
といったような感じでscoreを補正させたいのですがどうすればいいんでしょうか?
784Now_loading...774KB:2011/11/10(木) 17:32:40.16 ID:Vkb6/ool
二次元配列になっているのが問題では・・・
そもそもintegerを足したり引いたりするんじゃないなら、
ルールをcaseで羅列すればいいので、配列にする必要もないのでは・・・
785783:2011/11/10(木) 18:11:46.19 ID:zRfCwqqf
配列なら要素が増えてもtype[who][hoge]みたいな指定ができて楽なのかなと思ってました
他の方法でももちろん構いません
caseは使ったことがなくてif分岐との違いがよくわからないのですが
この場合どのように記述するのがベストなんでしょうか?
786Now_loading...774KB:2011/11/10(木) 20:05:21.22 ID:8bDmVW2+
おれは>>783の方針は間違っていないと思うなぁ。
変数名がわかりにくい気がするけど。
foodはintにして、food=1がオレンジとかのほうが直感的だとおもう。
で、今のfoodをtasteに変更するとか。typeももっとどうにか・・・。

まぁ>>783の宣言のままとるすと、
var foodIndex = 0 // オレンジ
var guest = 2 // 三郎

for(i=1,i<5,i++) {
 if( food[foodIndex][i] == 1 ) {
  score = score * type[guest][i];
 }
}

動かしてないけど、こんな方針でよくない?
787Now_loading...774KB:2011/11/11(金) 00:06:13.06 ID:JgQJhBwU
AS1.0よう知らんけど、その手の処理ならマスク方式ってのもありかもね。行数の関係で見にくくてすまん。

var baseScore=100, s=2, m=3;//0〜3の値らしいので2ビット確保 mask値:11=3

//好み&判定用マスク作成ヘルパ関数
function getKonomi(hot,cold, sweet,spicy, sour){
return hot | cold<<s | sweet<<s*2 | spicy<<s*3 | sour <<s*4;
}
//スコア計算関数
function getScore(kyaku, food){
var v = kyaku & food; //マスク使って被ってるところだけ取り出す
var score = 0;
for(i=0;i<5;i++)score += (v & m<<i*s)>>i*s;
return score * baseScore;
}
//個人の好み作成
taro = getKonomi(1,1,1,1,1);
jiro = getKonomi(1,1,1,1,0);
sabu = getKonomi(1,1,2,1,1);
siro = getKonomi(0,0,0,0,3);
//判定用マスク作成
food1 = getKonomi(0,0,m,0,m);
food2 = getKonomi(m,0,m,0,0);
food3 = getKonomi(0,m,m,0,0);
//けいさん
trace(getScore(taro,food1));
trace(getScore(jiro,food1));
trace(getScore(sabu,food3));
788Now_loading...774KB:2011/11/11(金) 13:54:55.69 ID:RInyJMZ1
ビット演算を理解してないと難しすぎるかもな
途中の計算も2進数で確認できないとデバッグも改造もできんw
789Now_loading...774KB:2011/11/11(金) 14:19:10.14 ID:lJpUg5Uu
n進数表示だったら普通にtoStringで見られるよ。AS1.0はどうかしらんけど。

var num = 3;
trace(num.toString(2)); // 11

逆ならparseInt。

num = parseInt("0101010101",2);
trace(num);
trace(num.toString(2));
trace(("0000000000" + num.toString(2)).substr(-10)); //10文字でゼロパディングする場合こんな感じ
790Now_loading...774KB:2011/11/11(金) 17:08:59.20 ID:UEUmK//1
>>786-788
できました!ありがとうございます
ビット演算はとても便利そうなので勉強してみます
791Now_loading...774KB:2011/11/12(土) 01:26:59.18 ID:MOeK6lCa
3.0以外はビット演算速いわけじゃないけどね
792Now_loading...774KB:2011/11/12(土) 10:59:54.63 ID:jjv1VzKt
ビット演算ってメンテナンスが難しいし
仕様が途中で変わるような物には利用しない方がいい。
自分しか触らないような物であればそういう問題はクリアされるだろうが。
793Now_loading...774KB:2011/11/12(土) 16:40:26.38 ID:1R4BnCXm
as3.0で質問です。

以下のように生成した配列型のムービークリップがダブルクリックを受け付けません。
原因を教えていただけないでしょうか。

//****************************************
//ライブラリ登録してリンケージでクラス設定した画像"jpg_file"の一部を
//動的生成した"max"数のムービークリップの画像にはめ込んで配置する。
//****************************************
//配列インスタンスの設定
var unitArray:Array = new Array();

//インスタンスの生成と配置
for (i = 0; i < max; i++)
{
// ムービークリップ作成
var unit:MovieClip = new MovieClip();
//画像のクリッピング設定;
var myBitmapTiling:BitmapTiling = new BitmapTiling(unit,0,0,100,100,"jpg_file");
//配列インスタンスへの設定
unitArray.push(unit);
//配列インスタンスを配置;
stage1.stage2.addChild(unitArray[i]);
}
794Now_loading...774KB:2011/11/12(土) 16:41:00.21 ID:1R4BnCXm
(続き)
ちなみに、ダブルクリックのイベントを割り当てのコードは次のとおりです。

//****************************************
//ダブルクリック
//****************************************
unitArray[0].doubleClickEnabled = true;
unitArray[0].addEventListener( MouseEvent.DOUBLE_CLICK,dClick_func );
function dClick_func(event:MouseEvent):void
{
trace("d_click");
}
※仮に[0]のみ処理対象にしています。

これで、unitArray[0]に該当するムービークリップをダブルクリックしても何の反応もありません。
ちなみに、unitArray[0]を、ステージ上に配置してあるムービークリップ"stage_mc"と置き換えると、stage_mcに該当するムービークリップは正常にダブルクリップを受け付け、「d_click」という文字を出力します。
配列として生成されたムービークリップは何か問題があるのでしょうか。ただ、unitArray[0]はドラッグ操作は受け付けていてダブルクリックだけ受け付けないのです。
よろしくお願いします。
795Now_loading...774KB:2011/11/12(土) 16:49:29.18 ID:s/W2vo24
AS3のXPでCS4
オブジェクトの回転で困ってます。ステージ上に置いたオブジェクト(mc0)をある操作で
mc0.rotation += 0.5; で回転させようとしています。

対象オブジェクトがステージ中央(stage.stageWidth/2, stage.stageHeight/2)にあれば
良いのですが、オブジェクトをマウスドラッグで中央から移動させて回転操作を起こすと
自身の回転と同時にステージ中央周りでも回転します。

つまり惑星の公転と自転のような感じで動いてしまします。
どう対処すれば良いでしょうか?
796795:2011/11/12(土) 17:13:30.97 ID:s/W2vo24
(上の訂正)
※マウスドラッグで移動させてると自転せず公転のみです。

---再質問----
AS3のXPでCS4(Player10)
オブジェクトの回転で困ってます。ステージ上に置いたオブジェクト(mc0)をある操作で
mc0.rotation += 0.5; で回転させようとしています。

対象オブジェクトがステージ中央(stage.stageWidth/2, stage.stageHeight/2)にあれば
良いのですが、オブジェクトをマウスドラッグで中央から移動させて回転操作を起こすと
ステージ中央周りでも回転し、惑星の公転のようになります。

つまり基準点がステージ中央のままこの周りを回転してしまいます。
どう対処すれば良いでしょうか?
797795&796:2011/11/12(土) 17:39:34.68 ID:s/W2vo24
すいません自己解決しました。
実際はmc0の子をドラッグしていました。
798Now_loading...774KB:2011/11/12(土) 18:31:08.85 ID:bCF10ONX
>>794
とりあえず、
trace(event.target);
trace(event.currentTarget);
してみたら?
799793:2011/11/12(土) 19:17:38.99 ID:1R4BnCXm
>>798
traceダメみたいです。
そもそもダブルクリックの指定関数"dClick_func"を呼び出してないみたいです。
800Now_loading...774KB:2011/11/12(土) 19:32:48.01 ID:Sn3q2JF+
>>799
BitmapTiling クラスが邪魔してるってことはない?
801Now_loading...774KB:2011/11/12(土) 19:44:37.86 ID:kXmtzbsM
BitmapTilingクラスってのが、ググると出てくるBitmapTilingクラスなら
Bitmap描いたSpriteをaddChildしてるみたいだから、>>800で当たりかな
802Now_loading...774KB:2011/11/12(土) 20:57:17.82 ID:f70pOoj3
WinXP-ProでFlashCS4(AS3)使用ですが、3D操作後に入れ子のMCがマウスドラッグ
出来なくなって困ってます。

設定) 親mc0の中に子mc1があり、子は親の中でマウスドラッグ移動が出来る

症状) 親mc0を3D回転、例えば mc0.rotationX = 30; などととすると子がドラッグ移動
    出来なくなり、mc0.rotationX = 0 で元に戻しても改善されない。

補足) 子mc1はマウスイベントのMouseEvent.ROLL_OVERは感知出来る。従来の
   平面内の回転 mc0.rotation = 30 とかでは普通にドラッグ移動できる。

対処のヒントはありますでしょうか?
803793:2011/11/12(土) 21:56:22.58 ID:1R4BnCXm
>>801
なるほど。
BitmapTilingクラスの代わりってないものですか?
動的に生成したムービークリップに、
1枚のビットマップの一部を貼り付けたくてBitmapTilingクラスを使ったのですが、
同じ効果でダブルクリックを受け付けてくれる方法がありましたらご伝授ください。
804Now_loading...774KB:2011/11/12(土) 22:03:05.45 ID:kXmtzbsM
BitmapTilingクラスがコンストラクタでやってる事を、直接生成したMCに対してやればいいんでないの?
見たところ、Spriteを新規に作ってBitmapDataをbeginBitmapFillで描いた後にaddChildしてるから
MCに直接BitmapDataを描いてやればいいと思うんだけど
805793:2011/11/12(土) 23:22:02.52 ID:1R4BnCXm
>>801
>>804
ご指摘の方法で試したところ解決しました!
ありがとうございました!
806802:2011/11/13(日) 00:39:27.38 ID:dnVwXFOB
(追記)
SWFをUpしました。http://loda.jp/swfsuksuki/?id=117
※リンク用URLの下にあるDOWNLOADボタンを押して下さい。

オレンジ色の円がマウスドラッグ対象(mc1)です。
最初rotationX = 0ですが、右上のNumericStepperで緑色の背景(mc0)を
X軸回転の0〜100度で変更できます。
左上のText欄はマウスイベントの状態です。

807Now_loading...774KB:2011/11/13(日) 21:05:58.15 ID:Sm6R+E75
タッチした瞬間にイベントが発生する様に
<s:List id="nanntara" x="10" y="66" width="148" height="531"
change="nanntara_buttonDown()" fontSize="27" textAlign="kanntara">
で起きたタッチを
protected function nanntara_buttonDown():void
で受け止めたのですが、やはり手を離した時まで反応しません。
何か他にタッチしただけで発生するイベントがあるのでしょうか?
808Now_loading...774KB:2011/11/14(月) 00:27:14.01 ID:WwZtEoaa
>>807
アホかwww
change→mouseDownに変えればおk
809Now_loading...774KB:2011/11/14(月) 01:05:24.12 ID:mTN9cZQc
>>808
ちょっとまだ意味は分かってないですがちゃんとなりましたありがとう!
810Now_loading...774KB:2011/11/14(月) 13:29:21.66 ID:bC/k1JMn
えーと Flash\(^o^)/オワタということですか??

【企業】 「モバイル向けFlashの開発中止は、アップルの拒絶が主因」…Adobe幹部
http://uni.2ch.net/test/read.cgi/newsplus/1321243538/
811Now_loading...774KB:2011/11/14(月) 17:14:31.36 ID:7Swu1oyH
オワタもなにもモバイル、というかスマホ版Flash Playerは始まってもいなかった
812Now_loading...774KB:2011/11/14(月) 23:56:27.35 ID:kSaT2GVU
まぁモバイルやめるってことは、必然的にPC向けも、どっちもに対応できるHTML5に移ってくよね
IE8使えないXPがどうなるかだなぁー。いちいちChromeとか入れる人の方が少ないだろうし
813802&806:2011/11/14(月) 23:56:35.40 ID:A8ox6AKc
すいません。どなたか分かりますか?
3D操作中はドラッグ移動出来ないのは納得しますが、元の平面(rotationX = 0)に
戻ったら移動を再開させたいのです。
814Now_loading...774KB:2011/11/15(火) 00:18:46.44 ID:GWph1+Zm
>>813
俺もちょっとやってみたら、startDragとstopDragじゃできなかったから
ENTER_FRAME使って移動させてみたら3D変形させてもドラッグ(風の)操作できたわ
815802&806:2011/11/15(火) 02:27:07.93 ID:FLc0c1Xq
>>814
さんきゅうです。ENTER_FRAMEと
mc1.x = mouseX;
mc1.y = mouseY;
でマウス位置に追従させてOKでした。
816Now_loading...774KB:2011/11/15(火) 19:10:57.25 ID:TwZasM9N
任意のオブジェクトにaddEventListenerで
追加したイベントのリストを取得する方法はありますか?


817Now_loading...774KB:2011/11/16(水) 02:27:49.75 ID:xAYiBmm1
>>810
そこ読んだら嫌われ方が尋常じゃない。。。
やばくね?
818Now_loading...774KB:2011/11/16(水) 06:33:09.72 ID:0ETIs1d1
>>817
フォトショとかプロが使うソフトが高くて買えない人間と、
低スペでFlashのページをまともに表示できない人間が文句言ってるだけにしか見えんw
つまり貧乏人が吼えてるだけかとw
AllFlashサイトへの批判は、Adobeじゃなくサイト側に向かうべきだし、
アップデートが多いってのも、ChromeやFirefoxでもしょっちゅやってるし、
自分の気に入らないことを挙げ連ねてるだけじゃね?
819Now_loading...774KB:2011/11/16(水) 10:38:07.00 ID:2Wqsr6ae
>>818
まあそうかもしれんが
趨勢がそうなると、Flashも隅に追いやられる罠
820Now_loading...774KB:2011/11/16(水) 11:00:27.71 ID:iWGqH7XY
Soundとそうめん(Thread)のどっちでもいいんですが
Web上にアップしているmp3をロードした時、Soundで言うとbytesTotal、そうめんでいうとprogress.totalの数値が
0のまま変わらなくて困っています。
PC内のmp3をロードした時は表示されて、その数値でシークバーを描画していたのでなんとかtotalの数値を取得したいんですが
どうすればtotalの数値を取得できるのでしょうか?
821Now_loading...774KB:2011/11/16(水) 12:54:37.55 ID:iWGqH7XY
ソースはこんな感じです
...
_sndt = new SoundLoaderThread(new URLRequest("mp3/***.mp3")); // 絶対パスでも特に差異なし
_sndt.start(); // ロード開始
_container.addEventListener(Event.ENTER_FRAME, _check);
}

private function _check(e:Event):void{
trace(_sndt.sound.bytesTotal); // 0のまま変わらない
trace(_sndt.progress.total); // こっちも変わらない
trace(_sndt.progress.isCompleted) // 読込完了のフラグは立つ
}
822Now_loading...774KB:2011/11/16(水) 13:33:58.67 ID:hRS/Ol2Q
ProgressEvent使うんじゃないの?
823Now_loading...774KB:2011/11/16(水) 16:47:24.38 ID:iWGqH7XY
ProgressEventの部分がスレッドのprogressの中に入ってる(はず)なので・・・
スレッド使わないでやれば普通に成功することなんでしょうか
824Now_loading...774KB:2011/11/16(水) 16:59:18.23 ID:iwRRZ/sf
それくらい自分で試せよアホか
825Now_loading...774KB:2011/11/16(水) 17:21:19.21 ID:hRS/Ol2Q
いや、マジでなんで試さないの?
826Now_loading...774KB:2011/11/16(水) 17:36:48.79 ID:iWGqH7XY
自分で試してみてダメだったけど、普通は成功するものなのかな ということでした
言葉足らずですいません
827Now_loading...774KB:2011/11/16(水) 18:07:24.48 ID:AXCgLZ2Z
AS2,XP,CS4です。

ダイナミックテキストでの文字の表示方法が分かりません。
やろうとしているのは、入れ子にテキストフィールドを持ったMC(リンケージ名はegg,
テキストの変数名はtxt)があり、それをステージ上に10個おのおの番号を持って
出現させたいです。 記述は、

for (idx=0; idx<10; idx++) {
newMark = "egg"+idx;
newMark.txt = idx;
prop = {_x:20+idx*50, _y:20+idx*50};
attachMovie("egg", newMark, idx, prop);
}

つまり egg[txt] の形でtxtに0〜9を表示させたいです。
eggは10個出ましたが番号が表示されません。どうしたら良いでしょうか?
828Now_loading...774KB:2011/11/16(水) 20:33:21.40 ID:akMomvok
最近HTML5+javascriptを使えだの言われてますが
actionscript3.0の具体的な実行速度ってどれぐらいなんでしょう?

コンパイル言語だし、actionscriptの方が速度の優位はあるように思うのですが、
描画速度ではなく、純粋に数値計算を繰り返した場合、
javascript(googleV8あたり)と比較して、
それぐらい速度の差があるものなんでしょうか?
829Now_loading...774KB:2011/11/16(水) 20:35:45.60 ID:akMomvok
Xそれぐらい
○どれぐらい
830827:2011/11/16(水) 23:47:07.57 ID:QcnKfhjC
(自己解決)
原因が分かりました。attachMovie後にテキスト代入すればOKでした。
attachMovie("egg", newMark, idx, prop);
this["egg"+idx].txt = idx;
831Now_loading...774KB:2011/11/17(木) 03:14:17.53 ID:NntxFo5h
アンドロイド用に作っているのですが、下のスクローラーに、
<s:Group x="0" y="0" width="480" height="105">
<s:Scroller width="100%" height="100%">
<s:HGroup id = hgGroup width="100%" height="100%">
</s:HGroup>
</s:Scroller>
</s:Group>

以下の文をボタンで呼び出してテキストエリアを追加する様にしたのですが、
var hoge:TextArea = new TextArea();
hoge.width=148;
hoge.height=280;
hoge.x = 0;
hoge.y = 100;
hgGroup.addElement(aTextArea);

画面に収まる数以上のテキストエリアを作るとスクロールする様になるのですが、
一番新しいテキストエリアが画面の一番端に来てしまい、文字を入力しにくいので、
もうちょっと真ん中に持って来たいと思い画面を指でスライドさせても、もちろん
バネで元の位置に戻ります。真ん中で固定させるにはどうしたら良いのでしょうか?
832Now_loading...774KB:2011/11/17(木) 03:16:24.97 ID:NntxFo5h
↑ごめんなさい一番下の
hgGroup.addElement(aTextArea);

hgGroup.addElement(hoge);
の間違いでした。
833Now_loading...774KB:2011/11/17(木) 03:33:17.15 ID:NntxFo5h
↑ごめんなさいしかも自己解決しました。デザインツールのレイアウトのパディングでなんとか出来るんですね。
ギャップも弄れて便利でした。終わり。
834Now_loading...774KB:2011/11/17(木) 10:56:04.50 ID:9xcx2AET
書き換え可能なTLFテキストフィールドを配置してます。
テキストをそのまま編集してるときはいいんですが、

var txt:String=tlfTF.text;
tlfTF.text=txt;

のように、テキストフィールドの.textをいったん別の変数に保存して、再度.textに代入すると、
微妙に文字間か何かが変わっているのか、文章の折り返しポイントが変わってしまい、
表示がおかしくなってしまいます。

何か修正する方法はないでしょうか?
835Now_loading...774KB:2011/11/17(木) 12:42:10.57 ID:0Ejhrug6
>>1
質問は物凄い勢いじゃなくておk
って書き忘れたわ
836Now_loading...774KB:2011/11/17(木) 12:47:41.84 ID:2P0ih6e3
>>834
TextLayoutFormatでフォーマットを設定してやればいいんじゃないかな。
837Now_loading...774KB:2011/11/17(木) 13:07:35.84 ID:9xcx2AET
>>836
TLFテキストが置いてあるSWFをロードした段階でtextFormatとtextFlowを一旦保存し、
.textを差し替えたのちまたフォーマットを設定し直してもやはりなってしまうようです。
838Now_loading...774KB:2011/11/17(木) 13:23:16.38 ID:2P0ih6e3
うーん。
ASで全部やればうまくいくけどなぁ。
プロパティインスペクタで設定した内容と合わせるとかしないといけないけど。
839Now_loading...774KB:2011/11/18(金) 00:06:17.60 ID:Bdmo/LNI
sparkのDataGridを使っていて2点質問があります。

1.ヘッダーの文字列を任意の位置で開業することは出来ますか?
2.5列のカラムがあったときに3列目と4列目のカラムのヘッダを結合したいのですが可能でしょうか?

ググッてみたのですが、イマイチ情報を見つけることが出来ませんでした。

どうかよろしくお願いいたします。
840Now_loading...774KB:2011/11/18(金) 00:33:18.85 ID:hJBxndXT
改行したい位置に &#13;って改行コード入れたらいい
(&はわざと全角になってます。)

2は無理。Gridでやってみるとか。
(HTMLだとTableタグのような感じで書ける)
841Now_loading...774KB:2011/11/18(金) 13:03:43.88 ID:Y9KiMzty
CS4(AS3)のWinXPですがTextAreaの書式変更ができなくて困っています。

ググって調べると
var myformat:TextFormat = new TextFormat();
myformat.size = 18; //文字サイズ変更
として、TextAreaをtAreaで生成し、ここに文字を入れ込んで

tArea.textField.setTextFormat(myformat); か tArea.text.setTextFormat(myformat); で
いける筈なのですが文字は出るものの何も変化しません。

※後者はエラーメッセージ
 Error #1006: value は関数ではありません。
が出ます。

どうすべきでしょうか?
842Now_loading...774KB:2011/11/18(金) 13:34:18.37 ID:OHOG53in
うる覚えだが 静的に作成したテキストエリアはフォーマット受け付けないんじゃなかったっけか

こっちも質問
コードの最大行数っていくつなの?
フレームに直接書く場合と外部クラスファイルで差はあるんだろうか
843Now_loading...774KB:2011/11/18(金) 14:44:27.04 ID:lZodk1v3
>>841
文法間違ってます
TextAreaがtAreaなら、そこにスタイル適用させないと
textFieldとか、textとか、おかしな場所に適用させようとしてもダメ
844Now_loading...774KB:2011/11/18(金) 15:17:25.15 ID:sCAlU0tK
うろ覚えだが、
うる覚えは、よくやる間違い なっ
845Now_loading...774KB:2011/11/18(金) 15:38:42.31 ID:OHOG53in
そうだったねw

で ファイルに書けるコードの最大行数って何行なんだっけ?(CS5)
MX2004時代は4000行とかじゃなかったっけか 4000行超えた処理は無視されて困った経験がある
今携わっている作品もメイン処理部のコードが膨大な量になりそうで悩んでいる
高速化のためにインラインを多用したいんだ 普通は大まかな処理毎にクラス分けするもんなんだろうけど
846841:2011/11/19(土) 10:08:35.78 ID:N845XXMy
>>843
できました
myformat.size = 18
tArea.setStyle("textFormat"myformat);
でOKでした。
847839:2011/11/19(土) 19:14:45.66 ID:ZOp6eESM
>>840

ありがとうございます。
おかげさまでヘッダの文字の改行できました。

カラムの結合はできないんですね。。
残念です。。。
848Now_loading...774KB:2011/11/20(日) 23:57:53.35 ID:O/iCQFrc
FBのデザインツールでGroupの中にTextInputを入れて、もしかしたらと思い
GroupのID.TextInputのID.text
とドット構文を書いてみたのですが、当然でしょうがエラーでした。

色々試行錯誤して以下の分でアクセス出来たのですが、
var whatGroup:Group = group.getElementAt(0) as Group;
var whatTextInput:TextInput = whatGroup.getElementAt(0) as TextInput;

シンプルではないですし、インデックスでしかたどれません。
上のドット構文の様な方法でアクセスする方法があれば教えてください。
849Now_loading...774KB:2011/11/21(月) 00:15:36.82 ID:fVEBP1wG
ドット使うも何も、直接TextInputのID.textって書けばアクセスできる
850Now_loading...774KB:2011/11/21(月) 01:28:27.23 ID:OLsFHE1O
>>849
ありがとう。
実はアクセスする側の処理を変更せず、生成した全てのグループ内の同IDのコントローラーにアクセス出来る様にしようと思っていたんですが、
そうやって作った場合でも違うIDだと怒られるんですね。インデックスでアクセスします。。
851Now_loading...774KB:2011/11/21(月) 03:44:25.98 ID:HuXDiT23
Flash CS4で製作したswfファイル(キャラの各種アニメーションをまとめた物)を
FlashDevelopでEmbedして、gotoAndStopなどでアクセスしたいのですが、上手く行かないです…。


[Embed(source = "../lib/sample.swf")]
public const SampleSwf: Class;

public function Main():void
{
  var sampleSwf:MovieClip = new SampleSwf();
  
  stage.addChild(sampleSwf); // ステージに表示はできる
  var mc:Object = stage.getChildAt(1);
  var mc:Object = stage.getChildAt(1);
  
  mc.gotoAndStop("walk"); // 歩くアニメーションMCが配置されているフレームに飛ぶ
}


Embedしたswfをnewして、そのインスタンスをaddChildでステージ上に表示することは出来たんですが
そこに表示したインスタンスに対して.gotoAndStopなどをしても、何も起こりません。

どうすればEmbedしたswfファイルに対して、gotoAndStopやgotoAndPlayのアクセスが出来るのでしょうか。


852Now_loading...774KB:2011/11/21(月) 20:06:33.15 ID:V5dkpBcP
WinFlash4 As3です

tween1 = new Tween(this.Obi01,"scaleX",Strong.easeOut,1,0.6,duration,true);
tween2 = new Tween(this.Obi01,"scaleY",Strong.easeOut,1,0.6,duration,true);

上のようにscaleX、scaleYだけちがう場合に、まとめて1行で書くする方法って
ありますでしょうか?

よろしくお願いいたします。
853Now_loading...774KB:2011/11/21(月) 22:54:02.08 ID:Kj57cSNu
ない
854Now_loading...774KB:2011/11/22(火) 22:36:07.22 ID:kfO79Odp
アイテムレンダラーで、data(XML)の内容からアイテムに表示するべきコンポーネントの種類を判別し、
UIコンポーネントを生成し分けているのですが、
それらがリストにバラバラと並んでからスクロールさせると、なぜかコンポーネントの種類が
ランダム(の様な感じで)入れ替わってしまいました。
画面から消して戻す度に並びが違います。これはなぜなんでしょうか?
855Now_loading...774KB:2011/11/23(水) 00:00:02.47 ID:JVIatHhd
Flex3のFLV再生について質問です。

現在Flex3.2でFlvPlayerを作っています。
VideoDisplayコンポーネントを使って動画を再生し、HSliderでシークを実装したのですが、
シークはActionScriptで制御しているのですが、動画によってシークがずれてしまうことがあったり
動画の終盤へシークするとシークされない時があります。

動画によってシークポイントが変わるということまではわかったのですが、
それを制御できるものなのでしょうか?
それともしょうがないと割りきってしまわないと行けないのでしょうか

どうぞ、よろしくお願い致します。
856Now_loading...774KB:2011/11/23(水) 06:17:25.78 ID:MW3Hj/SQ
AS1.0で質問です。
10進数の数値を62進数の文字列にする処理を作ってみたのですが
62進数の文字列を10進数の数値にするにはどうすればいいですか?

code = ["0","1","2","3","4","5","6","7","8","9",
"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z",
"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"];
txt = "";
int = 20111123; // 62進数では1mnOX
while (int >= 62){
amari = (int % 62) ;
txt = code[amari] + txt;
int = Math.floor(int/62);
}
txt = code[int] + txt;
trace("終了!結果は…" + txt);
857Now_loading...774KB:2011/11/23(水) 10:34:37.74 ID:8t60Zlrc
1文字ずつ取り出す
(文字の番号)*62^(何桁目にあったか)を合計する
858Now_loading...774KB:2011/11/23(水) 11:48:40.20 ID:MW3Hj/SQ
>>857
できましたありがとうございます
ただ、文字を番号に変換する部分がどうしてもわからなくて
if(hoge == "a"){hoge = 10;} ... if(hoge == "b"){hoge = 11;} ... という感じで62回分岐させたので行数がとんでもないことになってしまいました
もっとスマートな方法あったら教えて下さい
859858:2011/11/23(水) 13:25:32.69 ID:MW3Hj/SQ
charCodeAt(0)で解決しました
すみません
860Now_loading...774KB:2011/11/23(水) 14:10:50.11 ID:gkK298dp
すみません。

┌タイトル ──────┐
│ │
│ │
└──────────┘

こんな感じで枠組みの線を表示して
枠の中にはボタンなどを配置して、
左上部に任意の文字を表示したいのですが、
どのように実装すればよいか教えて頂けないでしょうか。
861Now_loading...774KB:2011/11/23(水) 14:40:19.42 ID:V3FHuqOl
>>860
どこまで出来て、どこで躓いてるのか、もっと詳しく
ボタンを押すと、何かアクションを起こすことは出来るの?
862Now_loading...774KB:2011/11/23(水) 14:56:48.10 ID:f8V4QXWL
ていうか、まず言語とかフレームワークは何なの?
863Now_loading...774KB:2011/11/23(水) 17:26:54.62 ID:8t60Zlrc
>>860
画像はりつければOK
864Now_loading...774KB:2011/11/23(水) 21:46:31.95 ID:zGfwlQj9
>>860
spark.components.Panel使えばいいだけじゃね
865Now_loading...774KB:2011/11/25(金) 23:20:50.97 ID:tWZtuHqX
AS3のゲームサンプルってないですか?
ネットでも書籍でもいいです。
できればアドベンチャーゲームの
サンプルがあるといいです。
866Now_loading...774KB:2011/11/26(土) 00:13:40.21 ID:F3u4cvX9
アドベンチャーって、テキスト読んで静止画の背景が変わるとか、そういう古典的なタイプ?
867Now_loading...774KB:2011/11/26(土) 12:06:21.49 ID:bFY/hR6J

Flash CS で作成した部品(ボタン等)を、FlashBuilderで使う場合の
テクニックを、細かく書いたドキュメントや書籍があれば
教えてください。

よろしくお願いします。
868Now_loading...774KB:2011/11/26(土) 13:47:01.51 ID:cqCt0X2H
>>866
そうです。
あとはフラグ(変数)とBGMのコントロールの
仕方が書いてあると嬉しいです。

自分でもFlashの書籍やサイトをさがしたのですが、
初心者向けにはグラフィックツールの使い方
などが中心の本が多く、
それ以上の人が対象の本は急に難易度が
上がってさっぱりと言う感じでした。

AS3でゲームをつくるのに、
とっつき易いいい書籍などが知りたいです。
869Now_loading...774KB:2011/11/26(土) 14:10:49.07 ID:F3u4cvX9
>>868
そのへんは、ASの基礎知識でカバーされる部分だから
アドベンチャー製作に特化した解説を載せてる本は少ないかも
AS3.0の基本を学ぶ=アドベンチャーが作れる、って感じ

逆引きリファレンス本とか、以下のサイトあたりが使えるかな
ttp://hakuhin.jp/as3.html
ttp://itpro.nikkeibp.co.jp/article/COLUMN/20071025/285488/
870845:2011/11/26(土) 16:45:11.20 ID:EhD49fL+
CS5 最大行数についての報告
結果は…結局わからないんだけど途中までの実験結果の報告w
 
こんなRPGなんかでのトリガー処理を何行実行できるか試していった
if ( mapX==10 && mapY==20 && dir==0 ){ enemy.no=60000; textWindowOpen( enemy.no, 0 ); enemy.flg=true; }//60000行目

2万行 問題なくパブリッシュされ最後の行の処理も実行される
4万行 Flashの仮想メモリが足りないとの警告 128Mbから512Mbに増やす メモリ増加後パブリッシュが激重になる 約1分くらい
6万行 パブリッシュに6〜7分もかかったが途中の処理や最後の6万行目の処理は問題無く実行された
6万以上はさすがに無意味だと思い実験終わり
871Now_loading...774KB:2011/11/26(土) 16:59:48.17 ID:ujA2m/yu
javascriptからflexの呼び出しで呼び出した関数の中に
FileReference.save()があるとError calling method on NPObject.
となって止まってしまう。 なんとかjavascript空呼び出したいんだけどどうすればいい?
872Now_loading...774KB:2011/11/26(土) 17:01:39.68 ID:7qPYVy7y
無理。ローカル保存系はウイルス対策もあってボタン操作とかのはっきりしたユーザーからの操作経由じゃないと呼び出せない。
設計がアホ。
873Now_loading...774KB:2011/11/26(土) 17:18:48.49 ID:ujA2m/yu
なるほど。
FileReference.save()からならウィンドウ開いてから保存だからセキュリティに配慮しているもんだと思っていた
874Now_loading...774KB:2011/11/26(土) 22:31:26.03 ID:rQ/9+mUm
アンドロイドのairアプリを作っています。

protected function hoge_clickHandler(event:MouseEvent):void
{
}
と言うイベントハンドラーを、ボタンのタッチではなくActionScript
から呼びたいのですが、引数に何を入れれば良いのでしょうか?
875Now_loading...774KB:2011/11/26(土) 23:23:07.39 ID:N5C8sRp2
>>874
hoge_clickHandler(null);
でいけるんじゃないかな。
876Now_loading...774KB:2011/11/27(日) 02:35:55.36 ID:1qFL/SGg
>>875
行けましたありがとう!いらないんだ、、。
877Now_loading...774KB:2011/11/27(日) 08:45:08.94 ID:Ct+xpNUo
>>869
ありがとうございました。
調べてみます。
878Now_loading...774KB:2011/11/29(火) 01:23:11.35 ID:xHAJMLDj
as3で弾幕STG作るってアホですか?
ABA GAMES先生がやってたっけか。。。
879Now_loading...774KB:2011/11/29(火) 18:11:43.64 ID:2XqvBE2K
モバイルAIRを作っています。

<s:TextInput id="textInputId" x="19" y="83"/>

を、

var stream = new FileStream();
var file = File.userDirectory.resolvePath("textInput.bin");
stream.open(file, FileMode.WRITE);
stream.writeObject(textInputId);
stream.close();

と保存して、

var stream = new FileStream();
var file = File.userDirectory.resolvePath("textInput.bin");
stream.open(file, FileMode.READ);
textInputId = stream.readObject();
stream.close();

こうやって読み込んだら、

TypeError: Error #1034: Type Coercion failed:
cannot convert Object@194a5581 to spark.components.TextInput.

って怒られたんですが、やっぱりこれはコンポーネントを
まんま保存読込みしようとした事が悪いと言う事ですか?
コンポーネントの保存読み込みの仕方を教えてください。
880Now_loading...774KB:2011/11/29(火) 19:07:46.34 ID:Non30RiO
textInputId = TextInput( stream.readObject() );

ってやって解決したりしない?
881Now_loading...774KB:2011/11/29(火) 19:58:36.82 ID:2XqvBE2K
>>880
ありがとうございます。
うーん先ほどと同じエラーメッセージが出てダメですねえ。
型は同じだと思うんですが。
882Now_loading...774KB:2011/11/29(火) 21:03:11.53 ID:kvWqSzSx
suzukaでattachMovieで複数個のオブジェクトを追加して、それぞれバラバラの座標に配置したいんですけど、
下のようなコードを書くと、両方ともX=50に移動してしまいます。

var test1 = _root.attachMovie("img1","TestImg1", 500);
var test2 = _root.attachMovie("img2","TestImg2", 501);
test2._x = 50;

なんででしょう・・・・?
883Now_loading...774KB:2011/11/30(水) 19:29:08.75 ID:JAfPjy0R
AS1.0の質問です
・ユーザー関数でvar hoge = 0;のように変数の頭にvarをつけるのはどういう意味があるんですか?
・複数のユーザー関数で同じ名前の変数を使ったらまずいですか?(numとかiとか)
・↓のようなMCを複製した場合removeMovieClipされても変数frameがメモリに残ったままになってまずいですか?
onClipEvent(load){
frame = 0;
}
onClipEvent(enterFrame){
frame ++ ;
if(frame > 10){this.removeMovieClip();}
}
質問が多くてすみません
884Now_loading...774KB:2011/11/30(水) 23:24:32.30 ID:ai7tHzDT
>>879
registerClassAlias シリアル化

らへんでググるといいかも

ただし保存するクラスはコンストラクタに引数を必要としないクラスに限る
885Now_loading...774KB:2011/12/01(木) 02:05:39.10 ID:vZOQrc5W
>>884
ありがとう。行ってきます。
886Now_loading...774KB:2011/12/01(木) 03:12:08.59 ID:0jrwJGPI
>>883
・ここで変数宣言したよ、ってのをわかりやすいようにするため
・二回同じ名前の変数作ったとしたら、とりあえず一回目で作った変数の中身が二度と見れなくなるだけ
・変数frameはそのMCの中で定義された物になるので、removeMovieClipされた後そのMCを参照する物がなければ、frameはいつか消える。
 でも数値型の変数なら10000個くらいメモリに残ってても気にすんな
887Now_loading...774KB:2011/12/01(木) 07:49:38.29 ID:CP46PlGf
>>886
わかりやすい説明ありがとうございます
安心しました
888Now_loading...774KB:2011/12/01(木) 23:29:11.12 ID:Yf8VPcyQ
ド素人ですみません。
いままでFlashLite1.1とかでプログラムを組んでいたのですが
いきなりAS3.0に変えてくれ、と言われて四苦八苦してます。

AS3.0ではtellTargetの書き方はどうすればいいのでしょうか?

いままでは
tellTarget ("aaa") {
 gotoAndPlay("a1");
}
としていたものはどう書けばいいのでしょうか?
宜しくお願いいたします。
889Now_loading...774KB:2011/12/01(木) 23:46:22.65 ID:0jrwJGPI
>>888
aaa.gotoAndPlay("a1");
かな?
890888:2011/12/01(木) 23:56:30.67 ID:Yf8VPcyQ
おおおお、ありがとうございます!
tellTargetて使わなくなるんでしょうか?

と、いうことはaaaの中のbbbというmcの2フレームから再生したい、て時は
aaa/bbb.gotoAndPlay(2)
とかで良いんでしょうか?
重ねての質問失礼とは思いますがお助けください。
891Now_loading...774KB:2011/12/02(金) 00:05:35.97 ID:2JWeVwPg
自分で試せボケ
892Now_loading...774KB:2011/12/02(金) 10:36:25.32 ID:FOopAFF8
lite1.1→3.0
ってどういう変化だよ
ガラケーからスマホAIRにすんのか?
893Now_loading...774KB:2011/12/02(金) 12:51:05.20 ID:dx4HLyX3
打ち間違いかもしれんが/じゃなくて.なので
aaa.bbb.gotoAndPlay(2);すればいける
894Now_loading...774KB:2011/12/02(金) 16:20:07.86 ID:FVu0fd0z
きょうびtellTargetを書いてるやつとか
かわいそうすぐる。。。
895Now_loading...774KB:2011/12/02(金) 16:50:59.82 ID:FOopAFF8
>>893
打ち間違いじゃないよ
lite1.1はスラッシュシンタックスだったから・・・
896Now_loading...774KB:2011/12/03(土) 00:12:11.49 ID:GCs1eWzz
AS1.0の質問です
_root━ originalClip
上のような階層関係で_rootにduplicateMovieClip("originalClip","newClip",0);と記述すると
_root┳ originalClip
    ┗ newClip ←ここに複製されますが
_root┳ originalClip
    ┗ hoge ━ newClip ←ここ
上の図でいうhogeというムービークリップの中に複製させるにはどうすればいいですか?
できればhogeの中ではなく_rootに書きたいんですが
897Now_loading...774KB:2011/12/03(土) 03:11:56.40 ID:yQ2jNX+L
>>896
duplicateMovieClipだと無理。
originalClipをライブラリに登録して hoge.attachMovie() それか外部SWF化して hoge.loadMovie() とかってしないとだめ。
898888:2011/12/03(土) 05:51:50.59 ID:QMLfUL2Y
あぁ、こんなにレスが、、ありがとうございます。

>892
まさにその流れです。。
捨てるのはもったいないから改造してくれ、って・・・
がんばって改造続けてみます!
899Now_loading...774KB:2011/12/03(土) 10:01:27.14 ID:q0cUX4Cy
2.0からの移植でも投げるレベルなのにlite1.1からAIRって作り直したほうがマシなんじゃね
それ以前に3.0イベントやクラスの概念ちゃんとしたほうがいいと思うけどね
900Now_loading...774KB:2011/12/03(土) 14:51:48.39 ID:GCs1eWzz
>>897
ありがとうございます
hoge.attachMovie();でできました
901Now_loading...774KB:2011/12/03(土) 17:24:51.10 ID:LXtFFgwt
モバイルのairアプリを作っています。
actionscript3で使えるsqliteはファイルが大きくなるとアクセスが遅くなると聞きました。
そこでsqliteにオブジェクトのリンクを保存して、
その都度読み込んで使う様な仕組みがあると思うのですが、
検索してもsqliteにそのままバイナリを突っ込む方法しか見つかりませんでした。
何か良い仕組み等があれば教えてください。
902【お絵かきアプリ】はじめまして:2011/12/03(土) 17:36:52.48 ID:hYcW2LU0
はじめまして。
AIRでAndroidタブレット向けにお絵かきアプリを作っています。

絵を描く時の描画が指に遅れて付いてくるので困っています。
PCで動かすと大丈夫ですが、タブレットで動かすと遅れます。

Spriteに絵を描く時に graphics.moveTo(), graphics.lineTo()
を使用しているのですが、最初だけ指に追従し、
線が増えると共に遅くなります。

何か手がかりがあれば、教えていただきたいです。
よろしくお願いします。
903Now_loading...774KB:2011/12/03(土) 21:08:38.87 ID:ls6y0Ppu
>>901
sqliteの「その都度〜」っていう暗号はどこで聞いてきたわけ?そこで聞いてくれ。

>>902
lineTo系はタブレットによっては無理。つーかベクター描画で速度出すとかほぼ無理。
touchEventで座標データだけとって、自前でBitmapDataに書き込むと少しはマシ。
setPixel系のメソッド使って自前でlineTo相当の処理を実装するわけね。
904Now_loading...774KB:2011/12/03(土) 22:59:28.41 ID:LXtFFgwt
>>903
ありがとう。その都度云々と言っているのは、
自分の妄想なので自分で実装して見ます。
905Now_loading...774KB:2011/12/04(日) 02:05:42.27 ID:KGnamCvE
Actionscript2.0、FlashCS3を使用しています。

ID1=1;
ID2=2;
ID3=3;



ID20=20;

↑一つ一つ、打ち込んでいくのが面倒だな、と感じています。
一括して処理する方法があれば、ご教授いただけますでしょうか。
906Now_loading...774KB:2011/12/04(日) 02:10:13.54 ID:IrsxvSUg
>>905
配列アクセス演算子と、forループあたりでいける
907【お絵かきアプリ】はじめまして:2011/12/04(日) 13:33:56.58 ID:sE3VMJZt
>>903
お返事ありがとうございます。
各行がそれぞれ、とても参考になりました。
BitmapDataで試してみます。
908Now_loading...774KB:2011/12/04(日) 16:49:54.28 ID:T69RFnqa
AS1.0の質問です
画面をドラッグして放すと直線を描画する関数を作ってみたのですが
直線の長さ(始点から終点までの距離)が一定以上になると長さが上限に固定されて
ドラッグしてもこれ以上伸びなくなるようにするにはどうすればいいんでしょうか?(終点の座標も取得したいです)
onMouseDown = function () {
xstart = Math.floor(_root._xmouse);
ystart = Math.floor(_root._ymouse);
Edit = true;
};
onMouseMove = function(){
if(Edit){
clear();
lineStyle(1,0x000000,100);
moveTo(xstart, ystart);
lineTo(Math.floor(_root._xmouse), Math.floor(_root._ymouse));
x = (xstart - Math.floor(_root._xmouse));
y = (ystart - Math.floor(_root._ymouse));
rot = Math.atan2(y,x) * 180 / Math.PI * -1;
lengh = Math.sqrt( x * x + y * y);
}};

onMouseUp = function () {
if(Edit){Edit = false;trace("角度:"+rot +"/長さ:"+ lengh);}
};
909Now_loading...774KB:2011/12/04(日) 17:15:57.31 ID:bdmoqaQO
AS3(Flex4.5)で質問です。

10列あるDataGridの3列目から4列目の上部に
列のグループ名を表示するLabelを動的に貼ろうと思っています。

今はLabelのxを列1のwidthと列2のwidthを足してwidthについては列3と列4のwidthを足して設定しています。
<s:Label text="hoge" x={column1.width + column2.width} width={column3.width + column4.width}/>
ですが、このままだと微妙に左にずれたりしてしまっています。

きれいに各列の位置と合わせるにはどのようにすればよろしいでしょうか。

910Now_loading...774KB:2011/12/04(日) 17:59:05.64 ID:FcAm69rt
>>908
なんもわかってねえならわかってないって書けよ・・・
911908:2011/12/04(日) 18:58:17.32 ID:T69RFnqa
Math.cosとMath.sinでできました
スレ汚しすみません
912905:2011/12/05(月) 06:03:27.85 ID:e8mCD/L+
>>906
アドバイスのおかげで、無事解決致しました。
どうも、ありがとうございました。

for(i=0; i<=20; i++){
this['ID'+i]=i;
}
913Now_loading...774KB:2011/12/06(火) 22:40:14.95 ID:RFT3w722
変数の名前を文字列で得たり、文字列を変数名とした変数を作ったり使ったりするには
どうしたら良いでしょうか?


var hoge:int;という変数の場合"hoge"という文字列を得る。
"hoge"という文字列を変数名に持つvar hoge:intを作る。
"hoge"と言う文字列を使い、hogeという変数をメソッドの引数に使用する。
914Now_loading...774KB:2011/12/07(水) 01:30:34.29 ID:gOVJrA8s
配列で解決しろよ
915Now_loading...774KB:2011/12/07(水) 02:39:56.47 ID:ozrGkexV
>>914
ありがとうございます。
、、、色々考えましたが、ピンと来ません。もうちょっとヒントください。
916Now_loading...774KB:2011/12/07(水) 02:57:28.83 ID:gOVJrA8s
具体的にやりたい処理はどんなの?

変数名って基本的に意味を持たないと思うよ
917913:2011/12/07(水) 10:30:28.54 ID:ozrGkexV
>>915
今回は、アプリ終了時のビューが何であったかをファイルに残し、
再起動時にそれを読み込んでそこに遷移すると言う事をしようとしました。
別の変数に記録し、if~if else文で遷移する可能性のある画面毎に遷移文を書いておけば良いのですが、
今後ビューが増えたりした時のためにメンテナンス性を考えました。
918Now_loading...774KB:2011/12/07(水) 10:49:02.53 ID:pz862A5x
>>917
もう少し具体的に書けない?
自分で作ってるからその説明で自分は納得できても、
他人には想像しかできないし、それが正しいかもわからないし。

画面(ビュー)遷移があるアプリで、その終了時の遷移先を保存しておきたい。

と捕らえたんだが、どう?
しかし、その内容で>>913で解決する意味がわからない。
>今後ビューが増えたりした時のためにメンテナンス性を考えました。
というけど、現在のビューの管理がどうなっているのかがわからないけど、
外部に定義したファイルを読み込んで、ビューを表示したいってことなんかな??
919Now_loading...774KB:2011/12/07(水) 11:11:13.92 ID:Q2xmPy12
やりたいとこはなんとなく分かるけど、時代に逆行してるんだよなあ。
でもJavaScript関係でJSONとかそのまま使ってるのもあるからなあ。

ASでやるなら適当なObjectかDictionary作って、配列アクセス演算子だろうなあ。

var o:Object ={};
o["hoge"] = 10;
trace(o.hoge);
trace(o["hoge"]);

for(var key:String in o){
trace(key);
trace(o[key]);
}
920Now_loading...774KB:2011/12/07(水) 11:13:14.05 ID:gOVJrA8s
まあObjectやDictionaryで文字列を変数名に使うようなことはできると思うけど、

やっぱり配列使おうぜ
921Now_loading...774KB:2011/12/07(水) 11:34:56.29 ID:pz862A5x
やりたい事わかる?
ビューを保存するのに、そのビュー内で定義した変数名を
動的に保存する必要がわからないんだが。

そのビューが動的に生成されるにしても、
定義は動的ではないだろうし。
922Now_loading...774KB:2011/12/07(水) 11:47:47.30 ID:Q2xmPy12
シリアライズして復元したいんでしょ。
923913:2011/12/07(水) 13:36:35.89 ID:ozrGkexV
ごめんなさいみなさん色々ありがとう。
先ほどから出先なのでコードが載せれません。
また帰ってから返信させていただきます。
924913:2011/12/07(水) 14:56:54.95 ID:ozrGkexV
シリアライズではないんですごめんなさい。
そうですね読み返して見るとあの文章ではそう思われても不思議はないですね。。
(と言うか今は状態保持の為にビューごと保存しちゃうのが流行りですか?)

遷移時、特定のビューの指定として例えばviews.hogeと言うポインタ名をメソッドの引数の所に入れると思うのですが、
そのポインタをファイル化して次回起動時にメソッドに渡しても無意味だと思います。
そこで、そのviews.hogeポインタ名を文字列にして保存し、
次回起動時にその文字列をポインタ名に戻して遷移メソッドに代入出来れば、
その時にはそのポインタはその時のビューを差してるので、
便利だなと思いました。

また帰ってからコードを書きます。。


925Now_loading...774KB:2011/12/07(水) 15:21:29.24 ID:JkAmZxGg
>>924
それだと、次回起動時にはポインタの先の内容は全く別のものになってるんじゃ?
オブジェクトごとまるごと保存するのが良さそうな
926913:2011/12/07(水) 15:43:06.35 ID:ozrGkexV
>>925
システムが起動毎にその名でそのビューを指すポインタを作るので、
保存した文字列からポインタ名を作られれば良いのですが、
やはり時代は丸保存なのでしょうか。
927Now_loading...774KB:2011/12/07(水) 17:05:25.94 ID:JkAmZxGg
それなら、変数名(=ポインタ名)がhogeだったとして、その変数の親をparentとすると、
parent['hoge']で呼べるんじゃなかったかな

それよりASでポインタって言葉出てこないよな?
928Now_loading...774KB:2011/12/07(水) 17:12:48.50 ID:pz862A5x
なんか話が進んでるが、まだよくわからん。
みんなよくわかってるなぁ。

ビューhoge、その他があり、そのビューのリストがviewsとして、
画面遷移させるには、画面遷移用のメソッドにビューを引数として渡す
こういう仕組みだということなんだろうけど、

>そのポインタをファイル化して次回起動時にメソッドに渡しても無意味だと思います。
ここがまるでわからない。

>システムが起動毎にその名でそのビューを指すポインタを作るので、
>保存した文字列からポインタ名を作られれば良いのですが、
保存した文字列から作らないといけない意味がわからない…。
起動時にどのビューで終了したかを保存して、それを再生したいだけ?
それならやりたい事はわかるけど、そういう方法じゃなくてもいいよな。

>やはり時代は丸保存なのでしょうか。
JavaとかならXMLEncoderとか使って簡単にできるから丸ごとでも良いかもしれないけど、
ASだったらそんな事したくないなぁ。
929Now_loading...774KB:2011/12/07(水) 17:51:27.06 ID:Q2xmPy12
自分ルールで「ポインタ」って言われても何のつもりなのかわからんなこりゃ。
930Now_loading...774KB:2011/12/07(水) 17:58:58.23 ID:Q2xmPy12
>>927みたいな感じなのかな。メソッド実行したいなら「オブジェクト["メソッド名"]();」てな感じで。
931Now_loading...774KB:2011/12/07(水) 20:11:33.71 ID:ONfOkZpb
継承関係とかがわかるクラス図ありませんか?
932Now_loading...774KB:2011/12/07(水) 20:34:36.02 ID:/nSG87Sx
ない。リファレンス見れば辿れるでしょ。
DisplayObject関係だけはリファレンスにもあったかな。これの図。
http://help.adobe.com/ja_JP/as3/dev/WS5b3ccc516d4fbf351e63e3d118a9b90204-7e3c.html
933Now_loading...774KB:2011/12/07(水) 20:44:09.72 ID:ONfOkZpb
>932
ありがとう
class diagramで検索したら何個かでかいファイル見つかりました
934913:2011/12/08(木) 02:12:18.56 ID:AOuL997P
みなさま昨日一日おつきあいすみませんでした。

今更ですが、関係ソースは以下のメソッドの第一引数に遷移する先のビューを入れると
そこに遷移するというものだけでした。
navigator.pushView(views.hoge,null,null);

まずこれが遷移前にいたビューの名前の文字列をファイルから取り出した処理だと仮定して、
var hogeString:String = "hoge";

以下の文を実行しても、viewsパッケージを値として使用できませんとエラーが出て出来ませんでした。
navigator.pushView(views[hogeString],null,null);
何かviewsは特別の物のようです。。

ASではアドレスの入った変数の事を特に何と言えば良いのか分かりませんでしたすみません。
単に「オブジェクトの変数」で良かったのかな。
935Now_loading...774KB:2011/12/08(木) 11:11:18.79 ID:qOqIf011
やっと、Flexでモバイルアプリ開発してるんだろうなということがわかった。
最初に書いておけばなんて事は無いのに。

>何かviewsは特別の物のようです。。
たぶんあなたの書いたviewsってパッケージの事じゃ無かろうか。

>>928とかの内容に答えていればもっと的確なアドバイスがもらえただろう。

で、何がやりたいの?
次回起動時に指定のviewで始めたいだけじゃないの??
936913:2011/12/08(木) 17:37:20.62 ID:AOuL997P
>>935
>最初に書いておけば
その様ですね。こちらはASのスレなので、、
とかいらない事を考えてました。

>>928とかの内容に答えていれば
はじめのうち内容が理解できませんでした、、。

>viewsってパッケージの事じゃ
そうですね。views;とだけ書いても
それは値として使えないと怒られました。

>次回起動時に指定のviewで始めたいだけ
そうなんです。そのシンプルな方法を探していました。

937Now_loading...774KB:2011/12/08(木) 19:10:45.01 ID:qOqIf011
>>936
>>1には
> ●質問する時は自分の環境を書く(AS2,AS3の別も)
> ●まず自分がやりたいことを明確に書く。そのために試してみた処理を書く
とあるわけだが。

> >次回起動時に指定のviewで始めたいだけ
> そうなんです。そのシンプルな方法を探していました。

pushViewの引数に指定するのは、Classなので変数名がわかってもしょうがない。
viewsパッケージ内であなたが作ったHoge等のビューを指定する。
なので終了時に保存するのは、終了時のViewのクラス名。

クラス名はflash.utils.describeType()を利用して取得が可能。
この返値がXMLなので、終了時のview内でdescribeType(this).@name として、E4X形式でアクセスする。
で、コレを文字列として保存したら良いのでは無かろうか。

で、起動時にそのviewにするには、
flash.utils.getDefinitionByName()を利用する。
返値がClassなので、getDefinitionByName(保存した文字列)で取得したものを
pushViewの引数に渡せばいいはず。

試してないから色々落とし穴があるかもしれないけど。
938913:2011/12/09(金) 00:21:54.02 ID:I1e5l29r
>>937
おおありがとうございますそんな方法があるんですか。
自分でも時間だけはかけて色々探したんですが。。
試して見ます。

ビューを再起動時に再現すると言う意味ではセッションパーシスタンスと言う
仕組みがある様ですが、技量が無いのでデータ再現までは辿り着けていないですが。
939Now_loading...774KB:2011/12/09(金) 09:51:07.11 ID:0dt/EFyR
現在AIRで製作していますデスクトップアプリなのですが、
フルスクリーン表示で、大量のPNG画像のアニメを使用しており
ユーザーのモニター解像度によっては激重になってしまいます。

StageQualityも、AIRは画質調整が高画質と最高画質しか対応しておらず、
flash版の低画質のような全画像のスムージングを切る選択肢を入れたいのですが、
良い方法はあるでしょうか。
940Now_loading...774KB:2011/12/09(金) 11:29:52.28 ID:H6wF/FaK
ゲームとかで制限時間(30秒くらい)はかるのって
毎フレームgetTimerして設定時間と比較するのが普通でしょうか?
941940:2011/12/09(金) 11:33:43.01 ID:H6wF/FaK
書き忘れました。AS3.0です
他には毎フレームcount++してfpsで割るのと、setIntervalくらいしか思いつきませんでした
942Now_loading...774KB:2011/12/09(金) 14:33:49.47 ID:5hPrON3z
タイマーイベント
943Now_loading...774KB:2011/12/09(金) 16:43:15.13 ID:H6wF/FaK
>>942
あー。
普通はタイマーイベント使うってことでしょうか?
944Now_loading...774KB:2011/12/09(金) 17:19:27.76 ID:5hPrON3z
んだ ヘルプ見てみ あれは色々便利だお
945Now_loading...774KB:2011/12/09(金) 21:05:36.39 ID:H6wF/FaK
>>944
ありがと!
試してみる
946Now_loading...774KB:2011/12/10(土) 22:27:04.82 ID:BRPjSHBT
AS3,WinXP,CS4です。BetweenAS3のベジェTweenの対象個数で質問です。
(すいません、長文です)
ステージ上に2個のMC(mcA,mcB)があり、同じステージにベジェTweenを起こすMC(twM)を
置きました。 つまりmcA,mcB,twMは兄弟の関係で、上下構造はの下記ようになります。

 上側) [ twM ] [ mcB ] [ mcA ] (下側

最初、mcAにベジェTweenを設定して動作できたので、これを解除してmcBに設定したところ、
mcBにもベジェ動作が起こりましたが、同時にmcAも解除した筈のベジェ動作が起きました。
前の名残が作用した感じでです。 ※事実上パラレル動作になる

Tween解除はtwMをremoveChildして更にこれをnullにしています。また、設定の際は毎度twMを
newしています。 (常に新規のベジェTweenを起こすMCが設置される筈ですが・・・)

実際のベジェTween記述は下記で、var iTween:ITween; でITweenオブジェクトを定義し、
ボタンのMouseEvent.CLICKで下が実行されます。

iTween = BetweenAS3.bezier(
ターゲットMC(targetM),
カーブポイントなどのベジェ曲線の記述,
所要時間,
BackEaseOutなどのTweenタイプ
);
iTween.play();
trace("情報:"+targetM, iTween);//動作情報を知る

ここで不思議なことに最後の行の trace("情報:"+targetM, iTween); はボタンを1回しか押していないのに
名残動作がある場合に2回実行されます。 つまり、現設定+名残の2個です。
なぜこのような(パラレル動作的な)現象が起こるのでしょうか?
947Now_loading...774KB:2011/12/11(日) 02:31:23.36 ID:em69GtDU
また失礼します。モバイルAIRアプリをMXMLとASで作っています。Groupに登録されたTextAreaとその書かれた内容をひとまとめに保存しようと思っています。
まず<s:ViewNavigatorApplication>にpersistNavigatorState="true"を追加して、以下の様に[RemoteClass]付きのGroupクラスを継承したクラスを作り、
package HogeGroup
{ import spark.components.Group;
[RemoteClass]
public class HogeGroup extends Group
{ public function hogeGroup(){ super(); } } }

以下の文でそのHogeGroupにTextAreaを作り、起動して適当に文字を入力します。
public var hogeGroup:HogeGroup;
public var textArea:TextArea;
protected function hoge_creationCompleteHandler (event:FlexEvent):void
{ hogeGroup = new HogeGroup();
textArea = new TextArea();
hogeGroup.addElement(textArea);
group.addElement(hogeGroup);//groupはMXMLで定義されているGroupコンテナのid }

そして以下のボタンでhogeGroupをdata.hogeに返してから終了。
protected function toData_clickHandler(event:MouseEvent):void { data.hoge = hogeGroup;}

で再起動して以下のボタンでhogeGroupに戻した時に、変換出来ませんとエラーが出ます。
protected function fromData_clickHandler(event:MouseEvent):void
{ hogeGroup = data.hoge;
group.addElement(hogeGroup); }

[RemoteClass]を付けたので変換出来ると思ったのですが、何がダメでしょうか?
948Now_loading...774KB:2011/12/11(日) 02:44:57.40 ID:4KufB3Ej
http://help.adobe.com/ja_JP/flex/mobileapps/WSb0a29bf92525419c-54dd253312afbec3ecb-8000.html
これの一番最後の項目がヒントになんじゃね?
949Now_loading...774KB:2011/12/11(日) 03:11:09.88 ID:jVmMrWN7
てす
950947:2011/12/11(日) 13:00:29.36 ID:em69GtDU
>>948
ありがとうございます。
http://www.adobe.com/jp/devnet/air/flex/quickstart/communicating_with_sockets_07.html
でも説明されている仕組みですね。やってみます。

しかし、Groupには操作により幾つかの種類や数のコンポーネントを生成、載せようと思っているのですが、
Groupまるごと保存出来るのではなく、例えば載っかってる全てのコンポーネントのサブクラスを作って、
それに上記のinput、output のメソッドを書き、各々をdataの要素として入れ、
また取り出して以前と同じ様にGroupに並べ直さなければならないとなると、
管理等結構煩雑になりますね。。

もしかしてカスタムGroup上で各生成カスタムコンポーネント自体についても、
その保存方法を行えば良いのかな。どちらにせよやってみます。
951947:2011/12/12(月) 01:24:34.31 ID:3UP+0msg
教えていただいた方法含め色々試した所、結局カスタムクラス等を作る必要もなく、
[RemoteClass]ではなくregisterClassAlias()をGroup用にもTextArea用にも、
各々インスタンスの宣言前、dataの入出両方の手前にも各々載せたらTextAreaに書かれた文章も
再起動時に現れました。自分しか知らない当たり前の事だったのかもしれませんが。。
しかし手軽に出来てよかったです。ありがとうございました。
952Now_loading...774KB:2011/12/15(木) 00:03:38.44 ID:X33CnN5C
953Now_loading...774KB:2011/12/16(金) 03:19:24.22 ID:yz6bhUnl
私ばっかり質問して申し訳ございませんが、モバイルAIRアプリを作っている者です。

sharedObjectを色々いじくっているウチに、nullオブジェクトにアクセスしたという正体不明の
エラーが出て困っています。試しに同じソースをテストプロジェクトにペーストして
実行するとエラーは出ないのです。そこで何かファイル上に残ったsharedObjectファイルが悪さ
しているのかなと思い探したのですが、それがどこに保存されているのかが分かりません。
FlashBuilderのandroidシミュレーターでsharedObjectを保存した場合、それはどこに
保存されているのでしょうか?
954Now_loading...774KB:2011/12/16(金) 10:45:01.57 ID:X4WNZDPT
ググったらすぐわかったが。
http://blog.appforandroid.info/?p=745

ただ、実行時の確認はrootとらんと無理の様な気がする。
955Now_loading...774KB:2011/12/17(土) 00:56:00.93 ID:mPXqslXW
>>954
おおすごく有用なページご紹介ありがとうございます。
ググらずにHDの中ばかり探してました。。
プロジェクトのシミュレーター実行時も.solで保存されているかなと思い、検索しましたが、
そうではないようです。。結局ソースを全て新規プロジェクトに引っ越しして難を逃れましたが、
何の学びも無いので、FB上で共有オブジェを消す方法を探しましたが、やはりわかりませんでした。。
ただ、data = new Object();とか今考えたら無茶な事をした直後におかしくなった様な気がします。
956955:2011/12/17(土) 01:13:30.82 ID:mPXqslXW
FB上で共有オブジェを消す方法、プロジェクトのプロパティでデバッグ設定を選び、
項目をダブルクリックすると「アプリケーションのデータを起動毎に消す」という
項目があったので、それを一度チェックしてから起動したら、ちゃんと共有オブジェ
消えたせいか、ちゃんと起動しました。。ど忘れしてました皆さん知ってる当たり前の
事を言ってると思いますが。。
957Now_loading...774KB:2011/12/17(土) 04:23:44.67 ID:sGz3dJv+
ソフトハウスキャラのOPで良いんじゃよ
あこがれの風とかin your sideとか
958Now_loading...774KB:2011/12/17(土) 04:24:02.84 ID:sGz3dJv+
誤爆
959Now_loading...774KB:2011/12/20(火) 21:44:31.32 ID:UHR9Reiv
またまたすいませんairモバイルアプリを作っています。

制作を進めている途中、自分ではファイルを移動したり名称変更したりした後の事だと思うのですが、
initial content not foundが出て実行失敗してしまうようになりました。その後色々試した後、
ファイル移動と名称変更を戻しましたが、なぜかまた同じエラーが出てしまいます。

ググってみてAIRSDKのバージョンと<application xmlns="http://ns.adobe.com/air/application/3.1">
のバージョン名が同じか確かめたり、
プログラム名-app.xmlの<content>以下を<content>プログラム名.swf</content>にしてみたりしても
変化はありませんでした。

何か考えられる事があれば教えてください。。
960Now_loading...774KB:2011/12/21(水) 02:07:02.70 ID:d97mKOCS
とりあえず全部見ないとわからんなw
貴方が確かめた内容で正しいかもわからんし。
961Now_loading...774KB:2011/12/22(木) 00:53:34.01 ID:DW88PMRM
>>960
またまたありがとうございます。

initial content not foundというものがデバッガで実行しても何も処理されず言語道断で出るので、
悪いのはFBやプロジェクトの設定等の事と思っていましたが、試しにXが表示されていた.asファイル
(とは言っても行にはXは表示されていなかった)を削り削り試してみると、この共有オブジェクト
の記述を消すとエラーが出ませんでした。。なお以下の文のビュークラスを他プロジェクトに移植して
実行してもエラーが出ます。

package views
{
public class Test
{
import flash.net.SharedObject;
var so:SharedObject = null;
so = SharedObject.getLocal("test")
}
}

もしかしてspark.components.viewでないからspark.components.View.data():Object
どころかSharedObject.getLocal("")で作る共有オブジェクトが使えないのだろうか、
とかも思いましたが、他のサンプルとかを見ても使えている物が散見されるのでやはり
分かりませんでした。自分でも今調べていますがなぜなんでしょうかね。
962Now_loading...774KB:2011/12/22(木) 01:10:36.11 ID:mJEq0wZp
import文の位置おかしくね?
普通はクラスの外じゃね
963959:2011/12/22(木) 06:46:45.06 ID:DW88PMRM
>>962
そうですねすいません色々位置を動かして試したままになっていました。
あの分の内容ではあのimportの位置でも結果はかわりませんでした。
964Now_loading...774KB:2011/12/22(木) 10:58:39.61 ID:F53ZLB9W
つーかさ、これソース的におかしくないか??
FBで書いてなんでこうなるのかわからない。

2行に分けるなら、コンストラクタ上とかでやるしかない。

package views
{
 import flash.net.SharedObject;

 public class Test
 {
  var so:SharedObject = null;
  
  public function Test()
  {
   so = SharedObject.getLocal("test")
  }
 }
}
これでダメなら想像が付かない。
965Now_loading...774KB:2011/12/22(木) 11:25:58.14 ID:PDijFfD/

mx.controls.NumericsStepper
の Stepper 部分を左側に変更する方法ありますか?

わかるかたお願いします。

 
966Now_loading...774KB:2011/12/22(木) 12:11:36.54 ID:F53ZLB9W
sparkじゃなくてmx?
saprkだったらskin作って指定したらすぐなんだが。
967Now_loading...774KB:2011/12/22(木) 14:01:48.11 ID:PDijFfD/
>>966
Flex3.4ベースです
環境構築時のライブラリとの整合もあって
968959:2011/12/22(木) 14:03:41.61 ID:DW88PMRM
>>964
やってみますありがとう!
969Now_loading...774KB:2011/12/22(木) 18:33:33.87 ID:F53ZLB9W
>>967
なら自作しかなかろう。NumericStepperクラスを親クラスにして、
ボタンのxとかyとか弄ってるメソッド上書きかなぁ。
970Now_loading...774KB:2011/12/22(木) 20:05:06.85 ID:F53ZLB9W
う、すまん、ソース覗いたらその方法じゃ無理っぽい。
971959:2011/12/23(金) 00:53:33.24 ID:wWO5nGGh
>>964
すいません教えていただいた並びに文を置くと、何も無く起動し、共有オブジェクトも無事働きました。
その後試しにダメだった時の並びに置くと、それも起動しました。何が起こったがよくわかりませんが、
とにかくうまく行きました!何度も何度もお教えいただきありがとうございました。
972Now_loading...774KB:2011/12/23(金) 02:18:19.77 ID:YxoPqvE9
AS3で、不思議なダンジョンのゲームのような自動生成ダンジョンを作ろうと考えています
自動生成ダンジョンということで、手描きでダンジョン全体を作るのではなく
壁や床などのマップチップを作り、それを使ってスクリプトでダンジョンを自動生成しようと思っています

そこで具体的なスクリプトの組み方を調べてみたのですが
できればビットマップデータではなくマップチップも自分でFLASHで描いた物を使いたいのですが
参考にしようとした解説サイトがどれもフリー素材のビットマップデータによるマップチップを用いたものでした

その中で一番参考になりそうなサイトが↓なのですが
http://d.hatena.ne.jp/o_healer/20081215/1229316573
配列については調べていくうちに理解できました
しかし自分で作成したマップチップを、どう応用すれば使えるようになるのかがわかりません
どなたかベクターデータで作った場合のマップチップの使い方を教えてください
973Now_loading...774KB:2011/12/23(金) 03:29:06.16 ID:IiRK6hUp
まず、マップチップをどう作ったのかがわからないと何とも言えないっていうのと、
ActionScriptの話ではないってのが。

ベクターデータのマップチップはFXGなの?svgなの?

974Now_loading...774KB:2011/12/23(金) 03:34:23.83 ID:RuFAAexM
1.MCとしリンケージしてつかう
2.IDEから画像に書き出す
3.swfにして読み込む
975Now_loading...774KB:2011/12/23(金) 03:54:27.00 ID:YxoPqvE9
マップチップは床と壁を80×80ピクセルで描いた物を1枚ずつムービークリップにしただけです
とりあえずチップは今のところこの2枚だけです
この床のムービークリップや壁のムービークリップを、どのようにActionScriptに記述すればいいのかがわかりませんでした

自動生成は置いておいて、とりあえず

壁壁壁
壁床壁
壁壁壁

このようなマップを作ってみたいです
976Now_loading...774KB:2011/12/23(金) 04:04:12.18 ID:YxoPqvE9
>>974
なるほど、リンケージするという方法があったのですね
勉強不足でした。ありがとうございます
977Now_loading...774KB:2011/12/23(金) 08:14:06.83 ID:mZ6yXGhU
>>969-970

すみません、なぜ無理なのか教えてください。
NumericStepper クラスのメソッド updateDisplayList() をオーバーライドして
nextButton.x と prevButton.x をともに 0(左端のつもり)にしてもだめなのですか?
978Now_loading...774KB:2011/12/23(金) 08:22:05.24 ID:mZ6yXGhU
>>977 補足
当方、Flex はほとんど mxml で UI 作成とイベントリスナーだけに用いているので ActionScript はにわか勉強だし、クラス作成もした経験がありません。
もし上記可能ならこれから学習してやってみます。(ナマクラですみません)
979Now_loading...774KB:2011/12/23(金) 11:18:29.97 ID:mZ6yXGhU
>>977-978 自己解決しました。ありがとうございます。
980Now_loading...774KB:2011/12/23(金) 19:12:46.79 ID:WFrq6ONT
>>978
それで出来る?mx_internalでnamespace切ってあるから、nextButtonはサブクラスからみえんでしょ?
981Now_loading...774KB:2011/12/23(金) 19:15:25.56 ID:WFrq6ONT
ああ、最後見てなかった。

ソースが見えるんだからNumericStepperクラスをそのまま自前で組めばいいことになるけど、
そうすると、includeを処理するのが面倒になる。
982Now_loading...774KB:2011/12/23(金) 21:57:20.00 ID:uUSyCiBV
>>976
draw()使ってbitmapにオブジェクトを書き込む手もある
983Now_loading...774KB:2011/12/23(金) 23:40:16.64 ID:gOn+U3rg
ぬめりはボタンとテキスト使って自分で作っちゃうのが早そうだね
984Now_loading...774KB:2011/12/24(土) 06:21:24.84 ID:YCBiH+Nm
AS2.0の質問です
createTextField("tf",0,0,0,120,24);
tf.selectable = true;
で選択可能にしたテキストフィールドをマウスで選択してCtrl+Aすると黒文字が白文字になって背景が黒になりますが
このCtrl+Aしたときの文字の色と背景の色を変えることはできますか?
985Now_loading...774KB:2011/12/25(日) 01:51:36.10 ID:+/bmagbQ
大量の"画像や音声じゃない"データをswfに収める必要があるのですが、
外部からダウンロードする以外に、何か方法はありますかね?

このデータをクラス化すると20万行も使ってしまい、コンパイルすらままなりません。
クラス化すると、圧縮時で1.45MB、解凍・展開すると60MBくらいになります。
しかし、大元のサイズは4MB程度です。方法はありますかね?
986Now_loading...774KB:2011/12/25(日) 01:56:27.54 ID:+/bmagbQ
>>976
一旦BitmapDetaにチップ別に書き込んで、
そこから表示用のBitmapDetaにコピーしていく方法が、
速いしわかりやすいと思う。
987 忍法帖【Lv=40,xxxPT】 :2011/12/25(日) 02:33:48.88 ID:APghLI2o
>>985
とりあえずテキストエディタに"a"だけ4MBまで打ってStringに入れたら普通にコンパイル通ったがw
そういうことではなくて?
988Now_loading...774KB:2011/12/25(日) 02:38:32.92 ID:APghLI2o
新スレ

ActionScript 誰かが物凄い勢いで解答するスレ30
http://toro.2ch.net/test/read.cgi/swf/1324748254/
989Now_loading...774KB:2011/12/25(日) 03:33:07.27 ID:dZmVm/GZ
>>985
確かXMLファイルとかも埋め込めたと思うが・・・
そういう事じゃないのかな?

>>988
990Now_loading...774KB:2011/12/25(日) 08:13:55.31 ID:t6km4YDk
設計がアホとしか思えないけど、普通にバイナリストリームとして埋め込めんじゃないの。
991Now_loading...774KB:2011/12/25(日) 20:21:36.93 ID:+/bmagbQ
>>987
Array型で記述して収めると、18万行・10.76MBで、ここだけでコンパイルにはメモリが1GB必要。
これをコンパイルしてライブラリにすると1.45MBになります。
それを展開すると、展開に10秒前後の時間を消費後、60MBのメモリを食います。

ですが、データの塊をバイナリとして書きだすと圧縮時で365KB、解凍時で4.45MBでした。
これをByteArrayに読み込ませると、5MBのメモリを使うだけで、
高速に読み書きできることを確認しています。
992Now_loading...774KB:2011/12/25(日) 20:58:46.69 ID:+/bmagbQ
>>988

>>989
バイナリが大きすぎて、base64デコードで5秒以上かかりました。
貧弱なCPUだと、コード実行のタイムアウトに間に合わないので、XMLは無理かも。

>>990
結果的にByteArrayに収められるように同封する方法があればお願いします。
ただし、テキスト化やbase64化は、もう試したので、それ以外で・・・。
993Now_loading...774KB:2011/12/25(日) 22:09:46.41 ID:xvVC+R13
>>993
どうすればって、バージョン分からんけどフツーに埋め込めないんかいな?

[Embed (source = "埋め込みたいバイナリへのパス", mimeType = "application/octet-stream")]
var Data:Class;
var bytes:ByteArray = new Data();
994Now_loading...774KB:2011/12/25(日) 22:28:11.48 ID:PJyyDpyV
swfでデータ読み込んでbyteArrayにして保存すれば?
でそれを埋め込み
995Now_loading...774KB:2011/12/25(日) 22:43:24.94 ID:+/bmagbQ
>>993
ありがとうございます。Flexだけかと思ったら、FlashCS4以降でもEmbedできるんですね。
組込み出来ました。ありがとうございます。なんとかなりそうです。

(Flashって、char型で大丈夫なサイズの変数でもInt型に収めないといけないので、
効率悪いですよね・・・。特に、ゲームでデータベースが必要な場合、
データベースをバイナリ化してByteArrayで回した方が軽いし・・・。)
996Now_loading...774KB:2011/12/26(月) 05:42:54.55 ID:4vyyhFT8
>char型で大丈夫なサイズの変数でもInt型に収めないといけないので
よくわからん
埋め
997Now_loading...774KB:2011/12/26(月) 12:47:22.17 ID:Q2FqdNIj
>>995
データベースをバイナリ化ってSQLiteでも使ってるの??
AS3以降で出来るだけ小さくしたいならしょうがないけど、
携帯端末でもないのに大量のデータで困るとか想像できない。
パラメータデータなんかより、画像とか音とかのリソースのほうが容量食うし。

でっかいByteArrayでランダムアクセスするほうが速いにきまってるだろうけど、
それより一気にクラスにしてプログラムが簡単で見やすいほうが良いけどなぁ。
998Now_loading...774KB:2011/12/27(火) 01:05:49.80 ID:FKhM3XcO
質問させてください。全くの初心者です。Flash Professional CS5.5でAS3.0です。

フルフラッシュのサイトを作りたいのですが、外部XMLのテキストをLabelに引用することは出来ますでしょうか。
例えば
<data>
<ad1>../home.html</ad1>
<comment1>ホーム ここはホームです</comment1>
<ad2>../index.html</ad2>
<comment2>インデックス ここはインデックスです</comment2>
</data>
上のXMLの<comment1>~</comment1>をインスタンス名「Label1」に、comment2はLabel2に呼び出して管理したいのです。
Labelの数は4〜6個です。
AS冒頭は以下のとおりです。
999Now_loading...774KB:2011/12/27(火) 01:06:37.00 ID:FKhM3XcO
import flash.net.URLRequest;
import flash.net.URLLoader;

var url:String = "data.xml";
var myXML:XML;

var xmlLoader:URLLoader = new URLLoader();
xmlLoader.dataFormat = URLLoaderDataFormat.TEXT;
xmlLoader.addEventListener (Event.COMPLETE, onXMLloaded);

var urlRequest:URLRequest = new URLRequest(url);
xmlLoader.load (urlRequest);

function onXMLloaded (event:Event):void {
try {
myXML = new XML(xmlLoader.data);
}
catch (err:TypeError) {
trace (err.message);
}
}
(以下略)
textAreaならイメージ通りに呼び出せたのですが、下にボタンを配置することや枠線の関係上、Labelで実装したいです。
スレを跨ってしまうと思いますが、どなたかアドバイスいただけないでしょうか…。
1000995:2011/12/27(火) 06:46:52.56 ID:K0rqbgIP
>>997
確かに、クラス化したほうが可読性は高いですが、
as3は基本の数値型が豊富ではないので、無駄にRAMを圧迫するんです。

200MBもRAMを使うflashはこうでもしないと軽くできなくて・・・。
ByteArrayランダムアクセスするようにしたら、70MBまで減らせましたし。
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。