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

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

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

1 :Now_loading...774KB:2007/11/12(月) 12:30:07 ID:PRp7fq4z
AcitonScriptのことなら
初歩的な質問でもなんでもおk

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

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

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


2 :Now_loading...774KB:2007/11/12(月) 17:55:35 ID:4+pYYz/2
importしたクラス(Fusekit)をloadMovieした外部ドメインのswfでも使いたいと思っています。
大体動いているのですが、
10回に1回くらいの確率でloadした外部swf内でimportしたクラスが使えなくなってしまいます。
確実に使えるようにするにはどうしたらいいでしょうか?

読み込み元
import com.mosesSupposes.fuse.*;
ZigoEngine.simpleSetup(Shortcuts, PennerEasing, FuseFMP);
System.security.allowDomain("hoge");
.........
this.abc_mc.onRelease = function() {
 this._parent.xyz_mc.loadMovie("hoge")
}

外部swf
import com.mosesSupposes.fuse.*;
ZigoEngine.simpleSetup(Shortcuts, PennerEasing, FuseFMP);
............

8 professional、as2、Macです

3 :Now_loading...774KB:2007/11/13(火) 01:25:42 ID:pgGbFE/i
>>2
Fusekitのwebで聞きましょう

4 :Now_loading...774KB:2007/11/13(火) 10:37:46 ID:Oeqmi3PX
cs3のActionScriptで質問です。

テキスト処理をした後にMCに貼り付けるクラスを作りました。
そのクラスから戻り値を得たいのですが、どうすればいいのでしょうか?

メインクラス内で自作クラスを呼び出してます。
var McT:mcText=new mcText(0,50);←自作クラスに数値を渡して呼び出してます。
addChild (McT);←自作クラスで作ったMCを表示してます。

自作クラスmcText内
return "戻り値";←この値をメインクラスに渡したい。

メインクラスから戻り値を参照する方法を教えてください。


5 :Now_loading...774KB:2007/11/13(火) 11:05:57 ID:pgGbFE/i
>>4
自作クラスが提示されてないので良くわからんが、
普通に自作クラスにメソッド作って、メインではそれを呼べばいいのでは?

6 :Now_loading...774KB:2007/11/13(火) 17:47:44 ID:QRW9JTEe
Flash7形式で作ったムービーをFlash4に対応させるにはどうすればいいですか?
Actionscriptにエラーが出てしまいマスオブジェクト

7 :Now_loading...774KB:2007/11/13(火) 18:47:51 ID:wYIprERo
スレ違い承知で、すみません。
ActionScriptプログラマにお仕事をお願いしたいのですが、
凄腕さんたちに募集をかけられるような場所はありますでしょうか?
そもそもフリーでやられている方がどの位いるのかも判らず。。
宜しくお願いいたします。


8 :Now_loading...774KB:2007/11/13(火) 19:03:53 ID:8NBmA7R2
制作マッチングサイトにでも行っておくれ。レス不要。
早い話が消えてくれ。

9 :Now_loading...774KB:2007/11/13(火) 20:15:27 ID:HHTdbT5O
>>6
ひとつ前のバージョンまでしかサポートしてないので
flash5をどっかから入手します

10 :Now_loading...774KB:2007/11/13(火) 21:02:37 ID:EQrUP/sB
FlashMX2004Pro、Winです。初心者の中の初心者です
カーソルキーを押して、ある座標からある座標へ行って
元のところに戻ってくるようにするのはどうすればいいですか?
ある座標に行くまではできましたが、元に戻り方がわかりません。
初歩的な質問ですいません。

11 :Now_loading...774KB:2007/11/13(火) 23:18:16 ID:SVxCMYO6
元のX,Y座標を残しておけばいいんじゃね?

12 :Now_loading...774KB:2007/11/14(水) 01:05:22 ID:9pN5dCWQ
>>11 返答ありがとう。でもわからない…(ぁ

>ある座標に行くまではできましたが、元に戻り方がわかりません。
なんていいましたが、ぼくのやり方では瞬間移動してしまっていてだめでした。

ある座標まで速度を持って移動して、ある座標まで行くと
元のところに速度を持って戻ってくる という動きをカーソルキーを長押しではなく
1回押したらするようなスクリプトを…だれか……お願いします。

13 :Now_loading...774KB:2007/11/14(水) 02:51:07 ID:0wIgePc7
>>12
誰かがスクリプトを提供したとしよう。
で、次につまずいた時どうするんだ?
またここで「スクリプトお願いします」なんて言うのか?

そんな初歩的な問題でスクリプトの提示を求めてどうするんだ。
勉強して来い。

14 :Now_loading...774KB:2007/11/14(水) 05:53:57 ID:dzD7pPnJ
AS3で以下のようなクラスを作りました。
フレームイベントは取得できるんですが、マウスイベントが取得できません。
public class Main extends Sprite
{
public function Main()
{
graphics.beginFill(0x000000);
graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight);
graphics.endFill();
addEventListener(Event.ENTER_FRAME, onEnterFrame);
addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
}
private function onEnterFrame(event:Event):void { trace("frame"); }
private function onMouseDown(event:MouseEvent):void { trace("down"); }
}
どのようにしたら取得できますか?

15 :Now_loading...774KB:2007/11/14(水) 10:25:41 ID:cVNne3Io
>>14
import flash.events.MouseEvent;

16 :Now_loading...774KB:2007/11/14(水) 10:33:57 ID:SPxeIUqd
>>14
ほんとだ。
stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
だと動いた

17 :Now_loading...774KB:2007/11/14(水) 17:20:49 ID:Fazva0ic
AS3.0にて、複数のLoaderを作ろうとしています。

for (var i:Number = 0; i<3; i++) {
var lLoaderName:Loader = Loader("lLoader"+i);
var url:URLRequest = URLRequest(i+".jpg");
lLoaderName.load(url);
addChild(lLoaderName);
}

これだと、強制型変換に失敗とかで動作しません。

何か手はないものでしょうか。

18 :Now_loading...774KB:2007/11/14(水) 17:33:04 ID:/u2FQqqS
とりあえず、iはuintな。インスタンス作るにはnewするだろ。
複数作りたいなら複数の名前が必要だよな。
少なければそれぞれ変数を作るけど、多ければ配列にとるよな。

19 :6:2007/11/14(水) 17:53:01 ID:OYo5tqY/
>9
ありがとう愛してる

20 :Now_loading...774KB:2007/11/14(水) 18:04:55 ID:BagmXFIi
MacOS10.4.10、CS3 です。
XML で
<item:D>
のように、「:」コロンの付いたノードがあるとき、
これにアクセスするにはどうすればよいでしょうか?

21 :Now_loading...774KB:2007/11/14(水) 21:28:49 ID:OvdTG91R
>>20
Namespaceクラスを使うんだけど、
たぶんそのXMLにitemのxmlnsの定義があるんじゃなかな?

22 :Now_loading...774KB:2007/11/14(水) 22:21:38 ID:wmHEO6LN
>>18
こんな感じですか?余計なもの省いてます。

var test_array:Array = new Array("test0","test1","test2");
for (var i:uint = 0; i<3; i++) {
var test_array[i]:Loader = new Loader();
}

実際はもっと多いんで配列とループで処理したいんですが、
上記のスクリプトでもエラーで動作せず、です。

23 :Now_loading...774KB:2007/11/15(木) 00:32:34 ID:a7iMcgUp
AS3で、ある配列を可変長変数の引数へ取りたいんですが
どうすればいいんでしょうか。

var array:Array = ["a", "b", "c"];
これを
hoge(array[0], array[1], array[2]);
こんな感じで渡したいです。
変数のサイズが実行時まで分からないので
手打ちでの指定はできません。

よろしくお願いします。

24 :名無しさん@Vim%Chalice:2007/11/15(木) 00:40:59 ID:a7iMcgUp
すいません、説明が圧倒的に変ですね

×ある配列を可変長変数の引数へ取りたいんですが
○ある配列を可変長変数hoge(... rest)を引数に取る関数へ渡したいんですが

25 :Now_loading...774KB:2007/11/15(木) 01:48:56 ID:8ha8QyLu
質問させて下さい。
flash上でユーザーに手書きで図形を書かせ、
それが丸なのか四角形なのか三角形なのかを判別したいのですが
どのようなアルゴリズムが考えられますでしょうか?

26 :Now_loading...774KB:2007/11/15(木) 05:04:59 ID:DGJsfBop
壊れたTVみたいにノイズがはしるのをよく見かけるけどあれはASなのでしょうか?
そしてASの場合どのような技術を使っているのでしょうか?

環境はマクロメディアフラッシュプロフェッショナル8です。
よろしくお願いします。

27 :Now_loading...774KB:2007/11/15(木) 06:16:05 ID:7SDZUY7n
>>26
最近はマルチするのが流行りなのか?
それに「壊れたTVみたいにノイズがはしる」だけじゃ
受ける印象が人によって違うだろうから、
よく見かけるってんなら具体例示すために
そのノイズとやらが走ってるFlashのURL貼るなり考慮しろよな。
あと口語と文語が混ざったりして、日本語の使い方おかしいよ。

TVのノイズとやらは自分のイメージ的には
ttp://itpro.nikkeibp.co.jp/article/COLUMN/20070531/273124/
ここらへん使って一部歪ませてるんじゃねーの?

28 :Now_loading...774KB:2007/11/15(木) 06:26:38 ID:DGJsfBop
>>27
探そうと思いましたが見つかりませんでした。
しかし準備不足なのは理解しましたのでまた出直してきます。
親切にありがとうございました。

29 :Now_loading...774KB:2007/11/15(木) 06:38:52 ID:pBRDlD0q
>>22
var test_array:Array = new Array();
for (var i:uint = 0; i<3; i++) {
test_array[i] = new Loader();
}
trace(test_array);

>>23
配列の参照を渡せばいいじゃん
var array:Array = ["a", "b", "c"];
hoge(array);

function hoge(ar:Array){
for(var i:uint=0;i<ar.length;i++){
trace(ar[i]);
}
}


30 :Now_loading...774KB:2007/11/15(木) 08:51:22 ID:DoE1r76g
>>29
hoge側の引数は(... rest)で変えられないんです。
PHPで言うとcall_user_array_func()みたいな感じの
呼び出しをしたいです。

31 :Now_loading...774KB:2007/11/15(木) 08:53:43 ID:DoE1r76g
また間違えた
×call_user_array_func()
○call_user_func_array()

32 :Now_loading...774KB:2007/11/15(木) 09:31:29 ID:DoE1r76g
すいません自己解決しました

hoge.apply(null, ['foo', 'bar' ... ])で
可変長引数に渡せました。ありがとうございます

33 :Now_loading...774KB:2007/11/15(木) 09:51:40 ID:ftYp6t9K
testArray[0] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

配列の列を足しり掛けたりしたいのですが
やりかた教えていただけないでしょうか?



34 :Now_loading...774KB:2007/11/15(木) 10:22:47 ID:uGgtW2hq
>>29
は〜なるほどね〜
ありがとうございました。

35 :Now_loading...774KB:2007/11/15(木) 12:36:55 ID:trHuDKwn
質問です。

現在FlashLite2.0でゲームを作成しているのですが、ゲームをクリアしたら
プレゼント画面のサイトに飛ばしそこからJavaを使いランダムに各プレゼント画像
のページへ飛ばしたいのですが、何かこれよりもいい方法はありますか?

まだFlash初心者な為、ご教授お願い致します。

36 :Now_loading...774KB:2007/11/15(木) 13:15:36 ID:v64G3nrQ
>>21
解決しました!
ありがとうございます。

Namespace クラスを定義して、
コロン2つ書いたら取得できました。
↓こんなふうに
trace(myXML.item::D);

37 :Now_loading...774KB:2007/11/15(木) 13:49:09 ID:bJcTVdOp
すいません。ちょっと困っているので教えて頂けませんか?

違う階層同士のラジオボタン(コンポーネント)をグループには出来ない
のでしょうか?何とかやってみたいのですが上手く行きません。
もしダメな場合、他にいい方法はないでしょうか?

何卒ヨロシクお願い致します。

38 :Now_loading...774KB:2007/11/15(木) 15:14:25 ID:vI61uL2S
FLASH8を使用しています。

main.swf内に配置したStageMCに、外部からsub.swfを読込みます。
main.swfの該当フレームには stageMC.loadMovie("sub.swf"); と記述します。

sub.swfの内容は500×325の画像を9枚並べた1500×975のMC(インスタンス名:Photo)と
ボタン×9が有りボタンのロールオーバーに応じて該当する座標に画像がスクロールすると
いうものです。


(その2へ)

39 :Now_loading...774KB:2007/11/15(木) 15:16:11 ID:vI61uL2S
(その2)sub.swfの内容

『オブジェクトアクション』PhotoMC内に記述
(1フレーム目)
  X_dif = (X_Pos-_x)*0.2;
  Y_dif = (Y_Pos-_y)*0.2;
  _root.Photo._x = Number(X_dif)+Number(_x);
  _root.Photo._y = Number(Y_dif)+Number(_y);
(2フレーム目)
  gotoAndPlay(1);

『クリップアクション』Photo配置フレームに記述
  onClipEvent (load) {
  _root.Photo.X_Pos = 225;
   _root.Photo.Y_Pos = 125; ←最初に配置される座標
  }

『ボタンアクション』×9
  on (rollOver) {
  _root.Photo.X_Pos = 225; ←各座標ごとに設定
   _root.Photo.Y_Pos = 125; ←各座標ごとに設定
  }

(その3へ)

40 :Now_loading...774KB:2007/11/15(木) 15:17:34 ID:vI61uL2S
(その3)
上記でやってみたところ、sub.swf単独では完全に機能するのですが、Main.swfに読込むと
sub.swf自体は読込まれていますが、ボタンのロールオーバーが機能しません。
念のためsub.swfの1フレーム目にローディングバーを設置して、全部読込んでから2フレームへ
行く様にしてみてもダメでした。どこがダメだか教えていただけないでしょうか?


41 :Now_loading...774KB:2007/11/15(木) 15:53:28 ID:9PwHPyW+
>>37
マルチしね

42 :Now_loading...774KB:2007/11/15(木) 16:02:11 ID:pBRDlD0q
>>33
そんだけじゃ解らんw2次元配列か?
自分がやりたいことを具体的に日本語で書く。
>>35
特に問題がないのならそれで良いと思うよ。
>>38
_lockrootあたりを試してみるとか

43 :Now_loading...774KB:2007/11/15(木) 16:37:30 ID:vI61uL2S
>>42
出来ました。有り難うございました。
subでrootをしていするとmainのrootを参照しちゃってたんですね。
thisとかparentとかを試してみても駄目だったので本当に苦労しました。
ホント助かりました。

44 :35:2007/11/15(木) 17:35:47 ID:trHuDKwn
>42さん
ありがとうございます。

携帯向けゲームの為、やり方を
swf(90KB)→クリア→swf(87KB)と2つに分けたのですがクリアしてから
もう片方のswfに飛ぶ事ができません。

どう記述したら飛べるでしょう?
詳しい方ご教授お願い致します。

45 :Now_loading...774KB:2007/11/15(木) 23:06:30 ID:V1hvRNU6
ttp://www.updown-hiroba.com/common/swf/music.swf


これってデコンパイルできますかね。。

46 :Now_loading...774KB:2007/11/16(金) 10:29:03 ID:ooZihgC3
>>45
デコンパイラソフトを持っている人にやってみてくれって言ってるのかw

47 :Now_loading...774KB:2007/11/16(金) 11:55:34 ID:iYjOOFbH
FlexのColorPickerで色変更時のイベントを取る時
EventとColorPickerEventのどちらでみるのがいいんでしょう?

自分が見る限りどちらも同じように意図通り動作してるようですが。
(選択された色はselectedColorプロパティでみるので、
イベントオブジェクトのプロパティは使いません)

あ、イベントオブジェクトのプロパティを使わないのが邪道?

48 :Now_loading...774KB:2007/11/16(金) 13:05:52 ID:k/dyy0VR
イベントオブジェクトのプロパティが必要ないならどっちでもいいんじゃない

49 :Now_loading...774KB:2007/11/16(金) 19:31:12 ID:Xz5pVAmW
〜年〜月〜日からの経過日数を表示する方法ってありませんか。
たとえば、2007年4月1日からの経過日数とかです。

50 :Now_loading...774KB:2007/11/16(金) 19:53:51 ID:D40V7DbQ
>>49
・Dateオブジェクトその1にコンストラクタなりsetFullYearなりで
 2007年4月1日を設定

・Dateオブジェクトその2にコンストラクタなりsetFullYearなりで
 差日をとりたい年月日を設定

・Dateオブジェクトその2.getTime() - Dateオブジェクトその1.getTime()
 の値を86400000で割る(86400000ミリ秒=1日)

・その割った値が差日になる(ハズ

51 :Now_loading...774KB:2007/11/16(金) 20:22:27 ID:sEwWdRJv
>>49
Dateクラスの日付のデータは、ミリ秒単位の数値だから、引き算すればいいよ。
あとは「日」の単位にすればおk

var d1:Date = new Date("2007/4/1")//基準日
var d2:Date = new Date()//調べたい日
var days = ((Number(d2)-Number(d1))/1000/60/60/24)>>0
trace(days + "日経過しています。")

52 :47:2007/11/16(金) 21:06:42 ID:iYjOOFbH
>>48
レスありがとう。
どっちでもいいことにしようっと。

53 :Now_loading...774KB :2007/11/17(土) 14:24:43 ID:fpzaTnFK
>>50 >>51
返答をありがとうございました。

54 :Now_loading...774KB :2007/11/17(土) 14:51:58 ID:fpzaTnFK
>>51さんの方法でやると、1行目でエラーが出てしまいます・・・

55 :Now_loading...774KB:2007/11/17(土) 15:37:15 ID:nzX9J2nT
>>54
正しくはこれ↓

var d1:Date = new Date(2007,4,1)//基準日
var d2:Date = new Date(2007,4,5)//調べたい日
var days = ((Number(d2)-Number(d1))/1000/60/60/24)>>0
trace(days + "日経過しています。")

Dateクラスに入れる引数は数値だから、年、月、日、時間、分、秒、ミリ秒の順で数値として入れる。


56 :Now_loading...774KB:2007/11/17(土) 15:39:23 ID:y2Dd/hWs
>>54
AS3だとコンストラクタに日付型式の文字列とれるみたいだけど、AS2以前なら
年月日を↓みたくそれぞれカンマで区切って設定。

var DATE_MIL:Number = 1000*60*60*24;
var d1:Date = new Date(2007,3,1); //月部分は0始まりなので注意
var d2:Date = new Date();
trace(Math.floor((d2.getTime() - d1.getTime())/DATE_MIL)+"日経過しています。");


57 :Now_loading...774KB:2007/11/17(土) 15:39:57 ID:y2Dd/hWs
ありゃ、かぶったwすまん

58 :Now_loading...774KB:2007/11/17(土) 15:50:32 ID:nzX9J2nT
要するに、どの環境でコーディングしてるか明記しなかった >>49が悪いってことか

59 :Now_loading...774KB:2007/11/17(土) 23:29:25 ID:HU8BGVXi
Flash8で、datagridに配列から呼び出した内容を順に入れていきたいのですが
文字列の方が表示されません。数字のほうはふつうに表示されます。

//my_dgというDataGridを画面に配置しています。
System.useCodepage = true;
var myDP:Array = new Array();
var Item1:Array=[2,5,8,44];
var Item2:Array=["aa","あ","zxc"];
for (var i=0; i<3; i++)
myDP.addItem({id:i, name:Item1[i], name2:item[i]});
my_dg.dataProvider = myDP;
my_dg.hScrollPolicy = "on";

文字列を表示するのに、何をいじればいいのかわかりません。
すいませんがどなたかよろしくお願いします。

60 :Now_loading...774KB:2007/11/18(日) 02:46:59 ID:MN2fAhRT
AS2.0以降は変数名などの大文字小文字を区別します

61 :Now_loading...774KB:2007/11/18(日) 04:11:24 ID:K7Q4K06Y
>>60さん、おはずかしながら動きました。
ありがとうございます

62 :sage:2007/11/18(日) 17:07:08 ID:urTdv9eF
http://youmos.com/news/button_element
にあるような画像みたいに、ある特定の部分のマスクを反転して
なおかつ、その境界をぼかしてハイライトしたいのですが、良い方法はないでしょうか?

* 表示する画像を表示用とキャッシュ用に作成
* 表示用の画像をColorMatrixFilterで透明度を下げて暗くする
* 選択した範囲をキャッシュ用のBitmapDataから表示用のBitmapDataにコピー

というようにして、ぼかさない場合はうまくできてるんですが、ぼかしたい場合には
どうしたら良いのでしょうか。

63 :Now_loading...774KB:2007/11/18(日) 19:55:38 ID:0sKkxIUq
>>62
BlurFilterを使って、グラデーションマスクをかける

64 :Now_loading...774KB:2007/11/18(日) 23:28:27 ID:urTdv9eF
>63
それだと逆にマスクをかけた部分が暗くなってしまい、イメージとは逆になってしまいませんか?

65 :Now_loading...774KB:2007/11/18(日) 23:32:11 ID:urTdv9eF
62です。
>>63
すいません。さらにBitmapDataとしてもっておきたいのを書くのを忘れてました。

66 :Now_loading...774KB:2007/11/18(日) 23:59:15 ID:0sKkxIUq
>>64
背景を暗くして、手前にグラデーションマスクをかけたMovieClipを配置する
その状態をBitmapDataにしたいなら、全体をBitmapDataにする

67 :Now_loading...774KB:2007/11/19(月) 00:50:00 ID:X7vwAVdT
ActionScript4.0 スレたてていいすか??

68 :Now_loading...774KB:2007/11/19(月) 01:00:32 ID:ngY3GY8l
>>64 こんな感じでどお?
import flash.display.BitmapData;
import flash.geom.Matrix;
import flash.geom.Point;
import flash.filters.BlurFilter;

var point = new Point(100,100);
var w:Number = 200 ,h:Number = 50 ,blurSize:Number = 10;

var blurMask:MovieClip = selectmc.createEmptyMovieClip("blurMask",0);
var imageMC:MovieClip = selectmc.createEmptyMovieClip("imageMC",1);
var blur:BlurFilter = new BlurFilter(blurSize,blurSize,3);
blurMask.beginFill(0x000000,100);
blurMask.moveTo(blurSize,blurSize);
blurMask.lineTo(w-blurSize,blurSize);
blurMask.lineTo(w-blurSize,h-blurSize);
blurMask.lineTo(blurSize,h-blurSize);
blurMask.lineTo(blurSize,blurSize);
blurMask.endFill();
blurMask.filters = [blur];
imageMC.setMask(blurMask);
imageMC.cacheAsBitmap = true;

var matrix = new Matrix();
matrix.translate(-point.x,-point.y);
var bmp = new BitmapData(w,h);
bmp.draw(targetmc,matrix);
imageMC.attachBitmap(bmp,0);
selectmc._x = point.x;
selectmc._y = point.y;
targetmc._alpha = 50;

69 :Now_loading...774KB:2007/11/19(月) 01:03:23 ID:ngY3GY8l
>>67
だめ

70 :Now_loading...774KB:2007/11/19(月) 01:07:28 ID:PqVKDlLj
自鯖などを使わずに、Flashのデータを『書き換えて』
ローカルPCに『ファイルとして』保存する事は可能でしょうか?

FileReferenceを拡張して書き換える処理を挿入したりすれば可能になるのでしょうか?

71 :Now_loading...774KB:2007/11/19(月) 03:58:52 ID:jBAdWh2g
どうも初心者です。swfの中にフォームメールを作って、phpと連携させてメールを送ろうとしてるのですが、なぜかLoadVarsで渡しれるはずの変数がPHPに渡されないのです。メールはちゃんと送信されますが、フォームで入力した情報が全て空白になっています。
コードは以下のようになっており、
至って簡単なんですが、たぶん初歩的な間違いをしていると思われ、
もし何処が間違ってるのか分かるエロい人いたらぜひご教授を!!

Flash側のボタンインスタンスのスクリプト
on (release) {
var emailResponse:LoadVars = new LoadVars();
emailResponse.onLoad = function(success:Boolean) {
if (success) {
commentInput.text = "Successful!!";
} else {
commentInput.text = "Error!";
}
};
var gData_lv:LoadVars = new LoadVars();
gData_lv.userName = nameInput.text;
gData_lv.userEmail = emailInput.text;
gData_lv.userComment = commentInput.text;
gData_lv.sendAndLoad("sendmail.php",emailResponse, "POST");
}

sendmail.php側のスクリプト

<?php
$to = 'xxxx@xxxx.com';
$subject = "Email Inquiry";
$headers = "From: ".$userName." <".$userEmail.">";
mail($to,$subject,$userComment,$headers);
print true;
?>

72 :Now_loading...774KB:2007/11/19(月) 06:04:58 ID:AyjF7uU6
>>70
その条件では無理。ファイルとしてならphpでサーバーに落として、それを
DLさせるとかかな。
>>71
php側での受け取り変数名は$_POST["プロパティ名"]になる。
つまり$_POST["userName"]とか$_POST["userEmail"]とか。

73 :71:2007/11/19(月) 06:19:50 ID:jBAdWh2g
おおっ、早速のアドバイスどうもです。上手くいきました!!
PHP上ではそんな風に記述しなければならないんですね。
確か以前は変数直接書き込んでも上手くいった気がしたんで…
有り難うございました。m(_ _)m


74 :Now_loading...774KB:2007/11/19(月) 10:19:48 ID:ZkCkF7Ph
ActionScript3.0を学習するのにオススメのHPはありますか?

75 :へるぷ:2007/11/19(月) 10:45:55 ID:3tUipTzW
今モバイル向けゲームを作成してるんだが
PCでは動かす時にKey.isDown(○○)を使うじゃないですか
携帯向けにKey.isDown("6")としてみたら全く動きません。
何か記述方法自体違うんですか?

76 :へるぷ:2007/11/19(月) 12:38:00 ID:3tUipTzW
解決しました。
てかこのスレってほんとに詳しい人全然いないですよね。
今まで役に立った事一回もない

77 :Now_loading...774KB:2007/11/19(月) 13:03:44 ID:BJN2SFGR
>>76
自分も動かなくて困ってたんですが
どうやってやったんですか?教えてください。

78 :Now_loading...774KB:2007/11/19(月) 13:31:58 ID:4cDFKBBM
>76
俺も動かなくて放置してたんだ
どうやって解決したの?

79 :へるぷ:2007/11/19(月) 13:47:42 ID:3tUipTzW
こんなにいたんだΣ('o')

http://hakuhin.hp.infoseek.co.jp/main/as/key.html
ここのキーコード一覧を見て
Key.isDown()の括弧内に数字を入れればOK

80 :70:2007/11/19(月) 14:48:09 ID:PqVKDlLj
>>72
有難うございます。セキュリティの都合とかなんですかね…
残念ですが諦めます。

81 :Now_loading...774KB:2007/11/19(月) 15:00:59 ID:frmrtXmp
配列の中身をランダムで入れ変えるにはどうすれば良いでしょうか?

82 :Now_loading...774KB:2007/11/19(月) 19:57:59 ID:ilpUasRQ
Math.random関数使って
配列の中身をランダムに入れ変えるといいよ

83 :Now_loading...774KB:2007/11/19(月) 20:13:50 ID:Czb2+SP3
答え入力式のクイズゲームのようなものを作っています。

キーボードから入力したテキストを「text」に表示
リターンキーを押すと次のフレームへ飛ぶ
というのをやりたいのですが、思うようにいきません。

1.文字を間違えたときに
 「del」や「Backspace」を押しても文字が消せない

2.Enterキーを押しても次のフレームに飛ばない

3.Enterキーを押した後は
 textに新たな文字を書き込めないようにしたい(が、方法がわからない。

どなたかご助力いただけると助かりますm(_ _)m

onClipEvent (keyDown) {
if(Key.isDown(Key.Enter){
gotoAndPlay = (2);
} else{
this.text += String.fromCharCode(Key.getAscii());
}
}


84 :Now_loading...774KB:2007/11/19(月) 20:42:23 ID:Czb2+SP3
>>83
すいません、微妙に修正。

onClipEvent (keyDown) {
if(Key.isDown(Key.Enter)){
gotoAndPlay(2);
} else{
this.text += String.fromCharCode(Key.getAscii());
}
}

85 :Now_loading...774KB:2007/11/19(月) 21:58:13 ID:znbLEQvT
http://mikunavi.net/

このフラッシュのレンダリング領域にフルで描写される設定、どうやって実装するのが一番スマートかな?

http://swf.mikunavi.net/miku.js
http://swf.mikunavi.net/swf/miku.swf

をパッ見る限りでは、objectタグwidth="100%" height="100%"してたからswfをフル画面で描写してるのは分かるんだけど、
右端のボタンとか、ミクのコンテンツとかのサイズ・比率を変えないまま、ステージだけ拡大って出来たっけ・・・?

というか右端の閉じるボタンFLASHはどこから呼び出されてるんだコレ

86 :sage:2007/11/19(月) 23:12:54 ID:xLeC5i3W
お伺いしたいのですが、
ホームページのトップページを作るとして、
メインの大きな写真をクリックすると、
その写真の下にメニューボタンが4つほど
ぼやーっと浮かび上がるようにいしたいのですが、
どのような記述をすればよいでしょうか?

MXでMacOS9.2です。
初心者の質問ですみませんがよろしくおねがいします。

87 :Now_loading...774KB:2007/11/19(月) 23:14:14 ID:xLeC5i3W
すみません、名前にsage入れてしまいました。

88 :Now_loading...774KB:2007/11/20(火) 09:10:20 ID:aOKpQbR7
別にsage義務なんかないからいいよ

ぼやーっと浮かび上がるMCを作成して1コマ目でストップさせておく
大きな写真をクリックしたらそのMCを再生
メニューが浮かんだところでまたストップさせればいい

89 :Now_loading...774KB:2007/11/20(火) 09:34:32 ID:D+ZOJejn
BitmapDataをMXML上に表示するにはどうしたらよいのでしょうか?

ImageにはBitmapDataを食わせる口がないですし、LoderをaddChildしてもサイズが正しく認識されません

90 :89:2007/11/20(火) 22:25:03 ID:9SWJMMNj
89です。
自己レスです。
ImageにはcontentにBitmapが格納されているんですね。

失礼いたしました。

91 :Now_loading...774KB:2007/11/21(水) 10:11:03 ID:G8K79L7v
ActionScript3で二点ほど質問をさせてください。

1)「あるイベントが完了するまでの間、待機し続ける」の様な処理は皆さんどうしていますか?(Threadのwaitの様な処理)
イベントに対してイベント完了フラグを持たして、
それがtrueになるまで待ち続けるのはあまりに非効率で・・・。
標準で用意されていると思い探してみるも見つからないのですが、
私の調べ不足でしょうか?

2) XMLクラスに対してString形式のXPathでアクセスするにはどうしたらいいでしょうか?
グーグルなどを使用してas3での有効な方法が発見できず困っています。


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

92 :Now_loading...774KB:2007/11/21(水) 11:55:49 ID:lmbGDETh
時間に応じてキャラ画像が変わるblogパーツみたいなものがあると嬉しいんだが

例)
起床 06:00-06:59 起きてきたところ
朝食 07:00-07:59 食事
午前 08:00-11:59 生活
昼食 12:00-12:59 食事
午後 13:00-14:59 生活
おやつ15:00-15:59 おやつ食べてる所
夕方 16:00-18:59 生活
夕食 19:00-19:59 食事
夜   20:00-20:59 TVみたりとか
就寝 21:00-21:59 寝に行くところ
睡眠 22:00-05:59 ベッドの中

みたいに時間によって指定したカテゴリの画像をランダム表示したいんだが
まず時間帯による条件指定から分からないorz
サンプルのコードが出せないのでスレ違いといわれるかもしれないので
せめてどこが参考になるかというかアプローチの仕方のヒントがもらえると嬉しい。


93 :Now_loading...774KB:2007/11/21(水) 12:13:57 ID:V+Dv0886
>>92
dateobj = new Date();

switch(dateobj.getHours()){
 case 10:
  trace("10時です。");
  break;
 case 11:
 case 12:
 case 13:
  trace("11-13時です。");
  break;
 case 14:
  trace("14時です。");
  break;
}

94 :Now_loading...774KB:2007/11/21(水) 12:57:41 ID:YGA6utSY
>>91
1)ない
2)E4Xが標準だからそっち覚える。どうしてもxpathじゃなきゃまずいなら3.0使わずに2.0のmx.xpath.XPathAPIでどうぞ。

95 :Now_loading...774KB:2007/11/21(水) 13:10:13 ID:etouH856
質問です
1フレーム目に
var bgm = new Sound();
bgm.loadSound("file://D:/example.MP3" , true);
と記述して、パブリッシュした物を開くとちゃんとexample.MP3が再生されてくれるのですが
ウェブ上のホームページにアップロードしてこれを実行するとexample.MP3が再生してくれません
ネット上のswfはローカルフォルダにあるファイルをロードできないってことなのでしょうか?
何とかしてロードできる方法があるとしたら教えて欲しいです

使ってるのはWindowsXPでFlash8です

96 :Now_loading...774KB:2007/11/21(水) 17:16:18 ID:bKr8hbq+
>>93
怒られるかなと思っていたからすげー嬉しい
本当にありがとう!
ここから頑張ってみる

97 :Now_loading...774KB:2007/11/21(水) 18:19:39 ID:FIP4FqZ/
>>95
flashの前にパソコン勉強してこようね。

98 :Now_loading...774KB:2007/11/21(水) 18:28:53 ID:wB2tLJmF
>>95
吹いたwwww

99 :Now_loading...774KB:2007/11/21(水) 18:58:07 ID:G8K79L7v
>>94
ものすごい勢いの回答ありがとうございます!
1)について補足としてお聞きしたのですが、
このようにイベントの終了まで待機させたい場合は
while(!eventEndFlag) {}

のようにするのでしょうか?


100 :Now_loading...774KB:2007/11/21(水) 19:15:33 ID:OBbAm/Md
>99
何のイベント?
ちなみにそれだと無限ループしちゃう
イベント終了後に、待ってる処理を呼び出すんじゃダメなの?

101 :Now_loading...774KB:2007/11/21(水) 19:22:36 ID:OBbAm/Md
ちなみに、ASで並行処理できるかは知らないw

102 :95:2007/11/21(水) 20:29:49 ID:etouH856
>>97
えっと、「file://」の記述が間違っているということなのか
ネット上のswfがローカルフォルダのMP3をロードできるわけない、ということなのか
Dドライブの中身なんて各PCで違うんだからそんなの作っても意味無いだろ、ということなのかわからないです

自分がやろうとしているのは、swfを再生させる前に予めMP3をローカルフォルダに用意させておいて
そのMP3をロードして音楽として使おうということなんです

ローカルフォルダにあるMP3をネット上のswfのSoundオブジェクトにロードする方法か、
ロードしなくてもそのMP3を再生する方法があるとしたら教えて欲しいです
お願いします

103 :Now_loading...774KB:2007/11/21(水) 20:44:10 ID:7GIWb23q
>>102
簡単な方法
swfと同じフォルダにmp3を置く
bgm.loadSound("example.MP3" , true); と書く
HPでは同じフォルダにswfとmp3ファイルを置く

104 :Now_loading...774KB:2007/11/21(水) 20:55:04 ID:MeN9z+63
>>88さん

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

105 :Now_loading...774KB:2007/11/21(水) 23:58:46 ID:9AdKzw/W
>99
普通はCompleteイベントかなんかを飛ばして、
終了後の処理はそのイベントハンドラ内で行う。

Flashは基本的にシングルスレッドなので、
応答を待っている間ループさせてしまうと
その間は何も処理できないよ。


106 :Now_loading...774KB:2007/11/22(木) 13:47:38 ID:/e4ItTtQ
皆さん返答ありがとうございます!

>>100
ファイルの読み込みイベントですね。
処理的には問題ないのですが、
java上がりの私には処理が途中分断されるのが気持ち悪くて。

>>105
なるほど。とても参考になりました。
イベント型のプログラミングになれるしかないですね。


107 :95:2007/11/22(木) 16:29:50 ID:zzR/7q+p
>>103
その方法だと、MP3ファイルもアップロードしなくちゃいけないですよね
具体的に例を挙げるなら、
とあるPCゲームの音楽を使用してFlashを作ったけど、その音楽をつけたままアップロードしたら著作権的に良くないから、
同じPCゲームを持っている人なら音楽付きで楽しめることができる
みたいなのを作りたいんです

次のレスはしばらく反応見てからにします

108 :Now_loading...774KB:2007/11/22(木) 16:37:27 ID:tn+EugGx
>>107
それならべつにmp3うpしなくてもいいじゃん。
自分の作ったswfをDLしてもらって、そのフォルダにユーザーの持ってる?
MP3をコピーしてもらえばいい。

いずれにしろ売っている楽曲の使用はまずいだろw

109 :Now_loading...774KB:2007/11/22(木) 16:52:47 ID:wa6YPNwJ
>>107
>>108の方法が妥当だな。
DLしたswfをローカルで再生してもらって、指定したフォルダに指定したファイル名で
ユーザーがその曲を置くようにする。
だが、かなり面倒な気がする。そこまでしてその曲をユーザーが使う意味あんのか?
とにかく、いきなり任意の場所にあるローカルの曲を別サーバのswfが再生するとか
そんなウイルスみたいなマネは普通はできない。

110 :Now_loading...774KB:2007/11/22(木) 19:41:18 ID:ZF8o01hV
Proxomitron使えば出来るけど、>>108の方法のほうがずっといいな

111 :Now_loading...774KB:2007/11/23(金) 01:22:09 ID:7sqELk32
よく知らんけどAIRならローカルファイルアクセスできるから
再生も出来るんじゃないの?

112 :Now_loading...774KB:2007/11/23(金) 01:28:26 ID:2eWrIWw5
AS2とAS3を一つのソースで上手く管理する方法はないでしょうか?

113 :Now_loading...774KB:2007/11/23(金) 07:39:39 ID:8hXJsS/3
>>112
AS2とAS3はきちんと分ける。
たとえば、C++のソースとJavaのソースを分けるように。

114 :Now_loading...774KB:2007/11/23(金) 14:52:05 ID:g3XgFXCq
>>112
自分でコンパイラ作る

115 :Now_loading...774KB:2007/11/23(金) 16:01:05 ID:7sqELk32
AS2は捨てて新しい自分に生きる

116 :Now_loading...774KB:2007/11/23(金) 19:18:44 ID:2eWrIWw5
>>113-114
やっぱり無理ですか・・・orz

>>115
モバイルFlashがAS3で書けるならいますぐ捨てたいのですが
最新のFlashLite3でも対応してないのであと3年は捨てられない・・・Adobeのアホー

117 :Now_loading...774KB:2007/11/23(金) 19:21:13 ID:ka3uLNHg
AS2も3もやれば良いじゃん
つーか1つの言語だけで食える仕事ってあるの?

118 :Now_loading...774KB:2007/11/23(金) 19:38:07 ID:2eWrIWw5
一つの言語だけというよりAS2とAS3が一つのソースで管理できたらいろいろ楽になるんで聞いてみたんですが
みなさんありがとうございます

119 :Now_loading...774KB:2007/11/24(土) 17:00:35 ID:lNMxNPlh
>>112
クラスを一切使わずFlashのAPIは関数でラッピングすればおk

120 :Now_loading...774KB:2007/11/24(土) 18:23:26 ID:4gv8eKD5
ストリーミング再生について質問です。
loadSoundを使って外部mp3を読み込むと、何故か通常より"音程が高く"再生されます。
attachSoundの場合はそのようなことは起こりませんでした。また、mp3ファイル側に原因
があるのかと思い、様々なmp3で試してみましたが、同様の現象がおきました。
原因が分かる方、アドバイスくださると幸いです。

121 :Now_loading...774KB:2007/11/25(日) 02:26:07 ID:ICIWbaG3
AS2での質問です。
外部からLoadVarsを使い、csvを呼び出してsplitでそれを分割したのですが
それをonDataの外で使いたいのですがどうすればいいのでしょうか?


var CSVLoad=new LoadVars();
CSVLoad.onData=function(csv:String){
// この中ではなく
}
CSVLoad(a.csv);
//ここで使いたいのですが

returnも使ってみたのですがうまくいきません
すいませんがどなたかお願いします。

122 :Now_loading...774KB:2007/11/25(日) 06:32:10 ID:RESgGrUk
>>121
分割して格納する配列を
var CSVLoad=new LoadVars();
の下あたり(onDataの外)で定義しとけばいんじゃね。

123 :121:2007/11/25(日) 17:22:32 ID:ICIWbaG3
何度も申し訳ありません。

var CSVLoad=new LoadVars();
var cs_split:Array=***.split(",");//追加
CSVLoad.onData=function(csv:String){

}
CSVLoad.load("a.csv");
こういうことでしょうか?
traceで結果を見てみてもundefinedと表示されてしまうのですが
何度もスイマセン。




124 :Now_loading...774KB:2007/11/25(日) 17:34:49 ID:Ap1Wixhm
>>123
var CSVLoad=new LoadVars();
var cs_split:Array
CSVLoad.onData=function(csv:String){
cs_split = csv.split(",");
}
CSVLoad.load("a.csv");

こういうことじゃないかな?

125 :Now_loading...774KB:2007/11/26(月) 06:08:56 ID:/eX/k48v
>>120

私のところではloadSound()で読み込んでて問題出てないですよ。
MX2004→8で同じロジックで動かしてますがどちらも同じです。

Flashが読み込めるMP3の範囲からはずれてると倍速早送りみたいな
音で再生されるんで、それのことかな?

Flashが読み込めるのは
ビットレートが8/16/20/24/32/48/56/64/80/112/128/160(kbps)のCBR(固定ビットレート)で、
サンプリングレートが11025/22050/44100(Hz)
のMP3で、そこから外れるとダメです。
CBRでなく、ABRやVBRもダメ。
まずそのあたりから確認を。


126 :Now_loading...774KB:2007/11/26(月) 23:21:23 ID:Q661u2lM
as3で、ダイナミックテキストにアンチエイリアスをかける方法を
ご存じの方はいませんか?
as2だと、ソース付で解説しているサイトはあるんですが、
そのソースのままでは動きませんでした・・。

127 :Now_loading...774KB:2007/11/26(月) 23:56:40 ID:hpxfy1Rp
>>122さん>>124さん、ありがとうございました。
別のfunctionなどでくくってからでないと使えないのですね。
おかげで動くようになりました。

128 :Now_loading...774KB:2007/11/27(火) 19:05:55 ID:3eRqpKgE
初歩的ですが質問させていただきます。
ボタンを押したときに実行するASを、ボタン自体に書くのではなく、出来るだけ1箇所のフレームにまとめて
記述したいのですが、そのASを書いたフレームの時点では、まだボタンそのものが存在していない場合、
そのASは無効になりますよね・・・。一箇所にまとめて書きたい場合はどうすればよいのでしょうか?
分かりにくい日本語で申し訳ありません。

129 :128:2007/11/27(火) 19:08:52 ID:3eRqpKgE
上記の例を挙げさせていただきます。
_root.my_button.onRelease = function() {
trace("pushed");
};
を、ルートの1フレーム目に記述したのですが、「my_button」はまだこの時点では
存在していないのです。(2フレーム以降にある)

この場合どうすれば良いのかということです。スレ汚しすみません。

130 :Now_loading...774KB:2007/11/27(火) 19:40:57 ID:N/Rqu/0+
>129
この場合、すべてを1フレーム(1ファイル)で済ますのは無理
長くなりすぎて作業効率悪くなるんじゃん?

・クラスファイルを作ってmcにリンケージプロパティで関連付ける
//btnAct.as
class btnAct extends MovieClip {
function onPress() {
trace("pushed");
}}
・mcのフレームに、_rootに書いた押す動作を呼ぶASを書く
//_root
function btnAct(tar) {
tar.onPress=function(){
trace("pushed");
}}
//_root.mc:frame1
_parent.btnAct(this);
・mcのループやonEnterFrameでmy_buttonが存在するまで毎フレームチェックする

131 :Now_loading...774KB:2007/11/27(火) 19:43:13 ID:N/Rqu/0+
>129
楽なのは、ボタンを非表示にしておけば?

132 :Now_loading...774KB:2007/11/27(火) 21:14:08 ID:keuGlUA9
質問させていただきます。
Flashの画質を初めから中の状態で表示させたいのですが
何か方法はありますか?

133 :Now_loading...774KB:2007/11/27(火) 21:29:03 ID:xUULjy5o
>>132
_quality = "MEDIUM";

134 :Now_loading...774KB:2007/11/27(火) 22:55:42 ID:FHYuC9/s
>128
FlexならcreationCompleteイベントを拾うか
childrenCreatedをオーバーライドして
そこでイベントリスナを張る

135 : :2007/11/27(火) 23:00:27 ID:1tVlJi1o
>>133 ありがとうございます!
すみませんが もうひとつ質問させていただきます。
stopAll(); というプログラムでストリーミングは止められたのですが、
イベントを止めるプログラムはありますか?
ゲームで6秒くらいの繰り返しの音を使ってます。クリアしたときに
その音を止めたいのですが、イベント形式なので止められないのですが・・・。

136 :Now_loading...774KB:2007/11/28(水) 11:11:43 ID:SBkg8gYY
質問です!
AS2から採用されたBitMapImageクラスを使って着せ替えswfを作ったんですが、
これでお好みの組み合わせが出来た所で、そのオブジェクトをjpegなりに書き出して、ローカルに保存するか、mailに添付させたいのですが、どうやってやれば良いか良くわかりません。

自分なりに調べてみた所、
下のサイトに良さそうなコードが載っています。
ttp://www.flash-db.com/Tutorials/snapshot/snapshot.php?page=2

ただこれを読むとピクセル一つ一つのデータを調べて、イメージを構成すると言うかなり力ずくなやり方のようで、
CPUにも負担が多いのでできればこのやり方は避けたいのですが、
何か他にスマートな方法などは無いでしょうか?
それともAS3から新たに追加された機能などで簡単に出来るようになっているのならAS3への移行も考えるのですが…

ActionScript使いの達人の物凄い勢いの解答をぜひ、おながいします。




137 :136:2007/11/28(水) 11:13:35 ID:SBkg8gYY
>>136
BitMapDataクラスの間違いです。
orz...
スンマソン


138 :Now_loading...774KB:2007/11/28(水) 11:47:05 ID:B+kWJKje
>>136
Flash単体じゃ今のところ無理だと思う。
外部プログラムと連携させれば可能。

139 :136:2007/11/28(水) 12:00:01 ID:SBkg8gYY
>>138
なるほど、やっぱりそうですか。
上の参考に載せたサイトもPHPと連携させてますが、
そのプロセスがかなりCPU負荷が高いみたいで、
もう少し実践的な例などあれば非常に有り難いのですが…

140 :Now_loading...774KB:2007/11/28(水) 13:12:00 ID:rFZrwlxz
サンプラーのサンプルってないですかね。。

141 :Now_loading...774KB:2007/11/28(水) 14:15:37 ID:hQnVuEW3
>>139
オンラインでの話だろうけど念のため言っておくとAIRでcorelibクラス使えば可能。


142 :Now_loading...774KB:2007/11/28(水) 14:47:05 ID:ZTMUrYX9
AIRほしいよAIR

143 :Now_loading...774KB:2007/11/28(水) 16:08:55 ID:vNfJjtYD
>>136
AS3ならByteArray使えばもっとスマートにできる。PHPとの連携は必要だけど。
「AS3 画像として開く」でぐぐると、pngでの例が載ってる(jpegも同様)

144 :Now_loading...774KB:2007/11/28(水) 19:31:00 ID:Sr22DWn5
Flash8でおきた変な現象

var s = "15.01";
var a:Number = parseFloat(s);
var b:Number = a + 1.0;
var c:Number = 16.01;
trace(c==b);
trace(c>b);
trace(c-b);

なぜかcの方が大きい値になる。バグか?

145 :Now_loading...774KB:2007/11/28(水) 19:41:57 ID:mNWa1JlR
いたって正常だが?
まさか、ここで浮動小数点形式の解説からしないといけないんですか。

146 :Now_loading...774KB:2007/11/28(水) 19:46:44 ID:Sr22DWn5
>>145
では値が1大きい以下の場合では結果が異なる
理由を教えてください。

var s = "16.01";
var a:Number = parseFloat(s);
var b:Number = a + 1.0;
var c:Number = 17.01;
trace(c==b); //true
trace(c>b); //false
trace(b-c); //0


147 :Now_loading...774KB:2007/11/28(水) 19:51:20 ID:mNWa1JlR
>>146
> >>145
丸め誤差

148 :Now_loading...774KB:2007/11/28(水) 19:59:06 ID:Sr22DWn5
>>147

じゃあ等価かどうか調べるにはtoString()
で一度文字列とかに変換して比較しないとい
けないんですか。

149 :Now_loading...774KB:2007/11/28(水) 20:04:52 ID:mNWa1JlR
>>148
浮動小数点は普通、等価演算は行わない。
計算機工学の教科書でも買って読んだ方がいいよ。

150 :Now_loading...774KB:2007/11/28(水) 20:12:36 ID:mNWa1JlR
>>148
どうしても比較したい場合は、自分で精度を決めて、以下のようにしろ。
var precision = 0.0001
trace((a - b) < precision);

151 :Now_loading...774KB:2007/11/28(水) 20:27:24 ID:Sr22DWn5
>>150
なるほど。toString()で文字列に変換する場合は誤差は無視
されるんですね。
数値の有効精度や小数点数を扱うときは気をつけます。


152 :Now_loading...774KB:2007/11/28(水) 22:07:30 ID:b+eXGpDE
Flexについての質問なんですが、2列あるDataGridコンポーネントで、
両方のitemRendererにComboBoxを指定して、
 ある行の1列目の値を変えると、
 その行の2列目の値のセットが変わる
というものを実現しようとしています。

1列目のComboBoxのchangeイベントにて、その行の2列目のデータを入れ替えるようにしたんですが
データ上では入れ替わったのに、表示は元のまま変化しません。
2列目のComboBoxのdataChangeイベントを使って何とかするのかと思ったのですが
そのイベント自体発生していないようなのです。
(itemRendererであるComboBoxまでイベントがこない??)

何か考え方が抜けているのか、やり方がまずいのか、
どなたかご存知の方教えていただきたいです。

153 :Now_loading...774KB:2007/11/28(水) 23:05:37 ID:huy/9hDu
ローディングバーの演出で、一枚の画像をタイル上に100分割して
読み込みに沿って、ランダム(順番に開いていくのではなく)にそのタイルが、
徐々に開いていくというような 演出をさせたいのですが、
どうすればいいのか、ヒントをお教えいただけますでしょうか。

また、上記のような演出をしているサイトがあれば、ご紹介頂けないでしょうか。
参考にしたいとおもっております。(近しい演出でも可です。)

どなたか、ご存知であれば、教えてくださると助かります。

154 :Now_loading...774KB:2007/11/29(木) 00:11:48 ID:OM2/aahz
D:\swf\samples\VideoJukebox\VideoJukebox.as(151): col: 46 エラー: 型が見つからないか、コンパイル時定数ではありません : SliderEvent。

private function volumeChangeHandler(event:SliderEvent):void {
^

助けてください><

155 :Now_loading...774KB:2007/11/29(木) 02:22:22 ID:Di7th4Hh
>>153
0〜99の数字が入った配列作って最初にシャッフルして、
ローディング中にその順番通りに開いていく

156 :Now_loading...774KB:2007/11/29(木) 07:25:49 ID:ZH4B1ACh
>>152
update()してないとか
>>154
importしてないとか、AS2と3間違えてるとか

157 :Now_loading...774KB:2007/11/29(木) 23:37:13 ID:wYBBp9FN
153です。155さんありがとうございます。
初歩的なところで、申し訳ないのですが、アクションスクリプトの
書き方のヒントおよびサンプルスクリプトをお教え願えないでしょうか?

また、上記のような演出(近しいもの)を施しているサイトなどありましたら、
演出及び製作時に参考にしたいと思いますので、教えていただければ幸いです。



158 :Now_loading...774KB:2007/11/29(木) 23:39:38 ID:9STEAcH0
>>151
同じく初心者ですが、数列内の順序を入れ替えるシャッフルの式を教えて頂けないでしょうか?

Randomを使って乱数を発生させるのは分かるのですが
同じ要素が出ないようにする仕組が分かりません。

159 :158:2007/11/29(木) 23:44:17 ID:9STEAcH0
158です、
>>155
の間違いでした。orz

160 :Now_loading...774KB:2007/11/30(金) 00:27:16 ID:i8Rn2pNR
>158
ArrayCollectionかなんかに入れて、
当たったやつを抜いてけばいいんでねが?

161 :Now_loading...774KB:2007/11/30(金) 00:36:35 ID:dW7baU7n
お教え頂きたいのですが
ローカルの日付けを取得して 2007/10/29 という数値を出すことが出来ました。
これを月、日にわけて数値を取り出したいのですがどうすればいいのでしょうか?
evalかなと思いいろいろやってみているのですが上手くいきません。

ぜひお教えくださいです

162 :152:2007/11/30(金) 00:49:05 ID:61e9uXST
ですが、dataProviderの対象データをArrayCollectionにしたり
Bindableなクラスにしまくったら何とかいけました。
ArrayCollectionのメソッド(忘れた)やDataGridのexcuteBindingを使えば
データを変えずに出来そうなんですが…

>>156
update()って何クラスのメソッドでしょう?



163 :Now_loading...774KB:2007/11/30(金) 00:54:39 ID:61e9uXST
>>161
http://livedocs.adobe.com/flex/2_jp/langref/Date.html

var hoge:Date = new Date();
trace(hoge.fullYear);
trace(hoge.getFullYear());
trace(hoge.month);
trace(hoge.getMonth());

プロパティでもメソッドでも同じものが取れるそうです

164 :Now_loading...774KB:2007/11/30(金) 01:04:34 ID:i8Rn2pNR
>162
List系だったらinvalidateList()で更新されるね。

はじめのころ、これに気がつかないで
dataProviderを再代入することで
更新させてた時期が僕にもありました


165 :158:2007/11/30(金) 01:36:44 ID:Z5qIcHI3
>>160
有り難うございます。
自分でもググって見たのですが、
Arrayクラスを拡張する方法もあるみたいですね、
ttp://level0.cuppy.co.jp/2006/12/array.php

166 :Now_loading...774KB:2007/11/30(金) 01:41:57 ID:e5eq7VIk
var list:Array = [];
for(var i:Number=0;i<100;i++){
list.push(i);
};
trace( list );
list.sort( function(){return Math.round(Math.random()*2-1)} );
trace( list );

こういうのはダメ?

167 :Now_loading...774KB:2007/11/30(金) 01:43:55 ID:AQPlFvib
それ偏るんだよ。
100位数があれば、それなりに散らばるんだけどあまりお勧めの方法じゃない。

168 :155:2007/11/30(金) 01:44:59 ID:I6l/UWl/
>>158
ASではspliceで元の配列を削っていくと分かりやすい

master = new Array(); // 元となる配列
order = new Array(); // ランダムな配列

for(i=0; i<100; i++)
    master.push(i);

while(master.length) {
    idx = Math.floor( Math.random()*master.length );
    order.push( master.splice(idx, 1) );
}

trace(order); // 90,35,48,...,53,70,72

// あとはorderの値を順に使うことでランダムな順番に
for(i=0; i<100; i++)
    bar_tiles[ order[i] ]._visible = true;

169 :Now_loading...774KB:2007/11/30(金) 01:49:18 ID:AQPlFvib
100タイル準備するより1枚のBitmapと10×10のbitmapでpixeldisolveしたもんを
マスクに使って描きこむ方が楽だと思うよ。

170 :158:2007/11/30(金) 02:39:50 ID:Z5qIcHI3
おおみなさん、
ほんとにすごい勢いで答えてくれて感激です!
有り難うございました!!m(_ _)m

171 :Now_loading...774KB:2007/11/30(金) 03:12:59 ID:32S6aFb2
153です。
168さんありがとうございます。
参考スクリプトを元に試行錯誤してみます。
とりいそぎお礼までに。

169さん、具体的には、どういう処理なのでしょう。初心者がゆえに、
イメージがみえておりません。ご指南いただけますでしょうか。


172 :Now_loading...774KB:2007/12/01(土) 20:00:23 ID:dTINUaWs
153です。
155=168さんの方法論でいろいろ試しています。
配列にいれて、シャッフルして、
ランダムに削っていく方法(概念)はわかってきたのですが、
これを実際のローディングと結び付けるにはどうすればいいのでしょうか?

たとえば、50%読み込み時には、ランダムに開いていった状態で、
約半分開いている状態にしたいとおもっています。

そして、100%読み込み時には、すべて開いている状態になります。

なにぶん初心者で申し訳ないのですが、
ご教示お願いいたします。


173 :Now_loading...774KB:2007/12/01(土) 22:06:28 ID:Yj+84E20
>>172
よくわからずに横槍いれるけど、

>>これを実際のローディングと結び付けるにはどうすればいいのでしょうか?
このブロードバンドの時代にローディングに凝るってのはどうなの?
ファイルサイズによってはほとんど無意味だとおもうけどな。

174 :Now_loading...774KB:2007/12/01(土) 23:15:56 ID:GdTW3HPD
>>172
もしランダムでなく順番に開くことすらできないならそこからやってね

175 :Now_loading...774KB:2007/12/01(土) 23:19:20 ID:26AReZxq
addEventListener(Event.ENTER_FRAME, mainLoop );
の中にURLLoader.load(URLRequest)を入れて(常に値が変わっていく)テキストファイルを
読み込んでいるのですが、ブラウザの構成ファイルを見ると膨大なテキスト
ファイルがたまっているようです。
読み込んだテキストファイルを明示的に解放することはできないでしょうか?

説明下手ですが、どなたかアドバイスをよろしくお願いします。

176 :Now_loading...774KB:2007/12/02(日) 00:09:22 ID:04Rk+1yL
そらブラウザのキャッシュ機能だからどうにもなんないわな

177 :Now_loading...774KB:2007/12/02(日) 00:31:11 ID:PjurWfWg
153です。
173さん、こんにちわ。
一応、かなり大容量のムービデータを読み込むことなります。
ユーザに視覚的にあきさせないロジックを考えております。


178 :Now_loading...774KB:2007/12/03(月) 16:13:45 ID:FHJ8zKrX
AS2.0です。いつもお世話になってます。
ttp://theflashblog.com/?p=42
この様な水の波紋エフェクトを使いたいのですが、
具体的にどの様な処理をすればいいか見当がつきません。
DisplacementMapFilterを使うと言うとこまでは判ったのですが。。


179 :Now_loading...774KB:2007/12/03(月) 22:54:36 ID:jL7mexpS
プリローダに関して
わたしも便乗させてください。

1枚の画像からモザイクがジョジョに外れていくアニメーションを
ローディングとして、連動させたいのですが、
どういうふうに記述すればいいでしょうか?

初歩的な質問で、意味が通じないかもしれませんが、
よろしくおねがいします。。


180 :Now_loading...774KB:2007/12/04(火) 12:42:55 ID:9641ILm4
はじめまして。
ただいま大学の課題制作でサーバーに変数を保存してセーブ可能な育成ゲームを作っています。
そこで本当に初歩的な問題かもしれませんが、どうしてもわからないので質問させていただきます。

外部にテキストデータで
text1=0
text2=0
text3=0
という変数を

text1=0&text2=0&text3=0

というテキスト(loadval1.txt)←ファイル名 で用意しています。

これをボタンインスタンスで読み込むようにしています。
ボタンインスタンスのスクリプトは

on(press){
this.loadVariables("loadval1.txt");
}

↑これです。

これでちゃんと読み込まれているのですが、問題はtext1=0の「0」が数字ではなく文字として認識されているらしいということです。
読み込んだ変数に_root.text1 += 1;と1を足しても
「01111」と後に1が付け足されている状態で、足し算ができません。

どうすれば読み込んだ変数を数値として認識できるでしょうか?
あと、数値として読み込めたとしたらどのようなスクリプトで足し算すればいいでしょうか?
よろしければお聞かせください。

181 :Now_loading...774KB:2007/12/04(火) 12:51:24 ID:u3Dyjjpo
>>180
parseIntとかparseFloat使って読み込んだのを数値に変えれば?

182 :Now_loading...774KB:2007/12/04(火) 16:12:02 ID:d+hEPELd
アニメーションの中で雨を降らせるASを書いたんですが
フレームが終わっても雨が再生されてしまいます。
止める方法がわかりません。
スクリプトは某FLASHサイトで公開されてるものをお借りしました。

環境はXPのFLASH MX2004です。

スクリプト

falling_speed = null;
num = 50;
palet_X = 490;
palet_Y = 270;
make_instance(num, palet_X, palet_Y);
function make_instance (num, palet_X, palet_Y) {
for (i=0; i<num; i++) {
// 複製するインスタンスの名前を決める
sn = "rain_" add i;
// ↑で決めた名前でインスタンスの複製
duplicateMovieClip ("rain", sn, i);
// 複製したインスタンスの位置をパレット内にランダムで配置
var x = Math.floor(Math.random()*(palet_X+1));
var y = Math.floor(Math.random()*(palet_Y+1));
// 複製したインスタンスの位置を決定
setProperty (sn, _x, x);
setProperty (sn, _y, y);
}
}


183 :Now_loading...774KB:2007/12/04(火) 16:32:09 ID:lp+OWTSL
>>182
attachやduplicateされた深度がプラスのMCはオーサリング時のキーフレームよりも
上の階層にいるので、配置されたMCのライムライン全体に延々存在しつづける。
だからremoveMovieClipとかで消さなくちゃいかんのじゃ。

一番楽そうな方法は、雨降り用のMCを配置してそこに雨を降らす。
雨がいらなくなったらそのMCをタイムラインから削除しとくことかのう。


184 :Now_loading...774KB:2007/12/04(火) 18:42:05 ID:rSEiQpiD
故あってAS2版のPV3Dを使うことになっているんですが、
MovieAssetMaterialのanimatedが動いてくれません。。。
こんな感じ指定しています。

var material:MovieAssetMaterial=new MovieAssetMaterial(materialName,true);
material.oneSide=false;
material.animated=true;

var plane:Plane=new Plane(material,edgeWidth,edgeHeight,seg,seg);

誰か分かる人いませんでしょうか(´・ω・`)

185 :Now_loading...774KB:2007/12/04(火) 19:37:44 ID:rSEiQpiD
原因わかりました。。。
そもそもPV3DのAS2版ではanimatedをtrueにしてもupdateBitmapを読込むところが書いてありません!!
なので適当なMcを渡してonEnterFrameで強引に呼び出しを掛けたところ、
なんとか正常に動作するようになりました。
スレ汚し失礼致しました。

186 :Now_loading...774KB:2007/12/05(水) 01:00:02 ID:n7UB1C5r
シン石丸の電脳芸事ニッキBlogの「Webカメラ画像の色重心を判定するFlash」
ttp://shin-ishimaru.cocolog-nifty.com/blog/2007/10/webflash_c376.html
にあるような画像認識して算出した重心をマウスポインタとして認識させるにはどうすれば良いでしょうか?
自分が使えるのはAS2なのですが、ここで使われてるのはAS3ですよね?
AS2でも同じ事ができるならそうしたいのですが、AS3必須ならCS3購入も考えています。
ご存知の方がいらっしゃったら教えていただきたいです。

187 :Now_loading...774KB:2007/12/05(水) 13:07:40 ID:MdRnBIAD
Flash8 MacOSX10.4

this.bgmA = new Sound();
this.bgmA.loadSound("BGM/A.mp3");
this.bgmB = new Sound();
this.bgmB.loadSound("BGM/B.mp3");
this.bgmC = new Sound();
this.bgmC.loadSound("BGM/C.mp3");
this.bgmB.start(0,999);

とした時にどのサウンドオブジェクトが再生中か調べることは出来ないでしょうか。
再生時に、bgmCheck = "bgmB"; とか書いといてそれで判断するしかありませんか?

188 :Now_loading...774KB:2007/12/05(水) 22:13:12 ID:0D2pzQ+E
Flex2を使用しています。
removeChildなどでボタンなどのオブジェクトが既に消されているかどうかの判断はどのようにするのが良いのでしょうか?
今は (''+オブジェクトのID).indexOf('.')+1-0 の様にして判断していますが、何か問題があるのではないかと悩んでいます。
何か他に方法は無いでしょうか?

189 :Now_loading...774KB:2007/12/06(木) 03:14:08 ID:Egg79PWV
>>187
自前でstartとstopとonSoundCompleteのときにフラグ立てるか
またはpositionを常に監視して数字が動いていれば再生中とみるとか

190 :Now_loading...774KB:2007/12/06(木) 06:24:58 ID:Sv0xayg6
>>186
AS3で書いてあるソースをそのまま使いたいならAS3、つまりCS3でしょ。
ソースを理解してAS2に書き直すだけの力があるならAS2でがんばってやってみる。
>>188
Flexは使ったことないけど、removeChildは表示リストから除外するんじゃなかったっけ。
AS3ならcontains () あたりで判定すると思う。

191 :Now_loading...774KB:2007/12/06(木) 12:23:51 ID:CTqXNWir
AS3なのですが、

ttp://kjirou.sakura.ne.jp/mt/2007/10/as3_for_in.html

これってバグですか?
それともなにかアルゴリズムがあるのでしょうか?


192 :Now_loading...774KB:2007/12/06(木) 12:36:49 ID:Sv0xayg6
普通for in構文は全てを列挙するだけで、順番については保証しない

193 :191:2007/12/06(木) 12:48:49 ID:CTqXNWir
>192

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

194 :Now_loading...774KB:2007/12/06(木) 22:16:35 ID:NX71/vIg
お初にお目に掛かります.AS3でどうしても不明な事があり,ここにたどり着きました.
プログラムを初めて1週間程度になりますが,本日はクラスの継承について学んでおりました.
そこで,コンストラクタの継承についてお聞きしたいと思っております.

まずは親クラスEvent1のコンストラクタとメソッズです.
public function Event1(mc:MovieClip){
my_mc = mc;

my_mc.buttonMode = true;
my_mc.addEventListener(MouseEvent.CLICK, onClick);
}
public function onClick(event:MouseEvent):void{
trace("クリクリッ");
}
次に子クラスEvent4です.
Public class Event4 extends Event1 {
var my_mc4:MovieClip;
//コンストラクタ
public function Event4(mc4:MovieClip){
my_mc4 = mc4;

my_mc4.buttonMode = true;
my_mc.addEventListener(MouseEvent.MOUSE_OVER, onOver);
}
public function onOver(event:MouseEvent):void{
trace("4444");
}
これらを実行すると"Event1にデフォルトコンストラクタがありません"とエラーがでます.
ためしにEvent1のコンストラクタを空っぽにすると動くのですが,親のコンストラクタに処理内容を記述した
状態で子は独自のコンストラクタで処理するということはできないのでしょうか.

195 :188:2007/12/06(木) 22:52:00 ID:5WrwnUKz
>>190
有難うございます。containsに置き換えて正常に動作しています。
>表示リストから除外
はい。消すというかスペース含めて非表示にする(CSSのdisplay:noneと同じ感じ)ようです。

196 :Now_loading...774KB:2007/12/07(金) 01:27:25 ID:SiK37OzA
もう一つの質問スレの進行がめちゃくちゃ遅いっぽいのでこちらで再質問させていただきます。

AS2でWebからJPEGファイルを大量に読み込んでパラパラアニメを表示するソフトを作っています。
JPEGファイルの一覧はXMLファイルから与えられ、個数は可変です。

現在は、1フレーム目のASが実行された瞬間に、まず再生を止めて、
XMLファイル、JPEGファイルを読み、ムービークリップをどんどん重ねていってます。

JPEGファイルを読み込み終わった後、再生開始、2フレーム目は1フレーム目に戻るだけの処理を書いています。
1フレーム目に戻ったときに、1フレーム目のフラグを見て、読み込み終了したことがわかるので、
表示用インデックス(何枚目のムービークリップを表示するか)をインクリメントして、
あるムービークリップ以外のムービークリップの_visibleをfalseにしています。

ですが、この方法だと、ムービークリップが100枚くらい重なることになり、いくら_visibleを
falseにしたところで、枚数が増えるとどんどん遅くなっていってしまいます。

JPEGのデータだけロードしておいて、1枚のMCの表示内容をどんどん切り替える…みたいな
先にキャッシングを行っておくような処理はできないものでしょうか?

197 :Now_loading...774KB:2007/12/07(金) 02:49:04 ID:MSK8wdCV
>>196
別にできるけど?
MovieClipLoader使え。

198 :Now_loading...774KB:2007/12/07(金) 19:56:35 ID:2ZJ0Tkj9
>>196
jpgを動的に読み込んでパラパラアニメって、、、あり得ない仕様だなw
スライドショーならわかるけど。

199 :Now_loading...774KB:2007/12/07(金) 20:15:41 ID:SiK37OzA
>>197
MCL使った場合、HTTPレスポンスが返って来るまで時間がかかったりすると表示されない時間が出てきそうですが、
1度読み込んでおけばローカルにキャッシュされて大丈夫なのかな。試してみます。
>>198
動的、というか、検索条件にしたがっていろんな高速のスライドショーを行いたい、という感じです。
リアルタイムに次に読むJPEGが決まるのではなく、検索クエリごとにJPEGの配列が決まるというか、なんというか。

200 :Now_loading...774KB:2007/12/07(金) 20:43:25 ID:2ZJ0Tkj9
>>199
具体的にどういう事をやりたいのかが見えないので何ともコメントできんがなw

201 :Now_loading...774KB:2007/12/07(金) 21:24:16 ID:SiK37OzA
>>200
イメージとしては、Javaのアプレットで似たようなものつくるとしたら、
まずはじめにメモリ上にとりあえずすべてのJPEGファイルをImageクラスとしてロード。
(多少時間がかかる)
経過時間とともにCanvas上に表示するImageを切り替え。(ここは一瞬)

flashムービー再生開始時にJPEGファイルを全て読んでメモリ上にキャッシュしておいて
(オブジェクトとして持っておいて)、パラパラ漫画として表示するときはそれを切り替えるだけにしたいんですよ。


202 :Now_loading...774KB:2007/12/08(土) 00:51:35 ID:UckAayqx
質問があります。環境はFlash8 WindowsXPです

ローカルにあるswfで、パブリッシュ設定でローカルファイルのみにアクセスにしていると
ウェブ上のtxtを参照する時にセキュリティ設定の警告が出てしまい、
設定をネットワークのみにアクセスにするとテスト以外の時にtxtが読み込まれてくれないのですが
どうしたら読み込めるようにできるでしょうか?

フラッシュのヘルプを漁ったら、セキュリティサンドボックスとかカスタムポリシーファイルとか出てきたんですけど
よくわからなくて・・・
どなたかお願いします

203 :Now_loading...774KB:2007/12/08(土) 01:06:46 ID:UxDlvEow
>>201
複数ファイルの読み込み待ちができないってこと?
面倒だからコード書いとく

//読み込み一斉開始ループ
for(i=0; i<100; i++){
〜.onLoad = makeCallback(i);
};
function makeCallback(n){ return function(){
 _root.flags[n]=1;
 for(i=99; i>=0 && _root.flags[i]==1; i--)
  if(i==0) // 全部読み込まれていたら
   parapara_anime_start();
}; }

204 :Now_loading...774KB:2007/12/08(土) 04:53:03 ID:ZBsNbw9a
>>203
ありがとうございます。
今は読み終わったMCの数と読み込むべきMCの数を比較して読み込み待ちはできるようになっているんです。
で、それを表示するときなんですよ...
一番の原因は、MCを100枚とか重ねまくることによる重さ、なんですよね。
パラパラアニメの枚数に従って、ASから枚数分のキーフレームだけ生成して、
個別にMCを置いていって再生すれば速くはなるんでしょうが…
質問を言い換えると、ローカルにJPEGファイルをMCとして100個あらかじめ読み込んでおいて、
その100個のMCをフレーム上に配置した1個のMCの中身としてどんどん置き換えていけないか?ということなんです。
100枚MC重ねて_visibleのtrue/falseを切り替える、だと遅くて遅くて…
タイムラインでも参照を代入でもなんでもいいから1枚に出来ないかな、ということなんですが…

205 :Now_loading...774KB:2007/12/08(土) 05:58:24 ID:9jAAriLq
>>204
_visibleでなくjpgMCのx,y座標を変えてあげるとか。
表示領域外に表示しないものは全部おいといて、表示する奴だけ表示領域に移動。
次のを表示する前に、前のは表示領域外に移動させとく。

つか、表示エリアのMCの参照を切り替えるとかでできないかな。

206 :Now_loading...774KB:2007/12/08(土) 06:44:36 ID:B9Glfqb9
なんかようわからんがシンプルにフレームアクションじゃ駄目なのかえ?

207 :Now_loading...774KB:2007/12/08(土) 11:57:22 ID:dLK604IH
AS2.0ですが、fla内のスクリプトを_rootの1フレームに全ての書くのが一番理想的なのでしょうか
今は初期設定等を_rootの1フレーム目、menu_mcの中のbotton_mcの挙動をmenu_mcの1フレーム目といった形で
それぞれのムービークリップの領域で数箇所に纏めているのですが
もし仕事でチーム組んでやる場合のメンテナンス製とか、こういった分散をすると処理自体が遅くなったりもするのでしょうか?

208 :Now_loading...774KB:2007/12/08(土) 12:58:54 ID:UxDlvEow
>>207
そのスクリプトをasに書いて「#include "〜.as"」と読み込ませればメンテナンスしやすい
中はクラスじゃなくてもいいし
flaは基本的にフォントの入ってるデザイナしか触らない

理想的かどうかは知らないけど重くもないし良かったと思ってる

209 :Now_loading...774KB:2007/12/08(土) 13:15:40 ID:KWTzV4OJ
ちなみに、そのswfファイルが別のswfファイルから読み込まれた場合、そこは_rootじゃなくなるから、
なるべく_rootを使わない方が良いよ。
ていうか、flaファイル内の一番上にくるフレームが必ずしも_rootとだとは思わない方がいい。

210 :Now_loading...774KB:2007/12/08(土) 13:43:50 ID:ZBsNbw9a
>>205
_x,_yの座標変えたら超速くなりました!
ほんとにありがとうございます。
参照切り替えは過去にやってみたんですが、どうもうまくいかなかったんです。
(AS/Flashの感覚がつかめてないせいかも)
とりあえずは移動させることで解決しました。ありがとうございました。

211 :Now_loading...774KB:2007/12/08(土) 17:05:35 ID:oNmBD9Ta
http://www.adobe.com/devnet/flashmediaserver/articles/on_demand_player.html

このアプリにwebカメラの映像をflv形式で保存するような機能を追加できませんか?
環境はXP CS3 AS2です
参考にしている本に録画するアプリがサンプルとしてあったのですが、
素人の実力じゃ上記のアプリに組み込めませんでした...
質問内容が漠然としててすみません

212 :202:2007/12/08(土) 17:28:04 ID:UckAayqx
自己解決しました
無駄レス失礼しました

213 :Now_loading...774KB:2007/12/08(土) 17:34:34 ID:L5spytL7
>>207
コードを書く場所によって動きが遅くなると言う事はまずないので安心しとくれ。
どれが最適か、というのはそのチームや会社のルールがあるだろうから、それに従えばOK。
あまり気にしない。やたら気にする奴は大抵使えないから相手にしなければOK。

214 :Now_loading...774KB:2007/12/08(土) 17:37:27 ID:L5spytL7
>>210
解決したようだけど、Javaでビットマップデータの扱いに慣れているなら、
画像を読み込んだ後に、BitmapDataに画像のデータをdrawしてキャッシュ
しておいて、それを逐次表示用のMC(BitmapData)にdrawしてく方が簡単かもね。

215 :Now_loading...774KB:2007/12/08(土) 17:52:25 ID:L5spytL7
>>194
public function Event4(mc4:MovieClip){
my_mc4 = mc4;
super(mc4);

みたいに引数付きでコンストラクタを呼んであげるといいんじゃないかな?

216 :Now_loading...774KB:2007/12/08(土) 19:01:29 ID:ZBsNbw9a
>>214
おお、BitmapDataなんてクラスあるんですね。
これで何でもできそうです。入門書にはあまり書いてない範囲なので、見つけられずにいました…
もともとJavaとかのスタンドアロンなプログラマーなんで、タイムラインいらねえええええとか思ってましたww
これで普通のスタンドアロン的な書き方ができそうなので、助かりました。ありがとうございました。

217 :Now_loading...774KB:2007/12/08(土) 20:38:40 ID:T42Rp7Bu
新垣結衣のブログパーツ
http://www.cyberclone.jp/parts/yui/yui160.swf
hugFlashで画像を取り出そうとしたけど中には含まれてなく、
画像データを常にサイトから呼び出しているようです。
で、flareで解析してデータの置かれている場所を探ろうとしたけど、
ActionScript3で書かれているようで、flareでは無理でした。
他にデータ解析する方法はご存じないでしょうか?

218 :Now_loading...774KB:2007/12/08(土) 20:56:27 ID:uban5Y2O
やらしいので却下

219 :Now_loading...774KB:2007/12/08(土) 21:01:37 ID:vQndfnVl
>>217
tcpdump、逆コンパイラ、ブラウザごとデバッガに放り込む。

220 :Now_loading...774KB:2007/12/08(土) 21:37:33 ID:8hjNe+da
>>217
ん、本当に解析した?
flareとやらが何かは知らないけど、
ttp://cyberclone.jp/parts/yui/images/IMG_7628.jpg
を始めとする不規則な連番でモーフィング用のjpgが
15枚前後読み込まれているだけだったぞ。
FirefoxのプラグインのFirebug使って分かったけど。

221 :217:2007/12/08(土) 22:09:09 ID:T42Rp7Bu
>>218
_ト ̄|◯

>>219
情報ありがとうございます。tcpdumpで解析したら、
http://www.cyberclone.jp/parts/yui/maplist.xml
を呼び出していることが分かりました。
おかげで画像にたどり着きました。

>>220
レスありがとうございます。まずxmlを読み込んで、
そのデータに基づいてjpgを読みこんだと思われます。
このswfはブラウザのplugin-playerだと動きますが、
player単独だと動きません(何も表示されない)。

222 :Now_loading...774KB:2007/12/09(日) 14:32:15 ID:bDbE9MiW
MovieClip「pic」に画像を読み込んでアルファを0にした後、
フェードインさせたいんですが、
pic.onEnterFrameが一度しか実行されません。
何が原因なんでしょうか?
よろしくお願いします。

display();

function display()
{
//画像読込先のMCを空にする
pic.unloadMovie();
//画像読み込み
pic.loadMovie("img.png");
pic.forceSmoothing = true;
//フェードイン呼び出し
fadeIn();
}

function fadeIn()
{
pic._alpha = 0;
pic.onEnterFrame = function()
{
_alpha += (100 - _alpha) * 0.2;
if (_alpha >= 98)
{
_alpha = 100;
onEnterFrame = null;
}
};
}

223 :Now_loading...774KB:2007/12/09(日) 14:47:36 ID:fUHcXV6u
>>222
本当に一度しか実行されてないのか、trace()で確認した?
そもそもロード完了をチェックせずにフェードインしようとしてないか?
そしてonEnterFrameを消すならdeleteしたほうがいい。
あと、最初にunloadする意味あるの?

224 :Now_loading...774KB:2007/12/09(日) 14:48:08 ID:eq3OM6Qr
>>222
その数式で何回enterFrameが動くと思う?

225 :222:2007/12/09(日) 15:07:03 ID:bDbE9MiW
>>223
traceするとonEnterFrameが一度だけ実行されてます。

picにロードした画像ではなくpicのalphaをいじるのも画像のロード完了待たないといけないんでしょうか?

画像をロードしたら上書きされるんですね。
unloadいらないです。


>>224
alphaが0から100になるまで数回実行されると考えてたんですが、
どこが間違ってるんでしょう?

226 :Now_loading...774KB:2007/12/09(日) 15:11:36 ID:eq3OM6Qr
>>225
どういうtraceしてんだよw
if文の前の_alphaの値は?

227 :222:2007/12/09(日) 15:20:29 ID:bDbE9MiW
>>226
↓を実行すると100がひとつだけ出力されます。

display();

function display()
{
//画像読み込み
pic.loadMovie("img.png");
pic.forceSmoothing = true;

//フェードイン呼び出し
fadeIn();
}

function fadeIn()
{
pic._alpha = 0;
pic.onEnterFrame = function()
{
trace(_alpha)
_alpha += 5;
if (_alpha >= 95)
{
_alpha = 100;
delete onEnterFrame;
}
};
}

228 :222:2007/12/09(日) 15:23:27 ID:bDbE9MiW
ちなみに

pic.onEnterFrame = function()
{
trace("1:" + _alpha);
_alpha += 5;
trace("2:" + _alpha);

とやると

1:100
2:104.6875

とでます。

229 :Now_loading...774KB:2007/12/09(日) 15:26:43 ID:eq3OM6Qr
>>228
そのtraceでthis._alphaを表示してみそ

230 :222:2007/12/09(日) 15:33:50 ID:bDbE9MiW
>>229
別の_alphaを参照してたんですね。
でも1bと2bはどこの_alphaになるんでしょうか?

onEnterFrameはまだ一回しか実行されないです。

function fadeIn()
{
trace("0:"+pic)
pic._alpha = 0;
pic.onEnterFrame = function()
{
trace("1a:" + this._alpha);
trace("1b:" + _alpha);
this._alpha += 5;
trace("2a:" + this._alpha);
trace("2b:" + _alpha);

if (this._alpha >= 95)
{
this._alpha = 100;
delete onEnterFrame;
}
};
}

出力:
0:_level0.pic
1a:0
1b:100
2a:4.6875
2b:100

231 :Now_loading...774KB:2007/12/09(日) 16:09:45 ID:OV7UMBKo
>>225
勘違いしているようだが、picに外部画像をロードしたら
pic=外部画像と考えていい。
まずは、ロードが完了するまで待て。

232 :Now_loading...774KB:2007/12/09(日) 20:47:25 ID:hMoPTKTD
デザインメインのWebデザイナーです。

しばらくFlash離れていたのですが、また勉強再開したいと思ってます。

AS1.0のころは、スクリプトでのアニメーションから、
サイト丸ごとのナビゲーション位まで作れてたのですが、
クラスが出てきたあたりでデザイン専業になってFlashから離れてしまいました。

今から勉強するならAS2.0ですか?AS3.0ですか?
先鋭的な技術が必要ないプロジェクトなら、2.0あれば十分な気がするし、
3.0勉強するにしても、2.0を通る必要があるような気がします。

ソフトはFlash8持っていますが、CS3が必要なら購入するのでそこは問題ないです。
また、それぞれ2.0or3.0を勉強するのに現時点で
オススメの書籍なんか(出来れば日本語)あったら教えてください。よろしくお願いします。

233 :Now_loading...774KB:2007/12/09(日) 21:27:56 ID:Jk5Cb51H
ナビゲーションと言っても結構単純な気がするから
AS2.0でなくてもまずはプログラムが構造化されてるASメインのFlashかな
プログラム自体に慣れてからクラスを触った方がいいと思う

形だけ覚えても意味無いからねえ

234 :232:2007/12/09(日) 21:55:18 ID:hMoPTKTD
>>233

なるほどー。やっぱり順番にやっていったほうがいいですかね。

235 :Now_loading...774KB:2007/12/10(月) 01:27:51 ID:kobhTjFA
Flash8を購入し、今日から始めてみたのですが、どうもFlash内蔵のASエディタは
使い勝手が良くないような気がします。
AS用の良いエディタというのはありませんか?
as2editというのは見つけたのですが、これ以外にもありましたら
教えていただけませんか?

236 :Now_loading...774KB:2007/12/10(月) 02:43:43 ID:F0h5S1su
vim

237 :Now_loading...774KB:2007/12/10(月) 03:45:37 ID:kobhTjFA
>>236
ありがとうございます。検索したところ、ドキュメントがいくつか出てきました。
もっと調べてみたいと思います。

238 :Now_loading...774KB:2007/12/10(月) 08:19:50 ID:SWhPPdTg
ではこれも書いておかないと。
Emacs

239 :Now_loading...774KB:2007/12/10(月) 11:28:30 ID:kobhTjFA
>>238
レスどうもです。Windows向けのクローンをあたってみます。

240 :Now_loading...774KB:2007/12/10(月) 13:29:36 ID:GV2qrlAN
質問。アクションスクリプトについて
場違いなら言ってほしい。

aという変数の中身によって4種類の結果に飛べるようなスクリプトを考えてるんだけど
0〜20までaの値があるとして

if(0<=a<=5){}
else if(6<=a<=10){…

ってな感じで4つのif文を書いていくので正解?

241 :Now_loading...774KB:2007/12/10(月) 16:06:37 ID:qWN0i7WT
>>240
0〜19までの整数を5で割って小数点を切り捨てれば良いのでは?
その数値をラベルとして飛ぶとすると、

gotoAndPlay("a"+Math.floor(a/5));

これで、a0〜a3まで飛ぶよ。

242 :Now_loading...774KB:2007/12/10(月) 16:13:13 ID:GV2qrlAN
>>241
すげえwwww
ありがとうございました。

243 :Now_loading...774KB:2007/12/10(月) 23:23:46 ID:kobhTjFA
シンボルごとに記述したASをそのまま文法チェックできるようなエディタって
ないですよね?

244 :Now_loading...774KB:2007/12/11(火) 00:57:52 ID:0wL9L/ZB
日本語でおk。

245 :Now_loading...774KB:2007/12/11(火) 19:49:08 ID:s6V3TfYA
FLASH MXでおみくじを作ろうとしています

「今日の運勢は大吉です。待ち人あらわれるでしょう。
今日は大凶です。おとなしく家に〜〜
あなたの運勢は中吉で〜〜
(以下いろいろなパターンで100行くらい続く)」

と書かれたテキストファイルがあるので、それを読み込んで全部で何行あるのかを算出し、その数から乱数で1行を選んでフィールドに表示したいと思っています
自分では改行コードをfor文とindexOf()で-1が出るまで探して合計行数を数えようかなどと考えているのですが、なにかもっと簡単にできる方法はないものでしょうか?

246 :Now_loading...774KB:2007/12/11(火) 20:07:05 ID:pie0AeIJ
>>245
var my_str = "1st\n2nd\n3rd";
var my_array = my_str.split("\n");
trace (my_array.length);

splitで区切って、lengthで数えればいいと思ふ

247 :Now_loading...774KB:2007/12/11(火) 22:25:32 ID:lLkghntH
ニコニコプレーヤーに実装されている右クリックでの新しいウインドウで開くはどうすればいいでしょうか

248 :Now_loading...774KB:2007/12/12(水) 00:16:32 ID:zgoozhUY
>>246
どうもありがとうございます
自分ではsliceの使い方でものすごく遠回りなことをしていたようです
配列に納めてしまえばランダムに引き出すのも簡単にできるわけですね

ところで配列の中身が100や200、果ては1000や10000になってしまうと処理に負荷や時間がかかってしまうんでしょうか?
余計な心配でしょうかw

249 :Now_loading...774KB:2007/12/12(水) 05:47:58 ID:og6PH2Ml
>>248
それぐらい自分で試せ

250 :Now_loading...774KB:2007/12/12(水) 12:33:59 ID:ZJlGBkOA
NetConnection オブジェクトは
グローバル変数にしないと
NetConnection.callが実行されないみたいなんだけど
これってどこかに書いてある?

251 :Now_loading...774KB:2007/12/13(木) 12:09:53 ID:3fR61co+
Flex2でAS3.0いじってるんだけど
Flash9等でMovieClipの中にMovieClip作るみたくしたいんだが
どうすればいいの?

いったんMovieClip内のMovieClipにあたるものをいったんswfで書き出して
そのswfを呼んでみたりしたんだが表示されんかった。

252 :251:2007/12/13(木) 13:27:36 ID:3fR61co+
なぜpackage内のSpriteを継承したpublic classのコンストラクタが勝手に動く(勝手に作られる?)のかよくわからんのだが
それはさておき、

>>251の続きで
Spriteを継承したクラスをprivateでもうひとつ作ってその中で色々描画したものをメインのpublic classのほうで
作ればMovieClipの中にMovieClipを作るような形になるのでは??と思い色々調べて見たら

http://d.hatena.ne.jp/nemu90kWw/20051102/p1
ここのサイトの

>実行すると三角片が円形に32個配置される。

のとこのソースが俺のイメージ通りのことをやってた。
ワクワクしながらソースをコピペしてコンパイルしてみるが

>private 属性はクラスプロパティの定義でのみ使用できます。

なんてエラーが出てコンパイルできないんだけど。
まじ意味不明になってきた。
誰か助けてちょ。

253 :251:2007/12/13(木) 15:14:21 ID:3fR61co+
■stageとは
stageは全てのDisplayObjectを保持するオブジェクトです。

■DisplayObjectとは
DisplayObject は、スプライト、ムービークリップ、ボタン、テキストフィールド
といったFlash画面上で配置できるインスタンスの基となるクラスで、
座標や角度や拡大縮小などの、配置に関する情報などを管理しています。

てことはStageのインスタンスを作らなければ画面に何も描画されんと
いうことだべ??
Stageのインスタンス作った覚えないのに画面に描画されるってどういうこと?


254 :Now_loading...774KB:2007/12/13(木) 17:53:56 ID:AQ0iVESQ
>>253
日記は自分のBlogに書け

255 :251:2007/12/13(木) 18:01:44 ID:3fR61co+
>>254
そんな硬いこと言わずに教えてくれYO!!

256 :Now_loading...774KB:2007/12/13(木) 18:44:34 ID:NBQiR0b2
>>253
Stageとその下のDisplayObjectはswfムービー書き出したときに自動で作られる。

>>252
クラスファイルのコードをタイムラインにコピペしてんじゃね?

257 :sage:2007/12/13(木) 20:15:15 ID:smX/p40r
flvplaybackでflvを再生した後、特定のURLにジャンプさせるには
どうしたらいいですか?

258 :257:2007/12/13(木) 20:16:37 ID:smX/p40r
すみません。まちがえました。

259 :Now_loading...774KB:2007/12/13(木) 20:37:36 ID:xZhAdJUZ
>257

FLVPlayBackのインスタンスに、addEventListenerすればおk。
○○.addEventListener("complete", listenerObject);

ttp://livedocs.adobe.com/flash/9.0_jp/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00003000.html

260 :Now_loading...774KB:2007/12/14(金) 01:12:45 ID:V5r2XeKk
>>249
お前が探せよ

261 :Now_loading...774KB:2007/12/14(金) 06:09:31 ID:9HZg1Pyi
適当な数値を文字列に変換する時に
[20]なら"00020"。[132]なら"00132"。[5]なら"00005"。
という風に先頭に"0"を付けて任意の文字数の文字列に変換する、
っていうのをfor文とかを使わずに、1行か2行だけのスクリプトで実現させてた記述が
このスレにあったのを覚えてるんですが、便利だな〜と感心してたのに
どういったスクリプトだったか忘れてしまい、どうにも思い出せません…。
どなたか分かる方いますでしょうか?

262 :Now_loading...774KB:2007/12/14(金) 08:27:40 ID:ZOEFmxl6
レスしてもどうせ忘れるんだろw

263 :Now_loading...774KB:2007/12/14(金) 09:03:00 ID:3Obm3em1
>>261
頭に"00000"くっつけて後ろから5文字取る

264 :Now_loading...774KB:2007/12/14(金) 11:13:24 ID:AVj5PMTN
function文はグローバル変数のような扱いをして他のMCに流用できないのでしょうか?

265 :251:2007/12/14(金) 12:22:28 ID:uG3KaI5F
>>256
タイムラインにコピペ?Flash9は使わずにFlex2で作ってるので問題ないとおもうんだが…
どうしてエラーでるか分かる人いる?

266 :Now_loading...774KB:2007/12/14(金) 14:23:53 ID:J+4QEI8Y
>>265
コンストラクタは、publicにしないといけないとか、そういうのじゃなくて?
つーか、エラーコードぐらい書け。
ttp://livedocs.adobe.com/flex/201_jp/html/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Book_Parts&file=basic_as_139_06.html

267 :Now_loading...774KB:2007/12/14(金) 14:42:08 ID:0oJ8R2kY
>>265
じゃあglobalのスコープの所でprivateな物作ろうとしてんじゃね?
どっちにしろ場所がおかしい。

268 :Now_loading...774KB:2007/12/14(金) 14:47:56 ID:0oJ8R2kY
>>264
バージョンと処理の内容によるけどできんじゃね?
3.0だとバインドに気を付けないといかんけど。

269 :264:2007/12/14(金) 17:18:01 ID:fw/mwyNg
返答ありがとうございます
ということは
再生初期に全ての関数をflashに認識させる必要があるということですかね

270 :Now_loading...774KB:2007/12/15(土) 22:38:13 ID:CQ2kwfv0
バージョン:FLASH8
OS:winxp

MCが停止してくれません。ご教授お願いします。

星MCの中に星図形MCを入れ子にしてASで動かしているのですが
星図形MCが停止出来ません。星MCのASは

onClipEvent (enterFrame) {
if (this[mcName]._x > 1000) {
this.stop(); ←ココで星MCを停止
this.hosi_grd.stop(); ←ココで星図形MCを停止してるはずなんですが?
} else {
speed += 30;
num++;
mcName = "mc"+num;
this.attachMovie("hosi", mcName, num);
this[mcName]._x = speed;
this[mcName]._y = 200;
}
}

271 :Now_loading...774KB:2007/12/16(日) 02:55:21 ID:NGEc8rha
星図形ってなに?

272 :Now_loading...774KB:2007/12/16(日) 03:37:55 ID:61GPIivQ
>>271
説明不足でした。すみません。
というかMCの動きを止める事が出来ません。

■星MC(星を無数に作る動きと横移動の動き)
|−■星図形MC(星を散りばめる動き)

星図形MCのASは
onClipEvent (load) {
this._xscale = this._yscale=Math.random()*100;
spd = Math.random()*5+3;
xSpn = Math.random()*15-7;
ySpn = Math.random()*15-7;
kakudo = Math.random()*60-30;
}
onClipEvent (enterFrame) {
this._alpha -= this._alpha/spd;
if (this._alpha<5) {
_parent.removeMovieClip();
}
this._rotation += kakudo;
this._x += xSpn;
this._y += ySpn;
}

273 :Now_loading...774KB:2007/12/16(日) 04:13:57 ID:kbCoM2Ul
ActionScript 2.0 です
階層化されたムービークリップやオブジェクトの中の変数の型指定をするには
どうすればよいのでしょうか?
var testObj:Object = new Object();
var testObj.num:Number;//シンタックスエラー

274 :Now_loading...774KB:2007/12/16(日) 04:33:56 ID:GBR0+CJz
普通は初期にfor文等で100個なり生成して、enterFrameでは移動や変化と条件による
終了処理を書くけどな。ちなみにstop()は再生ヘッドを止める命令だよ。

275 :Now_loading...774KB:2007/12/16(日) 04:35:48 ID:GBR0+CJz
>>273
クラスで定義汁

276 :Now_loading...774KB:2007/12/16(日) 10:28:20 ID:kbCoM2Ul
>>275
クラスですね、ありがとうございます

277 :Now_loading...774KB:2007/12/16(日) 11:20:22 ID:MyocSUJE
htmlからflashに引数を渡すとき、
hoge.swf?a=10
のようにして、
flash内の_root.aで参照できるようなのですが、
AS3.0ではどのように参照すればよいのでしょうか?

よろしくお願いします。

278 :Now_loading...774KB:2007/12/16(日) 12:37:06 ID:5seKobLa
変数に入っている数値を部分的に抜き出すにはどうすればできるでしょうか?
例えば、変数kazuに256という数値が入っているとします。その数値の2番目の数(5)だけを抜き出したいのですが、

a = kazu.substr(1,1);

で挑戦しましたが、substrは文字列しか使えないので無理でした。
他に何か方法あるでしょうか?

279 :Now_loading...774KB:2007/12/16(日) 12:41:18 ID:GBR0+CJz
>>277
loaderInfo.parameters
>>278
数値を文字列に変換してからsubstrする

280 :Now_loading...774KB:2007/12/16(日) 12:45:00 ID:bKKTB8Oa
>>278
余剰演算子と割り算使え。
分からなかったら中学からやり直し。

281 :Now_loading...774KB:2007/12/16(日) 13:22:59 ID:MyocSUJE
>>279
this.loaderInfo.parametersとして参照してみましたが、
[object Object]としか表示されません・・・
もう少し詳しく教えていただけないでしょうか?

282 :Now_loading...774KB:2007/12/16(日) 14:07:29 ID:5seKobLa
>>279
それを見て調べてみたのですが、toStringという便利な関数があったのですね。
おかげさまで出来ました。
ありがとうございました。
>>280
%と/のことは分かるのですが、求め方が分かりません。
中学生からやり直しですね……
わざわざありがとうございました。

283 :Now_loading...774KB:2007/12/16(日) 14:14:38 ID:bKKTB8Oa
>>282
第二位(10の位)を求めたかったら、
kazu % 100 / 10 => 5
になるだろ。

284 :Now_loading...774KB:2007/12/16(日) 15:01:46 ID:GBR0+CJz
>>281
xxx.swf?aaa=bbb
trace(loaderInfo.parameters.aaa);


285 :Now_loading...774KB:2007/12/16(日) 15:32:28 ID:GBR0+CJz
ああ、traceじゃなくて、テキストフィールド作ってそこに表示して。
出ないときはhtmlのJS外してシンプルなhtmlでやってみる。

286 :277:2007/12/16(日) 16:28:51 ID:MyocSUJE
いろいろ試しましたが、やっぱりnullになってしまいます・・・
タイミング的にまだ読み込んでいないのでしょうか・・・

287 :Now_loading...774KB:2007/12/17(月) 00:13:52 ID:J3nA361w
>>272
>>270の「if (this[mcName]._x > 1000) {」にあるmcName が何を指してるのか分からない。
ていうか、停止とか以前にそれはちゃんと動いてる?

288 :Now_loading...774KB:2007/12/17(月) 06:16:51 ID:4adcExYM
>>274
>>287
やっぱり最初にfor文でattachMovieした方が良いでしょうね
mcNameが何を示しているかと言うとhosi.mc.[num]です
hosi.mc.[num]=星MC?
もう分かんないよ><
一応動いてます
MCのフレーム終了で止まってくれるので大丈夫です

後、ムービープレビューした時に何フレームからプレビューをするって指定出来るんでしょうか?

289 :Now_loading...774KB:2007/12/17(月) 06:30:12 ID:4adcExYM
あほな質問してすみませんでした。
gotoAndPlayで出来ました。

290 :Now_loading...774KB:2007/12/18(火) 15:54:13 ID:TzqRnZ4X
as3 の addChild() を拡張したいんですが、例えば

var sp : Sprite = this.addChild(new Sprite(), {x:10, y:10}) as Sprite;

みたいな形で、addChild() の第二引数に デフォルト値を格納したオブジェクトを
放り込めるようにするにはどーすれば良いのでしょうか...

291 :Now_loading...774KB:2007/12/18(火) 16:34:32 ID:1qTkCh2f
>>290
よくわからんが、addChildメソッドをオーバーライドしたいって事か?

292 :Now_loading...774KB:2007/12/18(火) 16:45:42 ID:TzqRnZ4X
>>291
多分オーバーラドって事だと思います...
ディスプレイリストに追加する際にプロパディも同時に追加出来るように拡張出来れば
コードを一行でまとめられて楽かなと思いまして...

293 :Now_loading...774KB:2007/12/18(火) 16:57:27 ID:1qTkCh2f
>>292
たぶんって、、、、その程度の理解と利用目的かよw

294 :Now_loading...774KB:2007/12/18(火) 17:06:37 ID:YdHK38bO
>>290
addChildをオーバーライドすると面倒(つーかできないんじゃないかな)だろうから、
専用の関数ひとつ作ればいいんじゃね?

function getNewChild(_class,_parm):DisplayObject{
var o = new _class();
for (var prop in _parm) {
o[prop] = _parm[prop];
}
return o;
}
addChild(getNewChild(Sprite,{x:10,y:10}));


295 :Now_loading...774KB:2007/12/18(火) 22:58:01 ID:MU/OOnmt
質問させてください 。
以下のようなXMLファイルをXPathAPIを用いて読み込もうとしているのですが
正しい値を取得できません。

<A>
<B id='1'>
<C>テスト1</C>
<D>100</D>
<E>ABC</E>
</B>
<B id='2'>
<C>テスト2</C>
<D>200</D>
<E>DEF</E>
</B>
</A>

取得したい値としては
Cが「テスト1」又は「テスト2」の中でDが「100」のEの値を取得するというものです。
取得するデータは「ABC」のみのはずなのですが、「ABC」と「DEF」両方取得できてしまいます。
スクリプトとしては
var XPathString:String = "/A/B[C='テスト1' or C='テスト2'][D='100']/E/*";
var rare:Array = XPathAPI.selectNodeList(this.firstChild, XPathString);
と記述しております。

どうぞご指導宜しくお願い致します。

296 :Now_loading...774KB:2007/12/18(火) 23:32:00 ID:noBFvV6I
AS2.0でメニューボタンとか似たような大きさのボタンを複数個作る場合の時に
単純に絵をそれぞれMC変換するより、一つのMCのフレームごとに絵を配置し、インスタンス配置してフレーム調整の方が軽い
という考えは間違ってないでしょうか
それと、ライブラリからインスタンスを配置するのとattachMovieで配置するのでは
容量や重さ等何か違いはあるのでしょうか?

297 :261:2007/12/19(水) 01:54:46 ID:uRhNfhKo
>>263
返事が遅くなってしまって本当に申し訳ありません。
おかげでだいぶゲームの動きが速くなりました!

298 :Now_loading...774KB:2007/12/19(水) 05:27:27 ID:uRhNfhKo
//ムービークリップのタイムライン
_root.eraseMe(this);

//_rootのタイムライン
function eraseMe(a) {
 arrayDel(enemy_array,a._name);
}

function arrayDel(a,b) {
 a.push("dummy");
 a.unshift("dummy");
 a = a.join().split(","+b+",").join().split(",");
 a.pop();
 a.shift();
}

と記述して、配列の中からムービークリックの名前を消したいのですが、
arrayDelのスクリプトをtraceすると正常に動いているのに、
実際に配列の中身を見てみるとpushとunshiftだけが実行された形になっています。
きちんと実行させるためにはどうしたらいいのでしょうか?
よろしくお願いします。

299 :Now_loading...774KB:2007/12/19(水) 06:40:05 ID:uRhNfhKo
>>296
CPUやグラボの性能によってそれぞれのPCで全然違うだろうけど、一応算出してみました。
環境は、FLASH MX2004、Windows2000。
平均容量7KBの画像が連番で90枚あったので、それをボタンに見立ててインスタンスを作成。120FPSで実験

90個のムービークリップをattachMovieでステージに配置:
処理が終わるまで=平均7msec ファイル容量=618,2743B

90フレームのムービークリックをfor文でattachMovieして配置後gotoAndStop:
処理が終わるまで=平均9msec ファイル容量=615,018B

90フレームそれぞれに1枚ずつムービークリップを手動で配置:
最初に90フレーム一周するまで=平均824.5msec
2週目以降一周するまで=平均720.04msec
ファイル容量=632,662B

空の90フレームを用意してonEnterFrameで1枚attachMovieしては前フレームの1枚をremoveMovieClip:
最初に90フレーム一周するまで=平均798.667msec
2週目以降一周するまで=平均719.087msec
ファイル容量=631,957B


画像データじゃなくてベクターデータでもまた全然違うかもしれない。
こんな情報でお役に立てただろうか?

300 :Now_loading...774KB:2007/12/19(水) 07:56:06 ID:MBJ7pBjM
>>295
Xpathは使ったことないけど両方取得するような記述なのでしょう
>>298
何がきちんとかわからないが、そういうコーディングだからなのでは?

301 :298:2007/12/19(水) 10:55:59 ID:uRhNfhKo
>>300
分かりにくい文章ですいません。

function eraseMe(a) {
 trace("A) arrayDel関数前のenemy_array = "+enemy_array);
 arrayDel(enemy_array,a._name);
 trace("C) arrayDel関数後のenemy_array = "+enemy_array);
}

function arrayDel(a,b) {
 a.push("dummy");
 a.unshift("dummy");
 a = a.join().split(","+b+",").join().split(",");
 a.pop();
 a.shift();
 trace("B) arrayDel関数中のenemy_array = "+a);
}

//トレース結果
A) arrayDel関数前のenemy_array = enemy0,enemy1,enemy2,enemy3
B) arrayDel関数中のenemy_array = enemy1,enemy2,enemy3
C) arrayDel関数後のenemy_array = dummy,enemy0,enemy1,enemy2,enemy3,dummy

現在のスクリプトだと上記のトレース結果になってしまうのですが、
B) と C) が同じ結果になってほしいのです。
なぜB) では理想の配列になっているのにC) では
a.push("dummy"); と a.unshift("dummy"); だけが行われた配列になってしまっているのでしょうか…

302 :Now_loading...774KB:2007/12/19(水) 12:06:26 ID:LSm8J8mA
>>301
配列は参照型。

a = a.join().split(","+b+",").join().split(",");

この場所で、aはenemy_arrayが参照する配列とは別の配列を参照することになる。

303 :Now_loading...774KB:2007/12/19(水) 12:21:55 ID:3Htjnhhl
>>301
なんで、B)では、enemy_arrayじゃなくてaを参照してるの?
それ別物。

つか、単にMCの名前を削除するだけなのに、なんでそんなややこしいことしてんの?
spliceとか使えばいいだけでは?


304 :Now_loading...774KB:2007/12/19(水) 13:56:24 ID:UXJA67aB
>>294
おおぉ! いけました。
やっぱり、addChild() に手を加えるのは無理っぽいんですねー
有り難うございました!!

305 :298:2007/12/20(木) 05:16:39 ID:Wp8gM7Q3
>>302
返信ありがとうございます。参照型の特徴をきちんと理解できていませんでした…。

>>303
ムービークリップの名前を配列から削除する時に、その名前が配列のランダム番目に来る事があり
spliceのように配列の番号で指定することが出来なかったので、ちょっとややこしい事になっていました。

結果的に、
function eraseMe(a) {
 enemy_array = arrayDel(enemy_array,a._name);
 //中略
}

function arrayDel(a,b) {
 a.push("dm");
 a.unshift("dm");
 x = a.join().split(","+b+",").join().substr(3,tmp.length-6).split(",");
 return x;
}

上記のようにスクリプトを変えたら理想どおりの結果が返されるようになりました。
みなさん本当にありがとうございましたm(_ _)m

306 :Now_loading...774KB:2007/12/20(木) 05:38:21 ID:oXUo7MIa
死にそう、助けて。AS3.0でつ。

クラス名を変数に入れて、
その値を使って、
new演算子でインスタンスを生成したいのだけど。

確かAS2.0では
var className:String = "MyClass";
var instance:MyClass = new [className]();
みたいにすれば、okだったと思うんだけど。

AS3.0ではどーやるの?

307 :Now_loading...774KB:2007/12/20(木) 07:22:53 ID:vl9Qvp8C
>>306
getDefinitionByNameでいけるよ

308 :306:2007/12/20(木) 07:49:46 ID:oXUo7MIa
>>307
ぬぉー!ありがとう。
リファレンス探しまくったんだけど、
flash.utilsパッケージにあったのかぁ。
これで寝れるよ。
307愛してるぜー!

309 :Now_loading...774KB:2007/12/20(木) 10:17:10 ID:O1Y6/scC
関数でボタンAを押した時にボタンAのターゲットを
引数として渡すにはどうしたらいいのでしょうか?
例えばボタンAを押すとボタンAが毎フレーム10ピクセルづつ動くみたいにです。
ボタンBならボタンBが動くって感じです。

ボタンが複数あるため、ボタン一つづつ関数書くと面倒なので一つの関数を1フレームに書いてボタンで
自身のターゲットパスを引数で渡して関数を呼び出す仕組みにしたいんです。

AS2で書きたいのですが、どうしたらいいでしょうか。




310 :Now_loading...774KB:2007/12/20(木) 12:17:49 ID:vl9Qvp8C
>>309
as2.0だったら単純にthisで参照できるんじゃないかな
function clickHandler(){
trace(this + "を押しました");
}
button1.onPress = button2.onPress = clickHandler;

311 :309:2007/12/20(木) 12:35:34 ID:iVb8S+/v
>>310
それに近い事はしたのですが、thisですとボタン自身が他のムービクリップの中に
入ってると親が反応してしまうんです。



312 :Now_loading...774KB:2007/12/20(木) 13:04:28 ID:/EcclL0Y
>>311
ボタンのthis参照は、配置されたタイムラインだから。
ボタンじゃなくてMCにする。

313 :Now_loading...774KB:2007/12/20(木) 17:07:59 ID:pjbbPrjo
制作環境
■FLASHMX/2004
■windowsXP

外部のswfムービーを読み込み、その外部のswfの読み込み状況(LOADING)を表示させたいです。
ただし、読み込み状況を表示させるAS、およびムービークリップを
外部swfでなく、大元になるswfに記述したいのですが、どのような記述を行えば良いでしょうか?

314 :Now_loading...774KB:2007/12/20(木) 17:16:26 ID:/EcclL0Y
>>313
MovieClipLoaderについてヘルプでも見てくれ。例が載ってるから。

315 :296:2007/12/20(木) 18:27:15 ID:gC1LFtGi
>>299
遅くなりましたが算出例ありがとうございました
要領や動作に結構な違いがあるのではと思っていたのですが実際はそれ程差は無かったんですね
あとはそれぞれの自分のあったやり方でといった事なんでしょうね、勉強になりました

316 :Now_loading...774KB:2007/12/20(木) 20:46:10 ID:Nkg9o/5K
>>309
ボタン側スクリプトからthisを渡す

317 :Now_loading...774KB:2007/12/20(木) 20:47:10 ID:Nkg9o/5K
あれ?リロードしたのにな(ノ∀`)

318 :Now_loading...774KB:2007/12/21(金) 08:10:12 ID:/4bxHySj
>>299
自分も興味がある問題なんでちょっと質問

> 90個のムービークリップをattachMovieでステージに配置:
> 処理が終わるまで=平均7msec ファイル容量=618,2743B

これ、6,182,743Bの間違い?それとも数字が間違ってる?

319 :Now_loading...774KB:2007/12/21(金) 21:01:43 ID:qpJzjeBZ
>>318
4桁区切り知らないのか?


PSPのFlashPlayerの仕様って微妙だな
SharedObjectでflushしてもページのリロードしたらデータ消えるし
JavaScriptとの通信は出来ないし
しょうがないからURLから受け取ろうとしたらPSPでは〜.swf?abon=abonとかはローカルでは使えないし

PSPでローカルのFlashのActionScriptでセーブ機能を実装する方法があったら教えて欲しいなです

320 :Now_loading...774KB:2007/12/21(金) 21:02:29 ID:qpJzjeBZ
ageてしまいました

すみませんでした

321 :Now_loading...774KB:2007/12/22(土) 01:32:55 ID:dP6uuv1D
>>319
4桁区切りっていつの時代の話だよw
まあ、100歩譲って4桁区切りもありとしても、3桁区切りとの混在文章はありえないw

322 :Now_loading...774KB:2007/12/22(土) 14:08:43 ID:5LviScJo
>>321
たwwしwwかwwにww

323 :Now_loading...774KB:2007/12/22(土) 15:23:11 ID:4m00RwSS
オーサリングツールで適当に引いた線に沿って動くMCを作ろうとしてます
モーションガイドを使えば出来るけど、AS2でやるとしたらどういう関数があるでしょうか?
ヒントでもよいのでよろしくお願いします



324 :Now_loading...774KB:2007/12/22(土) 15:29:53 ID:3n0sV1yA
ボタンを押すごとに「ムービー再生」←→「ムービー逆再生」
を切り替えるものを作りたいのですが、行き詰まっている状況です。
ムービーを逆再生するスクリプトはどのように組めば良いでしょうか。

【現在のactionscript】
on(release){
top=_y;
left=_x;
right=_x;
bottom=_y+120;
keyFrame=30;
movieSpeed=800;
myFlash="flashMX"
if(setFrame==ture){
this.Frame++;
this.Play();
//test
System.useCodepage=true;
_root.mc_sample.loadVariables("sample.txt");
function getCount();
}else if(setFrame==false){
this.gotoAndback();
}
}
on(release2){
this.Back();
}

325 :Now_loading...774KB:2007/12/22(土) 18:41:11 ID:dP6uuv1D
>>324
どうせネタだろwしかもレベル低いしw

326 :299:2007/12/22(土) 23:12:27 ID:Y0HoSbpm
>>318
返事遅くなってごめんなさい。
618,2743B は 618,274B の打ち間違いでした。

327 :Now_loading...774KB:2007/12/22(土) 23:13:44 ID:L2Ibjl0s
319 涙目

328 :Now_loading...774KB:2007/12/23(日) 08:55:22 ID:Z/6QDg1p
>>323
適当に引いた線のxy座標を、線を引くときに時間tでプロットして配列に格納しておく
データ保存はsoなりphpつかうなりでいいし、そのテキストをインポートしてswfに埋め込んだっていい
実行時にはその配列座標に従ってMCを動かす
fpsとかプロットする時間間隔とかはやってみて調整
俺がやるならこんな感じかな

329 :323:2007/12/23(日) 09:12:47 ID:WlBEwUgP
>328
なる。現場で判断するんじゃなくて地図を与えるわけですね
大変参考になりました。ありがとう!

330 :Now_loading...774KB:2007/12/24(月) 12:08:27 ID:OLwhhkQC
はじめまして。

AS3のインテリセンス(入力補間機能)ですが、これは自分で作成したクラスには適用されないのでしょうか?
インテリセンスが適用されるようになる方法があればご教授お願いしますm(__)m

331 :Now_loading...774KB:2007/12/24(月) 23:22:18 ID:e35YLx7o
>>330
FlashDevelopで開発してるが
自分で作ったクラスのメンバとかメソッドの入力補完ならしてくれるよん。

Flash9はわからない。してくれるとおもうけど…。
クラスの宣言でもまちがってるんじゃない?

332 :Now_loading...774KB:2007/12/25(火) 00:31:31 ID:X0dKEYRb
>>330
当たり前だがFlexでもするぞ。

333 :Now_loading...774KB:2007/12/25(火) 12:38:09 ID:DaEK/0aC
>>330

オーサリングツールは、何を使っているんだ!

334 :330:2007/12/25(火) 20:54:24 ID:zpBNcjXx
FlashCS3 Proの体験版です。

335 :330:2007/12/26(水) 12:33:55 ID:OCIRhJQT
>>334

それ、できない!。

FlashDevelopの使用を薦める。フリーだし、高速だよ

336 :Now_loading...774KB:2007/12/26(水) 17:56:46 ID:guv2CE76
タイムライン側(一部)
var textM:TextMask = new TextMask(〜);
VM = 0;
setInterval(goN, 2000, 0)
function goN(gN) {
gN += VM;
textM.goMove(gN);
VM++;
}

クラスTextMask側
function goMove(gN:Number) {
barM[gN].onEnterFrame = function() {
trace("load" + gN);
barM[gN]._x += 2;
}
}

AS2.0です
クラス上の配列barMに格納しているMCをsetIntervalで一定間隔をあけて順に移動させていきたいのですが
(barMにはタイムライン上にある連番状のtext0_mc〜text9_mcを格納)
上のソースでは出力窓にload0・・・load1・・・load2と、traceで指定した内容は間隔を空け何度も表示されているのですが
肝心のbarM[gN]._x += 2 の部分がまったく作動しません、別にトレースしてbarMの中身を調べたりしても問題は無いようなのですが
どなたかアドバイス宜しくお願いします。。。

337 :Now_loading...774KB:2007/12/26(水) 18:56:48 ID:oHpzhWjF
>>336
>barM[gN]._x += 2;
をthis._x +=2;とするとかかな

338 :Now_loading...774KB:2007/12/26(水) 23:35:46 ID:hyt+uONb
>>337
thisに変更で動いてくれました!ありがとうございました!
あとすみませんがもう一つお聞きしたいのですが・・・上と同じasソースで

class TextMask
var cNum:Number = 5;
・・・・・
function abc() {
trace(cNum);
}
function goMove(gN:Number) {
barM[gN].onEnterFrame = function() {
trace(cNum);
}
}
この状態だと関数abc内のトレース結果は5と出ますが、関数goMoveではcNumとそれと同じように指定した他変数の
トレース結果も全てundefinedと出てしまうのはどういった違いなのでしょうか
結局これはタイムライン側からgoMoveの引数を追加し持ってきて解決はしたのですが・・・

339 :Now_loading...774KB:2007/12/27(木) 01:02:22 ID:k8f+Cn3I
>>338
それだとTextMaskクラスオブジェクトに対してではなく、
MC「barM[gN]」に「変数cNumの中身をトレースして」という命令を書いた紙を
渡すようなもんで、当然MC「barM[gN]」はそんな変数知らないから
undefinedを出す。

TextMaskクラスに記述するから勘違いしやすいけど、
MC「barM[gN]」はTextMaskクラス自身とは別物のオブジェクトだからね。

function abc()がうまくいくのは、そのまんまTextMaskクラスオブジェクト
自分自身の中を見るから。

解決方法はいくらかあるんだろうけど、
例としては

var cNum:Number = 5;
の次に
var owner = this;
を追加して(変数の名前は適当)、

barM[gN].onEnterFrame = function() {
trace(owner.cNum);
}

とやってもうまくいくはず。
これはMC「barM[gN]」に
「TextMaskクラスオブジェクトにある変数cNumの中身をトレースして」
という命令を書いた紙を渡してるような感じ。

スコープ関係の質問しょっちゅう出てくるけど、
自分もあまり詳しくなくてよく混乱するし、
スコープに関して詳しく説明してるサイトとかないんかね。

340 :Now_loading...774KB:2007/12/27(木) 08:41:40 ID:9FgTPQoX
FlashDevelopのことで聞きたいんだが、どこで質問していいか
わからないからここできかせてもらうね。

Project→PropertiesからFlashの解像度とか設定できるみたいだけど
書き出した際、解像度も、描画位置もずれちゃうんだけど
対処法わかる人いる?

341 :Now_loading...774KB:2007/12/27(木) 12:20:06 ID:UR1yM5on
>>340
書き出したswfを何で開いてるの?
FlashDevelopのDocumentとして開くと、
FlashPlayerのサイズがDocumentのサイズにリサイズされるよ。
詳しくは下のURLを参考に。

ttp://f-site.org/articles/2006/09/28203339.html

対処法としては、Open SWFをExternalかCustomにして、
FlashDevelopのDocumentとして開かないようにすればいい。

342 :Now_loading...774KB:2007/12/27(木) 18:49:40 ID:KI9e1sBT
AS2でsetIntervalの時間を毎回ランダムにはできるのでしょうか?
試しに時間入力の部分を関数にしてMath.randomをしても最初一回効果があっただけでダメでした。

343 :Now_loading...774KB:2007/12/27(木) 23:46:19 ID:9FgTPQoX
>>341
うおお、どうもありがとうございます。
Externalにしたら外部で開けるんですね!しらなかったです。

ついでに皆様にお聞きしたいのですがAS3でキーボードの操作から
Spriteを動かすプログラムを作ってるのですが
目的のSpriteにフォーカスが当たってないとキーイベントが反応しないとかで
stage.focus = hoge;
やら
stage.addEventListener(KeyboardEvent.KEY_DOWN , Hoge);
等、ためしてみたのですが、
スプライトにフォーカスを当てると何故か画面に何も描画されなくなってしまいます。

予期せぬ事態なため、わかりにくいと重いアップしてみました。
開発環境はFlashDevelop+Flex2です。よろしくお願いします。
http://www.uploda.org/uporg1176048.zip.html

344 :Now_loading...774KB:2007/12/27(木) 23:49:13 ID:9FgTPQoX
すみません言い忘れました。
問題の場所はsiro.asの27行のところです。

345 :Now_loading...774KB:2007/12/28(金) 01:43:03 ID:HjTaIeHr
テキストエリアに数値を入力して、計算ボタンを押すと
ダイナミックテキストで出来たテキストエリアに
数倍された数値が出るようなフラッシュを作りました。

しかし、6桁とかの数値が表示されると3桁ごとのカンマが無いので
すごく見にくいのですが、カンマが付いた数字を表示させる方法はありませんか?

346 :Now_loading...774KB:2007/12/28(金) 06:44:29 ID:Umb7o2zX
>>342
めんどいのでsetInterval呼ばれたときの関数で処理を実行するかどうかを
randomに決めるとかでいんじゃね
>>344
とりあえず、新規作成でキーボードイベントをとるswf作ってみる
>>345
自作してください

347 :Now_loading...774KB:2007/12/28(金) 08:09:06 ID:czh3GMSA
>>342
setIntervalで呼んだ関数の中でclearIntervalして、
関数が終了する時に時間のパラメータをランダムにして
自分自身をsetIntervalするとか

348 :Now_loading...774KB:2007/12/28(金) 11:58:50 ID:oeHOX/eD
>>346
やってみる!THX!!

349 :Now_loading...774KB:2007/12/28(金) 18:54:26 ID:HEitcjxL
windowsXP・FLASH8・AS2.0です。
メインのswfのムービークリップの中に、loadClipでページごとのswfを読み込む形のページを製作中です。
メインのswfや一部のページのswfのStage設定は
Stage.scaleMode = "noScale";
Stage.align = "TL";
なのですが、他の一部のページは構造の都合上Stage.align = "T"の設定の形で作ってました。
しかしメインのswfに読み込ませたら、メインのswfごと中央添えのような形になってしまいました。
これを、メインのswfはStage.align = "TL"、読み込む側の一部のswfをStage.align = "T"と別々設定にはできるのでしょうか?

350 :Now_loading...774KB:2007/12/29(土) 21:31:14 ID:i0n+4WfH
ちょっとスレ違いですが該当するものがなさそうなのでここで質問します。
Flashプラグイン検出関係です。

swfobjectがオープンソースで最強かと思ったのですが、
客先にFlaプラグイン6入っているのにNoFlash部分が表示されてしまうと
言われました。

swfobjectの書式はバージョン6を指定し、
var so = new SWFObject("movie.swf", "movie", "640", "480", "6", "#ffffff");
で、SWFのパブリッシュももちろん6です。

客先はWindowsXPのデフォらしくプラブインの6が入っていてJSもONに、
ActiveXも有効ということです。

あるいはswfobject以外にNoFlashの記述がしやすいJSコードはないでしょうか。

351 :Now_loading...774KB:2007/12/30(日) 13:53:54 ID:BdKRwyzq
>>350
客先に納品するもので勝手にオープンソースが最強と思ったからぶっこむってのは
ちょっとまずいんで無いの?swfobjectが何か知らんけど、ライセンスとか客先と合意が取れてるの?
あと、何で動かないかの検証をまずやるべきじゃないかと

プラグイン検出のJSってAdobeの出してるリファレンスに載ってたと思うがあれではだめなのか?

352 :Now_loading...774KB:2007/12/30(日) 21:59:18 ID:1eazGzHI
質問です。
ActionScript3でプログラムいていますが、
XMLのデータをswfの中に含みたいと思っています。

画像だと下のようにすればOKですよね。
[Embed(source="assets/logo.png")]
画像だとやり方が分かりません。

どのようにしたらxmlをswfに含む事ができるでしょうか。

353 :Now_loading...774KB:2007/12/31(月) 00:58:06 ID:MKgAdel9
>>352
>画像だと下のようにすればOKですよね。
>[Embed(source="assets/logo.png")]
>画像だとやり方が分かりません。

????????

354 :Now_loading...774KB:2007/12/31(月) 02:55:21 ID:TV7Rmt+o
うわ、
>画像だとやり方が分かりません。
s/画像/xml/
でした

355 :Now_loading...774KB:2007/12/31(月) 04:20:08 ID:aLcR7cM5
え、何、これ、触っちゃいけない子?

356 :352:2008/01/01(火) 06:15:23 ID:OEqUoghe
xmlはEmbedできないで認識間違ってませんか?

357 :Now_loading...774KB:2008/01/01(火) 15:12:35 ID:fNB9cRLo
普通に使える

[Embed(source='test.xml')]
public var TestXML:Class;

として

trace(TestXML.data.test)

みたいなかんじで

ただし、test.xmlは
<data>
<test>ok</test>
</data>

358 :352:2008/01/01(火) 17:12:39 ID:OEqUoghe
>>357
なるほど
<?xml version="1.0" encoding="UTF-8"?>
をつけてはいけないんですね。

ありがとうございます

359 :Now_loading...774KB:2008/01/02(水) 14:44:32 ID:ghbdIQ41
AS3でコンテキストメニューの設定がわからんっす
ヘルプに載ってるpublic class ContextMenuExample〜 を試したのですが反映されません
ファイル名を「ContextMenuExample.as」としFlaファイルと同じ階層に保存

メインフレーム側で var cm:ContextMenuExample = new ContextMenuExample(); と
呼び出し、実行しましたが反映されませんなんで?

360 :Now_loading...774KB:2008/01/02(水) 15:13:58 ID:sd5T+9UG
>>359
>反映されませんなんで?
反映ってなんだよw
せめて、自分がやりたいことはこうで、こういうソースを書いたんだけど
うまくいかないとか書かないとなw

361 :359:2008/01/02(水) 15:55:15 ID:ghbdIQ41
説明不足ですんません
やりたい事  AS3でのコンテキストメニュー設定(右クリで出るあれ)
ソース  ヘルプで'ContextMenu'と検索して最初に出るお手本(画面1番下)
お手本の内容  デフォの右クリメニューを消して新たな項目を追加

メインフレーム側で var cm:ContextMenuExample = new ContextMenuExample();
で呼び出し 他のメソッドはすべてpriveteになってる

で 実行後右クリメニューに変化無し なんで?

362 :Now_loading...774KB:2008/01/02(水) 16:45:45 ID:AWotsnYW
>>369
ためしたけどちゃんとできたよ。
たぶん、addChild(ContextMenuExample)してないからじゃないの?
作成したContextMenuは、InteractiveObjectのcontextMenuプロパティに設定しないとだめだぜ
ヘルプのは、redRectangle.contextMenuに設定してるから、赤い四角の上で右クリックしたときのみ反映されるぞ

363 :Now_loading...774KB:2008/01/02(水) 16:46:40 ID:AWotsnYW
すまんミス。addChild(cm)の間違いね。わかるとは思うけど。

364 :Now_loading...774KB:2008/01/02(水) 17:00:38 ID:FUm+K7A6
flash初心者坊です

深度とスクリプトの関係ですが
swapDepths で二つのMCの深度を変更して、traceで確認したところ
mc1が深度1 mc2が深度20 なのですが
実行してみると、mc1のが上にきてしまいます。
こういったことって、なにかの関係でおこることなのでしょうか。

mc1は動的に生成し、画像をそこに表示しているなどあるのですが、深度の数値
が正しいのに配置がおかしいということがおこるのかどうかをお聞きしたいので
簡単に説明させていただきました。

flash8です
どなたかご教授ください

365 :359:2008/01/02(水) 17:01:07 ID:ghbdIQ41
おおおお できました! ありがトンでつ!
InteractiveObjectのcontextMenuプロパティ?
何がなんだかさっぱりわかりませんが調べてみます
正月休みで集中して覚えようと思っております

366 :359:2008/01/02(水) 17:13:23 ID:ghbdIQ41
>>364
mc1とmc2の階層とか違うんじゃない?
mc2も同じ階層で動的に生成したならおかしくならないお

こっちにいいスレを見つけました(AS3専用)
http://pc11.2ch.net/test/read.cgi/swf/1151840424/
以降はこっちに移動するっす 先生方よろしくです

367 :Now_loading...774KB:2008/01/02(水) 17:15:52 ID:AWotsnYW
InteractiveObjectっていうのは、SpriteとかMovieClipが継承してるクラスのことね
継承に関してはオブジェクト指向について勉強すればわかると思うよ

368 :Now_loading...774KB:2008/01/04(金) 15:33:49 ID:Po+NBfLX
えらく初歩的ですみません。
2分弱のコマアニメを作っているのですがプレビューの際、時間を取らないように
『「1キー」を押したら○フレーム目に戻る」といった感じのものが欲しいです。
勉強する気はあるのですが現時点では全くの素人なので申し訳ありませんがどなたかお願いします。

369 :Now_loading...774KB:2008/01/04(金) 16:31:32 ID:bJk40tKg
>>368
バージョンは何で作ってるの?

370 :Now_loading...774KB:2008/01/04(金) 23:30:26 ID:1dtMdb+V
AS2です
attachMovie等でムービークリップを作るとき、すでに同じ深度にムービークリップがある場合には
元のムービークリップは消えて新しく配置したものが表示されますが
この場合にはremoveMovieClip等で消さなくてもよいのでしょうか?
作ったり消したりするムービークリップはただ絵が描いてあるだけで
なんの変数や関数も入力していないものです
attachMovie系の繰り返しで絵を切れ目なくパカパカ変えようと思ってるのですが・・・
毎回removeMovieClipで消したほうがよいですかね?
それともremoveMovieClip省略しても問題ないですか?

371 :Now_loading...774KB:2008/01/05(土) 11:50:43 ID:CWxWE4CW
>>370
絵が描いてあるだけなら、普通にフレームアニメの処理のほうが軽いでしょ
重いMCをたかだか1枚のグラフィックのためにattachするよりはコストがかからない

参照されなくなったMCはいつかはGCされる
removeでnullにしても置き換えで参照が無くなったカスでもいつかはメモリ解放される

372 :370:2008/01/05(土) 15:56:18 ID:h/HmLoHe
>>371
1つのムービークリップの中の各階層の各フレームにアニメパターンが全て入っているなら
そっちの方が楽なのですが、
今回は動的に参照先ムービークリップが変わるので・・・
あ、でもあらかじめグラフィックを全てまとめたムービークリップを作っておけばいいのかな?
・・・もう一度構成を考えてみます

373 :Now_loading...774KB:2008/01/06(日) 00:37:24 ID:cgWKUcM4
for(var i=0; i<=10; i++) {
var myMC:MovieClip = this.attachMovie("sss", "sss"+i, i);
myMC.spi = Math.PI * 以下数式
という一部分をサンプル本で見たのですが、時前宣言等してない.spiが何なのかわからず

var MC:MovieClip;
MC.spi = 77;
trace(MC.spi);
新しいflaにこう書いてテストしたらtrace結果はundefinedでした

for(var i=0; i<=10; i++) {
var MC:MovieClip = this.attachMovie("sss", "sss"+i, i); }
MC.spi = 77;
trace(MC.spi);
ムービークリップsssを作りリンゲージして、こう訂正してみるとtraceの結果は77とでました
この訂正前と訂正後の.spiの違いは何なのでしょうか?
最初は.spを書いた事でspiiがmyMCやMCのプロパティになった?などと思っていたのですが…


374 :Now_loading...774KB:2008/01/06(日) 02:35:10 ID:dvlB/YVu
>>373
> var MC:MovieClip;

これは変数の宣言しただけで、MCインスタンスは作られてない。
だからそのプロパティも存在しない。

375 :Now_loading...774KB:2008/01/06(日) 05:15:08 ID:zai8dD5k
http://www.onwired.com/
このサイトのコピー文や中段のタイトル、サイト内各ページのタイトル部分など
選択してみるとFlashになっているような。ソースを見てもプレーンテキストでも表記されてるので
CSSでFlashに置換えて、Actionscriptで文字を表示させてるのだと思いますが、どういうカラクリになってると思いますか?

376 :373:2008/01/06(日) 09:45:44 ID:cgWKUcM4
>>374
宣言だけで中身を入れないと存在しないままって事だったんですね、理解できました、ありがとうございます!

377 :368:2008/01/06(日) 11:36:19 ID:IDd4aZAa
>>369
すみません都合つかなくて返答が遅れました。
FLASHのバージョンは8ベーシック、ASは…1.0&2.0?
専門的なことは分らないので、的を外しているかもしれませんが私が理解した内ではこんな感じです。

378 :Now_loading...774KB:2008/01/08(火) 14:28:41 ID:fHRuqW91
>>375
どこにもFlashなんて見当たらないよ。どこのこと?
上部メニューのwhereにある動く画像はAjax?とかだと思うけど。

379 :378:2008/01/08(火) 14:42:43 ID:fHRuqW91
>>375
ごめん。あった。
わかったわ。

http://blog.ideamans.com/monta/sifr20.php


380 :Now_loading...774KB:2008/01/09(水) 12:23:58 ID:VydZW/PG
AS2でsetTextFormat指定しているダイナミックテキストの透明度(alpha)を指定or変更したりはできるのでしょうか?

381 :Now_loading...774KB:2008/01/09(水) 12:25:42 ID:tjM9QZpV
>>380
埋め込んだフォントならできたと思う。
デバイスフォントは無理。

382 :Now_loading...774KB:2008/01/09(水) 15:42:08 ID:5mOMdDjV
>>379
ありがとうございます!技術名が分かっただけでも嬉しいです。
その記事の結果日本語対応になったのがこれですね
http://www.ideamans.com/tool/beautifuljapanese.php
やっぱ美しいですね。早速試してみたいと思います

383 :Now_loading...774KB:2008/01/09(水) 23:05:18 ID:VydZW/PG
>>381
返信ありがとうございました、デバイスフォントはやっぱり無理なんですね
マスクとか別な方法でやってみます

384 :Now_loading...774KB:2008/01/09(水) 23:15:01 ID:ZcdWINnp
すいません。
FlashDevelopってアンインストーラーが付属しております??

インストールする際に設定項目をいじったのかうろ覚えで
スタートアップにもプログラムの追加と削除にもそれらしきものが見つからない…

インストールしたフォルダにもそれらしきものがないし、
もう一度セットアップを起動してもないんだよね。

Registry Modificationsっていうのは関連づけ?
関連づけ変えられると困るんでチェックはずしているんだが。

385 :Now_loading...774KB:2008/01/10(木) 02:00:24 ID:fqgaB3m8
>>384
なきゃねーんだろw
ASスレで間抜けな質問してんじゃねーよw

386 :Now_loading...774KB:2008/01/10(木) 02:14:48 ID:puKkNLY1
>>384
オレのはバージョン 3.0 beta 5だけど、
アンインストーラーはインストールしたフォルダにあるよ

387 :Now_loading...774KB:2008/01/10(木) 02:22:31 ID:ELazuCYm
int型の変数を参照渡ししたいんだけど
できる?

388 :Now_loading...774KB:2008/01/10(木) 02:37:59 ID:fqgaB3m8
普通は単体でなくClassのプロパティとかで使用するけど、やるなら
var aa:Number = new Number(12345);
みたいな感じか。必要性感じないけど。

389 :Now_loading...774KB:2008/01/11(金) 11:30:48 ID:KoPpEYyd
AS2です
複数のクラスインスタンスを作りたいのですが
識別子がありません。とエラーがでます
どのように書けばいいのでしょうか?よろしくおねがいします
for (var i = 0; i<6; i++) {
var this["obj"+i]:balloon = new balloon();
}

390 :Now_loading...774KB:2008/01/11(金) 11:53:50 ID:52hGSNEi
>>389
配列使えばいいじゃん

391 :Now_loading...774KB:2008/01/11(金) 12:00:13 ID:KoPpEYyd
>390
こう?じゃないよねwやってること同じだし
var tarObj:Array = ["obj0", "obj1", "obj2"];
for (var i = 0; i<3; i++) {
var this[tarObj[i]]:balloon = new balloon();
}
どう考えればいいんでしょう?

392 :Now_loading...774KB:2008/01/11(金) 12:04:42 ID:Jcf5Z5UK
var tarObj:Array = new Array();
for (var i = 0; i<3; i++)
{
 tarObj.push(new balloon());
}

これでいいと思われ

393 :Now_loading...774KB:2008/01/11(金) 12:06:27 ID:52hGSNEi
balloonクラスわからんからDateで。あと、クラス名は大文字で始める。
var obj:Array = new Array();
for (var i = 0; i<6; i++) {
obj[i] = new Date();
}
trace(obj);
trace(obj[0]);

394 :389:2008/01/11(金) 15:01:27 ID:KoPpEYyd
>392>393
2ch停止してた?にしては復帰早すぎだけど
ありがとうございます。これを参考にいじってみます
3ヶ月ぶりだと文字とかお約束すら忘れてしまう・・

395 :Now_loading...774KB:2008/01/12(土) 03:10:25 ID:B6jGM1yD
 シューティングゲームで、敵と自弾の当たり判定を取るときに、現在は
敵側から自弾の最大数分だけifでhitTestしているのですが、もっと処理を
軽くする手法にはどんなものがあるのでしょうか?

考え方、程度のことで結構ですので、どうかご教授ください。

396 :Now_loading...774KB:2008/01/12(土) 03:29:30 ID:zYf/yqGc
hitTestは重いからできるだけ使わないほうがいい
やり方は色々あるけど、四角形の座標で判定したり、BitmapDataの色塗りで判定したり
やや面倒だけど4分木とか処理を減らすテクニックはいろいろある
「衝突判定」で検索すると色々出てくると思うよ

397 :Now_loading...774KB:2008/01/12(土) 03:36:16 ID:B6jGM1yD
>>396
ありがとうございます。
ヒントを頼りに勉強してみます。

398 :Now_loading...774KB:2008/01/12(土) 08:37:00 ID:so2RZJGO
Bitmapイメージ上に描画が出来るソフトが作りたいのですが、上手くいきません。

白い背景に描画出来る所までは出来ました。
それにBitmapを読み込ませようとすると、読みこむのですが描画が出来ないのです。
コードは
bmp = flash.display.BitmapData.loadBitmap("image");
_root.attachBitmap(bmp,0);
_root.lineStyle(10, 0xFF3300, 60);
this.onMouseDown = function(bmp) {
flag = true;
xbegin = _root._xmouse;
ybegin = _root._ymouse;
_root.moveTo(xbegin, ybegin);
};
this.onMouseUp = function(bmp) {
flag = false;
}
this.onEnterFrame = function(bmp) {
if (flag == true) {
xpoint = _root._xmouse;
ypoint = _root._ymouse;
_root.lineTo(xpoint, ypoint);
}
};

パソコンはWinXPのAS2です。
初歩的な質問で申し訳ありませんが、ご教授をお願い致します…





399 :Now_loading...774KB:2008/01/12(土) 10:42:04 ID:VNGPeq7z
>>398
bmpをattachした上の階層に描画用のmcを用意してあげればいいんじゃない?
たぶん今のままだとbmpの下に描画してる。

400 :398:2008/01/12(土) 11:26:36 ID:so2RZJGO
>>399
bmp = flash.display.BitmapData.loadBitmap("image");
_root.attachBitmap(bmp,0);
の部分とその他の描画の部分をmc毎に分けて
上記の部分のmcが置いてある上のレイヤーに描画のmcを張り付けてみましたがダメでした…

ライブラリから読み込むとできないのでしょうか。。。
ちなみに描画したいのはデジタルカメラの写真データなのですが。

401 :Now_loading...774KB:2008/01/12(土) 12:13:59 ID:VNGPeq7z
>>400
ライブラリにリンケージ名「image」のビットマップがあるとして
attachBitmap(flash.display.BitmapData.loadBitmap("image"),0); //深度0に画像
//深度1に線
with(createEmptyMovieClip("drawMC",1)){
lineStyle(1,0xFF0000);
lineTo(320,240);
}

で描けてるよ。

402 :Now_loading...774KB:2008/01/13(日) 00:55:49 ID:/oilUx71
よく使う関数を外部asファイルに記述して、必要なMCでincludeしようと
思うのですが、こういう書き方ってありですか?
今は推奨されない方法でしょうか

403 :Now_loading...774KB:2008/01/13(日) 01:08:01 ID:j3UsA+c5
クラスの構想がまさにそれです

404 :Now_loading...774KB:2008/01/13(日) 01:19:37 ID:/oilUx71
>>403
レスどうもです。必要なのは関数だけなんですが、つまり
クラス化を利用するように考え直す方が良いのでしょうか

405 :Now_loading...774KB:2008/01/13(日) 02:40:14 ID:/oilUx71
失礼しました。↑の質問は取り消します。

新たに質問なのですが、あるMC内でインスタンス化した
クラスは、その"あるMC"がremoveMovieClipされた時点でガベージコレクションの
対象となるのでしょうか?
事前に、確実にインスタンスを削除しておく方法はありませんか?

406 :Now_loading...774KB:2008/01/14(月) 17:54:29 ID:ezKhm6wW
>>405
参照が無くなった時点でGC対象になるでしょ。
CじゃないんだからGCを理解汁。

407 :Now_loading...774KB:2008/01/14(月) 19:33:05 ID:AyMbl8rw
マウスストーカーみたいなのってサンプルないですかね。。

408 :Now_loading...774KB:2008/01/14(月) 20:28:08 ID:zJnXDAEf
>406
ありがとうございます

409 :Now_loading...774KB:2008/01/15(火) 16:31:15 ID:AJBlOv62
>>407
あるよ、いくらでも

410 :Now_loading...774KB:2008/01/16(水) 21:06:35 ID:nd56/1x1
達者な皆さんお力貸してください(´・ω・`)

以下のサイトのスクリプトを使っていますが、
ttp://www.project-nya.jp/modules/weblog/details.php?blog_id=456

マスクのstop();が同じrootに配置した別のムービークリップの再生まで止めてしまい困っております。

マスクだけにstop();をかけ、root上では別のムービー(動くテキストを表示)を再生しつづけたいのですが
どのようなstop;()命令を書けばよいでしょうか。

(別のムービーのインスタンス名は「text1」という名前で作っております。。)

411 :Now_loading...774KB:2008/01/17(木) 11:48:07 ID:r4ZgJNfr
サムネイル付きスライドショー作成しています。
サムネイルクリックで1枚ずつ外部JPGファイルを表示するんですが
いかんせんファイル数が多すぎ+重すぎて読み込むのに時間がかかります。
サムネイルクリックごとに1画像ずつ読み込めば時間短縮にはなりますが
サムネイルクリックするたびに表示に若干の時間がかかるのが嫌だと言われてしまいました。
何かこう外部JPGファイルを読み込むのにうまく時間短縮する方法はありませんか?
今はMovieClipLoaderクラスを使って1ファイルずつループで読ませてます。
ファイル自身は自分が用意するわけではないので軽くするのは難しそうです。


412 :Now_loading...774KB:2008/01/17(木) 12:18:37 ID:gVcJTr3i
ない

413 :Now_loading...774KB:2008/01/17(木) 12:19:33 ID:bTgpxrMe
>>410
this.stop();
でいいんじゃね?

414 :Now_loading...774KB:2008/01/17(木) 12:26:38 ID:WyU0/N2W
>>411
物理的に無理だと相手にも納得させてやれ。
「東京から大阪まで行くのに、新幹線や飛行機でもまだ遅いといわれました。
もっと速く移動する方法はありませんか?」
と同じようなことを言ってる。

作りによっては、一度に読む込むファイル数を押さえるとかあるかもしれんが
そのへんは作ってるものの具体的情報を示さないと、提案できないと思う。

415 :Now_loading...774KB:2008/01/17(木) 13:09:49 ID:r4ZgJNfr
>>412>>414
ありがとうございます。やはりないですか・・・
手探り状態で作ったため中身がかなり酷い状態なので
一度作りを見直してみようと思います。

416 :Now_loading...774KB:2008/01/17(木) 17:47:24 ID:wHk3mACT
>>411
サムネイルのonRollOverイベントで読み込み開始するとかすれば…どうかな

417 :Now_loading...774KB:2008/01/17(木) 22:38:42 ID:v9JRGYkB
>>411
・すぐにクリックされそうなものだけプリロードする(サムネイルが画面内にあるものとか)
・ローディングバーを使って気分的に短くする

418 :Now_loading...774KB:2008/01/17(木) 23:34:59 ID:L3+GdHAP
>>413
stopの指定は色々試しましたが無理でした。
ASが空MCをマスク化する際のターゲットの指定やマスク表示のtrue,falseを変更すると
色々と動作が変わったのでですが、マスクと別MCの共存は出来ず・・orz
分かる方いらっしゃいませんかねぇ・・


419 :Now_loading...774KB:2008/01/18(金) 00:37:32 ID:v3hQWGa7
>>418
何を言っているのか俺には分からない
要所のソースくらい書いた方がいいじゃないかね
たぶん根本的に何かがおかしい

そもそもまず
ttp://www.project-nya.jp/modules/weblog/details.php?blog_id=456
のサンプル通りに動かせてるの?

カンケーないだろうけど
関数 function setOpenObj():Void の
var time:Number = 300*(_mc.generation+1);

var time:Number = 300*(_mc.id+1);
の間違いぽいな

420 :418:2008/01/18(金) 01:27:10 ID:aN9CSSEU
>>419さん ありがとうございます。サンプルはもちろん動いています。
デバッグをおこなったところ、マスクmcや読み込み用mcが実行される度に深度が増えてるのが分かりました。
そのため配置したムービーが突然消えたりした模様です。
rootに置いたMCの深度を上げたところ希望の動作になりました。
勉強不足ですみません。

ちなみにご指摘の
var time:Number = 300*(_mc.generation+1); を
var time:Number = 300*(_mc.id+1) に変更すると、マスクのトランジット効果がなくなりスライドショーになってしまいました・・

421 :Now_loading...774KB:2008/01/18(金) 08:16:37 ID:KtTrNv6a
[Embed(source='images/001.gif')] private var img001:Class;
[Embed(source='images/002.gif')] private var img002:Class;
[Embed(source='images/003.gif')] private var img003:Class;
[Embed(source='images/004.gif')] private var img004:Class;
[Embed(source='images/005.gif')] private var img005:Class;
[Embed(source='images/006.gif')] private var img006:Class;
[Embed(source='images/007.gif')] private var img007:Class;
[Embed(source='images/008.gif')] private var img008:Class;
[Embed(source='images/009.gif')] private var img009:Class;
[Embed(source='images/010.gif')] private var img010:Class;
AS3のクラス内でこのような形で100枚ほど小さい画像を読込みたいのですが、
for文などで回してソースをシンプルにしようとした時に、
クラス名が動的に決めてやるするやり方が分からなくて困っています。
連番ファイルを大量にEmbetする場合はどのようにすれば良いのでしょうか。

環境
WindowsXP Flex Builder 2 ActionScript3

422 :Now_loading...774KB:2008/01/18(金) 08:32:40 ID:QwmnFMZC
>>421
Embedはしょうがない。
スクリプトかなんかでコードは自動生成して、入力の手間を省くぐらいしか。

423 :Now_loading...774KB:2008/01/18(金) 08:44:01 ID:KtTrNv6a
>>422
やっぱりしょうがないですか。
今もスクリプトで生成しているので、その方向でいきます。
ありがとうございました。

424 :Now_loading...774KB:2008/01/18(金) 09:41:14 ID:v3hQWGa7
>>420
>ちなみにご指摘の
>var time:Number = 300*(_mc.generation+1); を
>var time:Number = 300*(_mc.id+1) に変更すると、マスクのトランジット効果がなくなりスライドショーになってしまいました・・

まじっすか
サンプル動かしてみて上手く動かなかったので
気付いたことなんだけど

まぁ解決したのならどうでもいい事だ
こっちは忘れてくれ

425 :Now_loading...774KB:2008/01/18(金) 16:34:00 ID:747Oyq+9
AS3でループスクロールをする方法を教えてください。
今はSprite上にMCを並べてステージから消えたらxの位置を元に戻すようにしてるのですが、
mc1 mc2 mc3 と並んでたら mc3 の後mc1へきれいに繋がりません。
(消えてから位置を戻すので当然なんですけど)
mc3 が残ってるうちにmc1が現れるようにしたい。

ちなみにmcの数とサイズは不定です。
よい方法を教えて欲しいです。

426 :Now_loading...774KB:2008/01/18(金) 19:33:51 ID:BN6DCAY+
すみません。FLASHをウインドウいっぱいに表示する方法を教えてくれませんか?
スクロールバーを出したくないのです。(ステージを大きくとるのは無しの方向でお願いします。)

427 :Now_loading...774KB:2008/01/18(金) 20:37:13 ID:fPltAhBu
flashファイルを直接開く

428 :Now_loading...774KB:2008/01/19(土) 00:27:16 ID:rTlC+eqS
>>425
mc1だけ2つ作ってみた?

429 :Now_loading...774KB:2008/01/19(土) 03:09:45 ID:b1I8Nx1T
AS3.0で親SWFに読み込んだ子SWFから親SWFのファンクションや変数を使うには
どうすればいいんでしょうか。

430 :Now_loading...774KB:2008/01/19(土) 07:05:58 ID:WGiGWNcF

私が小学生の頃、
日本中でノストラダムスの予言が大流行していた。
「1999年の7月に人類は滅亡する!」
という例のお騒がせ終末予言である。

大人になって社会に出て働きだして、
あくせくと忙しく日々を過ごしながら、
1999年は、
ありふれた日常の中であっさりと過ぎていった。
人類は滅ばなかった。

これからここで、
1999年に起こるかもしれなかった人類の壊滅的破局を、
誰にも知られずにこっそりと回避させた人たちがいた...
という設定で、
荒唐無稽なストーリーを描いてみたい。
無論、100%完全なフィクションである。

http://www5.diary.ne.jp/logdisp.cgi?user=532063&log=200705


431 :Now_loading...774KB:2008/01/19(土) 11:03:14 ID:PBLJxBRh
>>429
子swf から

var lod:Loader = loaderInfo.loader;
var parentRoot:MovieClip = (MovieClip)(lod.root);

って感じで Loader を介せば parentRoot で親MCが参照できると思う

432 :Now_loading...774KB:2008/01/19(土) 17:55:24 ID:hYO8TtAJ
Flex3のAS3.0で、ソケット通信のプログラムを作っています。
Flashでサーバーを作って、C言語のクライアントと通信を行いたいのですが、
ググってみたところ、Flashをクライアントにするサンプルばかりで
サーバーにする方法が判りません。

acceptなどの機能はFlex3にもございますでしょうか?
よろしくご指導お願いいたします


433 :Now_loading...774KB:2008/01/19(土) 19:18:21 ID:PBLJxBRh
>>432
Flash の使いどころって そもそもクライアントだと思うけど
サーバにするという発想に驚いた

434 :Now_loading...774KB:2008/01/19(土) 22:30:06 ID:b1I8Nx1T
>>431
さんくす。親からはLoaderで簡単に子swfにアクセスできたんだけど
子swfにLoaderを使うという発想はなかったわ。

435 :Now_loading...774KB:2008/01/20(日) 00:36:11 ID:c1yAiTKT
AS2.0です。
モーションデザインの本を読みながらやっていて、
ムービークリップが外からステージ内に出てくるモーションを作成してから、
「正逆再生機能」という、クリックするとムービークリップが出てきて、
もう一度ムービークリップをクリックすると引っ込む、正逆再生が入れ替わるアクション
onClipEvent (load) {
open = false;
}
onClipEvent (enterFrame) {
if (open) {
nextFrame();
} else {
prevFrame();
}
}
を書いたのですが、そのムービークリップ内に先に作っていた再生・停止ボタンなどが無効化されてしまっています。
再生ボタンを押そうとしても、上記のアクションにより、押したら引っこんでしまいます。
再生・停止等がある部分をクリックしても引っ込まないで、ちゃんとそれが再生されるようにするにはどうすればいいでしょうか?

436 :Now_loading...774KB:2008/01/20(日) 14:35:25 ID:BuBpwT/D
>>435
書き間違えかもしれないが
onClipEventでopen=falseにしてるからデフォルトが逆再生
もし再生ボタンを押した時の処理がopen=falseになってたら逆再生になるよ。

そうでないならボタンを押した時の処理を記述しないと分からないな。

437 :435:2008/01/20(日) 20:01:31 ID:Nf7W+hYF
>>436
ちゃんと動作するので、書き間違えではないと思います。
その出てきたページの中に埋め込んであるムービーのボタンは、再生・停止・早送り・早戻しがあって、
上記のアクションにより、そのページのどこを押しても引っ込んでしまうようになってるため、
再生などのボタンが押せないということです。
ちなみに、再生ボタンのアクションは、

on (release) {
if (_root.hayaokuri.ID != undefined || _root.hayamodori.ID != undefined) {
clearInterval(_root.hayaokuri.ID);
clearInterval(_root.hayamodori.ID);
}
if (_root.ムービー動作のインスタンス名._currentframe != _root.ムービー動作のインスタンス名._totalframes) {
_root.ムービー動作のインスタンス名.go("nx");
_root.ムービー動作のインスタンス名.play();
}
}

です。
プログラミングには疎く、ほとんど無知ですが、よろしくお願いします。

438 :Now_loading...774KB:2008/01/20(日) 20:16:37 ID:LumvNvFO
>>437
AS2.0だったら、上の階層にボタンイベント設定すると、そこから下にはイベント
伝達されなくなるんじゃなかったかな?
対処方法はAS2.0だったら上の階層のイベントハンドラ(メソッド)内で、
クリック位置の座標判定するのが一番簡単なんじゃね?

439 :438:2008/01/20(日) 20:25:50 ID:LumvNvFO
あー、on()ハンドラに書いちゃってるのか。だったら面倒だな。
決め打ちでいいなら、上の階層のムービークリップのhitAreaを、
ボタンの形をくりぬいたインスタンス作って、それに設定するとかが楽かな。
汎用的じゃないけど。

440 :Now_loading...774KB:2008/01/20(日) 21:02:14 ID:PUKR6eel
Flex3、AS3.0で質問です。
Socketを使ってサーバに接続し、返ってきたレスポンスヘッダを読み込もうとしています。
readUTFBytes(Socket.bytesAvailable)とデータ部分を指定して
読み込むことは出来るのですが、readUTF()でヘッダ部分から読もうとすると
「#2030: ファイルの終端 (EOF) が検出されました。」とエラーが出ます。
データがあってヘッダが無いなんてことがある訳も無く、
何か根本的に理解していないんだと思います…
下記がエラーが出る部分です。よろしくお願いします。

private function HttpResponse(evt:ProgressEvent):void {
var MyResponse:String = socket.readUTF();
}

441 :440:2008/01/21(月) 04:17:15 ID:vb4qhdXW
自己レスで申し訳ないんですが、なんとなく解決できました。
色々調べてみると、一回のリクエストに対して受信イベントが何度も発生していまして。
一度目の受信でヘッダ情報、二回目以降(データ長によって複数回)の受信があるようです。
データを追記していく形で全データを読み込むことが出来ました。

ただ、これがそもそもHttpかTcpかの仕様なのか、
ASで扱うデータサイズの問題なのか、理屈が分かっていません。
もしご教授頂ければ幸いです。よろしくお願いします。
ああ寝ないと。

442 :Now_loading...774KB:2008/01/21(月) 07:21:15 ID:JPRk/Hws
>>441
HTTPの仕様
ヘッダ情報に受信バイトの情報があるはず。

てかUTFなんて決めうちでいいのかコレ

443 :Now_loading...774KB:2008/01/21(月) 12:13:39 ID:feWa3P47
AS2.0です
_rootの階層にムービークリップAとムービークリップBがあり
ムービークリップBの中の1フレーム目で
for(var i=0; i<6; i++) {
MC[i] = this.attachMovie("creMC", "creMC"+i, i);
と6つムービークリップを貼り付けてます
この貼り付けた6つのMCをonReleaseした時に、そのリリースしたMC自身とムービークリップAの深度を交換
(見た目がリリースしたMCの下にムービークリップAが来るように)したいのですがどうも上手くいきません

_rootの階層に
ムービークリップA.swapDepths(8000);
MCリリースした時に
var topDepth = _parent.getNextHighestDepth();
リリースMC.swapDepths(topDepth);
trace(topDepth);
こうしてみたtrace結果は8001や8002と出るのに見た目はムービークリップAの下にあるままです
これは一体どこに問題があるのでしょうか

444 :Now_loading...774KB:2008/01/21(月) 13:04:40 ID:LImnyAbO
>>443
BがAの下にあるなら、リリースMCの深度変更してもAの上には出ないかと
Bの中でリリースMC6つの順序が変わるだけで

445 :443:2008/01/21(月) 14:43:22 ID:feWa3P47
>>444
レスありがとうございました、深度の根本的な理解が足りなかったですね;
別な方法を考えてみようと思います

446 :440:2008/01/21(月) 23:32:01 ID:vb4qhdXW
>>442
ありがとうございます。
受信データの先頭部分にヘッダ情報が書いてあるとばかり思っていました。
文字コードに関してはヘッダ情報から読み込んで、
後の処理を振り分けます。ありがとうがざいます。

447 :Now_loading...774KB:2008/01/22(火) 13:29:13 ID:VvLebitU
AS2で3つのムービークリップloader1_mc、loader2_mc、loader3_mcに同数の外部jpgファイルをそれぞれ読み込ませ、
読み込み進行度をstatus1_mc、status2_mc、status3_mcに表示させたいのですが
ダウンロードのシミュレートをすると画像は読み込まれますがstatusの数値が全く変化しません

var imgLoader:MovieClipLoader = new MovieClipLoader();
var objListener:Object = new Object();
for(var i=1; i<4; i++) {
objListener.onLoadStart = function(target_mc:MovieClip):Void {
this["status"+ i + "_mc"].per_txt.text = "0%";
this["status"+ i + "_mc"].total_txt.text = "0KB";
};
objListener.onLoadProgress = function(target_mc:MovieClip, nLoadedBytes:Number, nTotalBytes:Number):Void {
var percent:Number = Math.floor(nLoadedBytes/nTotalBytes*100);
this["status"+ i + "_mc"].per_txt.text = percent +"%";
this["status"+ i + "_mc"].total_txt.text = "total " + Math.ceil(nTotalBytes/1024) + "KB";
this["status"+ i + "_mc"].bar._xscale = percent;
};
ーー中略ーー
}
imgLoader.addListener(objListener);
imgLoader.loadClip("photo1.jpg", loader1_mc);
imgLoader.loadClip("photo2.jpg", loader2_mc);
imgLoader.loadClip("photo3.jpg", loader3_mc);
短絡的にfor文+配列アクセス演算子を入れ込んでみましたが、やっぱりおかしいのでしょうか

448 :Now_loading...774KB:2008/01/22(火) 14:09:53 ID:wTRK0GX/
 はじめまして、AS2.0を使っています、フラッシュ制作やプログラム技術はかなりの初心者です。
 とあるホームページを参考にキーボードの←→でムービークリップを左右に回転させる事に成功したのですが、そこからスペースキーを押すことで動かしたムービークリップの位置は変更せずに、回転するための中心点を変更しようと思ったのですが・・・
 (スペースキーを押すたびに、動かしたムービークリップの位置はそのままで、にムービークリップが円運動する中心点は変更される)
 上手い解答方法が思いつきません。 仮の設定ですが、円運動をさせる中心点はx100.y50とx100.y150の2箇所で固定、としています。
 よろしくお願いします。
 いまま参考にして作ったものは・・・
onClipEvent(load){
R = 100;
kakudo = 0;
mv_ya = 0;
ya_xpos = 100;
ya_ypos = 50;
}
on(keyPress "<Right>"){
mv_ya += 5;
}
on(keyPress "<Left>"){
mv_ya -= 5;
}
on(keyPress "<Space>"){
/*
ここに中心点を変更するプログラムを書く。
*/
}
onClipEvent(enterFrame){
theRadian = kakudo * Math.PI / 180;
this._x = Math.cos(theRadian) * R + ya_xpos;
this._y = Math.sin(theRadian) * R + ya_ypos;
kakudo = mv_ya;
}
ps ちなみに、複数個の同じ様な動きをするムービークリップ用意して、背景を回転させるように動かしたいと思っています。


449 :Now_loading...774KB:2008/01/22(火) 14:25:46 ID:MycnA8eI
質問なんですが、
Flashでお絵かきツールを作っています。ボタンを押すと色が
変わるような仕組みにしようと考えているのですが、
線を描画する所まではきて、ここから行き詰っています。


450 :Now_loading...774KB:2008/01/22(火) 14:28:49 ID:Kis+cXf3
そうですか。がんばってください。

451 :Now_loading...774KB:2008/01/22(火) 14:29:39 ID:sWyw+DIX
>>447
statusのムービークリップの指定が正しくないんじゃないか
this["status"+ i + "_mc"]〜だと、この場合thisはobjListenerだし
root直下にあるなら_root["status"+ i + "_mc"]〜とかにしないと

452 :447:2008/01/22(火) 16:37:11 ID:VvLebitU
>>451
レスありがとうございます、thisを_rootに修正してみましたができませんでした、status_mcは_root階層に置いてあるのですが
やはりfor文の扱いに問題があるのでしょうか

453 :Now_loading...774KB:2008/01/22(火) 16:58:40 ID:TjtR9QF2
>>452
気になったんですが
this["status1_mc"].per_txt.text = percent +"%";
this["status1_mc"].total_txt.text = "total " + Math.ceil(nTotalBytes/1024) + "KB";
this["status1_mc"].bar._xscale = percent;
という風に決め打ちした場合はどうなりますか?(thisを_rootにして確認も必要かと)
もし"status1_mc"だけ問題なく表示されるのであればのであればおそらく
元の文をfor文でネストする必要がある様な気がします。


454 :Now_loading...774KB:2008/01/22(火) 17:12:37 ID:sWyw+DIX
>>452
for文をonLoadStartやonLoadProgressの中に書くとおkだった

objListener.onLoadStart = function(target_mc:MovieClip):Void
{
 for (var i = 1; i < 4; i++)
 {
  _root["status" + i + "_mc"].per_txt.text = "0%";
  _root["status" + i + "_mc"].total_txt.text = "0KB";
 }
};
objListener.onLoadProgress = function(target_mc:MovieClip, nLoadedBytes:Number, nTotalBytes:Number):Void
{
 for (var i = 1; i < 4; i++)
 {
  var percent:Number = Math.floor(nLoadedBytes / nTotalBytes * 100);
  _root["status" + i + "_mc"].per_txt.text = percent + "%";
  _root["status" + i + "_mc"].total_txt.text = "total " + Math.ceil(nTotalBytes / 1024) + "KB";
  _root["status" + i + "_mc"].bar._xscale = percent;
 }
};

455 :Now_loading...774KB:2008/01/22(火) 17:13:46 ID:sWyw+DIX
>>454は忘れてくれ

456 :Now_loading...774KB:2008/01/22(火) 17:33:10 ID:sWyw+DIX
連投すまん
>>454だと全部のstatus_mcに同じ画像の読み込み状況が入ってしまう
んで、読み込み中のloader_mcの数字から情報を表示するstatus_mcを決定するようにした
これでいけることはいけるはず…

objListener.onLoadStart = function(target_mc:MovieClip):Void
{
 var targetMCNo:Number = parseInt(target_mc._name.substr(6,1));
 _root["status" + targetMCNo + "_mc"].per_txt.text = "0%";
 _root["status" + targetMCNo + "_mc"].total_txt.text = "0KB";
};
objListener.onLoadProgress = function(target_mc:MovieClip, nLoadedBytes:Number, nTotalBytes:Number):Void
{
 var percent:Number = Math.floor(nLoadedBytes / nTotalBytes * 100);
 var targetMCNo:Number = parseInt(target_mc._name.substr(6,1));
 _root["status" + targetMCNo + "_mc"].per_txt.text = percent + "%";
 _root["status" + targetMCNo + "_mc"].total_txt.text = "total " + Math.ceil(nTotalBytes / 1024) + "KB";
 _root["status" + targetMCNo + "_mc"].bar._xscale = percent;
};

457 :447:2008/01/22(火) 18:28:48 ID:VvLebitU
>>453
レスありがとうございます、this["status1_mc"]や_root["status1_mc"]としてみても動きませんでした
>>454-456
レスありがとうございます、456のソースをコピペさせてもらいましたが
演算子 '=' は、オペランドの前に来る必要があります。
 var targetMCNo:Number = parseInt(target_mc._name.substr(6,1));
というエラーが出てしまいます

458 :447:2008/01/22(火) 18:55:22 ID:VvLebitU
すみません、456のソースのスペースを削除した所ちゃんと動きました、失礼しました
ちゃんと個々にper、total値も取得されるようになりました
色々とご教授頂きありがとうございました!

459 :Now_loading...774KB:2008/01/22(火) 19:39:34 ID:EMxMv5eO
>>448
Rをムービークリップの位置と移動後の中心点を元に変更して、
kakudoとmv_yaも同じように変化させればいけんじゃない?

460 :Now_loading...774KB:2008/01/22(火) 21:24:00 ID:Ddx5faSk
Fuseを使って、ムービクリップ"aaa"が移動し終わったら、
ムービクリップbbbを無効化するようにしたいのですが、
どうのようにしたらいいでしょうか?

com.mosesSupposes.fuse.ZigoEngine.doTween(_root.aaa, "_x", -600, 2.300000E+000, "easeOutBack", 2.000000E-001);
_root.bbb.enabled = false;

そのまま並べて記載しただけでは、両方、アクションが反映されてしまい、
移動途中で、すぐに無効化になってしまいます。

試行錯誤したのですが、行き詰っております。
よろしくおねがいします。

461 :Now_loading...774KB:2008/01/23(水) 00:05:53 ID:iMpChxjX
>>460
サードパーティのライブラリならそっちのサイトとかで聞いた方がいんじゃね

462 :Now_loading...774KB:2008/01/23(水) 11:15:29 ID:MFAlRbcu
460です。Fuse専用スレッドなどあるのでしょうか?


463 :Now_loading...774KB:2008/01/23(水) 12:24:22 ID:LeS98IGN
>>462
何で 2ch での解決に拘るんだよw
公開元に聞けって話だろうがい

英語がだめってんなら
Fuse 使ってる人のブログで聞けば?

464 :Now_loading...774KB:2008/01/23(水) 12:33:56 ID:iNpw5zGN
>>462

ヒント:にゃあプロジェクト

465 :Now_loading...774KB:2008/01/23(水) 15:09:35 ID:z804iLJb
Flash8 AS2
AS2のクラスで下のようにはできないんでしょうか?

class Line extends MovieClip{
public function onEnterFrame () {
AX = this._name.substr(-1,1)._x;
BX = _root.MC._x;
this.clear();
this.lineStyle(1, 0xCCCCCC, 100);
this.moveTo(AX, 100);
this.lineTo(BX, 100);
}
}

466 :Now_loading...774KB:2008/01/23(水) 15:26:26 ID:iMpChxjX
>>465
できないんでしょうかって何なの?
コンパイルエラーが出るの
実行しても何も出ないとか?
少なくともAX,BXの値ぐらいtraceしてみ

467 :Now_loading...774KB:2008/01/23(水) 16:23:21 ID:z804iLJb
>>466
ああ、すいません。何もでないんです。
traceしてみても結果がでないです。



468 :Now_loading...774KB:2008/01/23(水) 17:39:27 ID:4lPHv9Tj
AS3で質問します

var Box1:Sprite = new Sprite();
var mc1:MovieClip = new MovieClip()
Box1.addChild(mc1);
//上記のBox1があるとして、
var Box2:Sprite = new Sprite();
Box2 = Box1 ;
//みたいな感じで、mc1ごとBox2にBox1と同じ内容のスプライトを作りたいんですが、
//Box2 = Box1 ;じゃ出来ないようです。Box2.addChild(mc1);として同じように作るしかないんでしょうか?

469 :Now_loading...774KB:2008/01/23(水) 18:19:21 ID:iv0LEjmw
>>468
MCの複製ってこと?

470 :Now_loading...774KB:2008/01/23(水) 18:28:50 ID:TqQHX4FV
>>465
なんか適当なムービークリップをライブラリに作って、クラスを割り当てれ
具体的にはヘルプの「ActionScript 2.0 の学習>ムービークリップの操作>ムービークリップシンボルへのクラスの割り当て」を参照

あと、
>AX = this._name.substr(-1,1)._x;
この「this._name.substr(-1,1)」って、ムービークリップの名前から最後の文字を抜き出す処理だよね
これで抜き出した文字に「._x」つけてもundefinedになるんじゃね?
文字列でムービークリップを指定したいなら、ドットじゃなく配列アクセス演算子([])使わんとだめでは

471 :Now_loading...774KB:2008/01/23(水) 18:35:26 ID:iMpChxjX
>>467
MC作ってリンケージのクラス名設定してattachしてるの?

472 :Now_loading...774KB:2008/01/23(水) 18:37:39 ID:iMpChxjX
>>468
Box2 = Box1じゃ参照変えてるだけじゃん。
個別に使うならインスタンスはそれぞれ作らないとダメだろ。

473 :Now_loading...774KB:2008/01/23(水) 18:37:47 ID:LeS98IGN
>>468
それでもダメだと思う。mc1 は既に Box1 の表示リストに入ってるわけだから
Box2 の表示リストに追加した時点で Box1 の表示リストから削除される、はず。たぶん。

Box2 用に mc2 を作って追加するのが妥当じゃないかな

タイムラインを使用しない用途の Sprite に MovieClip 入れる意味は分からないけど。

あと

>var Box2:Sprite = new Sprite();
>Box2 = Box1 ;

new Sprite() する意味がないよ
少し基礎を勉強した方がいいと思う。まぁ これは余計なお世話ですんまそん

474 :448:2008/01/23(水) 21:16:34 ID:EbM82dea
>>459

 レス有難うございます。 ムービークリップの現在位置と求めたい中心点の位置から、距離と角度の答えを導き出せれば良いと理解しました。
 と言う事で、これから色々と調べてみようと思います。

 もし簡単に答えが導き出せる方法が有りましたら、レスをお願いします。


475 :465:2008/01/24(木) 10:00:54 ID:LThmjL0A
>>470-471
すいません。くだらないミスでした
attachMovieじゃなくてcreateEmptyMovieClipしてました。
attachMovieに変えたらエラーがぼこぼこ出てくれて
動作するようになりました。



476 :Now_loading...774KB:2008/01/24(木) 14:16:12 ID:og+9I2dQ
なあ… 疑似乱数の精度を上げたいんだけど 他にもっといい方法ってある?

//AS2
var d=new Date();
var d1= d.getMilliseconds(), d2=0, r=0;
d2=Number( String( d1 ).substr( 0, 1 ) );//左から1桁目抽出
var t="";//trace確認用
for ( var i=0; i<=d2; i++ ){
r=Math.floor( Math.random()*3 );//0〜2
t += String( r );
}
trace(t+" 番号:"+r);

477 :Now_loading...774KB:2008/01/24(木) 19:19:37 ID:dYw7AMLg
AS3.0での質問です。
package {
import flash.events.Event;
import flash.events.MouseEvent;
import flash.display.MovieClip;

public class ball extends MovieClip {
//ボールの移動スピード
public static var moveSpeed:Number = 1.5;

//コンストラクタ
public function ball() {
this.addEventListener(Event.ENTER_FRAME, move_stage);
}

function move_stage(event:Event):void {
this.x -= moveSpeed;
}
function onClick(event:MouseEvent):void {
moveSpeed = 0;
}
}
}

上のクラスで複数のボールを右から左に動かす事、そして、どれかひとつをクリックしたら全部の動きを止めるところまではできたのですが、
止めた後に全てのボールを20px右に動かす方法がわかりません。
ご教授願えたらと思います。

478 :468:2008/01/24(木) 19:51:31 ID:0az1LA+T
>>471-473
アドバイスありがとうございました。
結局、Box2用に同じMCを作って入れる事にしました。

見よう見まねでやってるので他の人から見るとヒドイのかもしれないです。
基礎が判りやすいサイトや本があればと思います。

479 :Now_loading...774KB:2008/01/24(木) 20:11:44 ID:8CBAC3dk
Flex2でゲーム作成中です。
変な質問なんですけど、URLLoaderでテキストファイルを読みこんだときって、改行コードが勝手にかわったりしませんよね・・・?

なぜか下記の状態になってしまうのですが、これって何が壊れてるんでしょうか(´・ω:;.:...

サクラエディタで、読み込むファイル(test.txt[UTF-8、CRLF])を作成
 ↓
URLLoaderを使ってテキストファイルを読み込み
 ↓
読み込んだデータに対して、 indexOf("\r\n") すると -1。
でもなぜか indexOf("\r\r") が 7 とか・・・。

確かに7の位置には改行が2つあるのですけど。
教えてエスパーさん・・・

480 :Now_loading...774KB:2008/01/24(木) 21:10:51 ID:US3tihm8
Flex2についての質問です。

Applicationコンテナの背景色をボタンをクリックした時に変更したいです。

−エラー内容−
ReferenceError: Error #1056: comptest のプロパティ backgroundColor を作成できません。

−ソースコード−
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" backgroundColor="#000000">

<mx:Script>
<![CDATA[
private function onRemove():void {
mx.core.Application.application.backgroundColor="#FFFFFF";
}
]]>
</mx:Script>
<mx:Button id="button1" x="81" y="95" label="ボタン" click="onRemove()"/>
</mx:Application>

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

481 :Now_loading...774KB:2008/01/24(木) 22:21:44 ID:8CBAC3dk
>480
わたくし初心者ですなのが、やってみたらできたので書きます。

エラーメッセージのとおり、backgroundColorはプロパティではないのでそのまま変えられないだけだと思います。
スクリプトの内容を下記のように変えれば実行できました。

this.setStyle("backgroundColor","#FFFFFF");


482 :Now_loading...774KB:2008/01/24(木) 22:45:50 ID:5egpoJT2
>>481
ありがとうございました。
私も成功しました。

setStyle関数はこういうときに使うのですね。
Styleもプロパティだと思っていましたorz

483 :Now_loading...774KB:2008/01/24(木) 23:28:37 ID:4oqiKR+S
AS2での質問です。

「メイン.swf」っていうファイルと「部品.swf」っていうファイルがあります。
部品ファイルのライブラリには識別子を「効果音」ってしたsound.wavが入っていて、
スクリプト側からattachSound("sound");としていると以下の問題が・・・

main.swfからloadFileでbuhin.swfを呼び出す。
→main.swfで音が鳴らない(buhin.swfの単品実行では音はなる)

おそらくattachSoundのときにmain.swf側のライブラリからsoundを探していると思うのですが
これは仕様でしょうか?それともどうにかして変更する事ができるのでしょうか。

できればmain.swfのライブラリに含めるのは避けたいのですが、
上手にbuhin.swf側のライブラリからattachSoundする方法をどなたかご教授いただけませんか?

484 :Now_loading...774KB:2008/01/25(金) 00:03:56 ID:v5UgxMgF
>>477
生成時にArrayBall.push( new ball() );こんな感じで参照を保持しておいて
クリックした時にfor文でArrayBall[num].x += 20みたいなループさせるとか

485 :Now_loading...774KB:2008/01/25(金) 01:01:36 ID:SDJPp47G
>>477
function onClick(event:MouseEvent):void {
this.x += 20;
moveSpeed = 0;
}
じゃ、だめなのか?

486 :Now_loading...774KB:2008/01/25(金) 14:03:20 ID:ap0AHGSC
質問です

画像が左から右へ拡大しながら表示されていくアニメーションを作りたいのですが、
方法がわかる方、方法が載っているサイトをご存知の方、それっぽいFLASHを使ったサイトをご存知の方、
助けてください…
※DisplacementMapFilterでできそうな気がするんですが、仕組みが理解できないです...

以下のようなイメージです


−−−−−−−−−−



>−−−−−−−−−


_
_>−−−−−−−−


___
___>−−−−−−


_______
_______>−−


487 :Now_loading...774KB:2008/01/25(金) 15:29:58 ID:pUGhGGW1
>>476
何を基準に、今の精度では問題があると判断してるの?
それ以前の問題もあるような……。

>>479
試してみたけど、indexOf("\r\n")でその位置が、indexOf("\r\r")で-1になるよ。
ごめん。わからない。

>>483
AS2にLoadFileなんてあったっけ?
MovieClipLoaderを使うと出来るよ。

var loader:MovieClipLoader = new MovieClipLoader();
var listener:Object = new Object();
listener.onLoadInit = function(target_mc:MovieClip) {
    var sound:Sound = new Sound(target_mc);
    sound.attachSound("sound");
    sound.start();
};
loader.addListener(listener);
loader.loadClip("buhin.swf", _root.createEmptyMovieClip("mc", _root.getNextHighestDepth()));

>>485
それでは一つのボールしか動かないのでは?

>>486
画像の位置とscaleを変えていくだけじゃ駄目なのか?

488 :Now_loading...774KB:2008/01/25(金) 15:37:36 ID:HCzXslud
>>476
メルセンヌツイスタ辺りを自分で実装したらどうだい?

489 :Now_loading...774KB:2008/01/25(金) 18:58:33 ID:Ie12CYk6
AC2で質問です。

HTMLのファイル参照からファイル名を取ってきて

それをactionscriptの変数に渡したいのですがどうやればいいでしょうか?

初歩的なことだと思いますが、検索してもなかなかいい方法が見つからないので

誰かわかる方がいたらレスお願いします。

490 :Now_loading...774KB:2008/01/25(金) 19:38:10 ID:a0Kr1+hk
最近ASを自力で組み始めた初心者ですが

FlashPlayerExって最初と最後のフレームのstopと
keyDown,keyUpが効かなくね?
enterFrame下にKey.isDownとか入れれば大丈夫だけど

491 :Now_loading...774KB:2008/01/25(金) 19:46:52 ID:ODPLl4lM
純正でもないソフトのことなんか知るかよ

492 :Now_loading...774KB:2008/01/25(金) 21:15:18 ID:FGuHtNW9
>>489
すまんが、言ってることがよくわからん
htmlファイルを読み込んでそのリンク先を取得して、それをswfに渡すって事か?
具体的にやりたいことを書かないとレスしようがないぞ

493 :Now_loading...774KB:2008/01/26(土) 00:56:41 ID:hIui/Goy
CS3、AS3で質問です。
●に○が触れた時、●が■になるというものを作りたいのですが、

if(●.hitTestObject(○)){
★★★();
}else{
★★★();
}
}

上の★の部分には何を入れればいいのでしょうか
どなたか回答お願いします。

494 :Now_loading...774KB:2008/01/26(土) 02:32:09 ID:ZwepRlu8
>>489
たぶん、言いたい事はわかった。
たとえば、HTMLで「テスト文字列」って文字列を
FLASHの変数(仮にtmpStr ) に「テスト文字列」を入れたいって事だよね?

FLASHの変数に代入するには、「パラメータ」を使うと便利ですよ

この頃はSWFObject(Flashに便利なJavascript)ばかり使ってるので、「パラメータ」の使い方は忘れてしまったんですが、たしか
HTML:
○○.swf?tmpStr=テスト文字列
みたいな感じ

詳しくは、↓の人が解説してくれるはず

495 :Now_loading...774KB:2008/01/26(土) 03:35:55 ID:7RrF0iIq
>>489
彼がやりたいのは
フォームのfileから参照したファイル名を
FLASHから取得したいってことだべ。

PHPの$_FILES相当のことが。

496 :Now_loading...774KB:2008/01/26(土) 03:47:38 ID:ZwepRlu8
>>489
>>495
なるほど。。。

HTMLでとってきてるってことは、PHPでFlashにパラメータとして渡すか、javascriptで渡すみたいな感じですかねぇ〜

497 :Now_loading...774KB:2008/01/26(土) 06:29:18 ID:dSOvbidE
MXです

キーボードの"→"が押されたときにシーン1を次のフレームへ進ませたいです
asのレイヤーを作って以下のようにフレームに書き込みました

if (Key.isDown(Key.RIGHT)){
_root.nextFrame();
}

全く反応しません
ご教授お願いします

498 :497:2008/01/26(土) 06:35:37 ID:dSOvbidE
stop();
if (Key.isDown(Key.RIGHT)){
_root.nextFrame();
}

少し訂正 よろしくお願いします

499 :Now_loading...774KB:2008/01/26(土) 06:46:16 ID:OrPsPZxT
stop();
this.onEnterFrame = function(){
if (Key.isDown(Key.RIGHT)){
trace("AA");
_root.nextFrame();
}
}
もしくはリスナー使う

500 :497:2008/01/26(土) 06:53:02 ID:dSOvbidE
>>499
ここで数時間悩んでいたのですが、動きました
本当にありがとうございました
またよろしくお願いします

501 :Now_loading...774KB:2008/01/26(土) 07:11:07 ID:dSOvbidE
497ですがもう一つだけお願いします

mcの"meter"を左端は動かさずにwidthだけ

1フレーム  ■■■ (width100)
   ↓
10フレーム  ■■■■■■ (width200)

このようにモーショントゥイーンのように変えたいのですが

1〜10のフレームごとにasレイヤーのフレームに
meter1._width = meter1._width + 100/10;
と書いたところ

 ■■■ (width100)
   ↓
■■■■■■ (width200)

このようになってしまいました
白丸の中心点を左端に持っていっても変わりません
どうしたらいいのでしょうか

502 :Now_loading...774KB:2008/01/26(土) 08:56:56 ID:lwo4ItjX
>>498
コードはいつでも実行されるわけじゃない
enterFrameやkeyDownを使わないでそのまま書くと
タイムラインがそのフレームに到達してif判定したら
その1回で終わりとなる

503 :Now_loading...774KB:2008/01/26(土) 11:29:40 ID:Y7qoo1Js
>>493
●の箇所には参照を持つオブジェクトを設定する。
private var △:Object;
コンストラクタ?
{
 △ = ●
}

if(△.hitTestObject(○)){
 // hitTestObjectを実行するオブジェクトを■に変更
 △ = ■;
}


504 :Now_loading...774KB:2008/01/26(土) 15:02:55 ID:hjhwZCwX
>>487

479です。
遅くなりましたが、試していただいてありがとうございました。
他の環境ではうまくいっているということなので、自分の環境のなにかがぶっ壊れているのだろうと思います。。。

とりあえずCRLFでなければ正常に読み込んでいるので、
なかったことにしますヽ(`・ω・´)ノ

505 :Now_loading...774KB:2008/01/26(土) 15:23:25 ID:DKac71iE
>>501
■図形のシンボル編集画面で
■の左端が中心にくるようにする

506 :493:2008/01/26(土) 15:36:52 ID:C3qLWq3W
>>503
回答ありがとうございました
助かりました

507 :Now_loading...774KB:2008/01/26(土) 18:21:03 ID:hqpov2bp
489です

javascriptで自己解決しました。

ありがとうございます

508 :Now_loading...774KB:2008/01/26(土) 20:02:20 ID:dSOvbidE
>>505
できましたありがとうございます

509 :Now_loading...774KB:2008/01/26(土) 20:07:14 ID:dSOvbidE
var point1 = 100;
var point2 = 200;
var point3 = 300;
var i;

for(i; i<3; i++){
trace("point" + i);
}

--実行結果
100
200
300

このようなことはできないのでしょうか
環境MXです

510 :509:2008/01/26(土) 20:13:01 ID:dSOvbidE
すみません訂正です

var point0 = 100;
var point1 = 200;
var point2 = 300;
var i;

for(i = 0; i<3; i++){
trace("point" + i);
}

--実行結果
100
200
300


511 :Now_loading...774KB:2008/01/26(土) 20:15:29 ID:ZwepRlu8
こうかな
var point:Array = new Array();
point = [ 100 , 200 , 300 ];

for( var i:Number = 0 ; i < 3 ; i++ ){
trace("point"+point[ i ] );
}

すっごい適当だから気をつけて!!


512 :Now_loading...774KB:2008/01/26(土) 20:22:29 ID:ouQHzXnn
>>510
配列使っちゃダメですか?

513 :512:2008/01/26(土) 20:23:33 ID:ouQHzXnn
と思ったら上に既にありましたね
すみませんでした


514 :Now_loading...774KB:2008/01/26(土) 20:30:19 ID:ZVGTaJ5V
>>510
trace( this["point"+i] );
でアクセスできるが、
普通は理由が無い限りは上のように配列使う。

というか、基礎すっとばして悩むぐらいなら
基礎から勉強してください。

515 :509:2008/01/26(土) 20:31:15 ID:dSOvbidE
>>511>>512
できました配列使えばいいんですね 思いつきませんでした
ID赤くなるまでお付き合いいただきましてありがとうございました

516 :509:2008/01/26(土) 20:32:19 ID:dSOvbidE
>>514
すみません 基礎から勉強します

517 :Now_loading...774KB:2008/01/26(土) 22:43:39 ID:LzjCUMYV
fusekit で、_widthだけ、sizeToを行いたいんだが…。どうすればいいんだ??

518 :Now_loading...774KB:2008/01/27(日) 03:04:41 ID:xYZjsWjT
AS3.0、FlexSDK3で質問です。
fl.controlsをインポートしたいのですが、
「定義 fl:controls が見つかりません。」と怒られます。

http://www.flash-jp.com/modules/newbb/viewprint.php?order=ASC&topic_id=7062&forum=8
こちらに似たような事例が出ているのですが、
FLASHを持っていないので、ユーザーインターフェイス上に設置することも出来ず…
FlashDevelop内のLibraryにあったfl以下のASファイルをルートのASファイルと
同じディレクトリに持ってくると、とりあえずインポートは出来たのですが、
エラーが山ほど返ってきました。

微妙にスレ違いっぽくて申し訳ないのですが、
何かご存知の方がいましたらお願いします。
自前で作れって話なのかな…

519 :Now_loading...774KB:2008/01/27(日) 05:44:55 ID:PWFdG4Xc
mxで
actionscriptでテキストフィールドの生成ってできますか?

520 :Now_loading...774KB:2008/01/27(日) 12:56:28 ID:FlGi4i3T
質問です。
FLA2004pro使ってメニュー画面を作っています。
利用者がキーボードの0〜9までのボタンを使って操作し、コンテンツを開きます。
イメージ的には縦に五つメニューが並んでおり、2or8でメニューが上下移動、4or6でコンテンツが横移動というクロスバーです。
メニューとコンテンツは別mcにまとめて_rootに置かれています。_rootで動いたpush_x,push_yの変数を元にコンテンツ説明をフィールドの外から持ってきます。
コンテンツ説明にダイナミックテキストを使用したいのですがそれがどうしてもうまくいきません。

変数:push_x, push_y,(xは4,6キーで変数を±させ、yは2,8キー)
var sii_txt11 = "こんにちは";
var sii_txt12 ="Hello";//……sii_txt55まで続く
      
メニュー、コンテンツの数はそれぞれ五個。
mc内のダイナミックテキスト「giko_txt」にコンテンツに対応させた文章を表示したい。



//mc内のAS
for(i=1;i<=5;i++){
if(../:push_x == i){
for(j=1;j<=5;j++){
if(../:push_y == j){
giko_txt = "sii_txt" add i add j;
}
}
}
}
*mc内のモーションは問題ないので省かせていただきました。
変数はちゃんと変動していたのを確認しました。
ひょっとして【=】にはfor文のiや変数による代入が使えないのでしょうか?
それとも単に入力ミスなのでしょうか。ご教授よろしくお願いします。

521 :519:2008/01/27(日) 13:38:19 ID:PWFdG4Xc
自己解決しました
createTextField使えました

522 :Now_loading...774KB:2008/01/27(日) 13:55:50 ID:VbqEgFhL
>>520
if判定が良く分からないけどgiko_txtに文字列が入ってないという事かな
rootに変数定義してるなら
giko_txt = _root["sii_txt" + i + j]で文字列入ると思うけど・・・

523 :Now_loading...774KB:2008/01/27(日) 14:07:18 ID:KuUSaeD2
2,8キーとかaddとかって、携帯用のflashなのか?

524 :Now_loading...774KB:2008/01/27(日) 16:16:11 ID:2x4uDF1V
すみません、質問させてください。
フラッシュ8を使っています。

AサーバのフォルダにおいたAswfから、そのswf本体の置いてあるフォルダ内の
xmlや画像などをローカルパスで読み出して、文字や画像を表示するようにしています。

そのAswfを別の場所(例えばBサーバにおいたHTML)で読み出すと、
Aswfは自分の置いてあるAサーバのフォルダではなく、そのHTMLがおいてある
Bサーバのローカルフォルダから、xmlや画像を探そうとするようです。

A.swfの中のパスを、Aサーバの絶対パスにすれば問題ありませんが、
このAサーバやフォルダは頻繁に変わる可能性があり、できればBサーバや
他のサーバから読み出した場合でも、A.swfそのものが置いてある自分の
ローカルフォルダ内から読み出すようにしたいのですが、
この場合、どう記述すれば良いのでしょうか?

完全素人でスクリプトのどの部分が読み出し命令なのか分からない状態です。
これをスクリプトに追加すればOKのような指定の仕方はあるんでしょうか?
初歩的な質問で意味が通じないかもしれませんが、よろしくおねがいします。

525 :520:2008/01/27(日) 21:01:57 ID:FlGi4i3T
>522
なるほど、配列を使うのですね。ありがとうございます、早速やってみます。
>523
すいません、記述が不足していましたね。そうです、携帯電話向けです。

526 :Now_loading...774KB:2008/01/27(日) 23:59:47 ID:J5opOzkT
FLASH8を使用しています、ASは2.0です
if文で「配列の中身が全てtrueになったら実行」という処理をする時
↓今このようにしていますが、もっとスマート?な書き方がありましたら教えて頂けませんでしょうか
if(yas[0] == true && yas[1] == true && yas[2] == true && yas[3] == true && ...yas[11] == true)


527 :Now_loading...774KB:2008/01/28(月) 00:22:28 ID:3n/724Q8
>>526
Flg = true;
// undifinedかfalseがあったらFlg=false
for( num = 0; num < yas.length; num++ ){
 if( yas[num] == undifined || yas[num] == false ){
  Flg = false;
  break;
 }
}
if( Flg ){
 // 処理
}
こんな感じ?

528 :Now_loading...774KB:2008/01/28(月) 00:36:53 ID:o32dPgj5
もうちっとスマートに書けるね


529 :Now_loading...774KB:2008/01/28(月) 03:27:57 ID:eb30iJ9N
俺も考えてみた ただundefinedは無視しちゃってるけど

temp = yas;
temp.sort();
if(temp[0]){
 trace("hit");
}

530 :Now_loading...774KB:2008/01/28(月) 03:30:47 ID:eb30iJ9N
あー こうすりゃいいのか

temp = yas;
temp.sort();
if(temp[0] && temp[temp.length - 1]){
trace("hit");
}

531 :Now_loading...774KB:2008/01/28(月) 04:09:25 ID:uo8W3F7f
flex3 as3で質問です。
複数のテキストフィールドを動的に生成し、
ムービークリップのイベントで動かしたいのですが方法が分かりません。
インスタンス名を指定してプロパティを変更したし
removeChildで削除したりの操作をする方法はありますか?
もしくは、MyTextField[i]みたいな感じで、
変数名を指定することは出来ないでしょうか?

他にも方法がありましたらご指南頂ければと思います。
よろしくお願いいたします。



>>527
質問してる奴の解答であれですが、
boolean以外の例外が無いのであれば。

if(yas.join("").length == 44)

532 :Now_loading...774KB:2008/01/28(月) 04:10:25 ID:uo8W3F7f
ごめんなさいアンカミスです。
>>526でした。

533 :Now_loading...774KB:2008/01/28(月) 07:15:21 ID:NfHb1VEz
>>530
元の配列順を破壊してどうするw

534 :Now_loading...774KB:2008/01/28(月) 11:39:51 ID:HURw05MV
>>527
俺も考えてみた
for (var num:Number = 0; num < yas.length && yas[num] == true; num++)
{
}
if (num == yas.length)
{
 //処理
}

535 :Now_loading...774KB:2008/01/28(月) 13:39:08 ID:4gM9CR16
。。。

536 :Now_loading...774KB:2008/01/28(月) 13:43:57 ID:4gM9CR16
ご教授示願います。AS2です
XMLファイルの文字列を二次元配列に一覧状に入れたいのですが

myXML.onLoad = function() {
var myNum:Number = 6;
var XPathStrings:Array = new Array("XPath式1","XPath式2","XPath式3","XPath式4");
var textArr:Array = new Array();
for(var i:Number=0; i<myNum; i++) {
textArr[i] = new Array();
}
for(var ia:Number=0; ia<XPathStrings.length; ia++) {
textArr[ia][0] = XPathAPI.selectNodeList(this.firstChild, XPathStrings[ia]);
for(var ib:Number=0; ib<myNum; ib++) {

}
trace(textArr[0][0]); trace結果:文字列1,文字列2,文字列3,文字列4,文字列5,文字列6 ←(XPath式1で取得した文字列郡)
trace(textArr[1][0]); trace結果:文字列7,文字列8,文字列9,文字列10,文字列11,文字列12 ←(XPath式2で取得した文字列郡)

今このような状態で、※の所で textArr[ia][ib] = textArr[ia][0].split(","); など打ってみましたが、結果はundefinedと出て駄目でした
最終的には
textArr[0][0]=文字列1 textArr[0][1]=文字列2 textArr[0][2]=文字列3
textArr[1][0]=文字列7 textArr[1][1]=文字列8 textArr[1][2]=文字列9
のように配分したいのですが、どういった処理や訂正が必要なのでしょうか、宜しくお願いします

537 :Now_loading...774KB:2008/01/28(月) 13:57:34 ID:HURw05MV
>>536
String.split(",")で分割された配列が返ってくるから、
for(var ia:Number = 0; ia < XPathStrings.length; ia++) {
textArr[ia] = XPathAPI.selectNodeList(this.firstChild, XPathStrings[ia]).split(",");
}
でいいんじゃね?

この場合
for(var i:Number = 0; i < myNum; i++) {
textArr[i] = new Array();
}
は不要か

538 :536:2008/01/28(月) 14:24:51 ID:4gM9CR16
>>537
ありがとうございます、上のスクリプトを書き換えてやってみました

myXML.onLoad = function() {
var myNum:Number = 6;
var XPathStrings:Array = new Array("XPath式1","XPath式2","XPath式3","XPath式4");
var textArr:Array = new Array();
for(var ia:Number = 0; ia < XPathStrings.length; ia++) {
textArr[ia] = XPathAPI.selectNodeList(this.firstChild, XPathStrings[ia]).split(",");
}
trace(textArr[0]); trace結果:undefined
trace(textArr[1]); trace結果:undefined
trace(textArr[0][0]); trace結果:undefined

と訂正してみましたが結果はundefinedでした・・・

539 :Now_loading...774KB:2008/01/28(月) 14:37:25 ID:xPaNQdtN
>>538
そもそもmyXML.onLoadは呼び出されているのか?

540 :Now_loading...774KB:2008/01/28(月) 14:38:24 ID:xPaNQdtN
>>539
すまん、読み間違えた


541 :Now_loading...774KB:2008/01/28(月) 15:02:37 ID:HURw05MV
>>538
すまん、XPathAPI.selectNodeListに関して勘違いしてた
配列が返ってくるんじゃsplitしてもダメだわな
とりあえず、
var tmpArray:Array;
for(var ia:Number = 0; ia < XPathStrings.length; ia++)
{
 tmpArray = XPathAPI.selectNodeList(this.firstChild, XPathStrings[ia]);
 for(var ib:Number = 0; ib < myNum; ib++)
 {
  ※
 }
}
って感じで、仮の配列に返り値を入れてから中身を取り出すとか?
※のところはtmpArrayの中身に応じて書く、と

542 :Now_loading...774KB:2008/01/28(月) 15:17:44 ID:Uxp/jfvz
>>538
構造が複雑なものは、処理を一つずつ分割して考えるのがいいよ。

var nodeList:Array = new Array();
for (var i:Number = 0; i < XPathStrings.length; i++) {
    nodeList[i] = XPathAPI.selectNodeList(this.firstChild, XPathStrings[i]);
}

var textArr:Array = new Array();
for (var j:Number = 0; j < nodeList.length; j++) {
    textArr[j] = nodeList[j].sprit(",");
}

for (i = 0; i < textArr.length; i++) {
    for (j = 0; j < textArr[i].length; j++) {
        trace(textArr[i][j]);
    }
}

543 :Now_loading...774KB:2008/01/28(月) 15:33:55 ID:Uxp/jfvz
ごめん。最後のループを間違えた。

for (var i:Number = 0; i < textArr.length; i++) {
    for (var j:Number = 0; j < textArr[i].length; j++) {
        trace(textArr[i][j]);
    }
}

ループ用の変数はそのブロックでだけ有効だったんだよな。

544 :Now_loading...774KB:2008/01/28(月) 16:30:27 ID:CVYVRIJz
おしえてください。

スプライトをクリックすると関数呼び出すスクリプトをかきました。

ところが、スプライトをドラッグして、マウスをドロップしたときにも、
クリック判定がでてしまいます。

回避方法を教えてください。たのみます。

環境は、
actionScript 3.0
flash9
です。 



545 :Now_loading...774KB:2008/01/28(月) 17:09:37 ID:/wTrGVm9
>>544
どんなコード書いたの

546 :Now_loading...774KB:2008/01/28(月) 17:21:03 ID:zqOf9JUD
質問させて下さい。
ユーザーに手書きで図形を書かせ、
それが丸なのか四角形なのか三角形なのかを判別したいのですが
どのようなアルゴリズムが考えられますでしょうか?

547 :536:2008/01/28(月) 17:47:07 ID:4gM9CR16
>>539-543
ご教示ありがとうございました、>>541のソースを参考に色々とやってみた所
for(var i:Number = 0; i < setNum; i++) {
textArr[i] = new Array();
}
var tmpArray:Array;
for(var ia:Number = 0; ia < XPathStrings.length; ia++) {
tmpArray = XPathAPI.selectNodeList(this.firstChild, XPathStrings[ia]);
for(var ib:Number = 0; ib < setNum; ib++) {
textArr[ia][ib] = tmpArray[ib];
}
}
trace(textArr[0][0]);
trace(textArr[1][0]);
trace(textArr[2][0]);
trace(textArr[3][0]);

myXML.onLoad外でtextArrをトレースするとundefindが出たりとまだ改良の余地がありますが、何とか配分はされたようです
XMLも二次元配列も今回初めて扱ったのでとても勉強になりました、ありがとうございました

548 :Now_loading...774KB:2008/01/28(月) 18:41:00 ID:xkAum0Tt
>>545
どうも。こんな感じです。


//マウスイベント
obj.addEventListener(MouseEvent.CLICK, onClick);
obj.addEventListener(MouseEvent.MOUSE_DOWN, dragStart);
obj.addEventListener(MouseEvent.MOUSE_UP, dragStop);

//クリック
function onClick(event:MouseEvent):void {
trace("ハローワールド");
}

//ドラッグ開始
function dragStart(event:MouseEvent):void {
obj.startDrag();
}

//ドラッグストップ
function dragStop(event:MouseEvent):void {
obj.stopDrag();
}



ドラッグアンドドロップのドロップのときに、ハローワールドがでてしまいます。


549 :Now_loading...774KB:2008/01/28(月) 19:17:33 ID:jkGL187c
質問したいことが2点あります。
hoge1とhoge2はムービークリップのインスタンス名です。

onEnterFrame = function(){
test_function(hoge1);
test_function(hoge2);
}

function test_function(hoge)
onEnterFrame = function(){
if(hoge._alpha > 100){
hoge._alpha += hoge._alpha+10;
}
}
}

これを実行するとhoge1とhoge2がゆっくり出てくる予定なんですが、
hoge2だけ実行されてhoge1は実行されません。

2回目のonEnterFrameの下に
trace(hoge);
を入れるとhoge2が繰り返されて、hoge1は出てきません。

これは何故でしょうか?

550 :Now_loading...774KB:2008/01/28(月) 19:17:44 ID:/wTrGVm9
>>548
こんなかな?ドラッグした距離が短かきゃクリックとして判定してる。
timerで時間で判定してもいいかもね。

//マウスイベント
obj.addEventListener(MouseEvent.MOUSE_DOWN, dragStart);
obj.addEventListener(MouseEvent.MOUSE_UP, dragStop);
//距離測定用
var point ={x:0,y:0};
function onClick(event:MouseEvent):void {
trace("ハローワールド");
}
//ドラッグ開始
function dragStart(event:MouseEvent):void {
point.x=event.stageX; point.y = event.stageY; //距離記録
obj.startDrag();
}
//ドラッグストップ
function dragStop(event:MouseEvent):void {
obj.stopDrag();
//距離測って2より小さければonClick呼ぶ
var dx = point.x-event.stageX; var dy = point.y-event.stageY;
var dist = Math.sqrt(dx*dx+dy*dy);
if (dist<2) onClick(event.clone() as MouseEvent);
}

551 :Now_loading...774KB:2008/01/28(月) 19:23:06 ID:jkGL187c
2点目
hoge1とhoge2はムービークリップのインスタンス名です。

var hoge_array:Array = ["hoge1","hoge2"];

onEnterFrame = function(){
for(i=0;i<2;){
test_function(hoge_array[i]);
}

function test_function(hoge)
onEnterFrame = function(){
trace(hoge._alpha);
}
}

これを実行するとundefinedが出ます。
test_function(hoge1);
とかにすると正常に実行されます。
配列だと無理なのでしょうか?

すいませんがよろしくお願いします。

552 :Now_loading...774KB:2008/01/28(月) 19:31:13 ID:HURw05MV
>>549>>551
test_functionのところ文法がおかしくないか?
onEnterFrame = function()とかいらんでしょ

function test_function(hoge:MovieClip):Void{
if(hoge._alpha > 100){
hoge._alpha += hoge._alpha+10;
}
}
}

553 :Now_loading...774KB:2008/01/28(月) 19:35:48 ID:HO82AVI8
>>550
横からすんません 最後の

if (dist<2) onClick(event.clone() as MouseEvent);

で、event をそのまま渡さずに clone() して渡している理由を教えて下さい
俺ならそのまま event 渡しちゃいそう・・・何か不味いのかな、と思って

554 :Now_loading...774KB:2008/01/28(月) 19:47:19 ID:/wTrGVm9
>>553
そのままでもいいんでない?
参照のチェーン作るのがやだから念のため別物にしただけ。

555 :551:2008/01/28(月) 19:57:56 ID:jkGL187c
>>552
確かに…2回指定する必要なかったので一つ消しました。
で、ソース書き直します。

var hoge_array:Array = ["hoge1","hoge2"];

onEnterFrame = function(){
for(i=0;i<2;){
test_function(hoge_array[i]);
}

function test_function(hoge:MovieClip):Void{
trace(hoge._alpha);
}

>>549の両方実行されないってのは解決しましたが、
配列でインスタンス名を指定するのが上手くいきません。

test_function(hoge1);
test_function(hoge2);
これは正常に動きます。

test_function("hoge1");
test_function("hoge2");
これは型が違うとエラーが出ます。

556 :Now_loading...774KB:2008/01/28(月) 20:09:12 ID:jkGL187c
あ、onEnterFrameの「 } 」つけ忘れてますが本来はあります。

557 :Now_loading...774KB:2008/01/28(月) 20:13:05 ID:NfHb1VEz
文字列渡してどうすんだよw参照渡せ

558 :Now_loading...774KB:2008/01/28(月) 20:13:55 ID:jkGL187c
なんか色々ボロボロで申し訳ない…

> for(i=0;i<2;){
for(i=0;i<2;i++){

あとtraceした結果がundefinedです

559 :Now_loading...774KB:2008/01/28(月) 20:20:09 ID:jkGL187c
>>557
ジーザス
こーゆーことだったんかーーーーー!

var hoge_array:Array = [hoge1,hoge2];



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

560 :Now_loading...774KB:2008/01/28(月) 20:42:10 ID:HO82AVI8
>>554
レスありがとう
ふむふむ 気分的なものなのか

561 :536:2008/01/28(月) 21:52:31 ID:T+WVjTiZ
度々すみません、ソースは殆ど536の物と同じです
setXML.onLoad = function() {
var textArr:Array = new Array();
var tmpArray:Array = new Array();
var setNum:Number = 6;
for(var i:Number = 0; i < setNum; i++) {
textArr[i] = new Array();
}
var XPathStrings:Array = new Array("XPath式1","XPath式2","XPath式3","XPath式4");
for(var ia:Number = 0; ia < XPathStrings.length; ia++) {
tmpArray = XPathAPI.selectNodeList(this.firstChild, XPathStrings[ia]);
for(var ib:Number = 0; ib < setNum; ib++) {
textArr[ia][ib] = tmpArray[ib];
}
}
trace(textArr[0][0]); trace結果:文字列1
}
trace(textArr[0][0]); trace結果:undefined

onLoad内で設定されたtextArr配列をonLoad外で使用する方法などありますでしょうか・・・

562 :Now_loading...774KB:2008/01/28(月) 21:56:09 ID:NfHb1VEz
外で宣言するか、var取る

563 :Now_loading...774KB:2008/01/28(月) 23:23:52 ID:yfbwDCDO
function lo() {
 this.enabled = false;
}
mona1.onRelease = lo;
とか、ムービークリップ.onRelease = 処理関数;
みたいな書き方で、this以外に処理関数に引数を送る事はできるんですか?AS2です。

564 :Now_loading...774KB:2008/01/28(月) 23:55:34 ID:S3qm3kCp
どなたかご教授お願いします。Flexビルダー2です。
ニコニコ動画みたいな感じでcanavsの中に書き込まれた文字が右に流れていくプログラムなんですけど、
InputText()が実行されると指定された位置にlabelが表示されて2ピクセルずつ左に流れていき、
画面外に消えたlabelは削除されるようになってるんですが…
label.x=600 label.y=200でピクセル指定したものを%で書く事はできないですか?

private function InputText():void{
var label:Label = new Label();

label.text = input.text;
label.x = 600;          ←これと
label.y = Math.random() * 200;     ←これです
label.setStyle("fontSize", Math.random()*20 + 10);
label.setStyle("color", Math.random()*0xFFFFFF + 0xFF000000);
field.addChild(label);
labelArray.push(label);
input.text = "";
}
private function onTick(evt:TimerEvent):void{
for each(var label:Label in labelArray){
label.x -= 2;
if(label.x + label.width < 0)
labelArray.splice(labelArray.indexOf(label,0),1);
}
}



565 :Now_loading...774KB:2008/01/29(火) 08:29:08 ID:h2ztDEhl
>>563
よく分からんが、onReleaseに入れた関数に引数を渡したいと言う事かな
onReleaseを自分で呼べば渡せるけど…
mc.onRelease = function(text:String):Void
{
...
}
mc.onRelease("test");

566 :Now_loading...774KB:2008/01/29(火) 09:24:31 ID:2zuwvYUb
>>550

ありがとう。
クリックとドラッグアンドドロップの判定は、
自作しなければならないと言うことですね。

567 :Now_loading...774KB:2008/01/29(火) 14:21:40 ID:AvYKB92P
タイムラインにあるムービークリップをランダムで表示させるas3での記述はないでしょうか?
初歩的な質問ですが教えてください。お願いします

568 :Now_loading...774KB:2008/01/29(火) 19:31:24 ID:O5RcLT7Q
Flash上で作ったXMLを、外部のテキストデータに書き出す方法はありませんか?
初心者で申し訳ありませんが、教えてください。
よろしくお願いします。

569 :Now_loading...774KB:2008/01/29(火) 20:42:15 ID:lk3U3DYF
テキストデータやBGMデータを外部から読み込んでいるのですが
デバッグ起動(CTRL+SHIFT+ENTER)で起動すると何故かIOエラーが発生します。

デバッグ時はカレントディレクトリの位置が通常起動(CTRL+ENTER)と異なるのでしょうか?

570 :Now_loading...774KB:2008/01/29(火) 22:04:54 ID:jCULY7qR
playing = new Sound(new URLRequest(url));
channel = playing.play();
channel.addEventListener(Event.SOUND_COMPLETE, stopPlay);
changeImage(imageStop);

以上のように音楽再生用の関数を書いてあり url には、MP3のアドレスが入っています。
ただ、そのアドレスはCGIで、ログイン済みであれば実MP3を、未ログインであれば空MP3を返すようにしています。
未ログインのときは、アラートを出すように分岐を加えたいのですが、空MP3の判定とかはできるんでしょうか?
playing.bytesTotal を channel = playing.play(); の手前に入れても、毎回 0 のようでした(実MP3のときも)。

571 :Now_loading...774KB:2008/01/29(火) 22:30:06 ID:/4cFrU6Z
>>567
むむ?既にタイムライン上にあるんじゃ、表示されてるのでは?
隠すのはremoveChild(インスタンス)で、表示がaddChild(インスタンス)、
ランダムは、Math.random()でいけるから、一旦全部隠して、どれか表示だったら、
一旦全部removeChildして、1個だけaddChildとか?

//表示されてる物をしまっとく配列
var instanceList:Array = new Array();
//かくす
for(var i:int = numChildren-1;i>=0;i--)instanceList.push(removeChild(getChildAt(i)));
//どれか表示
addChild(instanceList[Math.random()*instanceList.length>>0])

572 :Now_loading...774KB:2008/01/29(火) 22:32:32 ID:/4cFrU6Z
>>568
ないぜ!!なぜならローカルだったらXMLに限らず、何かを書きこめてしまうのは、
セキュリティ上まずいから。
CGIが使えるなら、XML.toString()とかで文字列化したのをPOSTすれば、あとはCGI側で
サーバには保存できるかもね。

573 :Now_loading...774KB:2008/01/29(火) 22:34:04 ID:/4cFrU6Z
>>570
読みこみ完了してからじゃないと、長さ測れないんじゃね?
SOUND_COMPLETEの時に読んでる関数の中で測ってみたら?

574 :Now_loading...774KB:2008/01/29(火) 22:45:03 ID:O5RcLT7Q
>>572
やっぱりできないのですね…
ありがとうございました。

CGI勉強してみます。

575 :Now_loading...774KB:2008/01/29(火) 23:12:25 ID:xn91wdBg
flashで外部から読みんだテキストの指定した文字だけ
actionscriptで見せなくする方法ってありますか??

576 :Now_loading...774KB:2008/01/29(火) 23:19:58 ID:meT3yMx5
いっくらでもあります

577 :Now_loading...774KB:2008/01/29(火) 23:38:56 ID:xn91wdBg
本当ですか??
たとえばどんな書き方で消すことができますか?
またどんなスクリプトを使用すればいいのでしょうか・・・。
初心者で本当に申し訳ありません・・・。


578 :Now_loading...774KB:2008/01/29(火) 23:46:31 ID:sc1C40/9
FLEX2のDataGridの内容を知る方法はどうすればよいのでしょうか?

現在選択されてるやつはSelectedItem.フィールド名で判るのですが..

1行目は何?2行目は何?...みたいに最後までループさせてとる事は可能ですか?




579 :Now_loading...774KB:2008/01/30(水) 00:13:00 ID:t3aDEKMj
>>577
やりたいことが
文章中の「文字列」ではなく「特定の1文字だけ」を
「別の何かの文字で埋める」のではなく「消去したい」
という意味なら

moji = "すもももももももものうち";
trace( moji.split("も").join("") );
----------------------------
結果:すのうち

580 :Now_loading...774KB:2008/01/30(水) 00:22:47 ID:O5JMXiWW
>>578
バインドさせてるデータプロバイダの方からとるべき




581 :Now_loading...774KB:2008/01/30(水) 00:43:32 ID:+1j2Ecrv
FLASH CS3 AS3.0での質問です
下記のようにテキスト読み込み完了時に処理を行なうように設定しています
txtLoader.addEventListener(Event.COMPLETE, onLoaded);

SWF単体で起動すると処理は正常に行なわれますが
FLASHをHTMLに含めて表示すると何故かこのイベントが全く処理されません。
何かHTMLのコードに指定等必要なんでしょうか?
ご教授頂きたいです。

582 :Now_loading...774KB:2008/01/30(水) 01:25:38 ID:t3aDEKMj
>>581
まさか、エラー時の処理も書かずに
成功時の処理だけ書いて
「成功時の処理が実行されません!」
とか言って無いよな?な?

583 :Now_loading...774KB:2008/01/30(水) 01:47:42 ID:wbWoQOFe
うわ、やなもん見た
きも

584 :Now_loading...774KB:2008/01/30(水) 02:00:00 ID:WUU/2zFH
>>579 ありがとうございます!!!
とてもためになりました!本当にありがとうございました〜!!

585 :Now_loading...774KB:2008/01/30(水) 12:04:38 ID:GAeTpfFA
ダイナミックテキストでheightのサイズを大きくしたら
文字サイズでかくなったんだけど
これって仕様?
どうにかならんものかね

エロい人教えて

586 :Now_loading...774KB:2008/01/30(水) 12:07:36 ID:snDHVtMO
ゆとり:でっかくしたらでっかくなりましたこれって仕様?

587 :581:2008/01/30(水) 12:24:35 ID:+1j2Ecrv
>>582
ナイスツッコミでした。
失敗時は「ファイルのロードに失敗しました」というメッセージを
テキストに表示していて毎回それが出てました。

問題は指定ファイルのパスでした。
HTML ※[]はフォルダ
[FLASH]-[●●●]-●●●.swf
        -[text]-text1.txt

こんな階層だったのですがFLASHで「./text/text1.txt」と指定したのがまずかったのですね
HTMLからの相対パスになるとは盲点でした。

588 :Now_loading...774KB:2008/01/30(水) 14:26:05 ID:1iTeKh97
ActionScript 2.0 です。
FLVPlaybackにflvファイルを外部のxmlに書かれた順番に
再生したいのですが、どなたか教えていただけませんか。
よろしくお願いいたします。

589 :Now_loading...774KB:2008/01/30(水) 18:50:19 ID:GAeTpfFA
>>588
どこまで頑張ったのかまずソースだせ

590 :Now_loading...774KB:2008/01/30(水) 19:01:54 ID:HS8y6Ewo
>>589
1から
いや-5くらいから教えてください

591 :Now_loading...774KB:2008/01/30(水) 19:57:53 ID:GAeTpfFA
>>590
よし、じゃあまずflash買ってこい

592 :Now_loading...774KB:2008/01/30(水) 21:30:16 ID:W/h71kbu
FlexでコンパイルしたSWFを逆コンパイル出来るソフトはないでしょうか?
Flareだと無理みたいです。

593 :Now_loading...774KB:2008/01/31(木) 01:09:38 ID:WfqL9CH5
>>585
Flex2のLabelかなんかのソースみてたらHeightでフォントサイズ決定してたので
多分仕様だと思う

594 :Now_loading...774KB:2008/01/31(木) 13:32:31 ID:mFalAdDN
現在MXpro使って携帯向けを作っています。
初歩的なことかもしれませんが教えてください。

ボタンアクションで現在選択中の変数1〜5を配列:XArray[1]にaddでどんどん加えていき、
XArray[1] == 2431となったとします。
この場合、同じボタンアクションで配列の中身を判別し、同じものがあればキャンセルし、
なければ加えるといったASはどのようにすればいいでしょうか?
XArray[1] ==2431;
変数5を選択・・・XArray[1] == 24315; 変数2を選択・・・XArray[1] ==2431;(変化なし)

乗除算を使ったり、forやdo whileを使ってもみましたがうまく行きませんでした。
よろしくお願いします。

595 :Now_loading...774KB:2008/01/31(木) 17:40:50 ID:jVu3zx4q
すみません。
初心者な質問なのですが

mapのiconにカーソルが乗ったらポップアップウィンドウが開き
ウィンドウ内のダイナミックテキストにiconの名前が表示される
というものを試しています。
-------------------------------------------------------
//「 icon 」にカーソルが乗ったらポップアップを表示
map.icon.onRollOver = function (){
PopUp(this._name);
}

//「 icon 」がクリックされたらHPを表示
map.icon.onRelease = function (){
getURL(this.url, _blank);
}
-------------------------------------------------------
1フレーム目のスクリプトに上記が書いてあるとき

iconのインスタンスに
-------------------------------------------------------
onClipEvent (load) {
this._name = "てすと"
this.url = "http://www.〜〜〜"
}
-------------------------------------------------------
というものを書いてみたのですが
URLは反応するのですが、名前がdefaltValueとなってしまいます。
どうやればポップアップに文字を表示できるでしょうか。
宜しくお願いいたします。

596 :Now_loading...774KB:2008/01/31(木) 21:59:54 ID:k9UuGTrS
>>594
データは二次元配列じゃだめなの?
XArray[1] = new Array( false, false, false, false, false )
こんな風にフラグ持ってると楽な気がするけど。。。(携帯はできないのかもしれないが)
そのまま使うなら10で割って余りを比較するか
文字列にしてsplitして1文字ずつ比較するかみたいな方法とればいいと思う。

>>595
_nameじゃなくてpopnameとか変数作ってみては?
ロード時に設定してるならメンバー変数にしなくていいと思う。

597 :Now_loading...774KB:2008/02/01(金) 01:43:27 ID:ZXSPepuJ
>>596
>>595です。
変数の調整で今正常に動作するようになりました。
ありがとうございました!

598 :Now_loading...774KB:2008/02/01(金) 04:02:31 ID:YC47BWFY
テスト

599 :Now_loading...774KB:2008/02/01(金) 18:15:15 ID:eUtpVZDy
くだらない質問かも試練。

on(release){
test._rotation = 190;
trace(test._rotation);
}



-170の結果が返ってくる。
これってどうにかならんもんかね?
どっか一時的に変数入れるしかない?

600 :Now_loading...774KB:2008/02/01(金) 18:24:38 ID:tOCkGvJp
>>599
AS2.0なら、_rotationの値は-180から180の範囲をとる
範囲外の値は範囲内になるよう変換される
他のではどうなるか知らないけど

601 :Now_loading...774KB:2008/02/01(金) 18:43:31 ID:TazN5qxM
片っ端から数値入れてみりゃいいだろうに

602 :Now_loading...774KB:2008/02/01(金) 18:54:35 ID:ql02v78y
>>599
そういうもんだよ。0〜360の値が欲しいなら、
360足して360で割った余りを表示すればいいよ
trace((test._rotation+360)%360)

603 :Now_loading...774KB:2008/02/02(土) 12:01:58 ID:TlO9WaIM
データ型Objectの概要が上手く掴めません
これまで変数に入れるのが数値だったらNumber、文字列ならString、配列ならArray、MCだったらMovieClip
この辺で殆どやってきたのですが、最近読むソースがObjectを多様しているのが多く混乱してしまいます
オブジェクト変数[0] = 20 と配列の様な事もできたり オブジェクト変数.na = "2ch" とMCの様な事もできたり
リスナーに使ったり・・・こういった事をオールマイティーに対応しているデータ型と考えればいいのでしょうか
それとリスナーの様な、こんな処理にはObjectが適用or不可欠といった処理などありますか?


604 :Now_loading...774KB:2008/02/02(土) 12:55:27 ID:ic+qnm3w
>>603
まずは「名前の付けられる配列」という感覚で使うといいかな。構造体とかハッシュテーブルとか言われてる。
配列が[1,2,3]なら、構造体は
var o={
hoge:1,
piyo:2,
fuga:3
}
trace(o.hoge)
と、名前付きで値をしまっとける。値にアクセスするには、object.名前か、object[名前]でアクセスできるというルール。
ただ、データ型指定できないんだよね(指定したい場合は「クラス」を使う事になる)。

>オブジェクト変数[0] = 20 と配列の様な事もできたり
これ誤解。その0は数字のゼロじゃなくて、文字列のゼロとして扱われてる。名前が「ゼロ」なだけ。
つまり、「オブジェクト変数["0"]=20」って事。配列のインデックス番号とは意味が違うよ。


605 :Now_loading...774KB:2008/02/02(土) 13:13:46 ID:ic+qnm3w
>>603
>オールマイティーに対応しているデータ型。
これで合ってる。というか、なんでも「できてしまう」データ型と言った方がいいかも(っつーか、すべてのクラスの元)。
Object型ってのは、1冊のノートの自由なページに落書きして、
そこに自分ルールで名前を付けたポストイットにでも挟んで置いておけるような物。

メモしておいたノートの内容にアクセスしたければ、ポストイットの名前を頼りにページを開いて、
そこに書いてある事を取り出す。この時値が書いてあれば値を、関数だったら関数を取り出す。

var o={
_name:"HOGE",
sayName:function(){return this._name;}
}
trace(o.sayName())
そんだけ。

606 :Now_loading...774KB:2008/02/02(土) 14:36:55 ID:O/HtUlkt
基本的にObject型は原始的なハッシュテーブルで、
キーをuintに制限して、列挙可能にしたのがArray
という考え方でおk

perlやJavaScriptのようなプロトタイプベースの言語に
共通した考え方かと

607 :Now_loading...774KB:2008/02/02(土) 15:38:02 ID:TlO9WaIM
>>604-606
解説ありがとうございます、まだ解釈できたような・・・できてないような感じです
プログラムの様な物を扱ったのはASが始めてなので、こういった詳しい構造の勉強もしてみた方がいいかもしれませんね
ありがとうございました


608 :Now_loading...774KB:2008/02/02(土) 16:46:56 ID:l72qFA1i
別で持ってきた画像に疑似的3Dのような描画が出来るようなコードが組みたいのですが
どう組んだら良いのか分かりません…。
例えばビルの絵に沿って奥行きが出るように描画、といったものです。

参考サイトなども見つからなくて検討もつかない状態です…。
どのようにコードを組んだらいいのでしょうか。
くだらない質問で申し訳ないですが、よろしくお願いします。

ASはAS2.0を使用しています。

609 :Now_loading...774KB:2008/02/02(土) 16:59:09 ID:9wk947L/
まず超高度な人工知能を作る

610 :Now_loading...774KB:2008/02/02(土) 17:47:14 ID:a6hF1ALx
AS3、Flex3で質問です。
指定した枠内に複数のオブジェクトを表示させたいのですが、
複数のオブジェクトに同時にmaskをかけることは出来ますでしょうか?

オブジェクトが一つの間はマスクが掛かっているのですが、
二つ目のオブジェクトを生成しマスクを掛けた時点で、
一つ目のマスクが外れてしまい、どうしていいものか悩んでいます。
よろしくお願いいたします。

>>608
全然分かっていないのですが、一から書くのはしんどそうなので
ありもののライブラリを使ってみては?
そーゆーことでは無かったらごめんなさい。

611 :Now_loading...774KB:2008/02/03(日) 13:30:32 ID:gf2M+dzi
ここで聞いていいかどうか分からないけど
XPath4As2 で特定の XML 要素にアクセスしたい時、例えば↓の場合

<hoge:test xmlns:test="hogehoge">
  <hoge:ng no="1" />
  <hoge:ng no="2" />
  <hoge:ng no="3" />
  <hoge:ng no="4" />
</hoge:text>

みたいに名前空間が指定してある場合どうパスを書けばいいんですかね?
名前空間が無ければできるんですけど…

612 :611:2008/02/03(日) 14:39:34 ID:gf2M+dzi
自己レス。接頭辞付で指定するんですね。

XPath.selectSingleNode(this, "hoge:test/hoge:ng[@no='1']");

これでアクセスできましたが…、接頭辞ではなく 名前空間 URI で指定は
出来ないんですかね?

613 :Now_loading...774KB:2008/02/03(日) 14:57:35 ID:YmnAzNog
オールフラッシュの企業ページで、メニューボタンを押すとローディングバーが出てそのページのswfを読み込むタイプで
出てきたローディングバーの説明を見る限り、その表示するswfやその中で使う画像・XMLも一気に読み込んでいるようなのですが
あれは読み込む側(メインメニュー等があるメインswf側)でswf・画像・XMLを一気に読み込み、読み込んだswf側に
そのデータを送って処理しているのでしょうか?

自分が今までやっていたのは、メニューボタンを押すとそのページのswfのみを読み込む形の物で
その後の学習で画像やXMLの読み込みを知ったので、できれば先のページのように纏めて読み込むような形にしたいのです
また、メインのswf側から読み込んだswfにデータを送るにはどうすればよいのでしょうか

ASは2.0、FLASH8使用です、よろしくお願いします


614 :611:2008/02/03(日) 15:03:21 ID:gf2M+dzi
更に自己レス。初めにソースを見てればよかったorz

XPath.selectSingleNode(this, "//*[namespaceURI() = 'hogehoge']");

namespace-uri ではなく namespaceURI っていう関数を使用するんですね。
これで名前空間で絞り込めると。

615 :608:2008/02/03(日) 15:09:12 ID:vOuz0hS3
返事遅れました。
>>611
ありもののライブラリとはなんでしょうか?;
ググったのですが、いまいち分からなかったです…。
初心者で申し訳ありません。





616 :Now_loading...774KB:2008/02/03(日) 17:09:56 ID:QHzn8uWo
AS2.0のFlash8で、マウスがボタンに乗っても、マウスポインタの形を変えない方法ってある??
enabled使うとボタンの効果が消えてしまうんだ。

誰か教えてエロイ人。

617 :Now_loading...774KB:2008/02/03(日) 17:27:46 ID:fAARfySe
useHandCursor

618 :Now_loading...774KB:2008/02/03(日) 17:42:36 ID:QHzn8uWo
>>617
まじお前天才。愛してる。

619 :Now_loading...774KB:2008/02/03(日) 19:13:35 ID:CmKtWUXf
Textのスタイルにa:link、a:hoverを追加したいのですが、
CSSを使ったりしてもできませんでした。
TextFieldならStyleSheetを生成して可能なことがわかりましたが、
別問題があり、Textでないとだめだとわかりました。
どなたかわかる方がいましたら教えてください。よろしくお願いします。
以下が、適用したいソースです。

<mx:Text width="100%">
<mx:htmlText>
<![CDATA[<a href='http://www.adobe.com'>yest</a>]]>
</mx:htmlText>
</mx:Text>

620 :Now_loading...774KB:2008/02/03(日) 19:31:07 ID:MtbAutbM
>>619
TextもLabelも、htmlTextで使えるタグの種類はかなり限定される。
リファレンスで確認すべし。


621 :Now_loading...774KB:2008/02/03(日) 19:34:10 ID:CmKtWUXf
>>620
リファレンスには、こう書いてあるので、できるはずなんですが・・・
アンカータグ (<a>)
アンカー (<a>) タグは、ハイパーリンクを作成し、次の属性をサポートします。

href ブラウザにロードするページの URL を指定します。URL は、ページをロードしている SWF ファイルの場所に対して絶対的でも相対的でもかまいません。

target ページをロードする先のターゲットウィンドウの名前を指定します。

たとえば、次の HTML コードは、Adobe の Web サイトへの "Go home" というリンクを作成するものです。

<a href='http://www.adobe.com' target='_blank'>Go Home</a>
また、スタイルシートを使用すると、アンカータグに a:link、a:hover、および a:active の各スタイルを定義できます。

<a> タグでは、リンクテキストは青にはなりません。テキストのフォーマットを変更するには、フォーマットタグを適用する必要があります。また、スタイルシートを使用すると、アンカータグに a:link、a:hover、および a:active の各スタイルを定義できます。


622 :Now_loading...774KB:2008/02/03(日) 19:38:26 ID:/ohg9gbp
>>613
普通は読み込まれる側に書く。

623 :Now_loading...774KB:2008/02/03(日) 21:05:59 ID:MtbAutbM
>>621
要するに、CSSでの表現がわからない。
もちろんぼくもわからない。

このひともわからないみたいだが、解決はしてくれている。
ttp://www.jabbypanda.com/blog/?p=24

624 :Now_loading...774KB:2008/02/04(月) 00:31:47 ID:hGzLtP41
>>613
一番簡単なのは、本体側にデータ取得関数を置いて
読み込んだswfからその関数を呼んで取得する。

625 :Now_loading...774KB:2008/02/04(月) 00:51:06 ID:hGzLtP41
>>608
日本はAS3からの連中が多いからそこそこ盛り上がってるが、AS2以下は国内サイトはろくなのない。
AS2なら海外のgame関係のサイトを探すべし。gotoAndPlay.itとかは昔からある情報源。ライブラリならosflash.orgあたりで3Dライブラリでも探してみたらどう?


626 :608:2008/02/04(月) 02:19:32 ID:3UM2UDs8
>>625
すんません;
ご回答感謝致します。
頑張って探してみます。ありがとうございます。

627 :Now_loading...774KB:2008/02/04(月) 22:23:53 ID:N0X6ZIMk
Ctrl + カーソルキーのショートカットの無効化は無理なんだっけ?

628 :Now_loading...774KB:2008/02/04(月) 22:47:24 ID:7ymoCOkI
スレ違いなのはもちろんだが、ホスト規制でずっとスレ立てられないんで。
というか、製作初心者スレと超基本スレ誰か立てろよ・・・。誰も無関心で泣けてくる。

↓超基本スレテンプレ(一部修正・製作初心者とかぶるんでFlash関係質問スレに)↓
-------------------------------------------------------------
Flash関係の超基本的な質問はここでしろ! part37
-------------------------------------------------------------
どの質問スレでもスルーされるような超基本的な質問はここでしろ!
製作関係だけじゃなくFlash関係ならなんでもしやがれ!
調べるのがめんどくさい初心者はなんでもかいとけ!知ってたら即、答えるし、
知らんかったら知らんと書く。検索なんかクソでも喰っとけ!教えて君以外は逝ってヨシ!

★しかし製作関係の質問で、良心があるならせめて質問前に↓まずここに目を通せ!!
[Q&A と 問題解決リンク]
 http://z-temp.hp.infoseek.co.jp/2ch/flash_faq.htm

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

前スレ
Flashの超基本的な質問はここでしろ! part36
http://pc11.2ch.net/test/read.cgi/swf/1192790041/
関連スレ
Flash製作初心者の質問スレッド レイヤー37(Dat落ち)
http://pc11.2ch.net/test/read.cgi/swf/1187880560/
ActionScript 誰かが物凄い勢いで解答するスレ 18
http://pc11.2ch.net/test/read.cgi/swf/1194838207/
☆FlashムービーをフリーウェアでAVIに変換させたい!!!!☆2
http://pc11.2ch.net/test/read.cgi/swf/1162129601/

629 :Now_loading...774KB:2008/02/04(月) 22:52:56 ID:7ymoCOkI
↓製作初心者質問スレテンプレ↓
-------------------------------------------------------------
Flash製作初心者の質問スレッド レイヤー38
-------------------------------------------------------------
FLASH製作したいけどわからないことがいっぱい。
そんなひとはここで質問してみよう。
FAQ、>>1-10あたりは必ず一度読んできてください。
Adobe/Macromedia Flash以外のソフトを使用している場合は、専用スレで。

/* 質問の際、以下の3点を"明確"にするとよろし(レスしやすい) */
【やりたい事】(例:×効果音つけたいです。○ボタンクリックしたら鳴らしたいです。)
【 質問内容 】(例:×やり方を教えて。○このような方法でやってるんですが〜云々。)
【 使用環境 】(例:×質問です。FLASHで〜云々。○FlashCS3をWinXPで使用です。)

/* スレのローカルルール・マナーです。 */
・ マルチポスト(複数の板・スレに同じ内容を質問すること)はやめましょう。
・ 他から誘導された場合は、その旨を書き添えましょう。(マルチポストとの区別)
・ 2回目以降の書き込みの際、名前欄に発言したレス番号を入れて下さい。
・ 情報の小出しは敬遠される傾向があります。ご了承ください。

前スレ
Flash製作初心者の質問スレッド レイヤー37
http://pc11.2ch.net/test/read.cgi/swf/1187880560/
関連スレ
ActionScript 誰かが物凄い勢いで解答するスレ 18
http://pc11.2ch.net/test/read.cgi/swf/1194838207/
Flashの超基本的な質問はここでしろ! part36
http://pc11.2ch.net/test/read.cgi/swf/1192790041/
Flash作成ソフトSuzuka Layer4
http://pc11.2ch.net/test/read.cgi/swf/1195556672/
無料flash作成ソフト“ParaFla!” part21
http://pc11.2ch.net/test/read.cgi/swf/1201080578/

630 :Now_loading...774KB:2008/02/04(月) 22:54:51 ID:ZTPS0siu
俺も立てようとしたんだが、ホスト規制で×
立てられる方お願いします

631 :Now_loading...774KB:2008/02/05(火) 04:01:27 ID:ymbC/hKB
超基本的な質問スレはもう立ってるみたいなんで、製作初心者質問スレ
立ててきます

632 :Now_loading...774KB:2008/02/05(火) 04:06:21 ID:ymbC/hKB
ttp://pc11.2ch.net/test/read.cgi/swf/1202151748/

立ちましたので一応

633 :Now_loading...774KB:2008/02/05(火) 17:15:14 ID:WR/G7nWN
as2でCASAを使って、xml読み込み+読み込みの進行状況を表示したいです
下記のスクリプトで読み込みだけは成功したのですが(コメント/**/をしたままだと正常に動きます)
公式のページを参考に
ttp://casaframework.org/docs/org_casaframework_load_LoadGroup.html
EVENT_LOAD_PERCENTを追加してみましたが

クラスまたはインターフェイス 'myXmlLoad' をロードできませんでした。
function xmlLoadPercent(sender:myXmlLoad, progress:Percent):Void {

C:\...org\casaframework\load\data\xml\XmlLoad.as: メンバーがプライベートで、アクセスできません。
super.$onData(src);

C:\...org\casaframework\load\data\xml\XmlLoad.as: メンバーがプライベートで、アクセスできません。
super.$onComplete();

というエラーが出てしまいます
公式ページのExampleと書いてあるソースをちょっと変えてやってみましたが
上記と同じエラーがでてしまいます
訂正箇所があればご指導下さい、お願いします

var myXmlLoad:XmlLoad = new XmlLoad("xml/roomData.xml");
/* function xmlLoadPercent(sender:myXmlLoad, progress:Percent):Void {
trace("My group is " + progress.getPercentage() + "% loaded.");
} */
function xmlLoadComp(sender:XmlLoad):Void {
xmlArray = XmlUtil.xmlToObject(this.myXmlLoad.getXml())["data"][0]["room"];
}
/* this.myXmlLoad.addEventObserver(this, XmlLoad.EVENT_LOAD_PERCENT, "xmlLoadPercent"); */
this.myXmlLoad.addEventObserver(this, XmlLoad.EVENT_LOAD_COMPLETE, "xmlLoadComp");
myXmlLoad.start();

634 :Now_loading...774KB:2008/02/05(火) 17:42:58 ID:PetvjzP3
ひとつ前のレスぐらい読めよ…

635 :594:2008/02/05(火) 18:04:18 ID:AvqemDKK
>>596
返信ありがとうございました。
ごもっともな意見だったのですが、どうしても2次元配列にはしたくなかったので無理やり処理しました。
変数 count = 4(ボタンのカウント);hanbetu = 0(このASで得られるフラグ)
配列 Array[1] = 1432;(今新たに1〜5の中から一つ選び、左の変数に被らなければ追加したい)
例)選択=1…"1"432に被るのでキャンセル、選択=5…1432に被らないので14325と追記
var kari = 0;
var works
if(count==1){
kari=Array[1];
}
else if(count>1){
for(i=count;i<1;i--){
kari = Array[1]/Math.pow(10,count-1);
if(kari == G){
Hanetu = 1;
}else{
Hanbetu =2;
}}}
と、こんな感じで判別し、別のASでフラグ別に処理しました。我ながらかっちょわるい・・・orz

それと、また新たに質問です。
環境はMXpro、携帯向けということで作っています。
コンテンツの進行状況をパスワードにして利用者が次回は途中から始められるようにしたいのです。
現在仮に作ったパスワードがa11b3c145d90・・・というものなのですが、読み込むASが作れませんでしたorz
ちなみに上のパスはコンテンツ内で取得した変数を使用しています(見たまんま)。
どなたか扱いやすいパスの作り方、あるいは上記のパスを読み込む方法がわかる方がいたら教授願います。
激しくクレクレ君風味ですが、ご容赦くださいm(__)m

636 :Now_loading...774KB:2008/02/05(火) 18:16:17 ID:PetvjzP3
>>635
split使えば
「a11-b3-c145-d90・・・」ってすれば取り出せる。

が、これ簡単に改竄できるけどいいの?

そもそもこんな簡単な質問するなら>>632池よ

637 :Now_loading...774KB:2008/02/05(火) 18:23:22 ID:WR/G7nWN
>>634
すみません、そちらのスレな内容でしたでしょうか・・・
633の内容で自分で大きな勘違いをしていましたので、今は取り敢えずまた自力で調べなおしてやってみようと思います
スレ汚し失礼しました

638 :635:2008/02/05(火) 18:28:30 ID:AvqemDKK
>>636
超高速の返信ありがとうございます。
改竄されても問題ありませんので、参考にさせていただきます。
split、まったくの無知でした。今から調べてきます。

639 :Now_loading...774KB:2008/02/05(火) 20:04:37 ID:ALXWnwVI
質問です。

ターゲットパスを変数に格納するときは普通に、


var targetMC:String="mc1.mc2.mc3";

みたいな感じで使う時は、


targetMC.ブロパティ

で大丈夫ですか?


いま確認出来ないのでお願いします。

640 :Now_loading...774KB:2008/02/05(火) 20:44:57 ID:PetvjzP3
>>639
日本語で頼む

641 :Now_loading...774KB:2008/02/05(火) 21:03:11 ID:NrzZCpte
> targetMC.ブロパティ
ぶろぱてぃ?

642 :Now_loading...774KB:2008/02/05(火) 22:13:06 ID:GgIA6BCC
>>639
var targetMC:MovieClip=mc1.mc2.mc3;
みたいな感じで使う時は、
targetMC.プロパティ
でいいんじゃないかな。文字列でなくて、直接の参照を代入すればおk。

643 :Now_loading...774KB:2008/02/05(火) 22:32:53 ID:PetvjzP3
質問です。

バカをスレから追い出すにはどうすればいいでしょうか?

644 :Now_loading...774KB:2008/02/05(火) 22:36:34 ID:/m8Wor1K
豆投げりゃいいんじゃないのか

645 :Now_loading...774KB:2008/02/05(火) 22:40:02 ID:5/xcMMkg
誰かが物凄い勢いで追い出すスレ 18

646 :639:2008/02/06(水) 00:24:39 ID:cCDM0mHB
>642
出来ました!
ありがとうございました。




647 :Now_loading...774KB:2008/02/06(水) 11:29:01 ID:qm3ZnQdS
たのむ 知ってる人いる?(AS3)
Ctrl + カーソルキーのショートカット(コマ送り等)の無効化は無理なんだっけ?
ゲームだと間違えてキー押された場合バグって困ってるんだ

648 :Now_loading...774KB:2008/02/06(水) 11:31:27 ID:CPpZvGRw
>>647
javascriptじゃダメなの?

649 :Now_loading...774KB:2008/02/06(水) 11:58:19 ID:/zfSUbQF
おねがいします。
環境はFlashMX2004をMacOS10.39で使用

親MCが包括している子MC全てを指定する方法はないでしょうか?

ムービーをボタンでコントロールしたいのですが
親MC内に子MCが複数存在する作りのため、
親子を同時にコントロールする必要があります。
親MCと子MCに対してそれぞれのインスタンス名を記述するのではなく
親MCのインスタンス名から、親の包括している全ての子MCを指定できないでしょうか?

650 :Now_loading...774KB:2008/02/06(水) 12:06:58 ID:5WucSyHL
>親MCと子MCに対してそれぞれのインスタンス名を記述する
のがちゃんとした作り。
子MCの列挙ならfor inで出来る

651 :649:2008/02/06(水) 12:19:05 ID:/zfSUbQF
>650
解決しました
非常に助かりました、ありがとうございました。

652 :Now_loading...774KB:2008/02/06(水) 12:48:37 ID:C3ULr4fm
>>647
できる。
プレビュー画面中に「制御」>「キーボードショートカットを無効化」

653 :Now_loading...774KB:2008/02/06(水) 13:04:25 ID:5P2GCI4z
>>647
ロード用のSWFと、ゲーム用のSWFに分けて作るのが王道じゃないかな?
ロード用のSWFは1フレームしかないから[ctrl]+[→]とか関係ないし

654 :Now_loading...774KB:2008/02/06(水) 13:13:51 ID:gxBiLEix
TextInputコンポーネントを設置した場合、外側をクリックしてもフォーカスが切れないんですけど、
外側クリックでフォーカスを切る方法はありますか?

655 :654:2008/02/06(水) 13:14:26 ID:gxBiLEix
環境はCS3です。

656 :647:2008/02/06(水) 15:00:13 ID:qm3ZnQdS
レスdでつ

>>653
あーなるほど そういう手法が! 王道ってみんなそうやってんのか!? 初めて知った
AS2でかなり作っちゃったんで変更がもう不可能に近いな…(_root参照しまくってるorz)
次から気を付けます

657 :Now_loading...774KB:2008/02/06(水) 15:16:27 ID:3SdeuIJT
>>656
つMovieClip._lockroot


658 :647:2008/02/06(水) 16:43:34 ID:qm3ZnQdS
∩(゚∀゚)∩ うををををををできたああああああ!!!

>>657
感謝っす! てかみんな色々知ってんだなー

659 :Now_loading...774KB:2008/02/06(水) 17:31:09 ID:RN6rKHqb
>>658
悪い事も色々知ってるけどね

660 :Now_loading...774KB:2008/02/06(水) 20:28:26 ID:RRsXdEFU
環境 : XP SP2, FLA8 pro, AS 2.0

質問です。
FLASH側でマウスカーソルを描写させているのですが、
コンテキスト表示時のみOS側のカーソルを表示させるにはどうすればいいのでしょうか?
自分が思いついた方法は下記のスクリプトなのですが、
これだと常時非表示になってしまい、コンテキスト表示時にOS側のカーソルが表示されないのです。

Mouse.hide();
attachMovie("Mouse_cursor","MouseCursor_mc", 1048574, {_x:0, _y:0});
MouseCursor_mc.onMouseMove = function ()
{
    this._x = _xmouse-1;
    this._y = _ymouse-1;

    Mouse.hide();
    updateAfterEvent();
}
// 上記のMouse.hide();ではうまくいかなかったので
// onEnterFrameでもやってみたが、同じでした

661 :660:2008/02/07(木) 03:09:18 ID:MtMqv/s4
ごめん、自己解決したけど
力技で無理やりできた

createEmptyMovieClip("_mc", 1048575);
with (_mc) {
    //Stage大の四角形を描写 (省略)
}

Mouse.hide();
attachMovie("Mouse_cursor","MouseCursor_mc", 1048574);
MouseCursor_mc.onMouseMove = function ()
{
    //>>660と同じなので省略
}

//ContextMenuで右クリック時にカーソルを表示させ、
//_mcを押したことを確認したら非表示。
var _cm:ContextMenu = new ContextMenu(function() {
    Mouse.show();
    _mc.onPress = function ()
    {
        Mouse.hide();
        delete _mc.onPress;
    }

    _mc.useHandCursor = false;
});
_root.menu = _cm;


662 :Now_loading...774KB:2008/02/08(金) 12:47:07 ID:HiWO0rUw
質問です。
_visibleで非表示にしたMCでもメモリやCPUの処理を占有してるんでしょうか?

663 :Now_loading...774KB:2008/02/08(金) 12:55:50 ID:gu0oRJ1J
描画処理走らせるのに必要なCPU,メモリは開放されるだろうね

664 :Now_loading...774KB:2008/02/08(金) 17:06:15 ID:SgkcgOPr
>>662
_visibleで操作できるっていうことは、オブジェクトが存在するだけでなくて、
表示リスト(ツリー)に登録されている状態なので、描画処理も走っている
と思われます。あと、当然MC自体の必要とするリソースはGCの対象でない
ため、確保されたままのはずです(MCへの参照が1つもなくなって、かつ
フレームが進行しないとGC対象にならない)。

665 :Now_loading...774KB:2008/02/08(金) 17:25:17 ID:Cg17fREJ
質問です
FlexでビルドしたswfはFlashCS3で配置して使うことはできないのでしょうか?
mx.** のライブラリは一切使っていません。

666 :Now_loading...774KB:2008/02/08(金) 17:37:10 ID:qn6/mUhW
使える

667 :Now_loading...774KB:2008/02/08(金) 17:55:00 ID:Cg17fREJ
>>666
実験のためFlexでシンプルなMovieClipに丸を描いて、リリースビルドで作ったSWFをFlashCS3に「読み込み>ステージに読み込み」しても、何も配置された気配がありません。この方針でうまくいくものなのでしょうか?
どこかに実例紹介などあると助かります。


668 :Now_loading...774KB:2008/02/08(金) 18:00:28 ID:qn6/mUhW
丸描くって、どうせ実行時に描いたんだろ?表示されなくて当然じゃね?

669 :Now_loading...774KB:2008/02/08(金) 18:40:56 ID:G6ButrlT
stageの背景の色を動的に変えたいのですが。


670 :Now_loading...774KB:2008/02/08(金) 18:46:02 ID:IlPNr77C
>>669
1.画面の画角の短径をspriteに描く
2.stageのサイズ変更イベントでのサイズを画角(stageWidth/stageHeight)にフィットさせる


671 :Now_loading...774KB:2008/02/08(金) 20:25:53 ID:Cg17fREJ
>>668
すんません。。わかりません。これではダメなのですか?
どう直したらよいかぜひ教えてください。

package {
import flash.display.MovieClip;
import flash.text.TextField;
public class MovieClipExample extends MovieClip {
public function MovieClipExample() {
trace("test1") ;
this.graphics.beginFill(0xFF0000) ;
this.graphics.drawCircle(50,50,50) ;
this.graphics.endFill() ;
trace("test2") ;
}
}
}

672 :Now_loading...774KB:2008/02/08(金) 22:14:00 ID:oG74ImKo
すいません質問です。

あるメニューフラッシュを作ったのですがフォントの埋め込みなどによってやや重く
ロードに時間がかかります。
なのでそのswfファイルを別のswfから読み込み再生させたいのです。
ロード画面で完全に読み込んだらそのswfを表示させたいのですが
読み込み側のswfから先読みロード画面も兼ねた読み込みが作れるのでしょうか

673 :Now_loading...774KB:2008/02/08(金) 22:19:19 ID:HiWO0rUw
>>663
レスありがとうございます。
そうなんです、完全に処理から解放されてるとは思ってないのですが、
描画しないだけ負担は減ってるのかが知りたかったんです。

>>664

レスありがとうございます。
上記の内容によっては完全に削除するか非表示にするか決めようと思ってました。

削除してしまうと次に表示する時に読み込みラグが少し発生するため工夫が必要だったので。


これとは別に質問です

FLVコンポーネントで複数の動画をストリーミング再生しています。
そこ際に、Aの動画が終わった後にcompleteイベントで次のBの動画を読み込むと、
AとBの切れ目に一瞬間隔が空くので見栄えが悪いのです。
別に背景のMCなどを配置してみたり、色々やってみたのですが、
回線速度によってはタイミングが合わないなど問題が出てきました。

そこで、completeイベントの部分はタイミングが合うので、
再生開始のタイミングを合わせたいのですが、
completeイベントに対しても、逆のstartイベントのようなものはないでしょうか?




674 :Now_loading...774KB:2008/02/08(金) 23:03:26 ID:oihrqYRJ
>>671
それだと「ムービークリップに円を描画した」まではいいけど
そのムービークリップを「どこに描画する」という処理がないわけだ。

var _MovieClipExample:MovieClipExample = new MovieClipExample()
addChild( _MovieClipExample );

675 :Now_loading...774KB:2008/02/08(金) 23:37:09 ID:Cg17fREJ
>>674
Flexでビルドした swf を、FlashCS3に「読み込み>ステージに読み込み」したあと、FlashCS3上のスクリプトで下のを呼べばいいのですか?

var _MovieClipExample:MovieClipExample = new MovieClipExample()
addChild( _MovieClipExample );

676 :Now_loading...774KB:2008/02/09(土) 00:41:09 ID:q6zKo2Zb
【やりたい事】雪を降らせるASの改造
【 使用環境 】WwindowsXP / Flash8
【 質問内容 】
雪を降らせるASをコピペしてきて、下から上へ泡が浮き上がっていくflashを作っています。
↓のASを使うと画面底辺すべてから泡が出てきます。
泡が出る位置や、範囲
(できれば1.画面中央から2.上へ広がって3.フェードアウトしていくように←3はマスクでも可能)
を指定するには、どこに何の記述をすれば可能ですか?

ムービーサイズの指定を変更するだけだと右と下だけに空白ができてしまい、
枠を別に作るのも考えましたが、泡が半分に切れてしまって見にくかったです。

677 :Now_loading...774KB:2008/02/09(土) 00:42:01 ID:q6zKo2Zb
長すぎたので分けました。
MC↓
onClipEvent (load) {
//specifies the size of the movie stage
movieWidth = 480;
movieHeight = 250;
rad = 0;

//variables that will modify the falling snow
i = 1+Math.random()*2;
k = -Math.PI+Math.random()*Math.PI;

//giving each snowflake unique characteristics
this._xscale = this._yscale=50+Math.random()*100;
this._alpha = 75+Math.random()*100;
this._x = -10+Math.random()*movieWidth;
this._y = -10+Math.random()*movieHeight;
}
onClipEvent (enterFrame) {
//putting it all together
rad += (k/180)*Math.PI;
this._x -= Math.cos(rad);
this._y -= i;
if (this._y<=0) {
this._y = movieHeight+10;
}
if ((this._x>=movieWidth) || (this._x<=0)) {
this._x = -10+Math.random()*movieWidth;
this._y = movieHeight+10;
}
}

678 :Now_loading...774KB:2008/02/09(土) 00:43:35 ID:q6zKo2Zb
長すぎその2
フレーム↓

for (k=0; k<30; k++) {
duplicateMovieClip(_root.snow, "snow"+k, k);
}

679 :Now_loading...774KB:2008/02/09(土) 02:44:06 ID:JCp2EuIG
1.
this._y = -10+Math.random()*movieHeight;

this._y = -10+Math.random()*movieHeight/2;
にすればいいんじゃない?
初期位置を高さの半分(つまり真ん中)あたりに設定

2.
方向は変わってないからそのまま上に行くっしょ

3.
this._y -= i;
の下あたりに
this._alpha -= 適当な数字・数式;
かな
Math.random()*5 とか
数字が大きければ早くフェードアウトする
実行して調整してみて
ちなみに、_alphaが負になった時の挙動は知らない

見ただけで適当に言ってるので間違ってたらすまんこ

680 :Now_loading...774KB:2008/02/09(土) 02:49:38 ID:JCp2EuIG
あぁ、ごめん
1.は2箇所ある
this._y = movieHeight+10;

this._y = movieHeight/2;
にも変更しないとだね

681 :Now_loading...774KB:2008/02/09(土) 02:51:21 ID:JCp2EuIG
しかも、コメントが不適切だ。。。

初期位置を高さの半分(つまり真ん中)あたりに設定

初期位置を画面全体ではなく、上半分にランダムに設定

もう寝るよ。がんばって


682 :Now_loading...774KB:2008/02/09(土) 04:27:08 ID:y0asE4cq
マウス追尾のasを拾って(freeのもの)改変しています。
flash5用のものをflash8に変換したいのですが
上手くいきません。

**エラー** シーン = Scene 1, レイヤー = Layer 1, フレーム = 1 :行 6:')' または ',' が必要です。
_root["clip"].duplicateMovieClip("clip" add i, (i-1));
**エラー** シーン = Scene 1, レイヤー = Layer 1, フレーム = 1 :行 7:ステートメントは on/onClipEvent ハンドラ内でなくてはいけません。
xdis = (_root.clip._x-_root._xmouse)/5;
**エラー** シーン = Scene 1, レイヤー = Layer 1, フレーム = 1 :行 8:ステートメントは on/onClipEvent ハンドラ内でなくてはいけません。
ydis = (_root.clip._y-_root._ymouse)/5;
**エラー** シーン = Scene 1, レイヤー = Layer 1, フレーム = 1 :行 9:ステートメントは on/onClipEvent ハンドラ内でなくてはいけません。
_root.clip._x = _root.clip._x - xdis;
**エラー** シーン = Scene 1, レイヤー = Layer 1, フレーム = 1 :行 10:ステートメントは on/onClipEvent ハンドラ内でなくてはいけません。
_root.clip._y = _root.clip._y - ydis;
**エラー** シーン = Scene 1, レイヤー = Layer 1, フレーム = 1 :行 11:']' が必要です。
_root["clip" add i]._x = _root["clip" add i]._x - xdis;

683 :Now_loading...774KB:2008/02/09(土) 04:29:22 ID:y0asE4cq
ソースは以下の感じなんですが
どう変換すれば、flash8でも問題なくなりますか?

onClipEvent (load) {
_root.clip._visible = 0;
i = 1;
}

(まだ続きます)

684 :Now_loading...774KB:2008/02/09(土) 04:30:01 ID:y0asE4cq
onClipEvent (enterFrame) {
_root["clip"].duplicateMovieClip("clip" add i, (i-1));
xdis = (_root.clip._x-_root._xmouse)/5;
ydis = (_root.clip._y-_root._ymouse)/5;
_root.clip._x = _root.clip._x - xdis;
_root.clip._y = _root.clip._y - ydis;
_root["clip" add i]._x = _root["clip" add i]._x - xdis;
_root["clip" add i]._y = _root["clip" add i]._y - ydis;
_root["clip" add i]._xscale = xdis*5;
_root["clip" add i]._yscale = ydis*5
//_root["clip" add i]._rotation = random(i*4);
_root["clip" add i]._rotation = i;
i = i+1;
}

どなたか、教えてください。よろしくお願いします。

685 :Now_loading...774KB:2008/02/09(土) 05:12:58 ID:NAj+k2R6
fla5のソースなんぞ使うなよw
マウス追尾なんてググればAS2でいくらでもサンプルあるだろ

686 :Now_loading...774KB:2008/02/09(土) 09:55:18 ID:21Tn05Dt
>>682
**エラー** シーン = Scene 1, レイヤー = Layer 1, フレーム = 1 :行 6:')' または ',' が必要です。
_root["clip"].duplicateMovieClip("clip" add i, (i-1));

勘だけど1行目からこのエラーって事は「add」使えないんじゃない?
全部「+」にしてみれ

687 :Now_loading...774KB:2008/02/09(土) 13:38:17 ID:y0asE4cq
>>685
これ気に入ってて、使いたいんです。
アホだとは思うんですけど・・・。

>>686
全部「+」に変えたらいけました。
ありがとうございました。

688 :Now_loading...774KB:2008/02/09(土) 14:00:25 ID:q6zKo2Zb
>>670
this._y = -10+Math.random()*movieHeight/2;
を変更することで開始位置変更ができました!
ありがとうございます!

ただ、アルファの方で
onClipEvent (enterFrame) {
//putting it all together
〜略〜
       this._y -= i;
this._alpha -=Math.random()*5
と変更してみたところ、ループしていた泡が
1順して出てこなくなってしまいました。付け足す位置間違ってるのかな?

あと、こちらの説明が悪かったのですが
画面の中に水槽が置いてあってその中にだけ泡を発生させたい(回←四角の中に四角いものがある)
ので、出現位置と同じように、泡の出る横幅や、泡が消える位置も指定したいのですが
(現在は水槽以外のところにも泡がある)
よろしければ教えて下さい。

689 :Now_loading...774KB:2008/02/09(土) 15:25:32 ID:21Tn05Dt
>>688
とりあえず泡が消えるのはalpha値を戻してないから透明になってる。
泡が消去位置に来たら発生位置に戻るようなロジックなのでalphaも戻さないといけない

下半分については折角>>679が表示位置について教えてくれてるのだから
修正したソースと前のソースの差異を見比べて根本的な仕組みを分かって欲しい所

泡を発生させる位置は(旧処理だが)
this._x = -10+Math.random()*movieWidth;
this._y = -10+Math.random()*movieHeight;

泡を消す条件は
if (this._y<=0) か
if ((this._x>=movieWidth) || (this._x<=0))

この二つを踏まえて再考してみて

690 :Now_loading...774KB:2008/02/09(土) 16:15:32 ID:q6zKo2Zb
>>689
回答ありがとうございます。
↓のように変更したら少し近づきました!ありがとうございます。
最初の高さと幅の指定も実際より減らして調節してるのですが、
ここはいじらない方がいいのでしょうか?(実際は480*360)

あと、ループして最初に戻ったときにまとめて泡が出るようになった気がするのですが
そうでない泡もあるので気のせいなのかな・・・?

691 :Now_loading...774KB:2008/02/09(土) 16:15:58 ID:q6zKo2Zb
onClipEvent (load) {
//specifies the size of the movie stage
movieWidth = 340;
movieHeight = 360;
rad = 0;

//variables that will modify the falling snow
i = 1+Math.random()*2;
k = -Math.PI+Math.random()*Math.PI;

//giving each snowflake unique characteristics
this._xscale = this._yscale=50+Math.random()*100;
this._alpha = 75+Math.random()*100;
this._x = +130+Math.random()*340;
this._y = -10+Math.random()*290;
}
onClipEvent (enterFrame) {
//putting it all together
rad += (k/180)*Math.PI;
this._x -= Math.cos(rad);
this._y -= i;
if (this._y<=0) {
this._y = 290;
}
if ((this._x>=340) || (this._x<=0)) {
this._x = +130+Math.random()*340;
this._y = 290;
}
}

692 :Now_loading...774KB:2008/02/09(土) 17:27:48 ID:VWiYJCSA
なんか変なコードだな・・・
this._x = +130+Math.random()*340;
だと、_xは130〜470の範囲内の値をとるわけで、
約1/3はリセット直後にも関わらず最初から表示範囲の
340超えてることになる。そもそも変だ。

693 :Now_loading...774KB:2008/02/09(土) 17:44:06 ID:21Tn05Dt
>>690
最初の
this._x = +130+Math.random()*340;
this._y = -10+Math.random()*290;
この処理は初期状態から泡が全体にあるようにするための処理。
ここを
this._x = 120;
this._y = 120;
みたいにすれば初期状態はこの一点から泡が広がるようになる。

<まとめて
気のせい。最初一度に泡を作るからそう見えるだけかと

694 :Now_loading...774KB:2008/02/09(土) 19:59:40 ID:6hh71IqI
>>673
FLVコンポーネントを2つ用意して、Stage上の同じ位置に
配置しておいて、片方が_visible==trueの時にもう片方を
falseにしておいて、false側でプリロードしておけばOKだと思うよ。

695 :Now_loading...774KB:2008/02/10(日) 00:17:16 ID:hrWdN2Q8
>>672
AS1でも2でも3でも可能
親に読み込み画面もたせるのも、子に読み込み画面もたせるのもアリ

696 :Now_loading...774KB:2008/02/10(日) 01:41:06 ID:eTKkSIpa
>>692
指摘ありがとうございます。
画面サイズの数字をいじれば位置が変わるんじゃないかと思って
手当たり次第やった結果です。すみません。

>>693
回答ありがとうございます。
>>689の答えと一緒に考えて↓のようにコードを変えて希望通りの表示位置になりました!
(画面サイズは誤魔化さずに記載)
ときどき範囲外の位置から出てくる泡があるので、おかしいところがあったら指摘して下さい。

alphaは適当にコードを突っ込んでもやっぱり一巡して消えてしまいます。
よろしければもう少し教えて下さい。

697 :Now_loading...774KB:2008/02/10(日) 01:44:25 ID:eTKkSIpa
onClipEvent (load) {
//ステージのサイズを指定します
movieWidth = 480;
movieHeight = 360;
rad = 0;

//降下している雪を変更する変数
i = 1+Math.random()*2;
k = -Math.PI+Math.random()*Math.PI;

//ユニークな特性を各雪片に与えます
this._xscale = this._yscale=50+Math.random()*100;
this._alpha = 75+Math.random()*100;
this._x = 200+Math.random()*100;
this._y = -10+Math.random()*movieHeight;
}
onClipEvent (enterFrame) {
//一斉にそれを置きます x=幅 y=高さ
rad += (k/180)*Math.PI;
this._x -= Math.cos(rad);
this._y -= i;
if (this._y<=50)
{
this._y = movieHeight-70;
}
if ((this._x>=movieWidth-80) || (this._x<=100)) {
this._x = -10+Math.random()*movieHeight;
this._y = movieHeight;
}
}

698 :Now_loading...774KB:2008/02/10(日) 02:46:55 ID:RWGCWE5J
>>697
もうこれで最後でw基礎的な部分ばかりなので次は教則本とか一通り目を通してから質問してください。

onClipEvent (enterFrame) {
//一斉にそれを置きます x=幅 y=高さ ←ここの処理は移動だよ
rad += (k/180)*Math.PI;
this._x -= Math.cos(rad);
this._y -= i;
if (this._y<=50) // 50ピクセルより上に来た泡を下から再度移動させるよ
{
this._y = movieHeight-70;
this._alpha = 75+Math.random()*100; //透明度を初期状態にする
}
// _x:100〜400より外側に出た泡を下から再度移動させるよ
if ((this._x>=movieWidth-80) || (this._x<=100)) {
this._x = -10+Math.random()*movieHeight;
this._y = movieHeight;
this._alpha = 75+Math.random()*100;//透明度を初期状態にする
}
}

699 :Now_loading...774KB:2008/02/10(日) 13:20:55 ID:MYruZ0J9
AS3、どうでもいい疑問というか疑問です。

trace( StageQuality.HIGH ); //結果:high
stage.quality = StageQuality.HIGH;
trace( stage.quality ); //結果:HIGH(なぜか大文字になる)

なんでこんな実装になってるんでしょうか?
stage.quality == StageQuality.HIGH がfalseになるのが
どうも納得いかないw

700 :Now_loading...774KB:2008/02/10(日) 13:46:45 ID:4KQkj+wP
read-only

701 :Now_loading...774KB:2008/02/10(日) 14:14:11 ID:aYzUIxps
>>699
本当だw Stage.qualityのgetterでポカやらかしてんじゃねw

702 :Now_loading...774KB:2008/02/10(日) 19:22:28 ID:1VjiimLA
http://cgi.2chan.net/g/src/1202638832897.jpg

703 :Now_loading...774KB:2008/02/10(日) 23:06:18 ID:eTKkSIpa
>>698
色々すみません。ありがとうございました。
出てくるときに元に戻すんですね。

704 :Now_loading...774KB:2008/02/11(月) 00:30:31 ID:TtJ7L4nM
申し訳ありませんが、どなたかご教授願います。。
var a1:Array = new Array("a","b","c");
var a2:Array = new Array("d","e","f");
for (var i:Number = 1; i<=2; i++) {
for (var j:Number = 0; j<3; j++) {
trace(this["a"+i](j));
}
上記のように複数の配列の複数の値を連続的に取得したい場合、
【this["a"+i](j)】だと【undefined】となってしまうのですが、
【a,b,c,d,e,f】とトレースしてほしい場合、
【this["a"+i](j)】部分をどう変更すればよいのでしょうか。

705 :Now_loading...774KB:2008/02/11(月) 00:31:40 ID:pGXIsNrm
勉強の為にもタイムラインに書かずクラスで処理を、を心がけてやっていたら
アルファを変えるだけクラスとか、ボタン押した時のトゥイーンのクラスとか
完成途中の現時点で、細々としたクラスをタイムライン1フレーム目でnewで十数個呼び出している始末です
こういった処理をよりスマートにする考え方をオブジェクト指向というのでしょうか?
クラス上での上手なスクリプト構築がどうも掴めません・・・
実際仕事でフラッシュサイト作られたりする玄人の人等は、一つのページをどれくらいのasファイルで済ませているものでしょうか

706 :Now_loading...774KB:2008/02/11(月) 00:48:20 ID:yYzM6xdU
>>704
(j) → [j]にして配列にアクセス
trace(this["a"+i][j]);


707 :Now_loading...774KB:2008/02/11(月) 00:52:02 ID:TtJ7L4nM
>>706
! 初心者ミスですね・・・orz
ありがとうございます。

708 :Now_loading...774KB:2008/02/11(月) 02:09:56 ID:TY0GpSOz
>>705
仕様によっては、コマンドパターンとかでアルファのフェードだけ処理するクラス作った
方がスマートな場合もあるからクラスの数とか関係ないと思うが。
拡張性のためには数増えても空のインターフェースやsuperしかないクラス
用意しといた方が便利だし。

709 :Now_loading...774KB:2008/02/11(月) 12:29:00 ID:CxTTc5QU
AS3,FlashCS3テキストフィールドについて質問です。
テキストツールで画面にテキストフィールドを作り、outというインスタンス名を
付けました。プロパティで複数行をチェックして以下のスクリプトを書きました。

out.text = "HR002:標準的な色形をもつもの:defo:midiam:straight:normal:black:hr002.png";

表示はするのですが、フィールドの横幅がまだあるのに、改行位置が「...もつも」
で改行されてしまいます。フィールド幅で改行するにはどうすればいいでしょうか?

710 :Now_loading...774KB:2008/02/11(月) 13:43:20 ID:upnIimEz
FullScreenDisable=1という行をmms.cfgファイルに追加すると、
フルスクリーンモードを無効に出来るようですが、
ASからこの値を取得する方法は無いでしょうか?

711 :Now_loading...774KB:2008/02/11(月) 15:06:14 ID:FjGP5eTo
AS3のMCの挙動っておかしくね?
毎フレームplay(); させたら中の再生ヘッドが止まる!

他にもフレーム移動しただけで 移動先の子MCの中のアニメが動かない!
this.stop();書いてないのに動かない play();させても動かない
おかしいだろこれえええええ!?

712 :Now_loading...774KB:2008/02/11(月) 17:58:10 ID:DOhKgVVB
質問はここでいいのでしょうか・・・

アンケートのような入力フォームを作りたいのですが
どういう開発環境を使えばいいでしょうか?

FlashDevelop+Flex2SDKを入れてみたのですが
フォーム画面のIDEみたいな機能はないみたいで・・・

※仕事とかではないです、趣味でやろうとしてます

713 :Now_loading...774KB:2008/02/11(月) 21:55:53 ID:YZvPfUOu
>>712
紙と鉛筆とflex2
脳内でUIのレイアウトできるならflexだけで十分

>>705
ものによるけど80〜200ファイルくらい
クラスの数が多くても別に偉くないし、少なすぎてもよくないとされているよ


714 :Now_loading...774KB:2008/02/12(火) 00:33:08 ID:7dijUeBh
>>711
パスが間違ってるんだろ

715 :Now_loading...774KB:2008/02/12(火) 02:50:37 ID:vqAE/sxL
>>713
だめだmxmlを直書きなんてやってらんね
やっぱりFlexBuilderをワレズるしかなさそうだ

716 :Now_loading...774KB:2008/02/12(火) 08:17:16 ID:OqVGQbQ9
>>715
クズは早く死んでください

717 :Now_loading...774KB:2008/02/12(火) 20:06:36 ID:0N4LBMWX
AS3の質問です。
以下のようにクラスAを定義しました。
public class A extends Sprite {
...
public override function set width (v:Number):void {
...
}
}
そしてAを継承したBと、さらにBを継承したCというクラスを定義したのですが
BのwidthはAでオーバライドしたものが使われるものの、
CのwidthはDisplayObject標準のもの(scaleXが変わるだけ)になってしまいました。
B,Cどちらともwidth関連の定義はしていません。
そこで、CにおいてもAでオーバーライドしたwidthの挙動を使う方法と、
できればですがどうしてこのような挙動になるのかをどうぞご教授ください…

718 :717:2008/02/12(火) 20:15:30 ID:0N4LBMWX
うわーっ!
すいません、私の勘違いでした…。
ちゃんとAで定義した動作をしていたけど、
間違えてCのインスタンスの親のwidthを変更していたために変な動作になってるように見えているだけでした。
なんてバカなんだ俺・・・気づけよ…orz

719 :Now_loading...774KB:2008/02/12(火) 20:45:15 ID:2IqvmRLB
iroiro使ってると、画面上部のbillboard.swfが
動画:× 再生:× みたいになりませんか?

720 :Now_loading...774KB:2008/02/12(火) 20:45:35 ID:2IqvmRLB
誤爆しました

721 :Now_loading...774KB:2008/02/13(水) 07:55:01 ID:9X0inCA/
>665
の自己レスです。どうも質問の仕方が悪かったようで申し訳ありません。

「Flexで作ったプログラムを、FlashCS3上に(普通の画像のように)配置して
 ActionScriptをできるだけ使わずに一般のクリエータさんが
 気軽に編集できるようにする方法」

が知りたかったのですが、
コンポーネント化によって無事実現できました。

半端な質問でご迷惑をおかけしました。

722 :Now_loading...774KB:2008/02/13(水) 18:50:26 ID:9X0inCA/
質問です
ActionScript3のオブファスケータ(難読化ツール)をご存じないですか?

723 :Now_loading...774KB:2008/02/13(水) 20:45:19 ID:rn+5u1K0
>>722
ねーよ

724 :Now_loading...774KB:2008/02/13(水) 22:39:30 ID:TpTcA76/
以下のxmlファイルをHTTPServiceを使って読み込みます。DataGridにはうまく表示されるのですが、
myXMLの中を参照しようと思うと何も表示されません。なにが原因か教えてください。
<GGG1><MMM1>
<item id="1">
<bCode>0100</bCode>
<bName>Tarou</bName>
</item>
<item id="2">
<bCode>0200</bCode>
<bName>Jirou</bName>
</item>
</GGG1></MMM1>
----------------

<mx:Script><![CDATA[
public var myXML:XML=null;
public function goMenu2():void { httpService3.send();}
public function doSelect3(event:ResultEvent):void {
myXML = httpService3.lastResult.GGG1;
}
//ここでなにも表示されない
public function xmlcnt():void {
Alert.show(myXML.item[0]);
}
]]></mx:Script>
<mx:HTTPService id="httpService3" url="http://localhost/mm.xml" useProxy="false" result="doSelect3(event)"/>
<mx:DataGrid dataProvider="{httpService3.lastResult.GGG1.MMM1.item}">
<mx:DataGridColumn headerText="CODE" dataField="bCode"/>
<mx:DataGridColumn headerText="名" dataField="bName"/>
</mx:DataGrid></mx:Application>

725 :Now_loading...774KB:2008/02/14(木) 00:42:31 ID:scO0pggf
GGGとMMMとやらがあべこべ
アクセスするならmyXML.MMM1.itemかmyXML...item

726 :Now_loading...774KB:2008/02/14(木) 22:33:41 ID:9Rf8SOmE
AS質問とは少し違うのですがCS3でクラスを色々作ってると
上のタブではファイルの管理が手狭になってきました。

VISUAL STUDIOみたいに左側でファイルエクスプローラーを表示しつつ
作業できたら、と思うのですがやはりその場合はeclipseのような別ソフトで
エディタとして使ったりしてるのでしょうか?
「こうするとやりやすいよ」なんて方法があると是非教えて頂きたいです

727 :Now_loading...774KB:2008/02/14(木) 23:06:26 ID:sIqtwLjq
いちおう「プロジェクト」機能ってのがあるにはあるよ。
ただ合うかどうかは使ってみてもらって試すしかわからん。

728 :Now_loading...774KB:2008/02/14(木) 23:26:40 ID:9Rf8SOmE
>>727
おお、ありがとうございます。
逐一開いたり閉じたりするためのフォルダ移動が無くて済むのでとても良いです。
ってこれ新規作成で普通にありますねorz気づかなかった・・・

機能に気づいてないだけな気がしてきたので
AS関連だけじゃくCS3のヘルプを一読しようと思います。ありがとうございました。

729 :Now_loading...774KB:2008/02/15(金) 01:02:47 ID:Ov9rdt9U
>>726
昔からあるやつだが、これもそこそこ
www.gskinner.com/products/gProject/about.php

730 :Now_loading...774KB:2008/02/15(金) 11:41:06 ID:Jv+unhwi
質問させてください。
xPathでXMLを読み込み、ダイナミックテキストに表示します。
import com.xfactorstudio.xml.xpath.*;
var _xml:XML = new XML();
_xml.onLoad = function(success) {
if (success) {
var _arr:Array = XPath.selectNodesAsString(this, "xml/list/@a");
_txt.text = _arr.toString();
}
};
_xml.load("test.xml");

//読み込む"test.xml"の内容はこのとおりです。
<xml>
<list a="hogehoge"/>
<list a="<br>"/>
<list a="ahahaha"/>
</xml>

//結果は、hogehogeしか表示されません。
//XMLの中に"<br>"と書かれてもそのまま表示できるようにするにはどうしたらよいでしょうか?


731 :Now_loading...774KB:2008/02/15(金) 11:52:38 ID:aDuvM29x
xPath使ってないからわからんけど
<br>効かせたいんならhtmlとしてレンタリングしないとダメなんじゃね?

732 :Now_loading...774KB:2008/02/15(金) 12:03:25 ID:Jv+unhwi
わかりにくくてすみません。
<br>タグを効かせたいのではなく、
<br>という文字列としてそのまま表示させたいのです。
ちなみに、xPathをつかわずにfirstChild.childNodesでやってもだめでした。

733 :Now_loading...774KB:2008/02/15(金) 12:14:26 ID:aDuvM29x
ああ、スマン。勘違いした。
だったら逆でレンタリングしなければいいんじゃね?

まずそのダイナミックテキストのテキストフォーマットを見直すのをオススメする

734 :Now_loading...774KB:2008/02/15(金) 12:18:50 ID:fC1YlaI3
>>730
実体参照を忘れてないか?

735 :Now_loading...774KB:2008/02/15(金) 12:51:01 ID:Jv+unhwi
たびたびわかりにくくてすみません。XMLの属性内に、"<>"などどんな文字列を使われていてもそのまま表示できるようにしたいのです。

736 :Now_loading...774KB:2008/02/15(金) 13:20:12 ID:TphLWMDm
無理じゃない?よくわからんけど
--BR--のようにハイフン2連続で変換
とかすれば出来ると思うけど。

737 :Now_loading...774KB:2008/02/15(金) 17:00:48 ID:tpYyNIu1
attributeでCDATAが使えないのはXMLの仕様だったと思う。
XpathとかASとかは関係ないよ。

738 :Now_loading...774KB:2008/02/15(金) 17:57:59 ID:WKIG6lfX
属性にタグって、どんだけ糞設計なんだよ

739 :Now_loading...774KB:2008/02/15(金) 18:45:12 ID:7uHLqWCw
>>730
実体参照しないのなら、テキストで読み込んで、
正規表現でも使って置換してから、文字列としてXMLロードすればいい。

でも>738の言ってるように本当にクソな設計だから実体参照使った方がいい。

740 :Now_loading...774KB:2008/02/15(金) 19:45:56 ID:Jv+unhwi
すみません。ユーザーから入力された値を元に、動的に出力したXMLを読み込んで表示するのですが、
どんな文字列を打たれても表示できるようにしたかったのです。
でも無理ですよね。レスを下さった皆さん、ありがとうございます。

741 :Now_loading...774KB:2008/02/15(金) 20:14:13 ID:YlbE67Tj
ttp://www.itarchitect.jp/xml/-/14741-8.html
よーく読んでね

742 :Now_loading...774KB:2008/02/15(金) 22:22:53 ID:d/+50RAG
FLASH8でスクリプットを記述していくと
文字が小さすぎて : ; の見分けがつかず
タイプミスをします。
表示を拡大できないでしょうか。



743 :Now_loading...774KB:2008/02/15(金) 22:31:43 ID:WKIG6lfX
環境設定 > フォントサイズ

744 :Now_loading...774KB:2008/02/16(土) 00:30:27 ID:igsqZ8j6
ttp://iroiro.zapto.org/cmn/jb/data2/jb4158.png
パラフラで上記のようにしたとき、3行目のスプライトのonイベントがテキストdebugに反映
されないんです。すぐ下にフレームアクションでdebug="check!";とした時は表示されるし、
onイベント自体も、this.removeMovieClip();とかは反応します。何がいけないんでしょう・・・?

745 :Now_loading...774KB:2008/02/16(土) 08:22:42 ID:V+bIg7Eu
>>744
無料flash作成ソフト“ParaFla!” part21
http://pc11.2ch.net/test/read.cgi/swf/1201080578/

746 :Now_loading...774KB:2008/02/16(土) 11:21:03 ID:SrcJ5jQJ
>>745誘導ありがとうございました。


747 :Now_loading...774KB:2008/02/16(土) 13:07:58 ID:64feqenG
禿しく既出でしょうので恐縮ですがMX2004でXPathって使えますか?
関数が青文字に反転しないし、リファレンス(日本語)にも見あたらない気がするので
なんか無理っぽいんだけど、
ttp://www.flash-mx.com/faq/xpathapi.selectnodelist.html
とか
ttp://www.interproinc.co.jp/introduction/blog/2007/08/xpath.html
とかには使えるくさいことが書いてある。
へるぷみー

748 :Now_loading...774KB:2008/02/16(土) 13:28:10 ID:V+bIg7Eu
>>747
ヘルプをxpathで検索してみ

749 :Now_loading...774KB:2008/02/16(土) 13:39:29 ID:AxVrILY/
使えるか試そうとすれば分かるのに
なんでそれすらしないのか。

import mx.xpath.XPathAPI
     ~~~

750 :Now_loading...774KB:2008/02/16(土) 14:11:51 ID:OIi09hmr
>>738
属性使いまくりのMXMLは糞仕様ってことかw

751 :Now_loading...774KB:2008/02/16(土) 16:16:47 ID:2yWNJHIb
>>750
「属性にタグ」が糞仕様なんだ。よく嫁。
MXMLタグの属性が独立ノードになってどうすんだよ。

752 :Now_loading...774KB:2008/02/16(土) 16:30:08 ID:AoXXoSGQ
AS界隈は、属性に全部入れたがる奴が多いんだよ。
なんでかっていうと、xpathとか標準で使う文化が無くて、子ノードを辿っていくのが煩雑だったのに対して、
XML.attributes.属性名でアクセスできる環境が提供されてたから、XMLの構造とかに興味無いけど
XML使うのがオシャレと思ってる連中が飛びついたんだよ。
AS用にしか使えない、意味のわからんXMLが氾濫してるのはそいつらのせい。マジで勘弁してもらいたい。

753 :Now_loading...774KB:2008/02/16(土) 16:31:17 ID:AoXXoSGQ
>>752はAS2.0の頃の話な

754 :Now_loading...774KB:2008/02/16(土) 16:36:40 ID:OIi09hmr
>>751
htmlTextの指定も属性だろ。バインディング使うとは限らん場合もある。

755 :Now_loading...774KB:2008/02/16(土) 16:39:58 ID:NsVPddvR
>>754
それはコーディングが糞

756 :Now_loading...774KB:2008/02/16(土) 16:43:14 ID:AoXXoSGQ
構造を意識しないでXML作る奴はたいてい糞。
だから糞かどうかの判断すら付かねえで見当違いの事言いだす。

757 :Now_loading...774KB:2008/02/16(土) 17:01:58 ID:OIi09hmr
>>755
ほんとだ。htmlTextタグ使えってちゃんと書いてあったゴメン

758 :Now_loading...774KB:2008/02/16(土) 23:31:11 ID:2yWNJHIb
750-757>>
そういえば、俺が会社で「なんでこんな属性ばっかのXMlになんだよ」って怒ったら、
営業企画とFLA屋が「属性の方が楽なんだからどうでもいいじゃん」っていう
不毛な会話になったことあるなぁ。
普通にchildNodes.nodeValueとかでガンガン回せばいいだけなのになぁ。
そのプロジェクト、回収がかかったときに属性じゃ回収しきれなくて
XMLの構造からスクラッチになったというオチ付き。

759 :Now_loading...774KB:2008/02/17(日) 00:16:01 ID:II4I+9Qc
>749
試したけど動かなかったのよ
でもどこか間違ってたのかもだしそれすらもよく分からないので聞いてみた
使えるかどうかいまだわかんねーw
750とかからの流れ読むとas2.0にはやっぱXPath無理なのかな?
おいらのは英語版でHelpも大変、、w>747

760 :Now_loading...774KB:2008/02/17(日) 00:43:24 ID:t8LcMo4U
Flashは、Ver.4のときに少し使って、今また必要にせまられ
MX2004を使おうとしています。
私の場合、Web用ではなく*.exe ファイルを作成することが
多いのですが、MX2004では fscommand が上手くいかなくて
困っています。
具体的には、Flashの画面から他のソフトを呼び出したいのです。
これは、Ver.4の時は全く問題なく出来ていました。
MX2004で同じ設定をしても、他のソフトが呼び出せません。
Ver.4のときに作ったファイル(*.fla)を2004に読み込んでも、
動きません。(ちなみに、Ver.4では、今でも正常に動きます)
記述ですが、ヘルプに書いてあるとおり、下記のように指定しています。
なぜダメなんでしょう。(もしかして、Pro.版でないとダメでしょうか?)

on (release) {
fscommand("exec", "*.exe");
}

どなたか、お教えください。

761 :Now_loading...774KB:2008/02/17(日) 01:20:31 ID:t8LcMo4U
760です。
自己解決しました。
MX2004からは、セキュリティ強化の関係とかで、
必ずfscommandというフォルダを作成しないと
呼び出せないそうです。
昨日から丸一日悩んでいて、ここに書き込んでから
もう一度調べたら分かりました。


762 :747:2008/02/17(日) 02:20:29 ID:II4I+9Qc
よさげ
ttp://www.thegoldenmean.com/technique/rssReader01.html
がむばってよむ

763 :Now_loading...774KB:2008/02/17(日) 08:13:49 ID:OH9xavki
>>759
FLA屋には、動けばソースは何でもいいという発想の奴が多い

764 :Now_loading...774KB:2008/02/17(日) 11:42:19 ID:/n8XbsYi
>>761
解決おめ
参考になるなw

765 :Now_loading...774KB:2008/02/17(日) 13:36:40 ID:crLE3VYJ
機能さえそろっていれば
UIやデザインはどうでもいい。っていう奴も多い

766 :Now_loading...774KB:2008/02/17(日) 15:37:25 ID:oeqqiKyd
AS2で変数から変数名を調べることってできないですか?

hensu="hoge";
name=getHensuName(hensu);

trace(name+"の中身は"+hensu);

これで「hensuのなかみはhoge」って出力したいんです。

767 :Now_loading...774KB:2008/02/17(日) 15:54:23 ID:ZP0A5nqN
AS2.0で、ムービークリップが、左右ボタンを押せば加算移動をし
目標ボタンを押せば目標の座標へ減速移動する、というものを作ろうと思いました。
けど、目標の座標へ減速移動したあとに、左右ボタンを押して加算移動しようとするとうまくいきません。
どうすればいいでしょうか?

onClipEvent (load) {
xmax = -400;
xmin = 0;
this._x = 0;
}
onClipEvent (enterFrame) {
idou = _root.mokuhyou;
this._x += Math.floor(idou-this._x)/4;
if (_root.hidari) {
if (this._x<xmin) {
this._x += 10;
}
}
if (_root.migi) {
if (this._x>xmax) {
this._x += -10;
}
}
}

宜しくお願いします。

768 :Now_loading...774KB:2008/02/17(日) 15:55:09 ID:C95z5+0o
>>766

a="HOGE";

for(var i in this){

trace(i+"は"+this[i]);

}

//aはHOGE

769 :Now_loading...774KB:2008/02/17(日) 16:15:58 ID:C95z5+0o
>>767

function onEnterFrame(){

swtich(mode){

case "目標モード":
//目標へ移動するコード
break;

case "キー入力モード":
//キー移動のコード
break;

}

}

左右キー押したら、modeをキー入力モード
目標ボタン押したら、modeを目標モード

770 :Now_loading...774KB:2008/02/17(日) 18:59:10 ID:S2t3TAF1
ノートンの広告ブロックをONにしていると、
flashに外部jpg画像が読み込まれません。
この現象を回避する方法はありますでしょうか?

画像名は外部XMLから取得しています。

771 :Now_loading...774KB:2008/02/17(日) 19:27:50 ID:zLo4DF8t
1.ノートンをアンインストール 2.パッケージにしまう  3.燃やす      4.外部jpg画像が読み込まれる
    ●ノ□                        ●    ∬        \●/
   ノ■ヘ   →      ●■  →       <■> ▼  →       ■
    /           □ノノZ乙          つつ  ▲          / \




ていうかノートンみたいなウンコソフト昔捨てたからよく知らんが
Flash関係なくノートンの設定次第だろ?
許可サイトやら不許可サイトの設定はあるはずだし、
ブロックされるんなら実行ドメインとは別ドメインの画像を読み込もうと
してるんじゃないのか?
違うなら、もう1〜4を実行してくれ。

772 :Now_loading...774KB:2008/02/17(日) 20:44:57 ID:C95z5+0o
>>770
ノートン先生w
常駐系はウザイ
ブラウザの挙動を変えるようなものは制作環境としては問題
771に同意

773 :Now_loading...774KB:2008/02/17(日) 20:53:16 ID:kERJSRjH
スレ違いです。

774 :Now_loading...774KB:2008/02/17(日) 23:12:21 ID:ZP0A5nqN
>>769
どうにか参考にして、自分のやりたい動きにすることができました。
ありがとうございました。


775 :Now_loading...774KB:2008/02/18(月) 01:48:56 ID:PWSLH0XF
>>771
770です。わざわざAAまでどうも。

画像はswfと同一の場所から読み込んでいます。
自分ひとりなら広告ブロックOFFなりアンインストールなりで対処できますが、
見る人全てにそれを要求することはできません。

Flashの作り方で問題を回避できるとしたら、
方法をご存知の方はいないかなと思いまして、お尋ねした次第です。


776 :Now_loading...774KB:2008/02/18(月) 01:57:36 ID:0Eh/tu66
swfからウィルス対策ソフトいじれたら、それこそウィルスじゃんw無茶言うなよw

777 :Now_loading...774KB:2008/02/18(月) 02:19:18 ID:NzJZrvII
>>775
ファイル名ディレクトリ名にbannerが入ってるとブロックするよ。
bnrでもブロックしたかな?他にもファイル名でなんかあったはず。

他の原因でも、ノートン先生の仕様を調べていけば対処できるのだろーけど
設定次第でどーしようもないし、ノートン先生のせいです知りません。
で押し通せるならそっちの方がw

778 :Now_loading...774KB:2008/02/18(月) 11:38:13 ID:ZoppuxLB
他はともかくノートンに限っては「アンインストールしろ」が許される

779 :Now_loading...774KB:2008/02/18(月) 17:50:16 ID:Zh5f6Yr/
電卓をAS2.0で作って何度も計算するとします。
今まで計算された内容を保存し、ボタンをクリックすると計算された式が表示されるようにってできますか?

780 :Now_loading...774KB:2008/02/18(月) 18:32:26 ID:gGWn2nIG
できます

781 :Now_loading...774KB:2008/02/18(月) 23:30:13 ID:1YwvCSaE
>>779みたいに抽象的なこと聞くひとって
自分でつくるプログラムの構造について
図書いたり箇条書きしたりとかしないのかなあ


782 :Now_loading...774KB:2008/02/18(月) 23:39:11 ID:57Poizrv
別に中上級者向けだけのスレじゃないし

783 :Now_loading...774KB:2008/02/18(月) 23:51:51 ID:1YwvCSaE
中上級者なら小さいプログラムは全部頭の中で組めるだろうけど
初心者なら手抜きしないで図や文にまず書いた方が後々楽だし
自分の進歩のためにもやるべきだと思うけどね


784 :Now_loading...774KB:2008/02/19(火) 02:33:15 ID:8yVxq4Fl
>>777
770です。貴重な情報をありがとうございます!

785 :Now_loading...774KB:2008/02/19(火) 10:34:35 ID:Wv3BpyDl
質問させてください。
メインタイムラインの停止を取得するようなscriptってないですか?

「メインのタイムラインが停止したら、○○をする」って内容を記述したいんですが。

786 :Now_loading...774KB:2008/02/19(火) 10:44:50 ID:WoiG2FFT
>>785
停止するということは、停止させる処理があるんでしょ?
そこに書けばいいじゃない。


787 :Now_loading...774KB:2008/02/19(火) 11:23:15 ID:nDK0QbwV
>>785
ない
自作せよ

788 :Now_loading...774KB:2008/02/19(火) 12:32:01 ID:XbTe3x96
>>785
ヒント:イベントディスパッチャー

789 :Now_loading...774KB:2008/02/19(火) 13:48:27 ID:OsYGa9TB
ヒント(笑)

790 :Now_loading...774KB:2008/02/19(火) 15:15:41 ID:t0iWY2hI
質問なんですが
外部のfunctionをグローバル変数として
どこからでもそのfunctionを読み込むことはできますか??

ごめんなさい。よろしくお願いします。


791 :Now_loading...774KB:2008/02/19(火) 15:25:34 ID:sFaywIwZ
>>790
どのバージョンの話なのか分からないけど
クラスファイル作ってその中にfunction書いてそれをimportじゃだめなのか

792 :Now_loading...774KB:2008/02/19(火) 15:26:41 ID:0JGcjKfh
Flash CS3 新米ですみません。
ドキュメントクラスのメンバがコンフリクトしているという警告が出て困っています。

ステージに、a_txt という名前のテキストフィールドを配置しました。
そして、ドキュメントクラスを以下のように作りました。
{{{
package {
import flash.display.MovieClip;
import flash.text.TextField;
public class DocTest extends MovieClip
{
public var a_txt:TextField;
}
}
}}}

Flash8の時は、これで普通にコンパイルできたのですが、CS3では、以下のようなエラーがでます。

1151: 定義 a_txt (名前空間 internal) にコンフリクトが存在します。

どうしたら解決できるでしょうか。



793 :512:2008/02/19(火) 16:28:59 ID:m3h6cu6K
>>792
「public var a_txt:TextField;」消すと良いはず
flash側で作ったインスタンスはクラス定義内で宣言しなくても使えるよ。
というか変数宣言しちゃダメ


794 :Now_loading...774KB:2008/02/19(火) 16:30:51 ID:m3h6cu6K
>>793
名前に変なのが入ってたorz
512とは一切関係ありません

795 :Now_loading...774KB:2008/02/19(火) 17:02:28 ID:0JGcjKfh
>>793
コメントありがとうございます。
でも、宣言しないと、FlashDevelopとかで
コード補完とかできないじゃなですか!何か解決策ありますか?

796 :Now_loading...774KB:2008/02/19(火) 17:12:49 ID:nDK0QbwV
>>795
記憶ちがいだったらすまん
classをdynamic宣言しておけばエラーはでなかったかも

797 :Now_loading...774KB:2008/02/19(火) 17:13:59 ID:OsYGa9TB
>>795
それパブリッシュの設定のAS3.0の設定で、「ステージのインスタンスを自動宣言」外せばコンパイル通るよ。
ここチェックしてあると、内部的に、自動的にインスタンス名と同じ変数の宣言と、インスタンスへの参照が補完されるから、コンフリクト起こすらしい。

798 :793:2008/02/19(火) 17:23:46 ID:m3h6cu6K
>>797
おおそんなオプションがあったとは・・・
確認してませんが,情報サンクスです

799 :Now_loading...774KB:2008/02/19(火) 17:36:50 ID:0JGcjKfh
>>797
なるほど。そんなオプションがあったとは!ありがとうございました。

800 :Now_loading...774KB:2008/02/19(火) 19:36:15 ID:vGyHFZ4P
質問です。
 
あるMCに、loadClipで外部からswfファイルを呼び出して表示させているんですけれども、時間が経つと勝手に表示が消えてしまします。
呼び出している側のswfには表示を消すような記述はしてありません。呼び出される側のswfも同様です。
消えるタイミングもバラバラでまれに再現しないときもあります。
 
また、これはブラウザでもFlash内のプレーヤーでも発生するのです。
原因や対策を知っている方がおりましたら、アドバイスお願いします。
 
Flash 8 / AS2.0

801 :Now_loading...774KB:2008/02/19(火) 21:26:25 ID:fEu146xZ
>>800
勘だけど同一深度にMC作ったりしてない?
AS2.0で勝手に消えるとかは大体深度の問題な気がする

802 :Now_loading...774KB:2008/02/19(火) 22:29:19 ID:LY1LfxnR
>>800
ありがとうございます!
ちょっと、しらべてみます。

803 :Now_loading...774KB:2008/02/19(火) 22:50:52 ID:a66Au5SN
MCを左右反転させる場合はどう書くの?(AS3)

804 :Now_loading...774KB:2008/02/19(火) 23:00:30 ID:a66Au5SN
自己解決すまんw
MC.scaleX = -1;

805 :Now_loading...774KB:2008/02/20(水) 00:46:19 ID:upxg07Rr
AS2.0です。
1.子のムービークリップで作った変数や関数には、
親ムービークリップから参照は可能でしょうか?

2.グローバル変数はどの階層からでも(どのムービークリップからでも)
参照は可能ですか?

806 :Now_loading...774KB:2008/02/20(水) 01:20:58 ID:6WyYIA3y
>>805
1.参照可能
2.参照可能

変数や関数を書いたMCが参照したい時にフレーム上にあればどこからでも参照できる。
_rootに書いとけば_root.hoge()みたいにどこからでも呼べる

807 :Now_loading...774KB:2008/02/20(水) 01:34:38 ID:J+D20dLP
こんばんわ。
FLASHでページを開いたときにランダムに画像を表示させたいのですが、
どのようなアクションを組めばよろしいのでしょうか?
よろしくお願いします。

環境
winXP
FlashMX2004

808 :Now_loading...774KB:2008/02/20(水) 01:48:24 ID:+8wwRWrA
>>806
いけるんですね…

809 :Now_loading...774KB:2008/02/20(水) 02:19:59 ID:6+rxUWNo
>>807
僕がよくやるのは乱数を使う方法。
var imgs:Array = [img1,img2,...];
var currImg:Object;
var randomNumber:Number = Math.ceil(Math.random()*imgs.length)-1;
currImg = imgs[randomNumber];

ただし、乱数のシードが起動からMath.random()呼び出しまでのミリ秒なので、
偏りは出るかもしれない。

ちょっと別の方法だと、
var imgs:Array = [img1,img2...];
var seed:Number = new Date().getTime();
var currImg:Object;//表示させる画像オブジェクト
currImg = imgs[seed%(imgs.length)];
のようにして、配列の長さで剰余を作り、配列からデータを引っ張るのも
よく使われると思います。

810 :Now_loading...774KB:2008/02/20(水) 10:47:21 ID:EoIeqlF0
AS2です
クラスAの中からクラスBを呼び(クラスAの処理は一時停止)クラスBでenterFrameを使ったトゥイーン処理が終わったら
クラスAの別の関数処理をスタートさせたい場合、クラスBの処理終了が終わった旨をクラスA側に知らせるにはどうすればいいのでしょうか?
クラスB処理終わりにreturnを使ってみたりしましたが動作してはくれませんでした


811 :Now_loading...774KB:2008/02/20(水) 11:02:04 ID:HhiAR3v9
クラスBを呼ぶときにクラスAのインスタンスをBに渡してあげて、Bの処理終了で
Aの順序処理メソッドみたいなのを呼ぶとか。

812 :Now_loading...774KB:2008/02/20(水) 12:22:15 ID:EoIeqlF0
>>811
タイムライン上で
var 変数a:クラスA名 = new クラスA名(処理する大元mc)

クラスAの途中で
var 変数b:クラスB名 = new クラスB名(トゥイーンするmc)

クラスB処理が終わったら、クラスBの最後で
変数a.クラスAの関数();

といった事なのでしょうか?>順序処理メゾットを呼ぶ
ただタイムライン上にある変数aをどうクラスBへ渡せばいいのかがわかりません…


813 :Now_loading...774KB:2008/02/20(水) 13:22:05 ID:HhiAR3v9
AからBをnewするときにnew B(this);
thisはAの参照
class B {
function B(par:A) {
trace(par.Aの変数);
}
}
とかかな

814 :Now_loading...774KB:2008/02/20(水) 13:26:24 ID:wqkPu2/n
>>810
メソッド呼び出しでやるならこれでどう?
//A
class A{
function start(){
b=new B(this);//BにA(自分)の参照を渡す
b.play();
}
function next(){
trace("next");
}
}
//B
class B extends MovieClip{
var _a;
function B(a){
_a=a;//A参照を保持
}
function onEnterFrame(){
if(_currentframe==_totalframes){
_a.next();//Aに対してメソッド呼び出し
}
}
}
//main
var a=new A();
a.start();

815 :Now_loading...774KB:2008/02/20(水) 16:13:27 ID:EoIeqlF0
>>813-814

811のクラスAの途中の処理を
var 変数b:クラスB名 = new クラスB名(トゥイーンするmc, this)

クラスBの処理の最後で
thisを入れた変数.クラスAの関数();

の形で動きました!ありがとうございます!


816 :Now_loading...774KB:2008/02/20(水) 16:17:54 ID:6+rxUWNo
>>810
つAsBroadcasterクラス

>>811-814
参照カウントが上がりっぱなしになって、クラスAのインスタンスが
いつまでたってもガベージコレクション対象にならない、とか
リソースリークしまくる、とかそういうトラブルの元にならなければいいけど。

817 :Now_loading...774KB:2008/02/20(水) 17:29:10 ID:lLoiACOk
AS3ならDispatcher使えというところだがAS2のDispatcherは何気にトラブル
起こすんだよな。自作するか自分のリスクでご利用くださいって感じかなあ。

818 :Now_loading...774KB:2008/02/20(水) 17:34:32 ID:oVizn30R
mxパッケージの事?
トラブルってどんなんだよ

819 :Now_loading...774KB:2008/02/20(水) 17:46:53 ID:lLoiACOk
>>818
リスナーいくつか登録すると最後に登録したリスナー宛てにしかディスパッチ
されなくなるって現象が起きてメンドイから自作のに変えたら直った。


820 :Now_loading...774KB:2008/02/21(木) 11:28:44 ID:g4yHtz7F
>>819
リスナーいくつか登録すると最後に登録したリスナー宛てにしかディスパッチ
されなく...

ってリスナーの意味無いじゃん

821 :Now_loading...774KB:2008/02/21(木) 12:53:48 ID:eKpSiFB7
ディスパッチの仕方に問題があるのでは?

822 :Now_loading...774KB:2008/02/21(木) 13:15:10 ID:jmFrzGC7
>>821
ディスパッチの仕方じゃなくてディスパッチ後の関数の処理によって
for inループでこけてた。再検証してみたら関数の処理代えるか
overrideでforループに書き換えれば普通に動くみたい。

823 :Now_loading...774KB:2008/02/21(木) 16:46:45 ID:icw2Ay3P
as2.0で質問です
サイトを開いた時に出てくるローディングバーの伸びる動きが、イージングしている様な滑らかな動きをしているのを
時々見掛けますが、あれはどうやって作られているのでしょうか?
現在のonLoadProgressの読み込み算出式は

loadper = Math.floor(nLoadedBytes/nTotalBytes*100);
loadingbar_mc._width = loadper;

これだと、読み込んだ分だけズッズッと増えカクカクした動きです
アドバイスお願いします


824 :Now_loading...774KB:2008/02/21(木) 17:12:36 ID:LNV5DM9y
>>823
実際見ないとわからないけど、
10%単位や20%単位で動かしてるんじゃない?
指定単位ごとにしか動作しないように。
違うかもしれない。

825 :Now_loading...774KB:2008/02/21(木) 18:30:22 ID:g4yHtz7F
>>823

位置に直接percent値をあたえたらあにめしないよ
・バーのwidthにはtweenするように計算結果を与える
わかりやすく100%が100pxとして
簡単にやるなら
function onEnterFrame(){
var storedPercent=(loaded/total)*100;
_width+=(storedPercent-_width)/10;
}


826 :Now_loading...774KB:2008/02/21(木) 20:42:24 ID:icw2Ay3P
>>824-825
アドバイス有難うございました、バーの長さを調整するのは目から鱗でした
まだ実際に試せていませんが参考にさせて頂きます!

827 :Now_loading...774KB:2008/02/22(金) 12:38:27 ID:KgxU8JID
trace(1 / 1000000000 > 0);
//trueになってしまう。

すいません。浮動小数点を0以下かどうか判定する方法はないですか?

828 :Now_loading...774KB:2008/02/22(金) 12:46:33 ID:6wWHVQ6k
>>827
すまんが、言ってることがよくわからん
まあ、Math.floorするとかかな

829 :Now_loading...774KB:2008/02/22(金) 12:48:36 ID:FJOiRy4x
>>827
それFlash8でやってみたら1e-9で0じゃなかったけど

830 :Now_loading...774KB:2008/02/22(金) 12:57:37 ID:KgxU8JID
すいません。俺がボケてました。
逝ってきます。

831 :Now_loading...774KB:2008/02/22(金) 12:57:42 ID:3eHZMhhL
>>827
それはそうなんじゃない?


それともこういうことを言いたかっただけのか?
num = 0.09+0.01;
trace(num);
trace(num == 0.1);

832 :Now_loading...774KB:2008/02/22(金) 17:28:31 ID:KgxU8JID
AS3にて、
ドラッグ中にマウスが画面の外に出た後も、
マウスアップやマウスムーブを検出する方法はないですか?

833 :Now_loading...774KB:2008/02/22(金) 17:35:54 ID:b/9Q5D+6
>>832
画面って?

834 :Now_loading...774KB:2008/02/22(金) 17:44:15 ID:KgxU8JID
>>833
ブラウザの外という意味です。

835 :Now_loading...774KB:2008/02/22(金) 21:39:25 ID:ryxMtqJL
AS2で開発してます。
生成したインスタンスに関する情報を実行時に取得する方法はありますか?
AS3だとReflectっぽいクラスがあるようですが、AS2なので途方にくれてます。

例えば完全修飾名を取得するとして、
以下のようなクラスがあった時に
net.2ch.pc11.hoge という文字列を実行時に取得したいということです。

class net.2ch.pc11.hoge
{
function hoge() { }
}

836 :Now_loading...774KB:2008/02/22(金) 22:37:08 ID:Opn8C8Ix
CS3で作ったFLASHの処理落ち検証で
主処理である関数の最初にgetTimer() ⇒ Time1
関数の終わりにgetTimer() ⇒ Time2
FPS30の場合、Time2 - Time1 > 33 の時「処理落ちしている」と判定したんだが
上の人間に「そんな中途半端な測定するんじゃない」と言われてしまった。

他に動作しているイベントや画面内のオブジェクトもないし
処理落ちしない時は33ミリ秒以内の値が出てるし何がいけないのか分からない・・・
若干誤差はあれどTime2-Time1>33の考え方って間違ってるのかな?

837 :Now_loading...774KB:2008/02/22(金) 23:39:44 ID:o0DQjWij
上司に聞け

838 :Now_loading...774KB:2008/02/22(金) 23:46:23 ID:eBdhQxgb
AS2.0 flash8です
自作クラスをフォルダに纏めて置きたいと思って、ネット配布されているライブラリ追加のクラスパス設定を真似してみたのですが、
エラーが出てしまいます。訂正すべき箇所があれば教えて下さい。お願いします。

// C:\(略)\as\org\myClass\PathTest.asのクラスファイル
class PathTest {
var su:Number;
function PathTest() {
su = 69;
}
function suTest() {
trace(su);
}
}

// fla側
import org.myClass.PathTest;
var pat:PathTest = new PathTest();
pat.suTest();

// flash8のクラスパス設定
C:\(略)\as

// エラー出力の内容
C:\(略)\as\org\myClass\PathTest.as: 行 1:コンパイルされたクラス 'PathTest' が読み込まれたクラス 'org.myClass.PathTest' に一致しません。
class PathTest {

839 :Now_loading...774KB:2008/02/23(土) 00:11:48 ID:oYvcbNEk
>>838
クラスの宣言も完全修飾名が要るよ。
class org.myClass.PathTest {
とする。

840 :Now_loading...774KB:2008/02/23(土) 00:26:50 ID:+2+H33Yd
>>839
ご指示の通りにクラスの表記を変えたらすんなり動きました!ありがとうございます!

841 :Now_loading...774KB:2008/02/25(月) 14:10:11 ID:crS8tOdm
質問させてください。
wmode = tranparent で
テキスト日本語入力を受け付けるようにする方法はありますでしょうか?
cs3 as3.0です。

842 :Now_loading...774KB:2008/02/25(月) 14:41:23 ID:/+BOaDY/
とりあえずIMEとかfocusとか調べてね

843 :Now_loading...774KB:2008/02/26(火) 14:29:01 ID:b2+MyJTy
 FlashCS3 AS3です。

 CD-ROM内をナビゲートするメニューを作りたいのですが、CD内の特定のファイル
をCD内の指定したアプリで開くというメソッドってありますでしょうか?

 CD-ROMのルートにパブリッシュしたのexeファイルをおいて、AutoRunで起動。
そのメニューから

 CD-ROM内のmovie.aviというファイルをCD-ROM内にある動画再生ソフトを使って
再生するという事がしたいのです。

 navigateToURL()じゃないっぽいですし、ご存じでしたら教えてください。

844 :Now_loading...774KB:2008/02/26(火) 15:30:17 ID:lO/8vJp2
間にCとかVBかませないと出来ないと思うけど。
あーでもブラザーのControlCenter?っていうプリンタ用アプリは、
Flashのexeでファイル処理とか色々やってたな。透明化も出来てたし。詳しくは知らんけど

845 :Now_loading...774KB:2008/02/26(火) 16:35:57 ID:b2+MyJTy
>>844
 そうなんですよ。いろんなところで、flashのexeを使って、やりたい事を
やってるCD-ROMを見かけるのですが、どうやってんのかなー。と思いまして…。

 Cとかかませないと駄目ですかぁ…。

846 :Now_loading...774KB:2008/02/26(火) 16:59:24 ID:lNIfZYTQ
>>843-845
EXE起動っていうことは、プロジェクタだと思うんだけど、
AS2ならfscommand、AS3ならExternalInterface経由で
プロジェクタと通信して、プロジェクタが各種外部プログラムを
呼んでるんだと思うよ。ExternalAPIとかで調べると資料が
出てくるはず。
とりあえず、このあたりの情報は熟読されるのがよろしいかと。
ttp://livedocs.adobe.com/flex/2_jp/docs/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001975.html

847 :Now_loading...774KB:2008/02/26(火) 18:34:08 ID:b2+MyJTy
>>846
 ありがとうございますっ!さっそく熟読してきますっ!

848 :Now_loading...774KB:2008/02/26(火) 23:02:26 ID:CHqEpyvx
ByteArrayについて質問させてください。
http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/media/SoundMixer.html#computeSpectrum()
computeSpectrumの例ででてくるのですが、

forの中に bytes.readFloat() 書いて回してるようなのですが、この書き方でbyte配列?を順番に読んでいってくれているのでしょうか?
リファレンスにもそのあたりの原理の説明ないようなのですが。

849 :Now_loading...774KB:2008/02/26(火) 23:19:06 ID:1bz7bTJv
>>848
そだよ。バイト配列は書いたり読んだりすると、ポインタの位置と言うか、カーソルの位置と言うか、
positionが更新されるよ。

import flash.utils.ByteArray;

var buf:ByteArray = new ByteArray();

buf.writeFloat(10);
trace("ポインタの位置は、" + buf.position);
buf.writeFloat(15);
trace("ポインタの位置は、" + buf.position);

buf.position=0;
trace("ポインタの位置0からreadFloatした値は、" + buf.readFloat());
trace("ポインタの位置は、" + buf.position);

850 :Now_loading...774KB:2008/02/26(火) 23:19:07 ID:VpqhrFQe
>>848
斜め読みしただけなのでてきとうですけど
>URLStream および Socket クラスと同じメソッドを使用すると、
>メモリ内ファイルとして読み取りおよび書き取りをすることができます。
つまりファイルからデータを読むとファイルポインタが次のデータに移動するのと
同じような感覚で動作するのでは>bytes.readFloat()

851 :848:2008/02/26(火) 23:54:57 ID:CHqEpyvx
>>849,850
なるほど二人ともサンクス。説明わかりやすいです!

852 :Now_loading...774KB:2008/02/28(木) 10:55:39 ID:M68Cp0HX
AS3を勉強していますが構造体ではまっています。
class Hoge {
int a;
int b;
}
Hoge[] hg = new Hoge[3];
hg[0].a = 1;
という様にJavaでは構造体での配列が使えましたが
AS3では出来るのでしょうか?
どなたかご教授よろしくお願いいたします。

853 :Now_loading...774KB:2008/02/28(木) 11:07:09 ID:9pGuWyJh
普通に配列にすればいんでね
var hg:Array = new Array();
hg[0] = new Hoge();
hg[0].a = 1;


854 :852:2008/02/28(木) 11:57:12 ID:M68Cp0HX
>>853 ありがとうございます、
class Hoge{
public var a:int;
public var b:int;
}
何とか出来ました。
ただclass内の変数はpublic varにする必要があるみたいです。
(感覚的にまだ慣れません・・・)
あとクラスではなくpublic functionで同じ事は可能でしょうか?


855 :Now_loading...774KB:2008/02/28(木) 12:24:51 ID:BocrGRyV
>>854

可能。
あと、privateしたクラスフィールドもgetter/setter作ってアクセスできるようになる。

856 :852:2008/02/28(木) 12:49:20 ID:M68Cp0HX
>>855>>853
ご教授どうもありがとうございました。
javaからの移行で詰まっていましたので助かりました。
(ASなどFlex関係も情報が少なくて・・)



857 :Now_loading...774KB:2008/02/28(木) 13:04:25 ID:+zjjnmQD
あるボタンを押したら、最上段レイヤーにある黒いムービークリップのアルファを調節して画面がブラックアウトし、
もう一度そのボタンを押したら黒いムービークリップのアルファを0にする、という効果をつけたのですが、
黒いムービークリップの下にあるメインのムービークリップに配置されている、ボタンやムービークリップのenabledが利いたままの状態なので
これをブラックアウトの時はfalse;にしたいのですが、対象が結構な数があり大変です。
これはやっぱりボタンを押した時に一つ一つにfalseを指定していくしか方法は無いですか?
ASは2.0です。

858 :Now_loading...774KB:2008/02/28(木) 13:58:27 ID:9pGuWyJh
止めたいボタンの上に透明ボタンをラップみたいに重ねてonClickイベントぶんどるとか
ボタンをMCにまとめてfor inでenabled = falseにするとか

859 :Now_loading...774KB:2008/02/28(木) 15:21:23 ID:TeW7v/bR
AS3で質問です。
htmlTextに(>_<) って顔文字が入ると<以降が表示されなくなってしまいます。
replace(/</g, "<"); で上手く置換できないようなので教えてください。

860 :Now_loading...774KB:2008/02/28(木) 15:23:26 ID:TeW7v/bR
うわ。””内は&lt;です。

861 :Now_loading...774KB:2008/02/28(木) 15:26:21 ID:+zjjnmQD
>>858
for inを調べてみたら自分のでも扱えそうでした、透明ボタンを使う方法もまだ実装していませんが
チャレンジしてみようと思います、ありがとうございました!

862 :859:2008/02/28(木) 15:35:13 ID:TeW7v/bR
スレ汚し失礼しました。
そのままreplaceで出来ました…

863 :Now_loading...774KB:2008/03/01(土) 23:35:53 ID:7rLYBHE1
ソースは次レスで書きます。sqliteでuser.dbってファイルを作ってそこに
CREATE TABLE user(no INTEGER PRIMARY KEY, id TEXT, mail TEXT, sex TEXT, home TEXT);
っていうテーブルを作って、データを読み込もうと思ってるのですがgetData実行時に

SQLError: 'Error #3115: SQL Error.', details:'no such table: user', operation:'execute'
 at flash.data::SQLStatement/internalExecute()
 at flash.data::SQLStatement/execute()
 at DatabaseManager/getData()[/Users/hoge/Documents/Flex Builder 3/Account/src/DatabaseManager.as:47]

って言われてしまう。no such table:userっていってるのでdbfileはopenできてる
はずなんですが…

MacOSX10.5.1
SQLite version 3.4.0
AS3(Flex3SDK)

864 :Now_loading...774KB:2008/03/01(土) 23:36:29 ID:7rLYBHE1
ある程度端折ってますが、以下のソースです

package {
  private var connection:SQLConnection;
  private var stmt:SQLStatement;

  public function onCreationComplete(e:FlexEvent):void {
    connection = new SQLConnection();
    var dbfile:File = File.applicationStorageDirectory.resolvePath("user.db");
    connection.open(dbfile);
  }

  public function getData(e:MouseEvent):void {
    stmt = new SQLStatement();
    stmt.sqlConnection = connection;
    stmt.text = "select * from user";
    stmt.execute();
  }
}

865 :Now_loading...774KB:2008/03/01(土) 23:40:59 ID:7rLYBHE1
すみません、補足です。
onCreationCompleteには

view.select.addEventListener(MouseEvent.CLICK, getData, false, 0, false);

という一文がありまして、クリックイベントを拾ってgetDataが実行される
流れになってます。勢い余って省略してしまいました

866 :Now_loading...774KB:2008/03/01(土) 23:55:04 ID:7rLYBHE1
自己レスすみません。解決しました…
applicationStorageDirectoryとapplicationDirectoryの使い方を
完全に間違ってました。

var dbfile:File = File.applicationStorageDirectory.resolvePath("user.db");

var dbfile:File = File.applicationDirectory.resolvePath("user.db");

にした事で解決しました。しかしあのエラーだとわからん…

867 :Now_loading...774KB:2008/03/02(日) 11:38:05 ID:VbIoqYf1
connection.open のデフォルトがcreateだったはずだからエラーでないと思うよ。
StorageDirectoryにも生成されてるはず。
readとかにしてあげればいいんじゃないの?

868 :Now_loading...774KB:2008/03/02(日) 12:55:10 ID:NbAsZ16n
Embedを使って読み込んだ画像ファイルのサイズを変更して
staticなBitmapDataに格納したいんだけど、どうすればいい?

draw()を使えば伸縮できるんだが、サイズを指定したいんだよね
457*363の画像ソースを640*480のBitmapDataに・・・みたいな
matrixで伸縮倍率じゃなくて、サイズ指定のやり方とかあんのかな

bmd.widt=640; とかやると「プロパティは読み取り専用です」とか出るし
もうワケワカメ


869 :Now_loading...774KB:2008/03/02(日) 13:25:22 ID:c71OHp5S
>>868
Matrixに投げる値を演算させれば

870 :Now_loading...774KB:2008/03/02(日) 21:27:53 ID:a0TmPK2C
AS2.0、flash8です
ページ下方にあるメニューバーを、ウインドウの高さが510未満になった時にウインドウの下端にピッタリ沿うようにしているのですが、
510以下の高さになってる状態でウインドウを最大化すると、メニューバーがその場に止まってしまいます
一度縮小状態にしてウインドウのサイズを可変させるとまた沿うようにはなるのですが…
どのようにすれば最大化をしてもちゃんとウインドウの下端にそのまま沿うようになるのでしょうか?

function StageSetting() {
if(Stage.height < 510) {
menuBar_mc._y = Stage.height - naviBar_mc._height;
}
}
mainStageSetting();
StageCheck = new Object();
StageCheck.onResize = function() {
StageSetting();
}
Stage.addListener(StageCheck);


871 :Now_loading...774KB:2008/03/02(日) 21:33:05 ID:a0TmPK2C
870ですがソースが別のflaとごっちゃになっていました、すみません

function stageSetting() {
if(Stage.height < 510) {
menuBar_mc._y = Stage.height - menuBar_mc._height;
}
}
stageSetting();
stageCheck = new Object();
stageCheck.onResize = function() {
stageSetting();
}
Stage.addListener(stageCheck);


872 :Now_loading...774KB:2008/03/02(日) 22:43:26 ID:4My3e9Y4
フラッシュゲーム作ろうとしてるんだけど分からないことがあるんで質問

ヒットテストでAがBにヒットしたときAはBに重ならない(いわゆるBは壁)ようにできる
ASを教えてください><

873 :Now_loading...774KB:2008/03/03(月) 01:34:07 ID:7fI8XCYE
>>872
Aが移動する前に元の位置を変数に一時保持しておいて
Bにヒットした時はその保存した値を代入して元に戻す。
もしくはヒットした時にAの端とBの端が同じになるようにAの座標を調整する

874 :Now_loading...774KB:2008/03/03(月) 20:01:28 ID:a892JbUU
質問させてくだしあ

Flashって、関数hogehogeを処理中に関数bananaを呼び出された場合
関数hogehogeの処理が終わるまで関数bananaの処理は保留すると言うことでよろしいですか?

875 :Now_loading...774KB:2008/03/03(月) 20:34:57 ID:JhImdDLP
hogehoge内からbananaを呼び出す以外に、bananaを割り込ませる事はできないよ。

876 :Now_loading...774KB:2008/03/04(火) 06:53:36 ID:MxMM+vwG
現在Flashでの説明動画を作っています。

仕様は下記のとおりです。

 ・Flash上で動画を流す。
 ・任意の場所で一時停止し、説明文を流す。
 ・説明文が流れ終わったら、一時停止した位置から再び再生する。

説明文に関しては、停止した位置でMCで流せばいいのかと考えています。
ただ動画の一時停止、再生に関しては、やり方がわからず、困っております。

調べてみたところ、ボタンを使用して、一時停止、再生のやり方はわかったのですが、
ボタンを使わず、任意の場所で一時停止、再生するやり方がわかりません。

どなたかご存知の方は、ご教示いただけますと助かります。

よろしくお願いします。

877 :Now_loading...774KB:2008/03/04(火) 07:22:53 ID:RwSXCr5l
>>876
説明用動画をflvで起こして、キューポイントを設定して、そこでイベント処理すればいいよ。
バージョン書いてないけどFlashなら、FLVPlaybackあたりをヘルプで調べてみるとサンプル
あるんじゃないかな。

878 :Now_loading...774KB:2008/03/04(火) 09:25:38 ID:p5RZGz0x
直接ActionScriptとは関係ない話でスレ違いだったらごめんなさい。

Flash 8 Professional で、ムービクリップをダブルクリックして
中に入る時に四角い点線がゆっ〜くりとカクカク拡大するアニメーション
が表示されます。ものすごいストレスです。これって正常でしょうか?

FlashMXの時代はこんなことなかったのに。同じ症状の人いますか?

879 :Now_loading...774KB:2008/03/04(火) 11:33:08 ID:OAKk5wGN
>>878
それはVistaを使用しているからだな。

[アプリケーション]
Macromedia Flash 8

[症状]
Flash 8で制作していると、シンボルをダブルクリックすると拡大/縮小の画面効果があるが、これがとても遅く表示され、制作効率がとても悪くなってしまう。

[回避方法]
1.[コントロールパネル]-[パフォーマンスの情報とツール]を開き、タスクにある「視覚効果の調整」をクリックする。
2.視覚効果タブに表示されるリストの中にある「デスクトップ コンポジションを有効にする」のチェックを外し、「OK」で閉じる。

880 :Now_loading...774KB:2008/03/04(火) 11:44:03 ID:p5RZGz0x
>>879
直りました!!マジうれしいです!!ありがとうございます!!

まさかVistaが悪さをしていたとは思いませんでした。

881 :Now_loading...774KB:2008/03/04(火) 11:54:22 ID:gOttwyw1
FlexでparseBooleanみたいなStringをparseする標準メソッドはないですか?

自分で実装しても良いのですが、もし標準で用意されていれば、
そちらを使った方が良いので。

882 :Now_loading...774KB:2008/03/04(火) 12:38:46 ID:er7M10LL
>>879
ヨコヤリだが、折れも困っていた。ありがとう。

質問を立てた>>878にもありがとう!

883 :Now_loading...774KB:2008/03/04(火) 21:14:26 ID:/IEwC5NZ
ところでswitch文で範囲指定条件はどうやって書くの?

if (a < 10) {
b = 1;
} else if (a < 20) {
b = 2;
} else {
b = 3;
}

をswitchで書くとどうなる?

884 :Now_loading...774KB:2008/03/04(火) 22:13:22 ID:xMhtW3tF
>>881
そんなの実装してる言語あるのかw
>>883
ASのswich文は同値比較しかできない

885 :Now_loading...774KB:2008/03/05(水) 00:40:49 ID:IKlB0fUR
>>883
switch (true) {
case a<10 :
    b = 1;
    break;
case a<20 :
    b = 2;
    break;
default :
    b = 3;
}

886 :Now_loading...774KB:2008/03/05(水) 12:00:54 ID:MQnBmQ1n
for(i = 0; i<30; i++) {
vb[i].onRollOver = vbRollOver;
}
function vbRollOver() {
trace(typeof(this)); //movieclip
trace(this._name); //:'_name' という名前のプロパティはありません。
}

as2.0で、vb[i]に格納されているmovieclipの名前を調べたいのですが、_nameの所でエラーが出てしまいます
これはどのように訂正すると動いてくれるのでしょうか?

887 :Now_loading...774KB:2008/03/05(水) 12:30:11 ID:h3C1DsAZ
>>886

配列vbはどうやって定義しているの?

var vb:Array = [ m1, m2, ... ];

で試したらエラーに成らなかったよ!

888 :Now_loading...774KB:2008/03/05(水) 12:35:02 ID:MB1Q28n7
>>886
コードがどうなってるのかよく分からんけど
trace(this._name);
じゃなくてとりあえず
trace(this);
で何が返るかチェックしてみたら

889 :Now_loading...774KB:2008/03/05(水) 12:47:35 ID:FkU9RHwn
>>886
問題ないです。
vb = new Array();
for (i=0; i<10; i++) {
//--MC作成--//
vb[i] = this.createEmptyMovieClip("test"+i, this.getNextHighestDepth());
r = 255-30*i;
g = 255-20*i;
b = 255-10*i;
colornum = "0x"+(r << 16 | g << 8 | b).toString(16);
vb[i].lineStyle(1, 0x000000, 100);
vb[i].beginFill(colornum, 100);
vb[i].moveTo(0, 0);
vb[i].lineTo(50, 0);
vb[i].lineTo(50, 50);
vb[i].lineTo(0, 50);
vb[i].lineTo(0, 0);
vb[i].endFill();
vb[i]._x += 25*i;
vb[i]._y += 25*i;
//----------//
//
vb[i].onRollOver = vbRollOver;
}
function vbRollOver() {
trace(typeof (this));
trace(this._name);
}

890 :Now_loading...774KB:2008/03/05(水) 13:24:04 ID:MQnBmQ1n
レスありがとうございます

>>887
var vb:Array = new Array();
for(i = 0; i<30; i++) {
vb[i] = 貼り付け先のmovieclip.attachMovie(貼る付けるmovieclip);
vb[i].gotoAndStop(1)
vb[i].onRollOver = vbRollOver;
}
一部省略して書いていましたが、ソースはこんな感じになっています
ロールオーバー指定のforの前にattachMovieで貼り付けてvbに代入しています

886の
vb[i].onRollOver = vbRollOver;
の部分を
貼り付け先のmovieclip[(貼り付けたmovieclipをアクセス演算子で指定)].onRollOver = vbRollOver;
と配列からじゃなくmovieclipを直に指定してみたのですが、結果は886とまったく同じでした

>>888
function vbRollOver() {
trace(this);
}
の結果は
_level0.貼り付け先のmovieclip.貼り付けたmovieclip
でした

>>889
ソースをコピペさせてもらって実行してみたら動きました・・・
リンゲージしたmovieclipをattachMovieしているのでその辺りに問題があるのかもしれません


891 :Now_loading...774KB:2008/03/05(水) 14:17:36 ID:1+G8QC8i
>>890
×リンゲージ
○リンケージ

attachMovieしてもちゃんと名前出るけど?
省略しないで、正確にASを書いてくれた方が解決に繋がると思う。

892 :Now_loading...774KB:2008/03/05(水) 22:16:59 ID:o4TizaKy
ここで聞いてもいいのか分からんけどとりあえずポスト。

Flash Develop 3.0.0 beta5(WinXP HE SP2)の起動時に、

Error binding to target method.

at System.Delegate.CreateDelegate(Type type, Object target, String method, Boolean ignoreCase, Boolean throwOnBindFailure)
at FlashDevelop.Managers.StripBarManager.GetEventHandler(String method)

っていうエラーメッセージが出るんだけどどうすれば出ないようになるんでしょうか?
このエラーが出たあとは通常どうりつかえることは使えるんですが気持ちが悪いのでどうにかしたいです。

893 :Now_loading...774KB:2008/03/06(木) 08:02:20 ID:7suipclN
>>892
beta版だからじゃねーのw

894 :Now_loading...774KB:2008/03/06(木) 12:46:11 ID:zMZgeIlF
>>892
JDKのバージョンは?
1.6以上じゃないと駄目だよ

895 :Now_loading...774KB:2008/03/06(木) 21:44:38 ID:3+HDPoa6
AS3でムービー全体のマウスイベントを一時的に受け付けなくしたいときに、
mouseEnabledプロパティを使ってできない?

896 :895:2008/03/06(木) 22:03:20 ID:3+HDPoa6
自己解決しました。
(root as MovieClip).mouseChildren = false でいけました。

897 :895:2008/03/06(木) 22:16:50 ID:3+HDPoa6
(root as DisplayObject).mouseChildren = false で動作しないのはなぜ?

898 :Now_loading...774KB:2008/03/06(木) 22:32:49 ID:31YbD73D
>>897
たぶんコンテナじゃないとchildrenが持てないからじゃない?
(root as DisplayObjectContainer).mouseChildren = false

899 :Now_loading...774KB:2008/03/06(木) 22:34:04 ID:31YbD73D
あと、ムービー全体だったら、作りにもよるけどstageでストップさせといたほうが確実かもね

900 :Now_loading...774KB:2008/03/06(木) 23:40:14 ID:YGhucCh1
AS3.0
Flex3

TextInput等入力コントロールで
・数値チェック
・全角のみ許容
を行いたいのですが、何か方法ありますでしょうか?
よろしくオネガイシマス。

901 :Now_loading...774KB:2008/03/07(金) 00:33:35 ID:oUt7IIqv
http://www.hoge.com/index.cgi?data=1
みたいな感じでデータを送信できるじゃないですか
index.cgiが吐き出すHTMLの中にはhoge.swfがあって
そのhoge.swfがGETのデータを受け取ることってできますか?

ググってみたんですけど
swfからGETやPOSTで送信する方法しかなくて
受け取るのが見当たらなかったので出来ないのかなと。

902 :Now_loading...774KB:2008/03/07(金) 00:53:56 ID:T+pvqH2P
>>901
ttp://hima.chu.jp/flash/tips/flash_with_arg.htm

903 :Now_loading...774KB:2008/03/07(金) 03:14:58 ID:kFp9RUI7
>>900
RegExp

904 :Now_loading...774KB:2008/03/07(金) 08:05:21 ID:g8SPxBKY
>>900
//全角数値のみ入力許可
textInput.restrict = "0-9";
みたいなことかな?

905 :Now_loading...774KB:2008/03/07(金) 09:37:34 ID:40V6zkX9
>>900 >>904
textInput.restrictには大文字小文字の識別バグがあるから、
現状ではなるべく使わない方がよさげ。
リアルタイムでやりたければ、changeイベントにRegexpのバリデータをaddEventlistenerでアタッチ
するとか、Validatorクラスを継承したカスタム検証クラス実装してTextInputインスタンスを
sourceにバインドしちゃえばいいかと。
リアルタイムじゃなければTextInput.textを処理するタイミングでRegexpクラス使ってtest()しちゃえば
OKかな。そこはアプリレベルで何をやりたいかによるけれど。

906 :Now_loading...774KB:2008/03/07(金) 09:57:29 ID:h1Y7E8OL
定期的に入力内容チェックして、そぐわない部分があったら
フィールドの下にエラー表示して、確定ボタン無効化という手は?

907 :Now_loading...774KB:2008/03/07(金) 10:55:20 ID:mqHbyc5D
テキストフィールドにフォーカスある時って、keyDown系の
イベントって拾えないんだっけ?

908 :901:2008/03/07(金) 11:04:38 ID:iEPvkSQj
>>902
神!THX

909 :901:2008/03/07(金) 11:41:36 ID:iEPvkSQj
ちなみにAS3の場合はこうだった
ttp://bowzsrv.com/blog/2008/01/htmlflash.html

910 :Now_loading...774KB:2008/03/07(金) 12:57:27 ID:g8SPxBKY
>>907
調べてみたらtextInputっていう使えそうなのあった。
keyDownも使えるけど、イベントがキャンセルできない(文字入力キャンセルできない)
ので、こっちの方がよさげ。こんなところかな?

/*テキストフィールド「msg」に対して全角0−9以外の入力をキャンセル*/
var reg:RegExp = /[^0-9]/;
msg.addEventListener(TextEvent.TEXT_INPUT,hoge);
function hoge(e:TextEvent) {
//入力キャンセル
e.preventDefault();
//以下、置き換えて自前で追加
var tf:TextField = e.target as TextField;
var v:String = e.text.replace(reg,"");
tf.appendText(v);
tf.setSelection(tf.text.length,tf.text.length);
}

911 :Now_loading...774KB:2008/03/07(金) 13:08:38 ID:ZyM4/ifn
質問お願いします。VistaでCS3使ってます。
外部の音楽ファイルを取り込みたいと思い、下記のプログラムを試してます。
FLASH始まったら音楽を鳴らしたいのですけど、下記の感じでタイムラインの
5フレーム目に入れたらongaku1という音楽が鳴ると思ったのですが鳴りません。
始まって5フレーム目を通過したらongaku1というライブラリの音楽を鳴らすには
どうしたらよいのでしょうか?

var mySound:Sound=new Sound();
mySound.loadSound("ongaku1",true);
mySound.start();
};

912 :Now_loading...774KB:2008/03/07(金) 13:21:06 ID:GcoF7vXu
attachSoundだよ

913 :Now_loading...774KB:2008/03/07(金) 14:05:20 ID:1nacqWEW
flashMXです
http://1art.jp/flash2/chapter/33/33.htm
↑このページを参考に勉強しているのですが、ボタンを設置してボタンスクリプトを下記
on (release) {
 this.attachMovie("car", "car_mc", 0, {_x:191, _y:268});
}
のようにしたら、ボタンを押すとその押したボタンを中心座標(0,0)からの位置として表示されます
しかもムービークリップのはずが押したボタンと同じとして機能しています
これは自分が間違っているのでしょうか?ページの説明が間違っているのでしょうか?
基本的にはページの説明どおりに記述しているのでなぜこうなるのかわからないのです
またこのような現象になる原因として考えられるものはありますか?

914 :Now_loading...774KB:2008/03/07(金) 14:13:31 ID:GcoF7vXu
MovieClipツリーは下層のプロパティの影響を受けるよ

915 :Now_loading...774KB:2008/03/07(金) 14:13:48 ID:Z55MRhk9
>>913
試してないが、もしかしてボタンじゃなくてMCにそのスクリプトを書いてるのでは?

MCなら、thisは押したMCのことを指すので、そのMCを中心にattachされる座標が
決定されるのは当然。
また、MCにattachされればattachされたものも、もとのMCの一部になるため
それをクリックすれば、MCをクリックしたとみなされて同じアクションが実行される。

916 :Now_loading...774KB:2008/03/07(金) 14:24:29 ID:1nacqWEW
>>914-915
ありがとうございます
MCにではなくボタンに記述してるんですが、少しわかってきました
913の文とは別にif文を入れているのですが、それが影響してるようです。
if文は
if (chk == 2) {
chk = 1;
} else {
chk = 2;
}
です。
これを削除したらボタンの機能はなくなりましたが、呼び出したボタンを中心座標にするのは直ってないです。
こういうもんだと理解します。
ありがとうございました

917 :Now_loading...774KB:2008/03/07(金) 14:25:26 ID:vKbiEZOS
タイムラインで動いているムービーが終わったら、
外部ファイルswfを再生させる方法はないでしょうか?

on (release) {
loadMovie("□□□.swf",_root.loadpoint);
}
のように、マウスをクリックしたら外部ファイルswfを再生はできたんですが、
クリックなしで、出来る方法を教えてください。

918 :Now_loading...774KB:2008/03/07(金) 14:32:28 ID:vKbiEZOS
すいません、自己解決しました。失礼しました。

919 :Now_loading...774KB:2008/03/07(金) 14:57:09 ID:Lxsh8CAw
Flash8 AS2
createTextFieldしたものを消すにはどうすればいいんでしょうか。
removeMovieClipでテキストフィールドは消せず、
どのようにしたらいいか教えて下さい。

920 :Now_loading...774KB:2008/03/07(金) 15:18:14 ID:GcoF7vXu
removeTextField

921 :Now_loading...774KB:2008/03/07(金) 17:27:14 ID:Lxsh8CAw
>>920
ありがとうございます。
ヘルプのcreateTextField関連項目に出なかったので気がつきませんでした。
助かりました。

922 :Now_loading...774KB:2008/03/07(金) 18:36:53 ID:In7/R70G
質問させて頂きます。
一度、他のスレッドでも質問させて頂いたのですが、
解決しなかったことと、こちらのスレッドのほうが的確と思い、もう一度質問させて頂きます。

Flashでカレンダーを作成している所でして、
まずは他の方が作ったカレンダーのスクリプトに、
追記や変更を行って勉強している所です。
そこで下記のURLにあるカレンダーを触ってみていたのですが、
今日の日付の色を変える記述と、祝日の日付の色を変える記述が解りません。
if文等で日付と月を参照して、テキストカラーを変えるであろうということは解るのですが、
肝心の文字色変更のスクリプトがわかりません。
よろしければ教えて頂けないでしょうか?

参考URL:http://hfm-kenchan.com/Lesson/log_qa/D0304073.htm
こちらに下のほうに置いてある、赤い背景のカレンダーを触っています。

923 :Now_loading...774KB:2008/03/07(金) 18:54:44 ID:ovq6TJQD
>>922
昔、やったことあるわぁ〜

祝日は元々色がついているんじゃなかったっけかな。
こんな感じで一応祝日はわかるけどな。

テキストを入れる時の処理にこんな感じ

if ( i == 1 || i == 8 || i == 15 || i == 22 || i == 29 ){
DayArray[ i ].name = "holiday";
}


924 :Now_loading...774KB:2008/03/07(金) 19:03:55 ID:vS1FaLV7
FLVPlayBackを複数ステージに置いた状態で
見ていたFLVの読み込みを中断して
他のFLVを再生することはできますか?
stop()しても読み込みが止まらなかったので…
Flash8です

925 :Now_loading...774KB:2008/03/07(金) 19:16:38 ID:Lxsh8CAw
>>922
そこのファイルそのままですと、
ダイナミックテキストフィールドにインスタンス名がないので
スクリプトで変更しようにも出来ないんじゃないですかね。
個々のダイナミックテキストフィールドにインスタンス名つけて、
他のスレで教えてもらった方法を利用すれば色かえられるはず。

926 :922:2008/03/07(金) 19:27:47 ID:In7/R70G
>>923
>>925
早速のお返事ありがとうございます。
DayArrayというスクリプトをよく理解していないのですが、
923様の方法はiが1,8,15,22,29であればholidayとして扱うという形でしょうか?

925様の言うようにまずインスタンス名をつけて、
それらを指定する条件と加えて、my_fmt.color等を使えば良いのでしょうか?
まずは、言われたことを試してきますね。

927 :922:2008/03/07(金) 19:54:11 ID:In7/R70G
再び質問させて頂きます。
カレンダーの日付の内、文字色を変えたい日付のインスタンス名をday00としまして、
その文字色を赤色の変えたい場合、下記のスクリプトでは何が足りないのでしょうか?
もしくはどこが間違っているのでしょうか?

my_fmt.color = 0xFF0000;   これにてmy_fmtの色を赤と宣言
day00.setTextFormat(my_fmt); day00をmy_fmtと関連付ける→赤になる

色が変わらずに困惑しております。

928 :Now_loading...774KB:2008/03/07(金) 19:59:24 ID:Lxsh8CAw
>>927
my_fmt = new TextFormat();
my_fmt.color = 0xFF0000;
day00.setTextFormat(my_fmt);

でいけるはず。

929 :922:2008/03/07(金) 20:08:30 ID:In7/R70G
>>928
それでも変わらなかったです…。
スクリプトを書く場所が違うのかな…。
これは my_fmt = new TextFormat(); で格納する場所を作成しているのかな?


930 :Now_loading...774KB:2008/03/07(金) 20:20:18 ID:Lxsh8CAw
>>929
MCの2フレーム目のスクリプトの最後に書いて変わったよ。
...
textDate35 = subDate[35];
textDate36 = subDate[36];
//
my_fmt = new TextFormat();
my_fmt.color = 0x0000FF;
day00.setNewTextFormat(my_fmt);


931 :922:2008/03/07(金) 20:26:54 ID:In7/R70G
>>930
変わりました!本当にありがとうございます!
あとはif文で祝日の条件(月と日)を指定して、これらの文を実行すれば
希望通りの物が出来そうです!ありがとうございました!

932 :922:2008/03/07(金) 21:02:04 ID:In7/R70G
本当に何度も質問して申し訳ありません。
if文にて祝日の色変更スクリプトを打ち込んでみたのですが、
反応しないもので、おかしな所を指摘して頂けませんでしょうか?
下記がこちらの記入した元旦の色変更スクリプトになります。

my_fmt = new TextFormat();
my_fmt.color = 0x0000FF;
if(theMonth == 1 && days00 ==1){day00.setNewTextFormat(my_fmt);}
これでまず、月が1月であるか、次にdays00が1日であるかを調べる。
もし一致していたのならday00をmy_fmt.colorの色へと変わると思ったのですが…

933 :Now_loading...774KB:2008/03/07(金) 21:53:52 ID:Z55MRhk9
>>932
うまくいかない時は、とにかくtrace()してみなよ。
どこで期待通りになっていないかが判るから。

934 :Now_loading...774KB:2008/03/07(金) 21:57:27 ID:kFp9RUI7
days00 ==1 が怪しすぎるんだがw
ホントに数値型なのかよコレ。てかday00.textでいーじゃん

935 :922:2008/03/07(金) 22:30:40 ID:In7/R70G
>>933
デバックしてみても取得自体はしているようなのですが…
>>934
条件をmonthのみにしてみても昨日しませんでした。
単純に条件の書き方が悪いのかな…

もう少し色々試してみることにします。

936 :Now_loading...774KB:2008/03/07(金) 22:49:23 ID:kuII9ej/
>>932
値の追い方を自分なりに考えてみるといいよ
そこだけなら
theMonthとdays00に何が入っているのか
if文はTRUEになっているのかFALSEになっているのか
days00はnullになっていないか
days00のテキストフォーマットは適用されているか
days00にsetTextFormatを適用後テキスト変更していないか
(defautTextFormatに設定されなければsetTextFormatで適用したスタイルは元に戻るはず)
1個1個確認していけば必ずどこかに「あれ?」っと思う箇所があるはず
「ここは〜〜のはず」と思ってる所が一番怪しいと思う事が大事

937 :Now_loading...774KB:2008/03/07(金) 22:49:49 ID:mqHbyc5D
if (theMonth == 1 && days00 ==1) {
trace("色変えるぜ");
} else {
trace("色変えない");
}

↑これどうなるの?

938 :Now_loading...774KB:2008/03/07(金) 22:57:09 ID:Z55MRhk9
>>935
trace()するのは、なにも値の取得だけじゃないよ。
>>936が書いてる通り、インスタンスの存在、関数の実行、識別子の正確さ等々
すべてを疑ってひとつずつチェックしてみる。
うまくいかないなら、必ずどこかに問題がある。

939 :Now_loading...774KB:2008/03/07(金) 23:09:05 ID:GcoF7vXu
days00は何者なの?

940 :Now_loading...774KB:2008/03/07(金) 23:40:16 ID:qzOechF4
>>939
俺だよオレオレ

941 :Now_loading...774KB:2008/03/07(金) 23:56:40 ID:CVhPXo/X
>>932
確認です。
textに文字列を代入した後にの設定をしてませんか?
もしそうならtextFormatの設定を先に設定してからtextに文字列を入れないとフォーマットが反映されないらしいです。

942 :941:2008/03/07(金) 23:57:52 ID:CVhPXo/X
>>941
>textに文字列を代入した後にの設定をしてませんか?
textに文字列を代入した後にtexrFormatの設定をしてませんか?
です
失礼しました。


943 :Now_loading...774KB:2008/03/08(土) 01:03:10 ID:+JEYHvAH
JavaScriptの分野かもしれませんが、
SWFObjectで表示したFlashの背景色をJavaScriptで
外部から変更する方法はないでしょうか?
Flashは既存のさまざまなのを表示するので、Flash自体に
背景色変更のコードを入れられないのですが・・・。

944 :Now_loading...774KB:2008/03/08(土) 01:13:37 ID:+JEYHvAH
>>943
SetVariableで_root._bgcolorに色指定しても変化無いし
SWFObjectに.style.backgroundColorで色指定しても変化無いし・・・。

945 :Now_loading...774KB:2008/03/08(土) 03:23:42 ID:G7iqRlYA
HTMLのSWF生成タグを弄るだけで変わったと思うけど。
変わらないならexternalinterface使えば?

946 :Now_loading...774KB:2008/03/08(土) 08:24:56 ID:kb7jT2Hv
Flexで以下の関数だと、"関数は値を返しません"というエラーでコンパイルできないのは仕様ですか?
catch内のreturn 0;を、外に出さないとコンパイルできないです。

function hoge():Number {
try {return 1;} catch (e:Error) {return 0;}
}

947 :Now_loading...774KB:2008/03/08(土) 08:36:35 ID:4NzboihR
function hoge():Number {
try {
return 1;
} catch (e:Error) {
return 0;
} finally {
return -1;
}
}

948 :Now_loading...774KB:2008/03/08(土) 08:56:56 ID:kb7jT2Hv
>>947
それだと、全部-1が返ると思います。

946の構文は、Javaでは頻繁に見掛ける書き方ですけどね。

949 :Now_loading...774KB:2008/03/08(土) 09:24:50 ID:3ZFqp5nA
function hoge():Number {
var retValue:Number = 0;
try {
retValue = 1;
} catch (e:Error) {
retValue = 0;
}
return retValue;
}

950 :Now_loading...774KB:2008/03/08(土) 11:09:05 ID:Yfs5gbe/
>>945
SWF生成タグを弄るとFlashを一旦終了して、もう一度新しくFlashが
再生されます。 その時、確かに背景色は変更されるのですが・・・。
externalinterfaceですか。 初めて知りました。
試してみます!

951 :Now_loading...774KB:2008/03/08(土) 11:22:06 ID:Yfs5gbe/
>>945
ExternalInterfaceを調べてみたのですが、Flash(AS)側ではExternalInterfaceを
ロードしておけば、HTML-JavaScriptを自由に呼び出せるみたいですが、
その逆、JavaScript側からFlashを見に行くには、ActionScript内でaddCallback
でAS内関数をJavaScriptから呼び出してもよいと宣言しないと使えないみたいです。
今回Flash(ActionScript)側の内容・コードは弄らずに、JavaScriptでFlashの
背景色を変更させたいので、この方法は取れません。
せっかくのアドバイスでしたが、申し訳ありません。
何か他の方法はないでしょうか?

952 :Now_loading...774KB:2008/03/08(土) 11:37:07 ID:4NzboihR
>>948
catchで補足できない型のエラーが発行されたとき戻り値は無いか不定になるから
エラーにしてるんじゃねーのかな
javaとASは違うしw

953 :Now_loading...774KB:2008/03/08(土) 13:06:59 ID:oL6KPDOy
>>948
ていうか finally で return 1 返せよ。なぜ try で返す?

>>951
タグはbgcolorだけ弄った?それともSWFobjectで生成されるタグ全部弄った?
前者でもダメなら・・・お勧めは出来ないが、wmodeでtransparentを使うしかないんじゃない

Flash側で「色変更のイベント」を認識しないといけない以上、ASを弄れないというのがネック

954 :Now_loading...774KB:2008/03/08(土) 13:15:51 ID:TDZzL5dO
var tArray:Array = new Array("z","y","x");
var t:Test5 = new Test5(this);
t.tstart();
-------------------
class Test5 {
var thismc:MovieClip;
function Test5(mc:MovieClip) {
thismc = mc;
}
function tstart() {
for(var i = 0; i< thismc.tArray.length; i++) {
thismc.textbox_mc["t" + (i + 1) + "_txt"].text = thismc.tArray[i];
}
}
}
タイムラインにあるムービークリップや配列なんかをクラスで扱う時に、コンストラクタにタイムラインのthisのみを送って
それをパスの起点にして対象を指定する形で大抵の処理をしていたのですが、
処理速度等を考えるなら、基本的に、
var t:Test5 = new Test5tArray, textbox_mc);
のようにクラスの処理対象は全てコンストラクタの引数に送って処理する方が良いのでしょうか?
AS2.0です。


955 :Now_loading...774KB:2008/03/08(土) 14:07:08 ID:5EDQ9gpB
CS3にて
配列に格納したSoundオブジェクトをインデックス指定で再生する処理があります
再生終了時のイベントにそのインデックスを使いたいのですが
var Sound1:Sound = SoundList[ Index ];
var SoundChannel1:SoundChannel = Sound1.play();
SoundChannel1.addEventListener( Event.SOUND_COMPLETE, SoundComplete );
この「SoundComplete」関数のどこに引数「Index」を指定すれば良いのでしょうか?
function SoundComplete( event:Event ){
// ここに再生終了時のイベント
}

956 :Now_loading...774KB:2008/03/08(土) 14:44:24 ID:G7iqRlYA
>>954
オブジェクトは参照されるだけだからそんな変わらんと思うけど。
でもクラスとしてはダメじゃね。汎用性に欠ける&Arrayやコントロールの存在が不確か

>>955
単にIndexの数値が欲しいだけなら、Soundオブジェクト生成と同時にどっかに保持すりゃいい。
Indexを使ってSoundオブジェクトを参照したいならevent.targetすりゃいい。

957 :Now_loading...774KB:2008/03/08(土) 14:56:59 ID:kb7jT2Hv
>>953
もちろん、try内部はreturn 1ではなくて、実際はエラーの発生する可能性のあるメソッドを使用しています。

こういう仕様だと思って、catchの外にエラー発生時の処理を書くようにします。

958 :Now_loading...774KB:2008/03/08(土) 17:45:30 ID:5EDQ9gpB
>>956
返信遅くてすいません。
>>955の書き方だと参照を取得している処理になっちゃっていますね

実際の処理は下記のようになっています。
function PlaySound( Index:uint )
{
 var Sound1:Sound = new SoundList[ Index ]();
 var SoundChannel1:SoundChannel = Sound1.play();
 SoundChannel1.addEventListener( Event.SOUND_COMPLETE, SoundComplete );
}
ここに「鳴ってる最中は再生しない」として別途
if( NowPlaying[ Index ] == true ){
 return;
}
という処理を加えようとしたら
再生が終了した時「falseを入れる」のにIndexが無い・・・
となってしまい「SoundComplete」で
終了したのはどの配列の中ではどのデータか分からない事に
クラスのメンバー変数に残しておくと終わる前に別のものが再生されると上書きされてしまいます。

アイディアが貧困で上手く回避する方法が思いつきません。
もう少し詳しく教えていただけないでしょうか

959 :Now_loading...774KB:2008/03/08(土) 20:41:50 ID:w8lT5wzj
>>956
返信ありがとうございました。
やっぱり構造上は
var t:Test5 = new Test5(tArray, textbox_mc);
のように、処理に必要な要素をちゃんと渡した方がいいですね、ありがとうございました。


960 :Now_loading...774KB:2008/03/08(土) 20:59:07 ID:oL6KPDOy
NowPlaying[ Index ]の辺りがよく理解できないけど、
いっちゃん単純な考え方で、

var NowPlaying:boolean = false;
function PlaySound( Index:uint ){
 ( NowPlaying ) ? return : 0;
 var Sound1:Sound = new SoundList[ Index ]();
 var SoundChannel1:SoundChannel = Sound1.play();
 SoundChannel1.addEventListener( Event.SOUND_COMPLETE, SoundComplete );
 NowPlaying=true;
}
function SoundComplete( event:Event ){
 ( NowPlaying ) ? NowPlaying=false : 0;
}

って感じじゃだめなん

961 :Now_loading...774KB:2008/03/08(土) 21:16:33 ID:oL6KPDOy
>>957
returnはfinallyかtryの外にないとJavaでもコンパイル通らないよ
理由はコンパイラも教えてくれている通り、値を返さない可能性があるから
返り値の値を調整したいときはtryの外に変数置いてfinallyで返す形で

962 :Now_loading...774KB:2008/03/09(日) 01:25:32 ID:JkMwmd6E
>>960
Indexには今のファイルだと添え字0〜5に当たるサウンドが随時再生されます。
なのでそれぞれが再生中なのかのフラグを
NowPlaying配列にBooleanで持たせようとしています。

再生時の処理としてNowPlaing[ Index ] = true;で再生フラグを立てておいて
再生フラグが立っている時は再生処理をしないように。
再生終了時にNowPlaying[ Index ] = falseと実行したいのですがその時のIndex値を
なんとか関数の引数から持って来れないかと質問した次第です。

暫定処理として更に関数SoundComplete0〜5を定義してFuncList配列に登録
イベント関数の引数として登録してそれぞれの関数でNowPlaying[ X ] = falseと実行する事にしました。

SoundComplete( event:Event, Index:uint ){}という使い方ができるのかと思ったのですが
そんな使い方はできないのですね。
回答ありがとうございました。


963 :Now_loading...774KB:2008/03/09(日) 02:41:26 ID:QA8n3+Ux
じゃーこれでどうだ

var NowPlaying:Array = new Array(5) {false,false,false,false,false};

function PlaySound( Index:uint ){
 ( NowPlaying[ Index ] ) ? return : false;
 var Sound1:Sound = new SoundList[ Index ]();
 var SoundChannel1:SoundChannel = Sound1.play();
 Sound1.index = Index;
 NowPlaying[ Index ] = true;
 SoundChannel1.addEventListener( Event.SOUND_COMPLETE, SoundComplete );
}

function SoundComplete( event:Event ){
 NowPlaying[ event.target.index ] = false;
}

964 :Now_loading...774KB:2008/03/09(日) 12:04:39 ID:+oCOU/He
>>953
再起されるのは後者ですが、前者は反応ありませんでした。
flashのオブジェクトidに.wmode="transparent"しても反応ありませんでした。

どうしようもないので、そもそものSWFobjectで生成する段階から仕様変更
してもらいます。

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

965 :Now_loading...774KB:2008/03/09(日) 14:18:04 ID:JkMwmd6E
>>963
ちょっと分からないのですが
サウンドチャンネルクラスを継承したクラスを作成して
indexをメンバー変数に追加するということでしょうか。
(違ってたら申し訳ないです)

しかしその発想はありませんでした。ちょっと試行してみようと思います。
ありがとうございます。

966 :Now_loading...774KB:2008/03/09(日) 15:14:49 ID:dBSS3kz9
ActionScript3.0です。
UILoaderに外部swfを読み込む機能って重複して使えますか?
・1.swfのボタンAを押すとUILoader(fieldAとする)に2.swfを読み込む。
 ・2.swfのボタンBを押すとUILoader(fieldBとする)に3.swfを読み込む。
  ・3.swfのボタンCを押すと・・・
どうしても、2回目(3.swf)を読み込む段階で失敗します。
htmlでいうと、メニューとメイン画面をフレーム分けして
メイン画面を更にサブメニューとメイン画面でフレーム分けするのを
FLASHだけで作りたいのですが、無理でしょうか?

967 :Now_loading...774KB:2008/03/10(月) 08:14:26 ID:dM+7JREa
入れ子にする必要あるのか?
メインでLoaderでそれぞれ読み込んで配置するんでいんじゃね

968 :Now_loading...774KB:2008/03/10(月) 22:47:35 ID:b+iwqVC7
AS3ですが
多次元配列を宣言する時に、PHPのように

$arr = Array(
  "key"=>"val",
  "key2"=>"val2",
  "key3"=>"val3",
  "key4"=>"val4",
   …
  "key10"=>"val10"
);
//$arr[key4] == val4

みたいな宣言って出来ませんか?

969 :Now_loading...774KB:2008/03/10(月) 22:54:04 ID:wpMfma+r
>>968
多次元配列じゃなくて連想配列(ハッシュ)かな?
var obj:Object = {
"key1":"val1",
"key2":"val2",
"key3":"val3"
};
trace(obj.key1) //val1
trace(obj["key2"]) //val2

970 :Now_loading...774KB:2008/03/10(月) 23:02:56 ID:b+iwqVC7
>>969
即レス感謝!!

971 :Now_loading...774KB:2008/03/11(火) 10:35:55 ID:MJJ0zcZE

外部ファイルの読込みについて教えてください。

actionscriptで、
JPG画像を読み込みように、PDFファイルを読み込むことは可能でしょうか?


actionscript3.0です。
flash cs3 です。

972 :Now_loading...774KB:2008/03/11(火) 12:33:39 ID:5SUsk3K4
>>971
バイナリファイルとしては読み込めるけど、PDFとして表示はできないんじゃね?
PDF読み込んで何したいのさ

973 :Now_loading...774KB:2008/03/11(火) 12:47:39 ID:MJJ0zcZE
>>972
ttp://chirashi.valor.co.jp/chirashi.php?shop_id=80

これがしたいです。
PDFって書いてあるもんだからPFDファイルかと思ったけど、
これたんなる画像ですかね?

974 :Now_loading...774KB:2008/03/11(火) 12:56:26 ID:5rqeHrOG
>>973
どこにそれがPDFなんて書いてあるんだ?
つーかどうみてもgif画像な訳だが。

975 :Now_loading...774KB:2008/03/11(火) 13:02:50 ID:MJJ0zcZE
>>947
あなたのおかげでなぞがすべてとけました。


976 :Now_loading...774KB:2008/03/11(火) 13:03:40 ID:5SUsk3K4
>>972
Flashで使ってるのはただのデカい画像じゃね?
PDFも画像データだけみたいだし

977 :Now_loading...774KB:2008/03/11(火) 13:10:44 ID:xuqzeFju
そういや、FlashPaperってどこいったんだろうな

978 :Now_loading...774KB:2008/03/11(火) 19:23:31 ID:mCoPkgHn
AS2.0で、タイムラインのトゥイーンはほぼ使わずスクリプトで制御し制作しています
flash8のムービープレビューで見ると動きはスムーズなのに、パブリッシュされたswfを自分が用意したhtmlに貼り付けて表示すると
軒並み動きはカクカクした状態になってしまってます、パブリッシュ時にswfと一緒に作られたhtmlで表示しても同じです
それぞれのswfの容量は数十kb程度です、画像等はスクリプトで外部ファイルを読み込んでいます
この動作の原因は、やはりスクリプト処理が重いからこうなってしまうのでしょうか?、そして、重さを軽減する用にメモリの使用状況?等を調べる方法はありますか?

979 :Now_loading...774KB:2008/03/11(火) 19:35:22 ID:UOYaPe7j
>>978
WinIEならwindow modeのバグってこともあるが、どうよ?
<param name="wmode" >のvalueがどうなってるかチェック。

それと、Flashの動作が遅くなる要因の大部分は描画処理であって
スクリプトはあんまり関係ないことが多い。
アルファ、グラデーション、トゥイーン等の多用や複雑なベクター画像の表示は
高負荷なので、多用しすぎに注意。

980 :Now_loading...774KB:2008/03/11(火) 20:36:11 ID:mCoPkgHn
>>979
レスどうもです
表示をIE7とfirefoxでやっていますが、用意したhtmlにはwmodeの指定はありませんでした
指摘された中ではスクリプトのトゥイーン(tweenクラス等使用じゃなく、enterframeで値をずっと足していき、一定になったらdeleteする手動タイプ)
そしてアルファの増減は演出として頻繁に行っています、この辺をもっと考えてみた方がいいのかもしれませんね

あと似たような事ですが、ムービープレビューでは動くのにダウンロードシュミレートでは途中で処理が止まったり
IEではボタンのロールオーバーが問題無く起こるのに、firefoxではボタンにマウスを置いても全く無反応だったり・・・
こういった挙動の違いが、特に外部jpg・swf読み込む処理関係で結構起こるのですが、これもよくある事なのでしょうか?
htmlと違ってflashは、ブラウザごとの挙動の違いは殆ど無い物なんだと思い込んでいたのですが・・・

981 :Now_loading...774KB:2008/03/11(火) 20:59:28 ID:A3gj9tJ8
>>980
ブラウザ毎の挙動の違いはある。

例えば先のwmodeはIEだとopaqueにした方がいいぜとか
よく言われるけど、それだとFireFoxだとテキストボックスで
日本語が入力できなくなったりする。

スクリプトの記述方法がセオリーからちょっとでも外れると
挙動不審になったりとかあるから、この辺は試行錯誤というか
ノウハウなところだね。

982 :Now_loading...774KB:2008/03/11(火) 22:24:36 ID:sjaUm+Vb
とりあえずCS3のFlashのダウンロードシミュレートはマジウンコ。
ダウンロードシミュレートを最初からON状態にできないから
通常プレビュー → ダウンロードシミュレートという流れになるけど
このダウンロードシミュレートの時、よく分からんが
前の通常プレビュー時に作られたインスタンスか何かが残るらしくて、
自前でやってたトグルボタン処理でボタンを押したら
イベント受け取るインスタンスが2つあるらしくて
1フレーム中にON→OFF→ONと状態遷移しやがった。
本編をローダー介してやっても確かダメだった記憶が。

この不具合、話題にも上らないからほとんど使われてないんだろうけど、
どうにかならんものか。

983 :Now_loading...774KB:2008/03/11(火) 22:56:06 ID:UOYaPe7j
>>980
ダウンロードシミュレートとかプレビューは
あくまでも仮の動きであって参考程度と割り切ったほうがいいと思う。

外部読み込みをしてるなら確実に読み込み完了を待ってるかな?
ちゃんとやっているならすまんが、読み込み完了を待たずにアクションを実行させると
意図しない挙動になるよ。
ブラウザによって読み込み速度等が違うので、うまくいくブラウザも
あったりするが、本来それは「たまたまうまくいっている」だけ。

984 :Now_loading...774KB:2008/03/11(火) 23:19:17 ID:mCoPkgHn
>>981-982
ソフトやブラウザでの挙動の違いって結構あるもんなんですね・・・
書き方のセオリー取得には海外の著名な人が出している書籍などでしょうか
自分の場合は、エラーが出たらクラス名をネット検索して、とにかく動いたら良しといった流れでやってきていたので
セオリーなスクリプト表記という面を考えるととても自信が無いです

度々質問ですみませんが、"MovieClipLoaderでswfを読み込んで、読み込み終わった後に読み込んだswf側のトゥイーンを開始する”
といった場合どう処理してますか?
自分の場合は
onLoadCompleteの箇所の処理で
loader_mc.playStart();
loader_mc ←読み込んだswfを表示させるムービークリップ
playStart(); ←読み込んだswf先に書いてあるトゥイーンさせる関数
読み込んだswf先にトゥイーン処理を開始する関数を用意して、読み込みが終わったらその関数を実行
・・・この方法も、試しにスクリプト書いて見たら動いたというだけで、それ以降ずっとこの方法でやってきていましたが

985 :Now_loading...774KB:2008/03/11(火) 23:59:01 ID:PZNmzB+P
onLoadCompleteの箇所の処理で
loader_mc.play();

じゃだめだったっけ?

986 :Now_loading...774KB:2008/03/12(水) 00:01:15 ID:nY6fTTVJ
>>984
関数の呼び出しやプロパティへのアクセスに関しては、onLoadInitを使う方がよい。
onLoadCompleteの使用が、うまく動かない原因の一因かもしれない。
詳細はここでも見てくれ。
ttp://www.fumiononaka.com/TechNotes/Flash/FN0501003.html

987 :Now_loading...774KB:2008/03/12(水) 00:13:02 ID:wdj4Q/pt
>>982
>イベント受け取るインスタンスが2つあるらしくて

ホントに?自分で作ったバグじゃなくて?

988 :Now_loading...774KB:2008/03/12(水) 02:34:36 ID:AgPAuDeT
環境)OS:WinXP-Pro,Mem=1GB,ソフト:Flash8-Pro(Player7,AS2.0)

線の削除で質問です。

複数の点(MC1,MC2,・・・)を連結する複数の線の内、1つを削除する方法
にはどのようなものがあるのでしょうか? 例えば、

 ●−●−●−●−●



 ●−●  ●−●−●
 
のようにしたく思っています。

989 :Now_loading...774KB:2008/03/12(水) 07:31:00 ID:hmlPE3U8
>>988
どうやって線を描いてるの?

990 :Now_loading...774KB:2008/03/12(水) 07:56:28 ID:dbUQ3NIA
複数の線なら、簡単だろ・・・。普通に消せばいいじゃん。
それが一つの線ならばちょっとした工夫は必要かもしれないけど。

991 :Now_loading...774KB:2008/03/12(水) 15:43:25 ID:y9hOsfKL
>>989,990

どうも。
線は、for文でmoveTo(), lineTo() を繰り返し使って、MC1→MC2 MC2→MC3 ・・・ 
と描いています。
clear()を使うと全部消えてしまうので、ピンポイントで消したく思っています。

992 :Now_loading...774KB:2008/03/12(水) 16:36:21 ID:ab71qxNw
>>991
clear()して書き直す。

993 :Now_loading...774KB:2008/03/13(木) 07:43:28 ID:Ey5T6ogp
次スレ
ActionScript 誰かが物凄い勢いで解答するスレ 19
http://pc11.2ch.net/test/read.cgi/swf/1205361771/


994 :Now_loading...774KB:2008/03/13(木) 11:56:44 ID:8EMAQP/g
Flash8 AS2.0

this.attachMovie("MC", "MC", this.getNextHighestDepth());
//
var someListener:Object = new Object();
someListener.onMouseUp = function() {
MC.removeMovieClip();
trace(this);
trace(_parent);
trace(this._parent);
this.attachMovie("MC2", "MC2", this.getNextHighestDepth());
};
Mouse.addListener(someListener);

MC2をMCと同じ階層に置きたいのですがこういった場合、
どのようにパスを指定すればいいのでしょうか。
外部SWFで読み込まれる側なのでなるべく絶対パスは使いたくないんですけど、
読み込む側のSWFとあわせて絶対パスで指定するしかないんでしょうか。

995 :Now_loading...774KB:2008/03/13(木) 12:36:33 ID:Ey5T6ogp
同じ階層ってのがわからん。同じコンテナってことか?
当然深度があるから同じ深度は無理だよね。

996 :Now_loading...774KB:2008/03/13(木) 12:51:44 ID:ddl/Hg53
>>994
普通に
attachMovie("MC2", "MC2", getNextHighestDepth());
でいいんじゃね?

this使いたいんなら
var someListener:Object = new Object({targetMC:this});
とでもしておいて、
this.targetMC.attachMovie("MC2", "MC2", this.targetMC.getNextHighestDepth());
とかで。

997 :Now_loading...774KB:2008/03/13(木) 16:27:42 ID:8EMAQP/g
>>996
おおーっ!できました。
thisとか指定なしでもいけるんですね。
someListenerに{targetMC:this}で渡す方法勉強になりました。
ありがとうございました。

998 :Now_loading...774KB:2008/03/13(木) 17:58:06 ID:8hytDQPo
次スレ用意しろ

999 :Now_loading...774KB:2008/03/13(木) 18:34:33 ID:mLAREIxh
>>998

つ 993


1000 :Now_loading...774KB:2008/03/13(木) 18:34:55 ID:mLAREIxh
埋め

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

360 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)