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

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

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

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

直前スレ
ActionScript 誰かが物凄い勢いで解答するスレ 15
http://pc11.2ch.net/test/read.cgi/swf/1169277793/l50

関連スレ
Flash製作初心者の質問スレッド レイヤー36
http://pc11.2ch.net/test/read.cgi/swf/1173006099/l50

Flashの超基本的な質問はここでしろ! part32
http://pc11.2ch.net/test/read.cgi/swf/1176277512/l50

サイト、参考書籍、関連情報は>>2-10あたり
2Now_loading...774KB:2007/05/01(火) 21:14:11 ID:EiP+QhSr
ASお勉強さいと
FLASH ActionScript Helper (初級〜中級。ASの概念をじっくりと
ttp://homepage3.nifty.com/ginga-b/
はりぼてあくしょんすくりぷと (ホンさんの分かりやすい解説
ttp://www.geocities.co.jp/Milano-Cat/4036/bote/index.html
FumioNonaka.com (AS辞書正誤表なども
ttp://www.fumiononaka.com/

AS書籍
おしえて!!Macromedia FLASH MX Action Script (イラスト入りで分かりやすい
macromedia FLASH ActionScriptバイブル (リファレンス本
続FLASH ActionScriptバイブル MXのツボ (上の続編、MXに対応
Macromedia Flash Mx 2004 Actionscript 2.0 Dictionary
Actionscript for Flash Mx: The Definitive Guide
購入は書籍店か、アマゾンあたりで。

Flash情報交換フォーラム
ttp://www.mediacreator.jp/
ttp://www.flash-jp.com/
3Now_loading...774KB:2007/05/01(火) 21:14:48 ID:EiP+QhSr
アドビ本家(30日間無料トライアルのダウンロードもここ)
ttp://www.adobe.co.jp
AS3.0ドキュメントの和訳
ttp://www.adobe.com/support/documentation/jp/flex/
AS3.0はFlex2か以下のFlashPreviewで実行可能(英語版のみ)
ただし、ASのみの評価版のためFlash8Proが必要
ttp://labs.adobe.com/の
Flash Professional 9 ActionScript 3.0 Preview
ASエディタse|pyのHP(ダウンロードは一番下のとこ)
ttp://www.sepy.it/
.solエディタはここ
ttp://www.alexisisaac.net/

4Now_loading...774KB:2007/05/01(火) 23:38:03 ID:Q+E5EmoE
5Now_loading...774KB:2007/05/02(水) 01:32:42 ID:8NUYvQGW
var res:String = "0123456789甲乙丙";
trace(res.substr(1,1));
trace(res.substr(10,1));
6Now_loading...774KB:2007/05/02(水) 02:09:55 ID:z0vZw2CR
>>5
1甲?
7Now_loading...774KB:2007/05/02(水) 07:22:50 ID:W0ZcOw72
>5
1甲w
8Now_loading...774KB:2007/05/02(水) 09:04:03 ID:w8VtPuj7
ここ見てる先生方へ
AS3の基本解説してるサイトもしくはコーナー作ってくれお
解説してるとこ全然無いからみんな見にいくお≡⊂二二( ^ω^)二⊃
9Now_loading...774KB:2007/05/02(水) 12:56:19 ID:/pGQkhHz
firefox2.xでloadmovieが使用できないバグってまだ治らないのかな。
10Now_loading...774KB:2007/05/02(水) 18:51:55 ID:l9LV062X
flashのソケット通信を使って、サーバとリアルタイム通信をしたいのですが、
接続とセンドはできるのですが、レシーブが帰ってきません。
サーバ側はセンドしてるのですが、Flashが読み取れてないみたいです。
flashはここのやつを使ってます↓("localhost",ポート8080に変更。)
http://dev.dschini.org/socketjs/
サーバ側はJAVAでコードは
import java.net.*;
import java.io.*;
public class XmlSocket
{public static void main(String[] args){
while(true){
try{
ServerSocket sarver = new ServerSocket(8080);
System.out.println("waiting...");
Socket socket = sarver.accept();
PrintWriter out = new PrintWriter(new OutputStreamWriter(socket.getOutputStream(), "UTF8"), true);
out.print("!!!!!!!!!!!!!!!!SendTest!!!!!!!!!!!!!!!!!!!!!!" + "\0");
out.flush();
out.close();
socket.close();
sarver.close();
}catch (Exception e){e.printStackTrace();}}}}
です。
見ての通りローカルホスト内でまわして、ソケット通信の実験をしています。
何か問題があるのでしょうか?
どこに問題があるかわかる方いらっしゃいましたらぜひ教えてください。

どうぞよろしく御願いします。
11Now_loading...774KB:2007/05/03(木) 05:46:37 ID:C3bzl4qj
マウスでドラッグできるマップを作りたいんですが

マップのMCはFLASHの表示領域より大きくて
マウスをクリックした所を中心にしてドラッグさせたいんだけど
はて、どうしたものか

FGF延期しちゃったから死にそう
12Now_loading...774KB:2007/05/03(木) 11:32:00 ID:SqCVFSpB
スクリプトでムービークリップを湾曲処理させる方法なんてできるのでしょうか
13Now_loading...774KB:2007/05/03(木) 15:35:25 ID:E3eMbLgP
モスカ絵チャ
/www.takamin.com/oekakichat/user/oekakichat3.php?userid=262336
14Now_loading...774KB:2007/05/03(木) 18:34:24 ID:G62Hbycz
特定のMCのイベント(onpressとか)を外部から発生させることはできるのでしょうか?

15Now_loading...774KB:2007/05/03(木) 18:42:30 ID:f+ydHrev
初歩的な質問すみません。
FLASHでHPを作っているのですがlinkのスクリプトがよく分かりません。
blankやselfなどがありますが。。。
僕がやりたいのはボタンを押してそのページ自体が変わるヤツです
新しくウィンドウとか作らなくてそのページ自体です。
どなたか教えてください。
ホント、初歩的ですみません。
1615:2007/05/03(木) 19:45:00 ID:f+ydHrev
すみません。自己解決しました。
ほんとにすみませんでした。
17Now_loading...774KB:2007/05/04(金) 01:41:23 ID:yAeGFQ98
>>14
フレームに記述。
MC.onPress = Hoge;
function Hoge(){
trace("hogehoge")
}
18Now_loading...774KB:2007/05/04(金) 12:15:53 ID:Or+6pbtJ
>>14
外部って何?
19Now_loading...774KB:2007/05/04(金) 16:58:25 ID:0AHzn8Gd
>>14
マウスクリックしていないのに、したのと同等の処理をやりたい
ってことじゃないかと予想。

onPressに割り当てた関数を実行してあげれば良いってことかな?
_root.MC.Hoge();
20Now_loading...774KB:2007/05/04(金) 17:48:51 ID:ST9rEP9d
mc.onPress()
21Now_loading...774KB:2007/05/04(金) 18:38:00 ID:TSHmdP4E
外部っつーんだからswfの外からでしょ
javascriptとかで出来ないんかね?
おいらは知らないけど
22Now_loading...774KB:2007/05/05(土) 01:40:08 ID:tbWk4XR4
割り当てたすべてのリンケージ識別子を取得できる方法ってあります?

ランダムなリンケージ値を出して、それが存在していたらattachMovieで呼び出す…
みたいな事をやりたいんだけど上手くいかないorz
自分で配列か何かに割り当てている識別子を手作業で記録する方法しか思い浮かばないorz
23Now_loading...774KB:2007/05/05(土) 06:35:56 ID:2vmx9JJl
>>22
>ランダムなリンケージ値を出して、それが存在していたらattachMovieで呼び出す…
ひでえプログラムだなw
24Now_loading...774KB:2007/05/05(土) 14:56:22 ID:fTxYWmgH
>>22
その場合、普通はリンケージ名にHoge0,Hoge1,…,Hoge9っていう風に連番で名前つける。
25Now_loading...774KB:2007/05/05(土) 15:39:45 ID:5czOWws9
MC(連番)という名前のMCをいくつか作って、それぞれのX座標位置を複雑に制御したいのですが、
一番上のルート上(MC自身には記述したくないので)で、例えば

aaa = 1;

onEnterFrame = function(){
   if ("_root.MC" + aaa + "._x" > 30) {_root.card1._x += -80}


と記述しても、MC1が動いてくれません。
どこか文法が間違っているのでしょうか。
aaaの値を変化させる事で、動かすMCを指定したいのです。
2625:2007/05/05(土) 15:42:03 ID:5czOWws9
あ、すみません。最後の }; が抜けていますね。
でも以下のように付け加えても動きません・・・。

aaa = 1;

onEnterFrame = function(){
   if ("_root.MC" + aaa + "._x" > 30) {_root.card1._x += -80}
  };
2725:2007/05/05(土) 15:49:54 ID:5czOWws9
うわああああ
正しくは、


aaa = 1;

onEnterFrame = function(){
   if ("_root.MC" + aaa + "._x" > 30) {"_root.MC" + aaa + "._x" += -80}
  };

 
です。
何回、間違えてるんだか・・・orz
でも、これだと 「代入演算子の左側は、変数またはプロパティでなければなりません。」って怒られます。
28Now_loading...774KB:2007/05/05(土) 16:04:36 ID:2vmx9JJl
文字列とMC参照の違いをしっかり学ぶ
29Now_loading...774KB:2007/05/05(土) 16:08:08 ID:EXpNQZkT
とか言ってevalバリバリ使ってもらっても嫌だしなあ
30Now_loading...774KB:2007/05/05(土) 16:21:54 ID:fTxYWmgH
>>27
if ( _root["MC"+aaa]._x > 30 ) { }
3125:2007/05/05(土) 16:32:57 ID:5czOWws9
>>30

で・・・でけた・・・。
なるほど、こういう記述をするんですね。
こういうのって、プログラム専門の人なら当然の記述方法なのかもしれませんが、
FLASH本ではなかなかお目にかかれないんで、本当に助かりました。


30さん、最高にクールな回答、ありがとうございました。
32Now_loading...774KB:2007/05/05(土) 17:41:46 ID:Nee+00yJ
>>31
一応>>28,29にも声かけてあげなよ…。>>29も答え書いてるんだし。

配列アクセス演算子でググるかヘルプを読む。
この手のことは、まず「演算子」についてヘルプを一通り読めば判るはず。
33初心者です。:2007/05/05(土) 19:13:26 ID:RGjJyR1K
root上にあるムービークリップ(仮にAとして)
Aのタイムライン上に配置してあるボタンをクリックして
root上にあるムービークリップ(B)のタイムラインの任意のフレームに移動させたいんですが
ASの書き方が分からなくて困ってます。
root上にあるムービークリップの中のタイムラインに移動させるにはどうしたらいいんでしょうか?
初歩的なことで申し訳ないんですが、ご指導よろしくお願いします。
34Now_loading...774KB:2007/05/05(土) 19:18:25 ID:4wFG0oR9
>33
マルチで検索した?なら、どっちか取り下げして
35Now_loading...774KB:2007/05/05(土) 19:20:20 ID:Qp9Jxsw7
>>33
まず、マルチはやめろ。どっちか取り消すなりフォロー入れる。

AからBを参照することができないのか?
それなら>>2のFLASH ActionScript Helperあたりで、ターゲットパスについて読む。

ボタンを押したらという部分がわからないなら、ヘルプでButton クラス、とくに
Button.onReleaseあたりを読む。
36初心者です。:2007/05/05(土) 19:20:26 ID:RGjJyR1K
>34 :Now_loading...774KBさん
マルチで検索した?なら、どっちか取り下げして ?の意味が分からないんですが、どうすればいいんでしょうか?
37Now_loading...774KB:2007/05/05(土) 19:23:51 ID:4wFG0oR9
>36
あっちの板も見ておいで
>35で分からんかったらまた来ればいい
あと、日付のあとのIDにも気を配れば
君もやっていけるよ
3822:2007/05/05(土) 19:28:44 ID:tbWk4XR4
>>24
やっぱりそんな感じになりますよね・・・
取得できないようなので少し工夫してやってみます
ありがとうございました
39初心者です。:2007/05/05(土) 19:39:23 ID:RGjJyR1K
>35
ターゲットパスについて読んでパスを書いたんですが反応ないんです。
ルートに空いてあるムービークリックBのフレームまではいくんですが。。

40Now_loading...774KB:2007/05/05(土) 20:17:34 ID:2vmx9JJl
>>39
どういうASを書いてダメなのかをいわんと誰もわからん
41初心者です。:2007/05/05(土) 20:43:34 ID:RGjJyR1K
>40
そうでした…すみません。
本を見ながら、ボタンにon (release) {
this._parent.car_mc.gotoAndPlay("car2");
}
と書いたんですが反応ないんです。
42Now_loading...774KB:2007/05/05(土) 20:47:25 ID:4wFG0oR9
>41
・_parentを増やしたり減らしたり
・_root.car_mc.gotoAndPlay("car2");
に書き換えて動く?
43Now_loading...774KB:2007/05/05(土) 20:49:20 ID:fTxYWmgH
>>41
ボタンから見ると

_root       ← this._parent
 ├ car_mc
 └ A      ← this
   └ ボタン

になるからそれであってる。動かないなら、
car2っていうフレームが無いかcar_mcのインスタンス名が付いていないかじゃないかな。
44初心者です。:2007/05/05(土) 21:04:14 ID:RGjJyR1K
_root においてあるMC Aの10フレーム後にMC Bを配置してあるんですが
Aと同じフレームにおいておかないとMC間のタイムラインへの移動って無理なんでしょうか?
root.car_mc.gotoAndPlay("car2");
にしても反応なかったんです。
45Now_loading...774KB:2007/05/05(土) 21:06:32 ID:4wFG0oR9
>44
BがあるときにAS(アクションスクリプト)を書くこと
46Now_loading...774KB:2007/05/05(土) 21:12:31 ID:4wFG0oR9
>45
補足
Bが出てるときに、Aを押すなら大丈夫
47Now_loading...774KB:2007/05/05(土) 22:00:48 ID:W5E1++Qm
Flashでありがちな
ttp://www.dynamicdrive.com/dynamicindex4/cmotiongallery.htm
みたいなアニメーションを作る為のチュートリアルをご存知の方、おりますかい。

あるいは、検索する為のヒントが欲しいです。
これなんていうんですか?
48Now_loading...774KB:2007/05/05(土) 23:43:30 ID:AS48y+5y
>>47
「Flash 横スクロール」とかで出てくんのかね・・・・?
単純にMovieClipの_x値を、_xmouseの位置によって変えればいいだけじゃ。

Flashのチュートリアルって、ちゃんとまとまってて使えそうなところは少ない希ガス。
本を数冊買う方が手っ取り早いような。
49Now_loading...774KB:2007/05/06(日) 02:36:18 ID:vw+jbc7y
>>44
rootじゃなくて_rootだよ。そこらへん大丈夫?
インスタンス名はついている?trace(_root.car_mc)でundefinedならついてない。
フレーム名使わずに_root.gotoAndPlay(2)とかも試してみる。
50Now_loading...774KB:2007/05/06(日) 18:09:55 ID:Km8DFSWt
HTML-JavaScriptでflv動画のアドレスを
FLASHオブジェクトのMovieプロパティに入れても
再生できないみたいです。

HTML/JavaScriptでflv動画のURL指定、再生開始や停止
を行う事は無理なのでしょうか?
51Now_loading...774KB:2007/05/06(日) 18:19:27 ID:TbF5VLW5
>>50
htmlやjavaスクリプトはweb板あたりで。ここはASのスレだよ。
52Now_loading...774KB:2007/05/06(日) 18:34:59 ID:uy3pTByW
>>50
無理だと思う。
あまり詳しくないんだけど、
別にswf用意して読み込むか、swfに最初から埋め込むかぐらいしか知らない
53Now_loading...774KB:2007/05/06(日) 20:09:08 ID:LOM2MyI+
環境)OS:WinXP-Pro,Mem=1GB,ソフト:Flash8-Pro(Player8)

SWFとプロジェクタ(EXE)の違いについて質問です。

EXE形式で相手に渡そうと、あるSWFをFlash8-Proで掃き出したところ、
SWFでは100msecも経たずに終わる処理がEXEで10秒(だいたい)以上かか
る上に、ついには「ムービー内のスクリプトが原因で実行速度が・・・・」
という警告が出ます。

この原因は何によるものでしょうか?

目的の処理は、ボタンアクションとフレームアクションでで外部文書を読み
込むもので、下のようになっています。
on (release) {
my_xml1.load(output1+".out"); //output1+".out"というOUTファイルを指定&読み込み
}

my_xml1.onData = function(s) {
tmp1 = s.split("\n").join("");
outData1 = tmp1;
trace("outData1= "+outData1.length);
}
54Now_loading...774KB:2007/05/06(日) 20:20:28 ID:pJMkFlUE
ActionScript2.0で、「15」とかの数字がなんの数字の2乗なのか、というのを求めるのに使える関数とかってありますか?
関数じゃなくて数学的な計算をしなければ求められないものでしょうか?

よろしくお願いします。
55Now_loading...774KB:2007/05/06(日) 20:32:35 ID:uy3pTByW
>>54
もう一度中学に入り直せば?
56Now_loading...774KB:2007/05/06(日) 23:20:44 ID:TbF5VLW5
>>53
10秒かかって正しく動いたのか?そこが重要
>>54
ヘルプでMathクラスを検索
5754:2007/05/06(日) 23:30:10 ID:pJMkFlUE
>>55-56
ありがとうございます!やっと解決する事ができました!
58Now_loading...774KB:2007/05/06(日) 23:37:32 ID:qIomqIPb
>>53
ファイルの置いてある場所が、日本語名のフォルダを含んでいませんか?
5953:2007/05/07(月) 02:58:14 ID:urroiuO6
>>56, 58
さんきゅうです。
原因はEXEファイルを含むフォルダ名に日本語が入っていたためのようです。
最初、\デスクトップ\Flash内で不可でしたが、CドラのProgram Files内に
英語のフォルダを作ったところ上手くイキました。
60Now_loading...774KB:2007/05/07(月) 12:05:56 ID:83j8yUuW
便乗ですがクライアントからの要求で、
どうしても日本語を含むパスでもファイルの読み込みを行いたいのですが、
色々なブラウザで試すと成功する時とそうでない時があります。
良い方法等あればご教示ください。
61Now_loading...774KB:2007/05/07(月) 12:24:33 ID:Nyty4uCh
>>60
日本語のパスって、、、ありえない
62Now_loading...774KB:2007/05/07(月) 13:35:33 ID:pPU2eMBA
1,2,3,4,5,6の6つの数字を1度ずつ使っている数であるかどうか確認するには
どのような式でやればいいでしょうか。
63Now_loading...774KB:2007/05/07(月) 14:19:11 ID:Nyty4uCh
>>62
具体的にどういう事をやりたいのかを書く
1つの数値の中にその数が含まれているのか、文字列に含まれているのか
どういうシュチュエーションかわからん
64Now_loading...774KB:2007/05/07(月) 17:28:02 ID:iqBRum0i
http://takopus.ru/swf/smk03.html
これってどういう理屈で動いてるんでしょうか?
点を打って、その間に曲線を引いてるの?
65Now_loading...774KB:2007/05/07(月) 17:35:37 ID:iqBRum0i
ttp://takopus.ru/swf/smk03.html
すいません…h抜き忘れました。。ここから行ってください。
66Now_loading...774KB:2007/05/07(月) 19:08:09 ID:83j8yUuW
>>64
MovieClip.curveTo
671/2:2007/05/07(月) 21:28:11 ID:dX1iOz7r
配列アクセス演算子とeval()関数についての質問よろしいでしょうか。使用ソフトはMXです。

今、_root上に適切に存在する10個のMCにプロパティやイベントハンドラを付与させようとしています。
なお、それらのMCには0_mc〜9_mcの名前が割り当てられています。

ここで、お聞きしたいのは以下の3通りの方法のうち、
どれが最も適切なものか、ということです。
いずれも、問題なく動作し、結果も同様です。
682/2:2007/05/07(月) 21:29:34 ID:dX1iOz7r
◆その1
for (var j = 0; j<10; j++) {
mcName = eval(j+"_mc");
mcName._x = j;
mcName.onMouseDown = function() {
trace(this._x);
};
}

◆その2
for (var j = 0; j<10; j++) {
eval(j+"_mc")._x = j;
eval(j+"_mc").onMouseDown = function() {
trace(this._x);
};
}

◆その3
for (var j = 0; j<10; j++) {
this[j+"_mc"]._x = j;
this[j+"_mc"].onMouseDown = function() {
trace(this._x);
};
}

「eval()関数の多用は避けるべき」なんてことを小耳に挟んだものですから、
そのあたりのこと(特にCPUやメモリへの負担という観点から)についてご意見いただけたらと思います。
69Now_loading...774KB:2007/05/07(月) 22:01:37 ID:O7UAj/YN
とりあえず、その2は禁止だったはず。
70Now_loading...774KB:2007/05/07(月) 22:11:59 ID:I42S0r1M
>>68
俺だったら3。
evalってスゲー昔使ったけど最近全然使ってない…。

あと、配列アクセス演算子だと問題なくアクセス出来るんだけど
基本的には、変数名とインスタンス名が、数字から始まるのは禁止されてる。
7167:2007/05/07(月) 22:38:29 ID:dX1iOz7r
やっぱりeval()関数は使わない方が吉なんですね。
ありがとうございます。

>>70
>基本的には、変数名とインスタンス名が、数字から始まるのは禁止されてる。
そういえば昔、それに気づかず数時間を無駄にした記憶が…
同じミスを繰り返してれば世話ないですな
72Now_loading...774KB:2007/05/08(火) 00:10:30 ID:nsl3igx+
>>71

一概にevalを使っちゃいけないわけじゃないけど、
evalは文字をいったん解析して、コードとして解釈した結果を返すので
文字を直接足すよりも重くなる。

その反面

eval( "function(){for(var i=0; i<10; i++){ trace(i)};return 3}" )

みたいなことをすれば、文字列を式として実行できるので
複雑なことをするときに地味に役立つ。
73Now_loading...774KB:2007/05/08(火) 06:39:06 ID:ozhxdFSE
evalは非推奨とヘルプにも謳われてるよ
74Now_loading...774KB:2007/05/08(火) 13:23:36 ID:MKMRCBH5
>>72
えうっそ、ActionScriptのevalって確かムービークリップの参照だけじゃなかったっけ
75Now_loading...774KB:2007/05/08(火) 16:48:32 ID:HM4oXf12
>>74 その通り
76Now_loading...774KB:2007/05/08(火) 20:24:23 ID:WkYVyWWN
すみませんご教授ください。

バナーを作成したのですが
ムービーが、終了してから、10〜20(任意)秒間最後のフレームで停止して、また最初からムービーを繰り返す
というのを作りたいのですが、どのようなActionScriptを使えばいいのでしょうか
よろしくお願いいたします。
77Now_loading...774KB:2007/05/08(火) 20:31:39 ID:MKMRCBH5
>>76
スクリプト使うより、最後のフレームをFPS×10フレーム伸ばせば簡単だと思うが
78Now_loading...774KB:2007/05/08(火) 20:33:03 ID:WkYVyWWN
すみません 補足させてください
バナーFLASHは シーンを4つに分けて制作しています

いまのところ シーン4の最後のフレームでstop()を入れているのですが、一回で動きが
終了してしまうのは、寂しいので、最後の画面(フレーム)で、10秒くらい停止して、また最初から繰り返すを
ループにしてほしいと言われました。
79Now_loading...774KB:2007/05/08(火) 21:49:00 ID:WkYVyWWN
そうですね・・・
スクリプトなら、数字の調整でタイミングとかはかれそうだったんですが
最終フレームを伸ばすことにします。
80Now_loading...774KB:2007/05/08(火) 22:47:35 ID:hUndgq4S
うん。それがいい。
シーンを分けているということは、スクリプト制御を放棄しているわけだからね。
81Now_loading...774KB:2007/05/09(水) 04:01:44 ID:Qwd/qdL6
>>76
AS用のレイヤーを用意して、

1)あるフレームでカウンタ用変数を0に設定
2)次のフレームで、
  ・カウンタ用変数を+1,
  ・希望のフレーム数になっていなければ前のフレームにジャンプ

と書けばオケ
82Now_loading...774KB:2007/05/09(水) 06:43:46 ID:NdpkDIlf
>>79
俺がたま〜に使うのは、
100フレーム目でムービーが終わって、ある一定の時間止まってからまたムービーの一番最初に戻るっていう時

101フレーム目:
wait = (フレームレート)*(ムービーを止めておきたい秒数);

102フレーム目:
wait--;

103フレーム目:
if(wait != 0) {
gotoAndPlay(_currentFrame-1);
}

とかってやるよ。ムービーによっては使えない場合が多いけどね。
83Now_loading...774KB:2007/05/09(水) 06:46:22 ID:NdpkDIlf
>>81
ごめん、全く同じような事を書いてしまった…orz
84Now_loading...774KB:2007/05/09(水) 13:50:36 ID:dQUszu0I
環境) ActionScript3 flash9 publicAlpha

addEventListenerに関して質問です
contentLoaderInfo.addEventListener(Event.COMPLETE, loadComp);

リスナー関数の部分に引数を持たせることは出来ないのでしょうか?
下記のように書きたいのですが出来なくて困ってます。
contentLoaderInfo.addEventListener(Event.COMPLETE, loadComp(Argument));

よろしくお願いします。
85Now_loading...774KB:2007/05/09(水) 19:04:18 ID:jJzsfvRX
MovieClipLoaderを使って、1フレーム目でstop();させてある外部swfを読み込み、
ローディングが終了した時に外部swfをgotoAndPlay(2);とフレーム移動させたいのですが
外部ファイルに命令or変数渡しをするにはどうすればよいのでしょうか?
FLASH8です
86Now_loading...774KB:2007/05/09(水) 19:06:53 ID:YWBCFZIv
>>85
何のためにMovieClipLoaderを使ってるんだ!
MovieClipLoader.onLoadInitを使いなされ。
87Now_loading...774KB:2007/05/09(水) 22:13:32 ID:3bBsnhlM
82さん 詳しく書いていただいてありがとうございます。 仕事で、グループ会社の商材のバナーを
まだまだ作るので、使わせていただきます。ありがとうございました。
88Now_loading...774KB:2007/05/09(水) 23:25:27 ID:u6eaeNwk
仕事だったんだ・・・
その程度の知識で大丈夫か(w
いや、ガンバレよ
89Now_loading...774KB:2007/05/09(水) 23:58:03 ID:a1B5qWOT
>>84

それはちょっと無理。
やるとしたら、Loaderをextendsして、argumentsプロパティを作るのがいいかと。

で、event.targetのcontentLoaderInfoからloaderにはっつけたargumentsにアクセスする感じ。
9085:2007/05/10(木) 00:06:11 ID:nc2jp3ms
>>86
レスありがとうございました、変数渡しはなんとかできましたが
やはり上手く動いてくれません;

ttp://www.project-nya.jp/modules/weblog/details.php?blog_id=300
↑こちらのスクリプトを参考にさせてもらったのですが
実際swfを読み込んでみた所、プログレスバーが消えswfが表示される間に
setIntervalで指定された一秒分程、swfの再生が先に始まってしまいます
読み込むswfは最初にトゥイーン等指定しているので、なんとか最初から再生されるようにしたいのです
プログレスバーのフェードイン効果も気に入ってるのでできればsetIntervalの設定も残しつつ・・・

なんとかプログレスバーが消えてから読み込んだswfを再生スタートするようにしたいのですが
アドバイスなどあればよろしくお願いします
9184:2007/05/10(木) 00:20:42 ID:lQohU+OP
>>89

わかりました
その方法でやってみます
どうもありがとうございます
92Now_loading...774KB:2007/05/10(木) 01:02:27 ID:BmzYkmly
読み込まれる側の1フレーム目でstop()をかける。
onLoadInitして、フェードイン終わったタイミングで読み込まれたswfをplay()して再生する。

でどうよ?
9385:2007/05/10(木) 10:03:39 ID:nc2jp3ms
>>92
レスありがとうございます。
参考先のonLoadInit内の if (this._alpha < 0) の所の処理で
グローバル変数(_global.myNum = 2)を送り、
読み込んだswf側の1フレーム目にthis.stop(); と gotoAndPlay(_global.myNum);
としましたが既に再生された後になってしまいます
やり方が間違っているのでしょうか・・・

94Now_loading...774KB:2007/05/10(木) 16:06:47 ID:3Yd8YZA4
初めて書き込みします。
Flashで携帯サイトを作っています。
CGIも組み込んでいます。
HTMLからswfにリンクして、戻りたいときに、
普通ならHTMLのアドレスへリンクさせますが、
CGIが入っているので表示されません(ログイン前の画面になる)。
Javascriptの履歴で戻る「history.back()」のような記述は
Flashでも使えますか?
また、他の記述方法があれば教えてください。
よろしくお願いします。
95Now_loading...774KB:2007/05/10(木) 20:30:07 ID:ITxbXqiY
>>94
getURL("javascript:history.back()")
96Now_loading...774KB:2007/05/10(木) 20:35:22 ID:W9Gs8I0G
>>95
携帯でJavaScriptって使えたっけ?
97Now_loading...774KB:2007/05/10(木) 20:42:55 ID:ITxbXqiY
環境依存
98Now_loading...774KB:2007/05/10(木) 22:18:07 ID:W9Gs8I0G
>>97
そうなんだ、使えないもんだと思ってたわ。
>>94じゃないけどdクス
99Now_loading...774KB:2007/05/10(木) 22:59:48 ID:xKyY7iMC
au携帯でFlashLite2.0を利用しているのですが上下左右キーを押す場合のASはどう書けば良いのでしょうか?

on(keyPress"<Left>") {
処理
}

のように書いて携帯で左キーを押しても反応しませんでした。
10094:2007/05/10(木) 23:33:12 ID:3Yd8YZA4
>>95
ありがとうございます!
明日会社で試してみます。
101Now_loading...774KB:2007/05/11(金) 08:22:02 ID:APJZU86w
AS3.0のaddEventListenerがさっぱり分かりません><
AS2.0でmc_hogeの1フレームと10フレームにthis.stop();
って書いてあった場合、AS3.0のメインタイムラインにはどう書いたらいいんでしょう?
10294:2007/05/11(金) 09:39:21 ID:74hvWLAC
携帯でのJavascriptはフルブラウザでしか機能しないんですね…。
普通の携帯ではダメみたいです。(ドコモSH902is/au W21SA)
普通の携帯でもSWFから履歴で戻れる方法はないでしょうか?
103Now_loading...774KB:2007/05/11(金) 13:34:54 ID:ys0L1OeN
ない
104Now_loading...774KB:2007/05/12(土) 15:22:31 ID:KWvV/9v/

105Now_loading...774KB:2007/05/12(土) 16:16:44 ID:WIup9fmQ
メインのswfAに色々ボタンや仕掛けのついたswfBをloadMovieで読み込んでいるのですが、
swfBのボタンが押せずクリックしても何の反応もありません。swfBだけを再生するとちゃんと動作するのですが
どうすれば読み込んだswfBを正常に動作させることができるでしょうか?
106Now_loading...774KB:2007/05/12(土) 16:40:07 ID:Enl+i69D
_lockroot
107Now_loading...774KB:2007/05/12(土) 16:53:19 ID:WIup9fmQ
ありがとうございます!
108Now_loading...774KB:2007/05/13(日) 02:07:05 ID:a2Spa/ws
環境)OS:WinXP-Pro,Mem=1GB,ソフト:Flash8-Pro(Player8)

onRollOverアクションの常時監視で質問です。

attachMovieで_root上のMC(stage1)に12個のオブジェクト(barA0〜barA11)
を出現させ、この内の1つにポインタを重ねたとき別のMCを表示させるASを
書いています。

つまり、barA2に重ねたら『2』と表示させる感じです。どれか1つにonRollOver
した時の反応ですので、onEnterFrameで常にfor文を繰り返し処理(重なりの
監視)をするという意味で

this.onEnterFrame = function() {
for (id=0; id<12; id++) {
this.stage1["barA"+id].onRollOver= function() {
trace("Barは: "+id); //番号の確認
};
}
};

と書きましたが、これではBarの番号(id)が常に12のままです。
何か良い案はありますでしょうか?
109Now_loading...774KB:2007/05/13(日) 03:13:26 ID:L16nc9eq
>>108

//this.onEnterFrame = function() {
for (id=0; id<12; id++) {
this.stage1["barA"+id].onRollOver= function() {
trace("Barは: "+id); //番号の確認
};
}
//};

これでどないだ
110Now_loading...774KB:2007/05/13(日) 06:55:04 ID:dia6Caqs
>>108
attach元のMCに↓でも書いてやってみ。
メインのフレームにはattachするのみで。
this.onRollOver= function() {
trace(this._name);
}
111Now_loading...774KB:2007/05/13(日) 10:40:33 ID:w5ipZTeF
横からスマン。>>84を見て少し疑問に思ったのでいくつか質問させてほしい。

AS3で、例えば

addEventListener(Event.ENTER_FRAME, myEnterFrame);
addEventListener(Event.COMPLETE, myEnterFrame);
function myEnterFrame(eventObject:Event):void {
}

って記述されたスクリプトを実行したら、
EnterFrameは上書きされてCompleteだけが残る(同じ型指定されているもの(ここではEvent型)は併用不可)ってこと?

それとバカな漏れに>>89の内容が分かるように教えてほしい。
リスナーに引数を持たせることができないから、正規コントールのLoaderを継承して
引数受け取りメンバ(arguments)を追加。【ここから分からない】で、イベントメソッドが走った際に、
メソッド側からargsメンバを呼び出し・・・?じゃなくて、リスナーからそのままメンバを呼び出し?
・・・「引数を渡す」って処理をどうやってクリアしてるのか教えてほしい
112108:2007/05/13(日) 11:33:33 ID:lO2wZZV5
>>109,110
さんきゅうです。
109さんの場合は何処に書けば良いのか分からなかったので、110さんの案
を採用しました。
結果、目的の表示が出来ました。
113Now_loading...774KB:2007/05/13(日) 17:31:35 ID:QIllwaoG
as2で配列オブジェクトのソートを教えてつかぁさい!

var sample:Object = {aaa:10, bbb:30, ccc:20};
値のほうでソートして、bbb,ccc,aaaと並んだ配列を得たいんです。
114Now_loading...774KB:2007/05/13(日) 18:07:16 ID:KXnIZzK2
>>113
sampleをfor..inで[["aaa",10],["bbb",30],["ccc",20]]みたいな二次元配列作る。
その2次元目の[1]の値でクイックソート
[0]だけ配列にする
115Now_loading...774KB:2007/05/13(日) 18:54:47 ID:QIllwaoG
>114
グラシアス!上手く出来ました。
116Now_loading...774KB:2007/05/14(月) 01:06:32 ID:Xc/muPjb
menu1ボタンを押したら他のボタン(menu2〜4)を押すまでmenu1は反応が無くなるようにして
他のボタンを押したら押したボタン自体の反応が無くなり、押した以外のmenuボタンの反応が復活といった事をやりたいのですが
自分のスクリプトでは他ボタンを押しても反応が復活しませんでした
アドバイスお願いします、もっと良い考え方もあったらご教授下さい、flash8です

for(i=1;i<5;i++) {
myName = "btnV" + i;
this[myName] = true;
}
menu1_btn.onPress = function() {
if(btnV1) {
for(i=1;i<5;i++) {
btnV[i] = true;
}
btnV1 = false;
_parent.btnPre();
}
};
menu2_btn.onPress = function() {
if(btnV2) {
for(i=1;i<5;i++) {
btnV[i] = true;
}
btnV2 = false;
_parent.btnPre();
}
};
117Now_loading...774KB:2007/05/14(月) 03:03:14 ID:cn20+/xH
>>116
for(i=1;i<5;i++) {
this["menu"+i+"_btn"].onPress = function() {
for(i=1;i<5;i++) {
_parent["menu"+i+"_btn"].enabled = true;
this.enabled = false;
}
}
}

タイムラインにこれを記述すれば多分やりたい通りになるかも
118Now_loading...774KB:2007/05/14(月) 10:56:24 ID:Xc/muPjb
117さんレスありがとうございます
でもやはりボタンmenu1を押してからmenu2を押してもmenu1の反応は戻りませんでした、逆も同じでした

btnName = ["menu1_btn","menu2_btn"];

menu1_btn.onPress = function() {
this.enabled = false;
for(i=1;i<3;i++) {
if(i==1) continue;
btnName[i].enabled = true;
}
};

menu2_btn.onPress = function() {
this.enabled = false;
for(i=1;i<3;i++) {
if(i==2) continue;
btnName[i].enabled = true;
}
};

自分でこんなのも打ってみましたがやはり挙動は全く変わりません
押したボタンのenabledをfalse指定するタイミングが悪いんでしょうかね。。。
119Now_loading...774KB:2007/05/14(月) 11:14:40 ID:uh1iKjNr
var focusedBtn = null;

for(var i = 1; i <= 4; ++i)
{
  _root["menu" + i + "_btn"].onPress = function()
  {
    this.enabled = false;
    _root.focusedBtn.enabled = true;
    _root.focusedBtn = this;
  }
}
120Now_loading...774KB:2007/05/14(月) 12:31:24 ID:U3dHzw5G
AS3.0でloadMovie的なことをしようと
var ldr:Loader = new Loader();
var url:String = "hoge.swf";
var urlReq:URLRequest = new URLRequest(url);
ldr.load(urlReq);
addChild(ldr);
と書いてstage.frameRateを変化させているのですが
FPSが変化してるのは土台の方だけで読み込んだswfの方は全く変わってくれません・・・
ASのverが違うとfps固定されてしまうのでしょうか?
121Now_loading...774KB:2007/05/15(火) 08:13:42 ID:/7se2xRP
>>120
AS3からAS1、2の変数を拾うのは無理ぽ
122Now_loading...774KB:2007/05/16(水) 03:28:11 ID:MpEwQXTq
AS3でcolorMatrixFilterってどうやって使うんでしょうか('A`)
ビットマップエフェクトで残像やりたいのに上手く行かないorz
123Now_loading...774KB:2007/05/16(水) 08:02:48 ID:MpEwQXTq
寝ぼけてました 自己解決です

スペルミス吹いた
124Now_loading...774KB:2007/05/16(水) 23:14:05 ID:LWULBAdQ
RTMPを喋れる軽量な実装無いかな?Red5はでか過ぎ複雑すぎ・・・

125Now_loading...774KB:2007/05/18(金) 13:16:41 ID:Gd+knp0b
Flashのスクリーンショットを保存したいのですが、SharedObjectを使ってBitmapDataって保存できますか?
やってみたのですが、うまく保存されなかったもので……。
126Now_loading...774KB:2007/05/18(金) 15:07:02 ID:fkUU/UBu
>>125
ローカルにSSのbmpを保存したいとかなら無理じゃね
一旦画像に変換してくれる物を挟まないとダメ
127Now_loading...774KB:2007/05/18(金) 15:08:50 ID:LKa6tVKB
>>125

phpとか使えばOK
128Now_loading...774KB:2007/05/18(金) 16:20:40 ID:Gd+knp0b
>>126,127
そうですか。環境選びそうなので今回はこの方法は断念するとします
ありがとうございました。
129Now_loading...774KB:2007/05/19(土) 15:03:17 ID:RR15l0uW
http://screenvader.com/root.html

こちらのサイトのメニューの動きとモーションブラーはどんなスクリプトになっているのでしょうか?
職人の方々、ご教授下さい。flash8使用です。
130Now_loading...774KB:2007/05/19(土) 15:25:10 ID:kXLb8m/0
131Now_loading...774KB:2007/05/19(土) 16:04:26 ID:UhResxzH
MovieClipLoaderについて質問でつ(MX2004)
読み込み先ターゲットがたくさんある(100〜200個)場合以下のASをどう改造すればいいのでつか
もしくはリスナー登録しないMovieClipLoaderの使い方を教えて先生!

var tg=_root.gamen1_mc;//読み込み先ターゲット
var myMC:MovieClipLoader = new MovieClipLoader();
var myLis:Object = new Object();
myLis.onLoadStart = function( tg:MovieClip ){
trace("読み込み開始");
};
myLis.onLoadProgress = function( tg:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
trace("読み込み:"+bytesLoaded+" 合計:"+bytesTotal );
};
myLis.onLoadComplete = function( tg:MovieClip ) {
trace("読み込み終了");
};
myLis.onLoadInit = function( tg:MovieClip ) {
trace("先頭フレームのアクションが実行");
};
myLis.onLoadError = function( target_mc:MovieClip, errorCode:String) {
trace("エラー発生");
};
myMC.addListener( myLis );//登録
132Now_loading...774KB:2007/05/20(日) 00:52:32 ID:J4k5FC4S
質問です。これは、どういうものなのか?どう回避するのか教えて頂きたいです。 よろしくお願いします。
function serailck(serial)
{
id = serial.substr(0, 4);
pw = serial.substr(4, 4);
if (pw == pwa[id])
{ name = namea[id];
return (true); }
else
{ return (false); } // end else if } // End of the function
getURL("FSCommand:fullscreen", true);
x = 0;
y = 0;
err.stop();
enter = "";
var so = SharedObject.getLocal("ju");
if (so.data.serial == undefined)
{ serial = ""; }
else
{ serial = so.data.serial; } // end else if
id = serial.substr(0, 4);
stop ();
pwa = new Array();
namea = new Array();
pwa["1919"] = "moko";
namea["1919"] = "ソクラテス";
133Now_loading...774KB:2007/05/20(日) 07:16:57 ID:VmXsqBbr
>>131
どう改造って、、、しかも使い方って、、、まずはヘルプ読んで1個ロードするところから始める。
>>132
どう回避って、、、拾ってきたソースを適当にうpするなよ。
自分でどこまでわかって、どこがわからないのかを書け。
134Now_loading...774KB:2007/05/20(日) 15:28:34 ID:ZVh7lUMa
●WinXP, Flash CS3 pro(体験版)

on (release, releaseOutside) {
this.stopDrag();
}

というMC「aaa」の命令をrootの1フレーム目に書きたいのですが、
↓ではないですよね。

_root.aaa.onRelease, _root.aaa.onReleaseOutside = function():Void {
this.stopDrag();
}

まとめて書くにはどうしたらよいのでしょうか?
135131:2007/05/20(日) 17:32:14 ID:BVmW0LFD
>>133
1個のロードはできますお
複数(かなりたくさん)のロード先ターゲットがある場合はみんなどうしてるんでつか?
136Now_loading...774KB:2007/05/20(日) 18:23:44 ID:VmXsqBbr
>>135
ループしてインスタンスを配列に格納する。
137Now_loading...774KB:2007/05/20(日) 22:43:17 ID:aZbeWtRa
>>134
var p = _root.aaa;
p.onRelease = p.onReleaseOutside = function():Void {
this.stopDrag();
}
138134:2007/05/20(日) 22:47:48 ID:ZVh7lUMa
>137
レスありがとうございます!
助かりました。
139Now_loading...774KB:2007/05/21(月) 07:17:10 ID:+akStjSl

Flex2でActionScript3.0はじめました。
書いてある通りやってるのにできなくて、
「糞がヵぁぁぁぁぁぁっぁぁぁぁsぁぁぁっぁ」っていう状況です。
ググっても見つかりません。助けてください。
ちなみにJavaはそれなりに詳しいので、基本はわかっているつもりです。


(1)コマンドプロンプトのショートカットがおかしい件
 PATHは確かに通ってます。
 コマンドプロンプトを直接起動し、mxmlcと入力するとちゃんと表示されます。
 ディレクトリを変更しても問題なしです。
 でも、コマンドプロンプトのショートカットを作成し、作業ファイルに任意の場所を指定し起動すると
 なぜか mxmlc でPATHが通らなくなります。わけわかめです。


(2)コンパイルエラー
 http://www.saturn.dti.ne.jp/~npaka/flash/as30/VideoEx/index.html
 ↑動画再生をしてみたいと思い、上のサンプルをそのままコピペし、
  コンパイルしようとすると、コンパイルエラーになりました。
  エラーメッセージは以下の通りです

-------------------------------------------------------------------
 C:\AS3\VideoEX\VideoEX.as: エラー:
 source-path 'VideoEX' 内のファイルは、ファイル "VideoEx" 内のクラス定義と
 同じ名前でなければなりません。
------------------------------------------------------------------

 robo.flvというファイルは、同じフォルダにいれてるんですが、どういうことでしょうか
 
140Now_loading...774KB:2007/05/21(月) 07:56:38 ID:r/wbyJ+a
>>139
普通にコンパイルできたけど?

F:\as3> mxmlc VideoEx.as
設定ファイル "C:\FLEX2SDK\frameworks\flex-config.xml" をロードしています
F:\as3\VideoEx.swf (1207 bytes)

なんか C:\AS3 から mxmlc を実行してる気がする...

cd C:\AS3\VideoEx\
mxmlc VideoEx.as

でどうよ?

>>mxmlc でPATHが通らなくなります。わけわかめ

その問題のプロンプトで
echo %PATH%
してちゃんと入っていなければ set PATH=%PATH%;C:\FLEX2SDK\bin とかやった?
システムプロパティーから環境変数書き換えるか、batを用意しないとだめだぞ。
Java詳しいなら、UNIX系の人かな?.rcにsetenv/exportを書くのと同じ。

それとFlashPlayerのセキュリティーを解除しないと、ローカルファイルは再生できんよ。
http://www.macromedia.com/support/documentation/jp/flashplayer/help/settings_manager04.html
ここにいってコンパイルできた物のパスを追加する事。
141Now_loading...774KB:2007/05/21(月) 15:27:00 ID:GRxml1jf
1フレームに絵を描いてそれをシンボルに変換する。
それを後はフレームは追加せずにActionScriptで動かすにはどんな風に書けばいいですかね?
例えば人の絵を1フレーム目に書いてトゥイーンなどを使わずに歩かしたりするにはどうすればいいのでしょうか?
実際に簡単に記述して誰か教えてください
142Now_loading...774KB:2007/05/21(月) 17:51:42 ID:Y7nWZYtL
歩かせるには人の絵が複数必要です
よって不可能
143Now_loading...774KB:2007/05/21(月) 19:07:13 ID:bfBvxM9p
for分を使ってについてなのですが
ダイナミックテキストのpain1_txt〜pain5_txtに
変数date1〜date5(中身は文字列)の中身を渡すといった作業はどのようにするのでしょうか・・・?
144Now_loading...774KB:2007/05/21(月) 19:11:52 ID:+wv2tLfH
配列使うと楽だと思うよ。ヘルプにわかりやすく乗ってるからまずは調べてみよう
145Now_loading...774KB:2007/05/21(月) 19:16:59 ID:4Tok2zIu
>>143
for (var i = 1; i<=5; i++) this["pain"+i+"_txt"].text = this["date"+i];

どうでもいいけど1スタートか。
ダイナミックテキストの参照も配列に入れてしまえ。
146Now_loading...774KB:2007/05/21(月) 20:33:19 ID:z3tpCLOx
>>144-145
ありがとうございます!参考にさせて頂きます。
147Now_loading...774KB:2007/05/21(月) 21:40:04 ID:GRxml1jf
一定時間たったら何か行うってイベントってないですか
148139:2007/05/21(月) 23:20:08 ID:+akStjSl
>>140
source-pathのエラーは use-network=false したらOKだたお

pathの件は以前にFlexBuilder2をインスコしてたから、そこでなんか変になてたぽい
149Now_loading...774KB:2007/05/21(月) 23:46:17 ID:6NhMvgms
>>147
setIntervalで回すのが定番かな?
150Now_loading...774KB:2007/05/22(火) 15:24:50 ID:1RkpT6iK
0〜10をランダムで表示するのは
Math.floor(Math.random()*10)
って分かったんですが、重複無しでhoge[0]〜hoge[9]に値を入れるのってどうしたらいいんでしょう?
if文長々と書けば出来そうな気もするんですけどスマートに書ける方法あればお教えください。
151Now_loading...774KB:2007/05/22(火) 15:38:42 ID:CSjQ+f8p
>>150
hoge[0] = 0;
hoge[1] = 1;
hoge[2] = 2;(略

ってしてから、hoge配列をシャッフルすればいい。

シャッフルの仕方はググれ「ActionScript 配列 シャッフル」
ActionScriptので解りやすいの見つからなかったらJavaScriptでも流用可。
152Now_loading...774KB:2007/05/23(水) 01:40:04 ID:yiVPF0Qa
ActionScriptでシンボルの基準点を変更するにはどうすればよいのでしょうか?
基準点を左上から真ん中に変えたり、右上から左上に変えたりするにはどうすれば?
例を挙げて説明してくださいお願いします
153Now_loading...774KB:2007/05/23(水) 01:56:09 ID:KIQAcAfx
>152
無理
動きに合わせて計算で補う
154Now_loading...774KB:2007/05/23(水) 01:56:23 ID:kL/zjXTn
>>152
中にあるものを動かすのじゃだめなの?
シンボルの中にものをムービークリップにして

左上
MC._x = 0;
MC._y = 0;
右上
MC._x = -MC._width;
MC._y = 0;
左下
MC._x = 0;
MC._y = -MC._height;
右下
MC._x = -MC._width;
MC._y = -MC._height;
真ん中
MC._x = -MC._width / 2;
MC._y = -MC._height / 2;
こんな感じで
155Now_loading...774KB:2007/05/23(水) 02:08:18 ID:yiVPF0Qa
例えば斜線を書いてそれをシンボル化し
最初は左上を基準にsyasen._rocation+=30;で回転していたとして
何秒かたったら今度は右下を基準にし同じ命令syasen._rocation+=30;で
違う動きが出来るみたいなようにするのはどうすればいいのでしょうか

ヘルプで調べたところMatrix オブジェクトというのが出てきましたが
これでは出来ないのでしょうか?
どなたか教えてください。
156Now_loading...774KB:2007/05/23(水) 04:23:04 ID:ovRKiJhK
>>155
まずはレスしてもらったのに返答しろよ。
答えても反応がないんじゃレスする気にならん。
157Now_loading...774KB:2007/05/23(水) 13:42:05 ID:yiVPF0Qa
すいません
でも本当にActionScriptを勉強したいのです
どなたか教えてください
>>154のようなやり方でなくあくまで基準点を変更するという事
がやりたいのです
158Now_loading...774KB:2007/05/23(水) 15:10:36 ID:IIuux+xK
無理だと答えてるし対応策としての別案も提示されてる
159Now_loading...774KB:2007/05/23(水) 15:11:33 ID:jTgS9PBg
だから、>>153の通りASじゃ基準点の変更は出来ないんだって。
だから似たような動きを作る(>>154)しか方法は無いの。
160Now_loading...774KB:2007/05/23(水) 15:15:08 ID:S6B6aTKk
>>157
スクリプトでシンボルの基準点の変更は無理。

行列は自由に移動、回転、拡大縮小するだけ。
シンボルの基準点は変更されない。
その程度のことなら行列よりも>>154の方法が楽。
161Now_loading...774KB:2007/05/23(水) 16:37:00 ID:bQBCE9px
>>157
基準座標を設定するような機能はない。やはり計算するしかない。

ttp://wktk.vip2ch.com/dl.php?f=vipper31187.png
これすら解らなかったらActionScriptより先に数学の勉強をするべき。
162Now_loading...774KB:2007/05/23(水) 16:46:30 ID:XJYcB++l
質問すみません。
RPGのようなものを作っていて次のレベルになる経験値(数値)を表示させたいのですが、if文だとどうしても長くなるので簡略化させたく思ってます。
現在記述している方法は以下の通りです。(変数levelは現在のレベル、変数nextは次レベルの経験値を表してます)

if(level == 1) {
 next = 5;
} else if(level == 2) {
 next = 12;
} else if(level == 3) {
 next = 18;
} else if(level == 4) {
 next = 25;
} else if(level == 5) {
 next = 36;



} else if(level == 80) {
 next = 12000;
}
と、長々となってしまいます。
変数levelは+1ずつですが、変数nextには規則性はありません。
使用しているバージョンは7です。
良ければ返答お願いします。
163Now_loading...774KB:2007/05/23(水) 16:50:36 ID:2G9Bx68x
>>162
nextexp:Array=[0,5,12,18....]みたいな経験値の配列でも作って、
nextexp[level]みたいに表示する。
164Now_loading...774KB:2007/05/23(水) 17:04:41 ID:DlhbBwyD
たいていは対数の規則性を作る。
165Now_loading...774KB:2007/05/23(水) 17:42:54 ID:XJYcB++l
>>163-164
返答ありがとうございます。
配列は使ったことが無かったので早速、説明サイトを見ながら挑戦してみましたが、出来ませんでしたorz(というより仕組みが分かりませんでした)
>>163の通り
nextexp:Array = [0,5,12,18];
でやってみましたが構文エラーが出てしまいました。
>>164
対数の規則性・・・とは何のことでしょうか?
166Now_loading...774KB:2007/05/23(水) 17:58:27 ID:bQBCE9px
「orz」とか書けば何でも許されて優しく教えてもらえると思ってる奴が居るな。
167Now_loading...774KB:2007/05/23(水) 19:00:22 ID:a3b87FhZ
varぐらいつけろ!
168Now_loading...774KB:2007/05/23(水) 19:23:27 ID:XJYcB++l
>>166
すみません。
そうは思っていませんが、初歩的な質問でも良いとあったので。
何か許されないような事書いたでしょうか?
>>167
確かにver付けてなかったですね。
ありがとうございます。
後は自分で調べてみようと思います。
169Now_loading...774KB:2007/05/23(水) 21:21:12 ID:xR8Xbkre
urlから変数の取得はas3.0はどのようにおこなうんでしょう?

hoge.swf?val=hogehoge

みたいなやつ。

as2.0のときは data = _level0.val というように_level0で取得していたんですが、
as3.0は_level廃止ですよね?
170Now_loading...774KB:2007/05/23(水) 23:42:47 ID:vVVQzi33
教えて下さい。
http://www.minami-akina.net/
の「work」にあるような、「テキスト枠の左側にスクロールバーを付ける」にはどうしたらいいのでしょうか?
。。。アデランスのCMを見ていて「この子かわいいかも」と思ってサイトを見に行ったときにみつけたものなので、イタめのサイトで申し訳ないです。
普通に左側に付けるのはできるのですが、「み、右にっ!」と驚いたので、ぜひ教えていただきたいと思い、質問させていただきました。
例としてとりあげたサイトはイタめですが、質問自体は真面目なつもりですので、よろしくお願いいたします。
171Now_loading...774KB:2007/05/23(水) 23:45:09 ID:vVVQzi33
うっ。。。
書き込みに破綻が。。。
正しくは「テキスト枠の"左側"にスクロールバーを付ける方法」です。
すみません。
えっと。。。 お茶碗が左で、お箸が右。。。 よしっ!汗
172Now_loading...774KB:2007/05/24(木) 00:00:16 ID:+qJcDVrC
>>171
右につけてるスクロールバーを左にもって行けばいい。
173Now_loading...774KB:2007/05/24(木) 00:03:45 ID:IRQ9i7wi
>172さん
後出しですみません。
正しくは「コンポーネントのscrollPane」を使って作っているので、できればそれでできれば嬉しいのですが。
scrollPane.changeLeftFromRight = true;
みたいな書き方ができないものかと思いまして。。。
174Now_loading...774KB:2007/05/24(木) 00:13:42 ID:aVVq81FP
>>173
UIScrollBarってコンポーネント使う。
>>170のサイトもそれを使っている。
175Now_loading...774KB:2007/05/24(木) 06:52:43 ID:IZTUaXFc
MovieClipが停止中か再生中かを返すbool変数って無い?

if(mc.???) {
 mc.play();
}

みたいなソースを書きたい
176Now_loading...774KB:2007/05/24(木) 12:18:49 ID:AzST38Qd
質問させて下さい
今月一ヶ月の日数を調べて
ダイナミックテキストに1 2 3 4・・・31と並べて表示させたいのですが
どのようにすればよいのでしょうか
getDayとは違いますよね・・・
177Now_loading...774KB:2007/05/24(木) 12:40:03 ID:0VcBjGD7
>169
root.loaderInfo.parameters

>175
ない

>176
自分で計算するとか
178176:2007/05/24(木) 14:35:59 ID:AzST38Qd
自分なりに考えて何とか日数表示は解決しました、すみませんでした
ただ、表示した日数の今日の日付の数字の色を変えたいのですがどうしても上手くいきません
todayRedという変数に代入してcolorプロパティを・・・などとやってみましたが駄目でした
どうかアドバイスお願いします・・・

lastDay = [0,31,28,31,30,31,30,31,31,30,31,30,31];
cDate = new Date;
y = cDate.getFullYear();
m = cDate.getMonth() + 1;
d = cDate.getDate();

todayRed = d;
todayRed.color = 0xFF3300;

for(i=1; i<lastDay[m] + 1; i++) {
if( i == d ) {
cle_txt.text += todayRed + " ";
continue;
}
cle_txt.text += i + " ";
}



179Now_loading...774KB:2007/05/24(木) 15:23:18 ID:1Qx22cFT
どっからcolorプロパティとか沸いてきたんだい?
todayRedはどういう型でつか?

特定文字だけ色変えたいなら、HTML表示をONにしてHTMLのfont colroタグでかこってあげなされ
180Now_loading...774KB:2007/05/24(木) 16:01:00 ID:H92ZkYZM
調べてもASにはC言語のsprintfのような、引数の数値を書式指定して
文字列変換してくれるような関数が用意されてなさそうなんですが、
例えば日付なんかを2ケタ表示させたい時、日付の値が9以下だったら
"0"を先頭に連結してやるとかしか方法はないんですかね?
181Now_loading...774KB:2007/05/24(木) 16:20:02 ID:AzST38Qd
>>179
レスありがとうございました
html変換して手動でタグ指定した方がいいんでしょうかね
そもそもダイナミックテキストに表示した一部の文字の色変更、他改変自体が無理なのでしょうか?

colorプロパティは手持ちのリファレンスにあったTextFormatのプロパティの例文をよく読まずに
付けてしまった物でした・・・
182Now_loading...774KB:2007/05/24(木) 16:23:45 ID:smUkpkR7
>>180
そう。ひと桁判断するのがめんどな場合は常に「0」つけて右から2文字取る
trace(("0" + new Date().getDate()).substr(-2))
183180:2007/05/24(木) 16:58:11 ID:H92ZkYZM
>>182
なるほどサンキュー。

一応探してみたらsprintfの動作を模したASも海外で結構
ttp://natecook.com/downloads/sprintf.html
ttp://lab.flamelab.de/data/projects/astoolbox/index.html
ttp://mannu.livejournal.com/333070.html (AS3 only?)
公開されてるようだし、
事足りなくなったら使ってみよう。
184169:2007/05/24(木) 19:57:14 ID:8xLXKIR9
>>177
ご教示ありがとうございました。
185Now_loading...774KB:2007/05/24(木) 23:32:13 ID:JzRLJOBw
>>181
cle_txtってインスタンス名のダイナミックテキストを配置

cle_txt.html = true;
//
var cDate:Date = new Date();
y = cDate.getFullYear();
m = cDate.getMonth()+1;
d = cDate.getDate();
var cLastDate:Date = new Date(y, m, 0);
// 2006年6月0日 = 2006年5月31日 となる
lastdate = cLastDate.getDate();
//表示
cle_txt.htmlText = "";
for (i=0; i<lastdate; i++) {
    if (i+1 == d) {
        cle_txt.htmlText += "<font color=\"#009900\""+">"+(i+1)+"</font>"+" ";
    } else {
        cle_txt.htmlText += (i+1)+" ";
        }
}
186Now_loading...774KB:2007/05/25(金) 11:59:59 ID:gxw3b7MK
質問があるんですが、
Flashを埋め込んだHTMLを開き、ブラウザにフォーカスがあるときはJavaScriptでF5キーを無効にできたんですが、
FlashにフォーカスがあるとJavaScriptでF5キー押下のイベントが拾えず、更新されてしまいます。

F5キーで更新させたくないんですが、FlashにフォーカスがあってもF5キーを無効にする方法はあるのでしょうか?

環境はWinXPSP2,IE6,Flash8,AS2です。宜しくお願いします。
187Now_loading...774KB:2007/05/25(金) 12:51:18 ID:vkqzIH90
>>186
ブラウザに依存するので完全には無理だと思う。
Firefoxとかだとその方法でもうまくいくみたいだけど。
188Now_loading...774KB:2007/05/25(金) 13:04:21 ID:gtXLOAGg
そんなのユーザーに迷惑。どうしてもショートカットキーとしてF5を使いたいのなら別のキーにすべき
189Now_loading...774KB:2007/05/25(金) 13:04:53 ID:gxw3b7MK
>>187
なるほど・・・ブラウザに依存するんですね。
ちょっと狐さんで試してみます。

有り難う御座いました!
190Now_loading...774KB:2007/05/25(金) 13:06:35 ID:gxw3b7MK
連カキすいません(;´Д`)
>>188
試験を行うFlashなので更新されると困るんですよ・・・
なので無効にしたいんです。F5に別機能をつけたい訳ではないです。
191Now_loading...774KB:2007/05/25(金) 14:29:22 ID:7DSQxlAP
>>190
F5以外の方法なら更新されても問題無いの?
192Now_loading...774KB:2007/05/25(金) 16:32:38 ID:gHQqKVdz
LoadVarsと同じ処理を文字列に対して行うのはどうしたらいいんでしょう?
hoge1="12345"&hoge2="23456"&hoge3="34567"
こんな1つの文字列があったとして、hoge1、hoge2、hoge3にデータ入れていきたいんですが
LoadVarsでtxt読む時みたいにやる方法ありますか?
193Now_loading...774KB:2007/05/25(金) 16:34:31 ID:gxw3b7MK
>>191
そこも悩みどころなんですよね・・・
更新ボタン押されたり、マウスジェスチャとかは防げないですもんね・・・

そう考えるとF5を無効化するというよりかは
更新されたら、何かをするっていうほうがよさそうですね。
もうちょっと色々考えてみます!
194Now_loading...774KB:2007/05/25(金) 18:50:07 ID:e9RTu6kT
>>192

var str:String = "hoge1=12345&hoge2=23456&hoge3=34567";

//方法1:そのままLoadVarsでパース
var lv:LoadVars = new LoadVars();
lv.decode(str);
trace(lv.hoge1);

//方法2:forループでパース
var obj:Object = new Object();
var _s:String, _a:Array, _s2:Array;
_a = str.split("&");
for (_s in _a) {
_s2 = _a[_s].split("=");
obj[_s2[0]] = _s2[1];
}
trace(obj.hoge2);
195Now_loading...774KB:2007/05/25(金) 20:06:12 ID:nU9iYpRx
初めまして 初の書き込みです。
さっそくなんですが、
on (release)
{
for (var i in eval(root.doodoo))
{
if (!root.doodoo[i]._get)
{
root.sendGetDoodoo(i);
root.doodoo[i]._get = true;
root.doodoo[i].gotoAndPlay(3);
} // end if
} // end of for...in
}

の実行文を自動で行わせる方法が知りたいんです。
誰か回答ください><
196Now_loading...774KB:2007/05/26(土) 03:06:14 ID:hOFpAS01
環境)OS:WinXP-Pro,Mem=1GB,ソフト:Flash8-Pro(Player8)

attachMovieを使ったテキスト表示で質問です。

rootのステージ上に、内部にテキスト欄を持ったMC(numAtmM)を5個(numAtmM0
〜numAtmM4)縦に表示し、それぞれのテキスト欄に試しに10を表示させるボタンア
クションのASを書いています。

for文を使ってMC自体(この背景は青)を5個表示させることは出来たのですが、内部
のテキスト欄(文字色は白)に10を表示させることが出来ません。ASは下の通りです。

for (id=0; id<5; id++) {
prop = {_x:50, _y:id*50+50}; //縦方向に
newMark = "numAtmM"+id; //新しい名前
newMark.numAtmM_ins.text = 10; //10を代入
this.attachMovie("numAtmM", newMark, id, prop); //表示
}

どうしたら良いでしょうか?
197Now_loading...774KB:2007/05/26(土) 03:23:38 ID:cJKwR2V+
>>196
テキストフィールドが存在する前に文字を表示させようとしてないか?
198196:2007/05/26(土) 03:48:13 ID:hOFpAS01
>>197
あっ、ホントだ・・・・
newMark.numAtmM_ins.text = 10;を消して、this.attachMovieの後に
this["numAtmM"+id].numAtmM_ins.text = 10;
としたら成功しました。

有り難うございます。
199Now_loading...774KB:2007/05/26(土) 06:10:57 ID:HejgnCgm
コンテキストメニューを完全に非表示にする方法って無い?
200Now_loading...774KB:2007/05/26(土) 06:52:31 ID:HejgnCgm
もう一つ
IME機能を完全にオフにする方法って無い?
201Now_loading...774KB:2007/05/26(土) 08:25:06 ID:TZVFyjg1
>>199
コンテキストメニューを出さなくするのは無理
>>200
↓詳しくはヘルプ見て自分でカスタマイズ汁
this.onMouseUp = function(){
System.IME.setEnabled( System.IME.getEnabled() ? false : true );
};
202Now_loading...774KB:2007/05/26(土) 13:22:02 ID:VFTG10OI
MCをattachMovieで作成したものの、その下層MCを絶対パスで指定したいのですが、
うまくいきません。
どうすれば処理できますか?
203Now_loading...774KB:2007/05/26(土) 14:50:30 ID:TZVFyjg1
>>202
自分でどのようなソースを書いてうまくいかないのかを書く。
また、なんでうまくいかないと判断したのかも書く。
204Now_loading...774KB:2007/05/27(日) 16:31:44 ID:5NFoYHbt
phpでの処理でエラーを起こすswfファイルがあったので調べてみたらヘッダにCWSと書いてあった
知人にきいたらアクションスクリプトを使っているswfファイルはヘッダに「CWS」と記述され、
コンポーネントデータが埋め込まれるっぽいという話だったんだがこれはあってるのかい?
205Now_loading...774KB:2007/05/27(日) 17:16:04 ID:45sdee/8
CWSは圧縮swfじゃなかった?
206Now_loading...774KB:2007/05/27(日) 17:27:54 ID:5NFoYHbt
>>205
そういえば圧縮swfはサポートしてないとか先輩から聞いたような……
Flash使いじゃないんで圧縮swfで出力するパターンとかは分からないけど「無理ぽ」って結論は出た
dクス
207Now_loading...774KB:2007/05/27(日) 17:46:04 ID:MUnJdnOC
Mac版Flash MX
Mac版Flash CS3

RETURNキーを押すと単純に次のフレームに進むというスクリプトを
スクリーンに貼り付けました。
パブリッシュプレビューではちゃんと機能します。
でも、実際にパブリッシュしたファイルでは、RETURNキーを押して
も何も起こりません。

何が間違っているのでしょうか?

stop();
if(Key.isDown(13)){
nextframe();
}
208Now_loading...774KB:2007/05/27(日) 17:47:30 ID:z7fyb7K1 BE:70478382-2BP(123)
>>206
zlib圧縮されてるって意味。Flash5以下のプレイヤーでは読めない。
ヘッダ飛ばして残りのバイナリ解凍すれば「FWS」フォーマットに変換できる
209Now_loading...774KB:2007/05/27(日) 17:52:11 ID:5NFoYHbt
>>208
詳しい説明ありがとう
作業工数と相談して実装するかどうか決めることにします
ユーザビリティ的にやれっていわれるんだろうなぁ……
210名無しさん@お腹いっぱい。:2007/05/27(日) 20:23:48 ID:RS/v3Izt
>>207
stop(); 消せば?
211Now_loading...774KB:2007/05/27(日) 21:02:27 ID:q59nUjFH
>>207
swfを一回クリックしてからやってみるとか
212Now_loading...774KB:2007/05/27(日) 22:20:19 ID:rUV4Kjir
環境:Flash8

ビルドインメニューの拡大、縮小の動作をフックすることって出来るかな?
別に機能を殺したいわけではなく、拡大時にテキストはサイズを維持したいって事なんだが。
拡大を捕まえられれば、フォントサイズの調整でいけるかと思うんだが。
他の方法でも何かあれば教えて欲しい。

#それ拡大じゃなくなる、ってのは勘弁
213Now_loading...774KB:2007/05/27(日) 23:29:36 ID:/GpHMDSW
できねーから自分で新しい拡大ボタン作れ
214Now_loading...774KB:2007/05/28(月) 04:24:26 ID:iHbOsjmf
>>213
まあそうだよな。
やるべきことは大体わかるがそれなりに時間は掛かるから次期対応にしよう。
215Now_loading...774KB:2007/05/28(月) 04:41:07 ID:IcMQp8yo
ttp://www.ultrashock.com/
ここのサンプルで、
Mouse Toys > Candy Curtain
マウス追従のflaファイルをダウンロードしたのですが

import flash.display.*;

これが邪魔して、rootに置いたオブジェクトが
見えなくなってしまいます。
追従するmcだけに適応させるには
どうしたらいいんでしょうか。
216Now_loading...774KB:2007/05/28(月) 15:37:19 ID:AWBdio01
>>215
import flash.display.*; は必要なクラスを読み込んでるだけ。
つーか、それがないと動かないから。

んで、_rootに「clip」と「holder」っていうMovieClip作ってんじゃん。
それの深度の問題でしょ。

Ctr;+F8で適当に新規MovieClip作って0,0に配置して
ソース全部コピペすりゃいいじゃん。
217215:2007/05/28(月) 16:50:05 ID:IcMQp8yo
>>216
レスありがとうございます。
>>216の件は、もう試してみたのですが(loadmovieも)
import flash.display.*; があると
残像が全てのMCに適用されてしまい
上手く表示できませんので
atacchされるmcにだけ、適応させたいのです。
後だし情報になってしまい、申し訳ありません。
218Now_loading...774KB:2007/05/28(月) 16:59:14 ID:AWBdio01
>>217
ああ、そういうことか・・・。
Line43の第一引数の問題じゃない?
buff1.draw(_root, 〜〜
_rootを、thisとかにしてみたら?
219215:2007/05/28(月) 17:29:14 ID:IcMQp8yo
>>218
ほぼ希望通りに出来ました。
ただ、追従の動きが若干スムーズではなくなってしまった感があります。
ちょっと悩んでみますです。
ありがとうございました。
220Now_loading...774KB:2007/05/29(火) 00:00:10 ID:X5Ea8yyn
>210,211
ありがとう。
でも、stop();残しておかないと次のフレームに勝手に進ので、
削れないんです。
221Now_loading...774KB:2007/05/29(火) 09:52:01 ID:Y59u6KSo
MovieClipのenterFrameにキーイベントだけ書いてみたりしたらどうだい?
222Now_loading...774KB:2007/05/29(火) 11:34:19 ID:aANojgsh
>>220
それフレームアクションに書いても、フレームに入った一瞬しか判定しないから
うまく動作しないんじゃなかったっけ?
>>221の書いた通り、onEnterFrame使うかKeyリスナー使うのがいい。
それから大文字と小文字は間違ってないよね?
223Now_loading...774KB:2007/05/29(火) 11:38:16 ID:SSqedjDb
↓のツール使うとFLVにMetaDataがついて無くても動画の時間が割り出されるんですけど
http://f-site.org/articles/2006/09/14142532.html
どうやって割り出してるか分かる人いませんか?
224Now_loading...774KB:2007/05/29(火) 12:08:24 ID:Tj2Pfo9x
そこで聞け
225Now_loading...774KB:2007/05/29(火) 17:43:00 ID:8pgdxnkm
>>223
SWF File Format Specification とかにFLVの仕様が載ってるからそれ見ながら
バイナリ弄ればいいんじゃね?
俺、バイナリとかになるとわかんないけど... orz
226Now_loading...774KB:2007/05/29(火) 18:13:06 ID:Gx3j9Yzr
win版Flash8
ActionScript2.0

Papervision3Dのasファイルをimportできるようにするためには
orgフォルダを置く場所をどこにすればいいんでしょうか
227Now_loading...774KB:2007/05/29(火) 18:59:45 ID:8pgdxnkm
>>226
Flaと同じフォルダ
228Now_loading...774KB:2007/05/29(火) 19:38:55 ID:Gx3j9Yzr
>>227
ありがとうございます。
229178:2007/05/29(火) 23:09:43 ID:FD8jP0p8
>>185
見に来るのが遅くなりました;AS例ありがとうございます
これから参考にさせていただきます。
230Now_loading...774KB:2007/05/30(水) 03:31:10 ID:I+4QzaUi
文字列のみ含むMovieClipに対してonRollOverをセットすると
文字と重なった時にしかイベントが発生しないんだが、
これをMovieClip全体と重なった時に発生させるにはどうしたらいい?
231Now_loading...774KB:2007/05/30(水) 06:30:49 ID:ZcrxSD2X
>>230
ダイナミックテキストでやってみ
232Now_loading...774KB:2007/05/30(水) 07:28:39 ID:I+4QzaUi
>>231
こんなにあっさりできるなんて…(´Д`)
233Now_loading...774KB:2007/05/30(水) 13:26:10 ID:kQjdY1MQ
便乗で質問
俺、普段>230みたいなときはMovieClipの形した図形をα=0にして強引に当たり
判定付けてたんだけど、ダイナミックテキストでやった方がいいんかね?
234Now_loading...774KB:2007/05/30(水) 13:42:21 ID:AGxz+kXk
>>233
楽かどうかは別だが、MovieClip.hitAreaを使うのが正しいと思う
235Now_loading...774KB:2007/05/30(水) 20:07:41 ID:kQjdY1MQ
>234
調べた感じではやり方自体はそんなに変わらないのかな?
何はともあれthx、次から取り入れてみることにするわ。
236202:2007/05/30(水) 22:19:14 ID:bznFmQLZ
>>203
すみません。事故解決しました。
hitTestの判定で、別の判定が優先されて識別してないように感じていたみたいです。
237Now_loading...774KB:2007/05/31(木) 13:41:47 ID:Wl1liXnp
XML.load(url)が発生するたびにswfの描画が止るんだけど、
これを回避する方法とかありますか?
238Now_loading...774KB:2007/05/31(木) 14:48:51 ID:adSLpO+o
前もって読み出した値を変数にでもいれといたらどうだろう。外部ファイルをオープンするのはその都度読みにいくから多少時間かかるよ
239Now_loading...774KB:2007/05/31(木) 22:47:56 ID:ERgDRfhK
ステージサイズの大きさを取得するにはどうすればいいのでしょうか?
自分で決めたステージサイズのx,yの大きさをActionScriptで変数に読み込むにはどうすれば
いいのでしょうか?
240Now_loading...774KB:2007/05/31(木) 23:47:31 ID:d7BJLfZL
>>239
プロパティくらいはヘルプですぐ見つかると思うので次からは自力でね
Stage.width
Stage.height
241Now_loading...774KB:2007/06/01(金) 00:08:49 ID:Tr56W6Xw
ありがとうございます
すいません次から気をつけます
242Now_loading...774KB:2007/06/01(金) 02:16:47 ID:Syvp89sX
AS(Flash8)で、以下のことをやろうとしています。
1. ActionScriptでデータを送信する
2. ActionScriptでデータを受信する
3. 受信した内容がある条件を満たす時に、次の画面に遷移させる。

1.と2.の部分は実装できたのですが、3.のASの中で受信データをif文判定した後に、
現在の画面から次の画面に遷移させる方法が分かりません。
すみませんが、教えていただけないでしょうか?
243Now_loading...774KB:2007/06/01(金) 06:23:15 ID:25Ft7a24
>>242
getUrlだけど、1,2をどうやってるのか謎
244Now_loading...774KB:2007/06/01(金) 07:07:34 ID:Syvp89sX
>>243
ありがとうございます。確か、昔使ったことが有る関数でした。
これで、前の進めそうです。ありがとうございました。
245Now_loading...774KB:2007/06/01(金) 12:20:44 ID:hzVX6vD9
htmlタグを使ったテキストファイルを読み込んで、それをhtmlレンダリングして表示させてます
その表示した文章の行間を詰めたい(可能なら<p>タグで出来た段落と段落の間隔を狭めたい)のですが
myFormat = new TextFormat();
myFormat.leading = 1;
aaa_mc.bbb_txt.setTextFormat(myFormat);
こういったスクリプトを打っても行間を変えられませんでした
どのようにすればよいのでしょうか・・・

そしてcssを読み込んで使用するという方法も見たのですが
上下マージンのプロパティは使用できないようだし、行間詰めは無理ですよね?
246Now_loading...774KB:2007/06/01(金) 13:12:55 ID:25Ft7a24
setNewTextFormat
247Now_loading...774KB:2007/06/01(金) 14:56:31 ID:hzVX6vD9
>>246
ありがとうございます
setTextFormat(myFormat)→setNewTextFormat(myFormat)
としましたが変化はありませんでした・・・
248Now_loading...774KB:2007/06/01(金) 22:09:42 ID:SAQHlHko
>245
myFormat = aaa_mc.bbb_txt.getTextFormat();
trace(myFormat.leading);

スクリプト以外に原因がある気がするな俺は。
あとcssで行間は無理なはず。
249Now_loading...774KB:2007/06/02(土) 01:10:09 ID:zTQ6Hd/T
環境)OS:WinXP-Pro,Mem=1GB,ソフト:Flash8-Pro(Player7)

MCのフォーカスについて質問です。

あるMCを押している間、これにフォーカス枠が出るように
on (press) {
this._focusrect = true;
}
on (release) {
this._focusrect = false;
}

と書いたのですが、何も現れません。またフレームアクションとして
this.onEnterFrame = function() {
trace("Focus= "+Selection.getFocus());
};

を書いたのですが、MCを押しても null しか表れません。ヘルプを見ましたが
原因が分かりません。どうすべきでしょうか?
250Now_loading...774KB:2007/06/02(土) 02:06:56 ID:neZo2N3+
>249
そもそもフォーカスの意味を取り違えてる

>どうすべきでしょうか?
原因が知りたい:フォーカスについてググル
実装したい:_downの画像を差し替える
251Now_loading...774KB:2007/06/02(土) 16:24:48 ID:gJx6q524
swfファイルをhtmlを経由せずにフルスクリーンで開く方法ってありますか?
252Now_loading...774KB:2007/06/02(土) 18:34:27 ID:0y6L07J6
Fscommand使えば昔からできるけどdisplayState使ってやろうとしてるなら多分無理
253Now_loading...774KB:2007/06/02(土) 18:52:40 ID:gJx6q524
>252
ありがとうございました。
Fscommandでやってみます。
254Now_loading...774KB:2007/06/03(日) 23:14:29 ID:CuPfzULI
テキスト入力のコントールを含むSWFをブラウザで表示させてるとき、

テキストエリアにフォーカスを当てて文字を入力中してる最中に、
マウスカーソルがテキストエリアから離れると、再度フォーカスを受け取るまで
バックスペースや矢印キーが無反応になるんですけど、これの回避方法ってありますか?

周りのオブジェクトに対してfocusEnabled = falseしてみたり
標準コンポーネントからテキスト入力のラベル?に変えたりしてみたけどだめでした。

コンポーネントの自作や、キーボード入力と現在フォーカスのあるテキストエリアを監視する関数でも作れば
できそうな気がするんですけど、もっとスマートな方法はないでしょうか?
255Now_loading...774KB:2007/06/03(日) 23:23:00 ID:gZ18NWFT
仕様
256Now_loading...774KB:2007/06/04(月) 11:59:38 ID:UNHpyhJs
flash8を使用しています
http://www.geocities.jp/flashiroha/script/as24.html
こちらのような波紋効果を使用したいのですが、どうも動いてくれません
ムービープレビューではエラーなどは出ませんが、波紋の効果も出ずそのままです

ASレイヤー:1、6、11、33にキーフレームを指定して、それぞれにvar hamon:makeRipple・・・と書く
ムービークリップのhamonと背景画像を置いたレイヤー:1から33フレームまでフレーム挿入
表示側のtext.flaの構成は上の通りです,flaとmakeRipple.asは同じフォルダに置いてあります

ステージの設定・及び準備の
>(6)ステージから波紋を削除する。
というのがどうも仕方が分からず、書いてある内容で実際に行ったのは(5)までです

間違いなどご指摘お願いします・・・
257Now_loading...774KB:2007/06/04(月) 12:07:33 ID:lbarcZ+8
>256
(5)までやってステージに波紋があるだろ
これは用無しだから
hamonをクリック→deleteキー
258Now_loading...774KB:2007/06/04(月) 12:50:43 ID:UNHpyhJs
>>257
ありがとうございます
やはりこの時点でムービープレビューをしても、パブリッシュしたswfを開いても波紋は浮かんできません
hamonを削除しても背景シェイプが表示されるだけでした・・・
259Now_loading...774KB:2007/06/04(月) 13:00:47 ID:JSWoIsYa
検証してないので何とも言えないけれど、
"hamon"シンボルは同名でリンゲージしていますか?
260Now_loading...774KB:2007/06/04(月) 13:30:03 ID:UNHpyhJs
>>259
リンゲージ設定で動きました!ありがとうございました!
261254:2007/06/04(月) 13:57:48 ID:HfUehn9v
>>255
何とかして直せないでしょうか・・・?
常にBACKSPACEのキーイベントをとってFocusを当てなおすとか色々してみたんですけど
キーリスナーすら無反応でした。

ムービープレビューでは正常に動作するのでブラウザにキーイベントをとられてる感じなんでしょうか
それとCtrl+VやCtrl+Cをテキストエリア内で行うと高確率で文字化けしたり(しないときも)もします。

既知のバグ・仕様なのは分かるのですが、もし対策法があればご教授お願いします。
262Now_loading...774KB:2007/06/04(月) 14:30:53 ID:JSWoIsYa
>>261
ちなみにBackSpaceはプレビューでは [制御]-[キーボードショートカットを無効]にチェックが入っている必要があります。
それでKey.BACKSPACEで拾えるはずです。

で、記録している入力テキストフィールドのtextを操作すれば、一応は目的の動作ができると思います。
ただしフォーカスが元に戻るっていう感じではないので、そのようにしたい場合は入力から全部作ることになりそうですが。

var stateStr:String=this.testBox.text;
var keyObj:Object=new Object();
keyObj.onKeyDown=function(){
//Selection.setFocus("testBox");
if (Key.isDown(Key.BACKSPACE)) {
stateStr=stateStr.substring(0,stateStr.length-1);
_root.testBox.text=stateStr;
}
}
Key.addListener( keyObj);
263Now_loading...774KB:2007/06/04(月) 14:39:50 ID:JSWoIsYa
プレビューでキーが取れないと勘違いしていますね。
お恥ずかしい。。。

SWF自体にフォーカスが行っていないと、キー関係は無理だと思います。
どうしてもやるならJsとの連携になるのかな?
お役に立てませんで申し訳ない。
264Now_loading...774KB:2007/06/04(月) 14:47:14 ID:V2vG7E0z
>>261
マウスカーソルが離れた時点でって、そういうイベントでなにか起こしてるんじゃないの?
普通はマウス座標とフォーカスは全く別だし普通に動作する。
ロールアウトするとなんとかみたいなことしてないか?
265254:2007/06/04(月) 15:33:49 ID:HfUehn9v
>>263
いえ、助かります。
フォーカス自体はFLASHにあります。テキストエリアにフォーカスがあるにもかかわらず、
マウスカーソルをテキストエリア外に出すと、BACKSPACEと矢印キーが無反応になり、
SPACEやENTERなどのキーは動作します。
BACKSPACEと矢印キーがブラウザを動作させるキーなので、
FLASHのテキストエリアにフォーカスがあっても、ブラウザにイベントを奪われてるのではないかと思いました。

>>264
スクリプトを一切書かずに、TextArea,TextInput,テキスト入力をおいた場合でも同じ挙動になってしまいます。
MoneyKitやナイキ、ニコニコなどのサイトのFLASH内にあるテキスト入力も
マウスカーソルが離れただけでこれらのキーが無反応になっているのですが、
これはもうActionScriptや外部スクリプトでどうこうできる問題ではないのでしょうか?
266Now_loading...774KB:2007/06/04(月) 15:40:21 ID:V2vG7E0z
>>265
ブラウザとか環境の問題なんじゃないかな。
何も提示されてないから何ともだけど。
267Now_loading...774KB:2007/06/04(月) 20:25:51 ID:EQPI/P32
MovieClip.attachAudio()
で割り当てた音声を解除するクラスはありませんか?
268Now_loading...774KB:2007/06/04(月) 20:37:50 ID:/jIJSn//
普通にSoundオブジェクト使えよw
269267:2007/06/04(月) 21:53:49 ID:EQPI/P32
NetStream.attachAudio() の間違いです、すいません。

Microphone.setSilenceLevel(100)
としてもハウリングおこしてる状態では
音声配信と停止することができません
それで割り当て解除てきないものかと・・・
これってバグでしょうか?
270267:2007/06/04(月) 22:11:49 ID:EQPI/P32
失礼しました。自己解決しました
theMic.setGain(0);
を追加して回避できました。
271249:2007/06/05(火) 01:30:16 ID:JEz5ZV8l
>>250
レス有り難うございます(返事が遅くなりすみません)。
MCに
on (press) {
Selection.setFocus(this);
}
が無かったことが原因で、これでちゃんとフォーカス枠が出ます。また、
this.onEnterFrame = function() {
trace("Focus= "+Selection.getFocus());
};
にてフォーカスのパスを得ることが出来ます。
272Now_loading...774KB:2007/06/05(火) 10:43:35 ID:yU5jo2uR
ランダムで1から100までを発生させて
if文でその数が4の倍数かを比較してそうだったら処理、違ったらelseへという処理をしたいのですが
if文の判定式の部分が恐ろしく長くなってしまいます

ran_su = Math.floor(Math.random()*100+1);
if(ran_su == 4 || ran_su == 8 || ran_su == 12 || ran_su == 16 … ran_su == 100) {

このように考えてしまいます、もっと効率の良い書き方があれば教えて下さい
273Now_loading...774KB:2007/06/05(火) 10:53:53 ID:g4e8j3i5
ヒント:4で割ったあまりが0
274Now_loading...774KB:2007/06/05(火) 12:03:34 ID:yU5jo2uR
>>273
%を使うんですね、勉強になりました
275Now_loading...774KB:2007/06/05(火) 12:24:37 ID:ieM3yEre
VBで作るようなアプリをフラッシュで作るための勉強をしています。

ボタン押すとフラッシュ内に入力ボックスが表示されるようにしたいんですが、
どの様な方法があるんでしょうか?

あと、そういったアプリを作るのに参考になるサイトがあったら是非教えて下さい。
276Now_loading...774KB:2007/06/05(火) 12:38:37 ID:g4e8j3i5
フレームとgotoAndStopとかを使ってくださいとしか言えない
適当なゲーム製作講座でも見て、あとは勘で作ろう
277Now_loading...774KB:2007/06/05(火) 16:31:02 ID:SkCdHlbE
先生方質問です!
AS3のSocketオブジェクトは低レベル通信が出来ると聞いたんですが、
UDP通信は使えますか?
278Now_loading...774KB:2007/06/05(火) 17:25:42 ID:DKjz+q4I
Fscommandのフルスクリーンと
Stage.displayState = "fullScreen";でのフルスクリーンでは
違いはあるのですか?
279Now_loading...774KB:2007/06/05(火) 22:15:15 ID:UuzxC9M3
☆全世界対抗クリックゲーム☆
最終局面はハンガリー(1位)と日本(2位)の一騎打ち
みんなの力で再び世界一になりましょう!(前回の世界一は日本)

会場: http://www.clickclickclick.com/default.asp
ダイジェスト映像: http://swfup.info/view.php/7054.swf
日本チーム本部: http://www33.atwiki.jp/clickvip/
http://www.nicovideo.jp/watch/sm406426←ランキング入った
メディアに取り上げられています
GIGAZINE: http://gigazine.net/index.php?/news/comments/20070602_click_click_click/
スラッシュドットジャパン: http://slashdot.jp/article.pl?sid=07/06/05/0044217



※本スレは早すぎます。1秒間に3レスつく早さです
280Now_loading...774KB:2007/06/05(火) 22:22:30 ID:TMq8cIJ2
>>279
これって目的は何なの?
アフィ?
281Now_loading...774KB:2007/06/05(火) 22:34:40 ID:inzLoibP
VIPPERのバカ騒ぎ
282Now_loading...774KB:2007/06/06(水) 13:04:21 ID:O5JBX+xz
256で質問させてもらった者ですが、また宜しくお願いします;
256の効果を使用したムービークリップを、メニューなどがあるmain_mcからMovieClipLoaderで
読み込んだのですが、波紋の効果だけが表示されませんでした
波紋を使用したflaファイルを個別でプレビューすると正常に動作しています
訂正が必要な箇所等があればご指示をお願いします
283Now_loading...774KB:2007/06/06(水) 13:07:00 ID:O5JBX+xz
>>282
>256の効果を使用したムービークリップ
256の効果を使用したfla(swf)ファイルでした、すみません
284Now_loading...774KB:2007/06/06(水) 13:19:51 ID:jJ3hC55A
>>282
詳しくは読んでないけど、_lockrootあたりをヘルプで見てみそ
285Now_loading...774KB:2007/06/06(水) 16:08:53 ID:f1uxK/nw
ボタンのクリックをムービークリップから検知したいと考えています。
コンポーネントから選んだボタン(btn_2)ではうまくいったのですが、
自作のボタン(btn_1)からがNGです。


ムービークリップには以下の様に記述しています。

 onClipEvent (load) {
 //btn_1(自作)
  var listenBtn1 = new Object();
  listenBtn1.click = function() {
   trace("btn_1 OK");
  };
  this._parent.btn_1.addEventListener("click", listenBtn1);

 //btn_2(コンポーネントから)
  var listenBtn2 = new Object();
  listenBtn2.click = function() {
   trace("btn_2 OK");
  };
  this._parent.btn_2.addEventListener("click", listenBtn2);
 }

クリックしたとき、btn_2は「btn_2 OK」と表示されますが、btn_1は何も反応がありません。

btn_1では"click"ではないのかと思い、"release"にしてみたけど駄目でした。
なお、btn_1、btn_2の方には何も記述していません。


どう書けば良いか、どなたか教えて頂けないでしょうか?
286Now_loading...774KB:2007/06/06(水) 16:14:38 ID:iWV6SO21
XP、MXです。
複数MCにおける同じ処理をできるだけ簡略な文で処理したくて
以下のようにしました。
push_buttonに入れた変数名の中に変数を入れることはできませんか?
☆の部分を簡略化したいのですが…

MC1.onRelease = function() {
push_button="_root.a_1";
if (eval(push_button) == 0) {
this.gotoAndStop(2);
_root.a_1 = 1; //☆
} else if (eval(push_button) == 1) {
this.gotoAndStop(3);
_root.a_1 = 2; //☆
} else if (eval(push_button) == 2) {
this.gotoAndStop(1);
_root.a_1 = 0; //☆
}
};


よろしくお願いします。
287Now_loading...774KB:2007/06/06(水) 16:46:17 ID:KALZA2lN
>>286
マジレス
evalはMCの参照だけだし、遅いし、4つも昔の版のやり方だから使わないこと。

本題、仕様としてはonRelease発生で任意の変数の値が0か1なら1足して2なら0を一定の変数に代入し、
それに1足したフレームにgotoAndStopってことでよかったか?

MC1.onRelease = function() {
this.gotoAndStop((_root.a_1 = (_root[push_button = "a_1"]+1)%3)+1);
};
288Now_loading...774KB:2007/06/06(水) 18:09:40 ID:iWV6SO21
>>286
ありがとうございます!!!

evalは遅いのですか・・・
複数の同処理時に1つの変数に
複数の変数名を入れることで処理が楽だったので
よく使ってたのですが・・・これからは使わないようにします。

実際は変数処理がメインでgotoAndStopは見かけの効果です。
MC1では_root.a_1の変数をMC2では_root.a_2の変数を変えて
正否判定で使用します。

なので、教えて頂いたASを少し変えて

MC1.onRelease = function() {
push_button = "a_1"
this.gotoAndStop(_root[push_button] = (_root[push_button]+1)%3)+1);
};
MC2.onRelease = function() {
push_button = "a_2"
this.gotoAndStop(_root[push_button] = (_root[push_button]+1)%3)+1);
};

としました。これでMC名と変数の2箇所変更だけで動かせました。
これで900個のMC処理が楽になった・・・
本当にありがとうございました!

ところで『[ ]』は配列を1個だけの変数を入れる場所として使用しているということですか?
理解するために教えていただければうれしいです・・・
理解力無くてすいません・・・
289Now_loading...774KB:2007/06/06(水) 18:13:11 ID:iWV6SO21
>>288

>>287
でした・・・orz
290287:2007/06/06(水) 18:57:13 ID:KALZA2lN
>>288
この時点でpush_buttonに代入しなきゃいけない理由があってその実装を兼ねたのと、
push_buttonがどこか別の場所で書き換わるのを受け取って処理するんだと予想してそうしたんだけど、
別にそうじゃないのならpush_buttonは不要。そのまま_root.a_2とかでいい。

this.gotoAndStop((_root.a_2 = (_root.a_2+1)%3)+1);

それから関数内だけで使う変数ならvar付けろ。後悔する。
あと、それだと開き括弧1個足りなくないか
291Now_loading...774KB:2007/06/06(水) 21:29:34 ID:iWV6SO21
>>290
何度もありがとうございます。
そして、書いたASは(が足りないです・・・orz

他の複数の処理があるわけでなく、
ほぼこの同じ大量処理なので、必要ないかと・・・
というか独学なのでvarとか使ったことない。
覚えて次回に活かします。

まだまだ理解が足り無すぎですね。

勉強になりました。
ありがとうございました。
292Now_loading...774KB:2007/06/06(水) 21:49:46 ID:ujTbA/jY
どなたか>>285にもお応え頂けませんか??

293Now_loading...774KB:2007/06/07(木) 01:01:40 ID:xefxROgt
>>286
>"click"ではないのかと思い、"release"にしてみたけど駄目でした。
これをやるならonReleaseじゃないの?
294Now_loading...774KB:2007/06/07(木) 01:10:15 ID:Pj51iDXX
どっちにしろだめだと思う。
簡単に作れる方の自作ボタンにすると何か階層構造が変になるし(理屈わからない。教えて欲しいかも)
インスタンスの中から外にアクセスするのに_parentいらなかったりとか

自作ボタン作りたいなら
ttp://www.adobe.com/jp/devnet/flash/articles/skinning_fl8_04.html
こっちのがいいと思う。これなら通常のコンポーネントと同じ
295Now_loading...774KB:2007/06/07(木) 01:22:07 ID:mUWbqKLN
>>293-294
レスありがとう御座います。

違いが良く分からずもreleaseではなくonReleaseにしてもみたのですが
たしか駄目だったと思います。

今は確認できないので、明日また294さんの示してくれたやり方でやってみます。
296Now_loading...774KB:2007/06/07(木) 01:25:48 ID:mUWbqKLN
ちなみに、普通にbtn_1の方に↓を書けばキチンと動いていました。

on (release) {
 trace("btn_1 OK");
}
297Now_loading...774KB:2007/06/07(木) 02:19:46 ID:xefxROgt
>>296
自作ボタンってMC?(コンポーネントだったら on (release){} で動かなかったと思はず)

自作ボタンがMCでbtn_1がインスタンス名なら、
btn_1.onRelease = function(){
    trace("btn_1 OK")
}
298Now_loading...774KB:2007/06/07(木) 20:10:25 ID:Pj51iDXX
リスナーを使いたいんじゃない?
299Now_loading...774KB:2007/06/08(金) 04:34:30 ID:Vm8TpUkT
XP、MX2004で質問です。
ストリーミング再生する曲に対してsetVolume()を使ってボリューム変更をしたい
と思っているのですが、再生中に変更する分には問題なく動作しているメソッドが
読み込み直後には正常に動作せずに困っています。
もう少し正確に言うと、メソッド自体は問題なく動いていて

bgm_sound = new Sound(this);
trace("volA="+bgm_sound.getVolume());
bgm_sound.setVolume(player_mc.returnVol());
trace("volB="+bgm_sound.getVolume());

とした場合数値上はボリューム変更が反映されているのですが、実際はボリューム
値Maxの音量で再生されてしまいます。
どなたが原因が分かる方いらっしゃいましたら教えてください。

※setVolume()では、player_mcから「bgm_soundを初期化する前のボリューム値」を
受け取っています。
ストリーミング再生の場合、別のmp3ファイルを読み込んでもpositionが継続して
カウントされ続けた(0にならない)ので、bgm_sound自体を初期化し直しています。
300299:2007/06/08(金) 04:51:26 ID:Vm8TpUkT
ってすみません、自己解決しました。
loadSound()の前にsetVolume()したって(ry
301Now_loading...774KB:2007/06/09(土) 00:33:33 ID:eb226j2S
質問があります。

Circle1.onRelease = function(){
number1=2;
Circle1.gotoAndPlay(2);
}
Circle2.onRelease = function(){
number2=2;
Circle2.gotoAndPlay(2);
}

というようなものをCircle10までまとめて記述したいのですが、
どのようにすればよいでしょうか?

for (var i = 1; i<=10; i++) {
this["Circle"+i].onRelease = function() {
this["number"+i]=2;
this.gotoAndPlay(2);
}
}

としてみたのですが、これだとCircle1〜10ではなく、
Circle11だけについての記述になってしまうようです。
302Now_loading...774KB:2007/06/09(土) 01:05:47 ID:vJH9b5Oi
>>301
thisが何を指しているのかtrace(this);で確認しる
303Now_loading...774KB:2007/06/09(土) 01:13:20 ID:1QysONRu
>>301
さらに、「i」の値がどうなってるかも
304Now_loading...774KB:2007/06/09(土) 01:33:34 ID:eb226j2S
>>302.303
アドバイスありがとうございます。

for (var i = 1; i<=10; i++) {
this["Circle"+i].onRelease = function() {
this["number"+i]=2;
this.gotoAndPlay(2);

trace("this"+this);
trace("i→"+i);
}
}

としたところ、
thisのほうは思ったとおりに動く(Circle2をクリックすればCircle2がgotoAndPlay(2)される)のですが、
iのほうがCircle1〜10のどれを押しても「11」という答えが返ってきます。
(「number11=2」という処理をしていて、「number1〜10=2」という処理をしない)
for文が終わったあとの数値が出てきてしまっていると思うのですが、位置がおかしいのでしょうか?
305Now_loading...774KB:2007/06/09(土) 02:58:36 ID:WPvOPw8q
>>304
位置がおかしいというかfor文を抜けた時点で i は11になるしょ。
Release時にその i の値を表示させているんだから当然 i = 11 となる。
number1〜10=2としたいならCircle1〜10それぞれに i の値を保持させておく。

for (var i = 1; i<=10; i++) {
this["Circle"+i].num = i; //保持
this["Circle"+i].onRelease = function() {
this["number"+this.num] = 2;
trace(this+".number"+this.num+"=2");
};
}

これでmcをクリックしたときに Circle[1〜10].number[1〜10] に 2が代入される。でも
number1〜10に2を割り当てる意味がわからない。単にnumberだけでいいと思うけど。(上のASだとnumの部分)
onRelease=function(){ } 内で使ってる this は Circle1〜10 のことだよ。勘違いしてない?
306Now_loading...774KB:2007/06/09(土) 04:01:13 ID:eb226j2S
>>305
夜分遅くにわざわざありがとうございます。

this["Circle"+i].num = i; //保持

こういう風にするとiの値を保持できるのですね。
number1〜10に2を割り当てるのは、他のスクリプトの判定のためだったのですが、
今聞いてもうちょっと違う方法で出来そうな気がしてきたのでもう一度考えてみます。

答えてくれた皆さんありがとうございました。
307Now_loading...774KB:2007/06/09(土) 19:55:35 ID:qsJ1Mvvb
質問です。

フルFlashサイトを作っていて、

TOPというswfにcontentsというswfを読み込ませています。
contents.swfのある地点を通過するとTOP.swfの中で表示されていたボタンを消す。

といったことをActionScriptでできるのでしょうか?

わかりにくいかも知れませんがよろしくお願いします。
308Now_loading...774KB:2007/06/09(土) 20:07:09 ID:etbQC681
>>307
できるか?というのなら出来る。
単純な方法なら、ある地点とやらのフレームに
ボタンのターゲットパス._visible=false;
とでも書けばオケ。
ターゲットパスの書き方がわからない時は>>2のサイトで学習。
309Now_loading...774KB:2007/06/09(土) 20:11:09 ID:I/IW82Ug
少し興味があるだけなんだけど、
ニコニコってどんな技術つかってるのかな?

FLASH起動→FCSからFLV読み込み→コメントとか投稿時間が格納されているCSV読み込んで保持→
インターバルを稼動→CSVから取得したデータの投稿時間が一致したときに該当するコメントを流す→
コメント投稿がされたらCSV書き出しPHPを呼び出す(LoadVars?)→成功後コメントリストを更新

みたいな感じかな? ストーリミングしてるしFCS使ってるのは確かだと思うんだけど
Remoteとか使ってるのかな?Remote使ったことないから、何が飛躍的に変わるのか分かんないけど、どう思う?
310Now_loading...774KB:2007/06/09(土) 20:13:40 ID:nc1kr3oJ
大体そんな感じだとおもう
311Now_loading...774KB:2007/06/09(土) 21:52:20 ID:AtHV3ovC
質問させてください。ループするアニーメーションのFPSをスライダーではやくしたり、おそくしたりというのは可能でしょうか?
312Now_loading...774KB:2007/06/09(土) 21:53:04 ID:TYMiNN6P
可能です
313Now_loading...774KB:2007/06/09(土) 22:10:58 ID:AtHV3ovC
312
その方法はおおもとのFLASHじたいのFPSを変えることもできるのでしょうか?
314Now_loading...774KB:2007/06/09(土) 22:12:59 ID:TYMiNN6P
無理です
315Now_loading...774KB:2007/06/09(土) 22:20:32 ID:AtHV3ovC
314
簡潔に答えていただきありがとうございました。
ではfpsの変化の下限と上限を固定できないでくるしんでいます。どこかに外注するとしたらいくらくらいかかるものなのでしょうか?
316Now_loading...774KB:2007/06/09(土) 22:28:20 ID:TYMiNN6P
>>315
それは知らないけど擬似的にはアイデアしだいでいろんな方法使って出来る

例えば
100コマ、200コマ、……、10000コマで同じアニメーションを作る
10fpsで再生するとそれぞれ10秒、20秒、……、1000秒のものができる
あとはそれぞれの最初のコマをスライドに連携させる

とか
setIntervalってのもあった気がするけど詳しくは知らない
317Now_loading...774KB:2007/06/09(土) 22:30:20 ID:lLUANFwe
>>315
1.SetIntervalを使ってスライダーを変化させた時にループ速度を変える

2.onEnterFrameのイベントで歯車を作る
  60FPSのFLASHでアニメーションを30FPSで動かしたいなら
  2フレームに1回イベント内を処理する感じ
318Now_loading...774KB:2007/06/09(土) 22:38:09 ID:AtHV3ovC
316さん317さんありがとうございました。
たいへんASに詳しいかたとお見受けしました。もしよろしければASを組むお手伝いをしていただけないでしょうか?素材はそろっています
謝礼も何万かお支払いできます。
319Now_loading...774KB:2007/06/09(土) 23:00:25 ID:lLUANFwe
>>318
ちょっとASかじってる人ならそんなに難しい問題じゃないと思います。

お仕事でしょうか。
作業量が多いのなら正式にどこかに外注するなりした方がいいんじゃないかと。
少なくとも2chスレで仕事を依頼するのはちょっと違う気がします。
320Now_loading...774KB:2007/06/09(土) 23:05:16 ID:AtHV3ovC
319
作業量は多くありません。サンプルを一つ作ってもらうだけです。
外注を検討してみたいと思います。ありがとうございました。
321Now_loading...774KB:2007/06/10(日) 00:38:07 ID:HxQ85hm5
>>308
回答ありがとうございます。

>>2のサイトでターゲットパスについて勉強したのですが、
別のswfへのターゲットパスの記述がわかりませんでした。

できればそのやり方の載っているページを教えてもらえないでしょうか?
322Now_loading...774KB:2007/06/10(日) 01:50:52 ID:Ac++pBpf
>>321
読み込み方とかよく分からんけど
「level0」とかそのへんじゃないだろうか
323Now_loading...774KB:2007/06/10(日) 10:57:17 ID:XjDw+lta
this.stop();
と記述していてもENTERキーを押すとフレームがすすんでいってしまいます。
これって仕様なのですか?
フレームを進まないようにするにはどうすればよいですか?
324Now_loading...774KB:2007/06/10(日) 13:26:43 ID:ay7ACGFB
>>323
大丈夫デバッグプレイヤーだけ
325Now_loading...774KB:2007/06/10(日) 15:58:10 ID:kfkNkzdi
>>323
> と記述していてもENTERキーを押すと...

プレビュー見るならCTRL+ENTER(or Return)じゃね?
※ Macなら?+Return

ENTERキー(or Return)は単なる再生では!
326Now_loading...774KB:2007/06/10(日) 22:15:01 ID:NVHtLkYN
FLASH5です。
1,2フレーム目にローダーを作って3フレーム目で呼び出す外部SWFをプリロード。
ロードが終わったら3フレーム目に外部SWFを_rootで流しメインフレームはstop。
その外部SWFが再生し終わったらメインの4フレーム目に飛ばす、
要約すると
1-2フレーム目 3フレーム目で呼出す外部SWFを先に読み込んでおきたい
3フレーム目  読み込んだ外部SWFを再生させ、再生し終わったら4フレーム目に飛ばしたい

と言うのをしたいのですが具体的にどうすれば良いのでしょうか?
327Now_loading...774KB:2007/06/11(月) 04:47:08 ID:LZxiAJ46
テキストフィールドにて入力された文字列から¥nの改行を抜き出すよい方法はありませんか?
328Now_loading...774KB:2007/06/11(月) 06:05:05 ID:ltj9Yi4W
function setComma(number_str:String):String {
if (number_str.length>3) {
trace("1_"+number_str);
number_str = arguments.callee(number_str.substr(0, -3))+","+number_str.substr(-3);
trace("2_"+number_str);
}
return number_str;
}
trace(setComma("1234567890"));

だれかこの関数を俺でもわかるように説明してください!
どういう流れでコンマがついていくのかよくわからない・・・
329Now_loading...774KB:2007/06/11(月) 06:35:45 ID:KVBiEmZQ
>>326
具体的にというか flash ローダー でぐぐればいくらでもサンプル出てくる
>>327
var inStr:String = "東京都\n千代田区\n1−1−1";
trace(inStr);
trace(inStr.split("\n").join(""));
>>328
arguments.calleeは自分自身の関数を指す
つまりsetCommaを再帰呼び出ししてる
330Now_loading...774KB:2007/06/11(月) 06:45:51 ID:ltj9Yi4W
ありがとう
331326:2007/06/11(月) 10:02:58 ID:HCe72QqF
>>329
すいません表現がおかしかったかも知れません。えっと普通の1個のSWFでプリロードって話ではなく、
BのSWFを呼び出すAのSWFでBのSWFごとプリロードし、尚且つBのタイムラインが再生し終わったら(Bが最終フレームまでいったら)
Aのフレームを一つ進ませる(4フレーム目に飛ばす)。と言うのがしたいのです。
例えば現在こういう構成でAS書いてます。
_root
└loadmovieするターゲットシンボル(load_window)※1-3フレーム目までステージにいます
A.swf-loadmovie(オブジェクトアクション)
onClipEvent(enterFrame){
if (_root.load_window.getBytesTotal = _root.load_window.getBytesLoaded){
gotoAndStop (3);
//3フレーム目でB.swfが呼出されるASが実行されます。
}else if(_root.load_window.getBytesTotal > _root.load_window.getBytesLoaded){
gotoAndPlay (1);
//B.swfが完全に読込まれるまで1,2フレーム目を表示します。
}else if(_root.load_window._framesLoaded = _root.load_window._totalframes){
gotoAndPlay (4);
//B.swfが最終フレームまで再生されたら呼出し元の
//A.swfを4フレーム目に飛ばし、load_windowはステージ上から消す
}
}
A.swf フレームアクション(3フレーム目)
_root.load_window.loadMovie ("B.swf");
stop();
とりあえずこれで試した所、
3フレーム目でB.swfは呼出されるのですがB.swfが再生し終わったら
B.swfの1フレーム目から再度再生されてしまいます。
(A.swfのメインタイムラインは3フレーム目のままで、本来は最終フレームまで
いったらメインタイムラインを4フレーム目に飛ばしたい)
こんなんしたらどう?とかあったらお願いします。。
332Now_loading...774KB:2007/06/11(月) 12:22:52 ID:SKYdZnh1
>>331
B.swfの最終フレームにはthis.stop()が書かれているのか?
それならB.swfはループ再生しないはずだ。
ついでにそこに_root.gotoAndStop(4)とでも書いておけば
_rootは4フレーム目にいくだろ。
333Now_loading...774KB:2007/06/11(月) 13:56:17 ID:NGbiEYwk
AS3なんですが
Spriteの中にTextFieldがあるClassを呼び出してaddChildした時、
適当なキーを押したら上記のTextFieldへフォーカスを移したいんですが
この場合どうすればいいでしょうか?

自分でstage.focusを設定するとSpriteにフォーカスが移るんですが
Tabによるフォーカス移動ではちゃんとTextFieldになるんですよね・・・
334Now_loading...774KB:2007/06/11(月) 19:59:06 ID:KVBiEmZQ
>>333
よくわからんがfocus先をSpriteにしてるASを書いてるのではないかな
335Now_loading...774KB:2007/06/11(月) 22:59:21 ID:HCe72QqF
>>332
それは盲点だった。うまくいったよありがとう

>BのSWFを呼び出すAのSWFでBのSWFごとプリロード
あとはこの部分なんだけうまくいきません。。
とりあえずストリーミングでみると0フレーム目で全部読んじゃってる感じで
1フレーム目が表示されないのですが、良い方法ありませんか?

要は外部から読込むムービーをステージに出る前から
予めロードしておきたいって話です
336Now_loading...774KB:2007/06/12(火) 09:42:48 ID:uKqoRlEC
ボタンが4つあって、それぞれのロールオーバー&ロールアウト処理が長々しくなってたので
纏めたいのですがどうも動いてくれません、FLASH8を使用です


for(i=1; i<5; i++) {
this["menuBtn" + i + "_mc"].onRollOver = function() {
this["topBack" + i + "_mc"].playNum = 1;
};
this["menuBtn" + i + "_mc"].onRollOut = function() {
this["topBack" + i + "_mc"].playNum = -1;
};
}

処理したい概要はmenuBtn1,2,3,4にロールオーバー&ロールアウトした時
それぞれの数と同じムービークリップtopBackにある変数playNumに数字を代入するといった処理です
よろしくお願いします
337Now_loading...774KB:2007/06/12(火) 09:50:15 ID:koJJvBkR
>>336
function内のthisが何を指しているか考える
338Now_loading...774KB:2007/06/12(火) 10:21:06 ID:uKqoRlEC
>>337
レスありがとうございます
カッコ前のthisや_parent省略もできないし・・・
this["topBack" + i + "_mc"].["topBack" + i + "_mc"].playNum = 1;
こんな事をやってみましたがやはり無理でした
一応menuBtnとtopBackは同じ階層においてますが
やはりわかりません・・・
339Now_loading...774KB:2007/06/12(火) 11:05:46 ID:2GcXKbeJ
>>338
いや、だからまずはfunctionのなかで使うthisが何を指してるか確認しろって
>>337が書いてるじゃん。
そういうときは、trace(this)とかしてみる。
あてずっぽうに、適当な書き方を試すってことじゃない。
そうすると、パスの書き方の何が間違ってるかわかってくるはずだ。
340Now_loading...774KB:2007/06/12(火) 12:22:08 ID:uKqoRlEC
>>338
menubtn1_mcにロールオーバーでtrace(this);した所
上層ムービークリップ..menuBtn1_mc と出ました
現在の場所がmenuBtn_mcという事で、menuBtnとtopBackが並ぶ一つ上の階層に戻そうと思い
_parent["topBack" + i + "_mc"].nMove = 1;
としてみたのですが・・・駄目です、考え方がおかしいのでしょうか・・・
341Now_loading...774KB:2007/06/12(火) 16:16:38 ID:koJJvBkR
>>340
変数名でなく
テキストフィールドのインスタンス名.text="なんちゃら";
でやってみそ
342Now_loading...774KB:2007/06/12(火) 17:42:07 ID:uKqoRlEC
>>341
その方法はテキストフィールドを新たに用意して使用するのでしょうか?
336のスクリプトをあれこれと試行してみましたがやはり動かず、テキストフィールドの方法は全く検討がつきません
処理先が悪いのかと思い一応確認にと
menuBtn1_mc.onRollOver = function() {
topBack1_mc.nMove = 1;
};
をやってみてもtopBack1は正常に動作しました
どうかお答えお願いします・・・

343Now_loading...774KB:2007/06/12(火) 17:58:06 ID:W8XK4eke
テキストフィールドに変数名ってプロパティがあるはずだ。
そこに任意の変数名をセットして、あとはコード上で_root.変数名++;とかしてあげなさい。
344Now_loading...774KB:2007/06/12(火) 18:17:38 ID:uKqoRlEC
>>343
ありがとうございました、なんとか試してみます
336のようなthis[]を使った方式は無理があったんですね
345Now_loading...774KB:2007/06/12(火) 18:40:09 ID:W8XK4eke
あ、すまん。別スレの質問と混同した。>>343は忘れてくれ。

単純に差している階層が違うんだと思うぞ。thisはそのオブジェクト自身を指す。
オブジェクトを差すには相対パスといって自分を基準にした_parentで指定する方法と、
絶対パスという一番上の階層から指す方法の_rootを使う方法がある。

仮に_parentを使った例を書こう。
mc1の下にbtn1とbtn2があったとして、btn1がbtn2のaという変数にアクセスする場合は
this._parent["btn2"].a++;
mc1と同じ階層にあるbtn3にアクセスしたい場合は
this._parent._parent["btn3"].a++;
となる。

あとは出力ウィンドウになにかエラーが出てないか確認しよう。
_parentとか_root、ActionScriptとかいう単語でぐぐれば説明のページひっかかってくると思うから、
あとはそこを参考にしてみてくれ。
346Now_loading...774KB:2007/06/12(火) 19:31:43 ID:6lciLeyr
環境)OS:WinXP-Pro,Mem=1GB,ソフト:Flash8-Pro(Player7)

attachMovie()で出現したMCのstartDrag()/stopDrag()で質問です。

_root上に置いたstage1というMC内にmc0〜mc4という5個の球型MCを出現
させて、これらをマウスドラッグによるstartDrag()/stopDrag()で移動させるAS
を書きました。
目的の動作自体は出来たのですが、startDrag()/stopDrag()の応答が遅く、
困っています

具体的には、
1)ドラッグしようと目的のMC上にマウスポインタを重ねても、すぐには指マーク
 にならず、0.5〜1秒ほどテキスト入力のカーソルの形『|』になる。
2)ドラッグ出来たとしても、今度はstopDrag()が機能しない場合が多く(つまり
 『乳離れ』ならぬ『ポインタ離れ』が出来ず)、目的の場所に置くことができない。

フレームレートは12fpsで、PCスペックに対して別段速過ぎるとは思われません。
考えられる原因は何でしょうか?
347Now_loading...774KB:2007/06/12(火) 20:03:12 ID:k0ZTNov9
>>346
フレームレートが遅すぎるとかじゃなくて?
updateAfterEvent();
とか試した?
348Now_loading...774KB:2007/06/12(火) 20:18:17 ID:bxyyOZmb
乳離れワロスwww
349346:2007/06/12(火) 23:19:55 ID:6hvYvFTd
>>347
レスさんきゅうです。ヘルプを参考に、stage1のイベントハンドラとして
this.onMouseDown = function() {
updateAfterEvent();
};
this.onMouseUp = function() {
updateAfterEvent();
};

を書きました。指マークはすぐに出るようになりましたが、『ポインタ離れ』は
まだ解決してません。
念のため、フレーム速度を 12fps → 20fps にしましたが駄目でした。

引き続き、アドバイスを願います。
350Now_loading...774KB:2007/06/12(火) 23:41:42 ID:JB0eYZXD
>>349
どういうAS書いてるの?

mc0.onRelease=function(){
this.stopDrag();
}

だと思うけど。
351346&349:2007/06/13(水) 00:37:44 ID:Ctw4dzOR
>>370
どうも。
updateAfterEvent()はstage1に書くのではない、ということでしょうか?

それを踏まえて、リンケージされた各MCのイベントハンドラとして、最初
this.onPress = function() {
this.startDrag();
};
this.onRollOut = function() {
this.stopDrag();
};

を書いていましたが、これに加えて
this.onMouseDown = function() {
updateAfterEvent();
};
this.onMouseUp = function() {
updateAfterEvent();
};

を書いてみましたが駄目でした。
352346&349:2007/06/13(水) 00:39:18 ID:Ctw4dzOR
アンカー間違えた。
誤)370  → 正)350 だった
353Now_loading...774KB:2007/06/13(水) 02:58:09 ID:EwaXROic
>>351
あぁ、onRollOutってのはonPressした後でマウスがmcの外に行った時に発生する。
onPressでドラッグしてるんだからmcの外に行くわけない。
×onRollOut
○onRelease - onPress後にマウスを放したとき。

>>350で言いたかったのは、
attachMovieした後にforで回してイベント設定してると思い込んでて(俺が勝手に)
それが変なんじゃないかなーって思ったから書いてみた。
結果的に関係なかったけど。
354Now_loading...774KB:2007/06/13(水) 06:07:39 ID:91+LOAmy
as2でフラッシュのゲームを作ってるんですけど、
途中状態をそのフラッシュに保存したりdatに書き出したりできるんですか?
355Now_loading...774KB:2007/06/13(水) 06:38:12 ID:mK3MiolP
>>354
SharedObject
356346&349:2007/06/13(水) 12:25:42 ID:6TJxfVrn
>>353
レスありがとうございます。
よくよく考えたら、凡ミスでした。
357Now_loading...774KB:2007/06/13(水) 16:13:56 ID:2TAR2yPI
>>350
念のためonReleaseOutsideも
358Now_loading...774KB:2007/06/14(木) 07:55:02 ID:WaEe/PST
>>351
updateAfterEventつけるなら、onMouseMoveにつけるんじゃねーのか
359Now_loading...774KB:2007/06/14(木) 12:03:35 ID:EQ4kUKsH
誰か
http://javagame.main.jp/index.php?%BA%B8%B1%A6%B0%DC%C6%B0
のソースを、ActionScript3.0で等価なコードに書き換えられないか?
参考にしたいんだ
360Now_loading...774KB:2007/06/14(木) 18:32:05 ID:hHJdgEam
少しは努力してください
361Now_loading...774KB:2007/06/14(木) 18:46:31 ID:O+X9VzGu
ムービークリップA.onEnterFrame = function() {
 Aのenterframe処理
}
ムービークリップB.onEnterFrame = function() {
 Aのenterframe処理
}

こういったムービークリップのenterframe処理で別のムービークリップへの処理をしても問題はないのでしょうか?
Aの前から指定していたenterframe処理に別の処理を追加したくて
Aのenterframeに追記したら想定通りに動いてくれなかったので
362Now_loading...774KB:2007/06/14(木) 19:29:12 ID:tu4OCrkK
>361
出来ません。仕事を増やしたいのなら、Bは関係ない

・AではなくCにやらせる
D.onPress = function() {
C.onEnterFrame = moveC;
};
function moveC() {trace("ぬるぽ");}

・フラグを用意してtrueなら実行
flgA=false;
A.onEnterFrame=function(){
if(flgA){trace("ぬるぽ");}}
D.onPress=function(){_root.flgA=true;}
363Now_loading...774KB:2007/06/14(木) 19:36:25 ID:tu4OCrkK
外部テキストに
text=1,1,1,1
と書いたものを
配列として読み込むことは出来るでしょうか?
myLoad.load("test.txt");
trace(myLoad.text);
これだとただの文字列ですよね("1,1,1,1")

それとも、for,splitを使って、入れなおさないと駄目?
364Now_loading...774KB:2007/06/14(木) 19:59:48 ID:NurQzl7e
ダメ。普通そう。
365Now_loading...774KB:2007/06/14(木) 20:18:20 ID:O+X9VzGu
>>362
ありがとうございました、なんとかできそうです!
366Now_loading...774KB:2007/06/15(金) 09:26:46 ID:hJjEgm9G
文字列の"010"を10進数の数字にするには
どうすればいいのでしょうか?
Number(),parseIntじゃ、8進数になってしまいます
よろしくお願いします
367Now_loading...774KB:2007/06/15(金) 09:38:16 ID:vEfHwaeM
>>366

Number(Number("010").toString(10));
parseInt("010", 10);
368Now_loading...774KB:2007/06/15(金) 09:45:02 ID:1VO6MIle
>>366
数値は数値なので何進数という区別はない
369Now_loading...774KB:2007/06/15(金) 10:13:26 ID:lCzN2TRJ
>>368
>>366は、"010"を10進数で10と変換して欲しいのに、8進数と認識されて8に変換されて困る。
って言っているのさ。
370366:2007/06/15(金) 11:29:59 ID:hJjEgm9G
>367
parseIntで、なんとかいけそうです。ありがとう。
371Now_loading...774KB:2007/06/15(金) 23:14:35 ID:sQ21hLov
質問です。
ActionScript2.0でJavaでいうThred.sleepみたいなのが見当たらないんですが
ないんでしょうか?
372Now_loading...774KB:2007/06/15(金) 23:20:01 ID:G3XQbqrr
うん
373Now_loading...774KB:2007/06/15(金) 23:34:37 ID:m7ABWD2S
CUIじゃないから
374Now_loading...774KB:2007/06/16(土) 03:24:07 ID:ZVxO56td
XP、flash 8 を使用しています。
一つのムービークリップ内に数十個のボタンを置いて、
それぞれクリックすると値を代入するスクリプトを書いてます。

test_0001.onRelease = function() { testVar = 0001; };
test_0002.onRelease = function() { testVar = 0002; };

test_0050.onRelease = function() { testVar = 0050; };

現状はこんな感じでボタンの数だけonReleaseさせているのですが、
これをもう少しコンパクトにまとめる方法はないでしょうか。
375Now_loading...774KB:2007/06/16(土) 11:14:03 ID:e7g44do4
>>374
あります
376Now_loading...774KB:2007/06/16(土) 11:27:46 ID:ZVxO56td
>>375
よろしければ、ヒントで良いので教えていただけないでしょうか('A`)
377Now_loading...774KB:2007/06/16(土) 12:41:33 ID:W0MOi2km
>>376
forループと配列アクセス演算子

それから、どうしてもという理由がないなら
連番にするときは、1,2,3,....10,11,12...
と頭に0をつけない方が、扱いは楽ですぜ
378Now_loading...774KB:2007/06/16(土) 13:26:09 ID:e3KquHmZ
頭に0を入れないなら、
for( num = 1; num <= 50; num++){
paernt_mc["test_"+num].onRelease = function() { testVar = num;};
}
でいいと思い込んでる俺ガイル。
379Now_loading...774KB:2007/06/16(土) 13:39:59 ID:FIRqpHKR
>>378
それじゃダメだ クロージャ使う
for(num = 1; num <= 50; num++){
this["test_"+num].onRelease = (function(x) {return function() {testVar = x;}})(num);
}
380Now_loading...774KB:2007/06/16(土) 18:17:30 ID:ZVxO56td
>>377-379
有難うございます。頭に0をつけないでやってみました。
二つの方法を試してみたのですが、どうも上手くいかないです。
テスト用に代入ではなく文字列を表示させているのですが、

for (num= 1; num <= 50; num++) {
this["test_"+num].onRelease = (function(x) {return function() { _root.debug_text.text = x;}})(num);
}
→文字列に変化がない

for( num = 1; num <= 50; num++) {
this["test_"+num].onRelease = function() { _root.debug_text.text = num; }
}
→どのボタンを押しても50と表示されます。

すみません、引き続き試行錯誤してみます。
381Now_loading...774KB:2007/06/16(土) 18:21:50 ID:FIRqpHKR
うーんダメだったか。ActionScriptじゃ使えないのかな。多分こっちなら大丈夫だ。
for( num = 1; num <= 50; num++) {
this["test_"+num].num = num;
this["test_"+num].onRelease = function() { _root.debug_text.text = this.num; };
}
382Now_loading...774KB:2007/06/16(土) 19:07:03 ID:nIpMuBJZ
それだと 全部の関数から num が共有されちゃうんじゃないかな?

パッと思いつきで書くと、こんな感じか?
これで一応は動くと思うが。。。

function makeFunction(my_no:Number):Function {
var my_func:Function = function() {
// ここに処理を書く
trace(my_no);
}
return my_func;
}

for( num = 1; num <= 50; num++) {
this["bt_"+num].onRelease = makeFunction(num);
}
383Now_loading...774KB:2007/06/16(土) 19:29:41 ID:ZVxO56td
>>381-382
有難うございます。動いています!
これでコードが激減します('A`)
384Now_loading...774KB:2007/06/16(土) 22:27:04 ID:1a/kgX2K
環境)OS:WinXP-Pro,Mem=1GB,ソフト:Flash8-Pro(Player7)

入れ子のMCに対するフォーカスについて質問です。

_root上に置いたstage1というMC内にattachMovie()で球型MCmc0,mc1を出現
させました。これをマウスクリックによりフォーカス枠が出るように、それぞれの
イベントハンドラとして下を書きました(_root.atmFocusFは、true/falseの値を持つ)

this.onRelease = function() {
this.onEnterFrame = function() {
if (_root.atmFocusF == true) {
Selection.setFocus(this);
}
};
};

これによりフォーカス枠は表示/非表示が出来るのですが、表示された場合は
点滅の状態で、マウスポインタの位置(動き)によっては消える時間が多くなります。
常時フォーカス枠を出すにはどうすれば良いでしょうか?
385Now_loading...774KB:2007/06/17(日) 14:55:37 ID:+k++77IZ
>>384
フォーカスというか、MCのframe2にでも選択された時の画像を作って
gotoAndStopすればいいのでは?
386Now_loading...774KB:2007/06/17(日) 23:29:17 ID:eqAiQhhB
http://www.nintendo.co.jp/n02/shvc/bfej/sousa/shiji/page02.html
↑の移動っぽいのを再現したいんだけど、手がツカネ
だれかflaで求む
387Now_loading...774KB:2007/06/18(月) 00:14:38 ID:nl5AljfS
>>386
まず、もちつけ
次に、テンプレ嫁
388384:2007/06/18(月) 02:02:40 ID:yhxhfGwO
>>385
有り難うございます。
MCの2フレ目に『なんちゃってフォーカス枠』を追加描画し、gotoAndStop
で移動することにより解決しました。
389Now_loading...774KB:2007/06/18(月) 08:23:49 ID:B1tQBw9e
外部から読み込んだテキストをテキストフィールドにいれて表示させていてるのですが、
フレームを1→2→3 3→2と戻すと表示がクリアされてしまいます。
よい対策はありませんでしょうか?
390Now_loading...774KB:2007/06/18(月) 09:43:32 ID:FnYnBgVN
>>389

どういう風な処理で読み込んでるのか分からないと助言のしようがない。
391Now_loading...774KB:2007/06/18(月) 16:21:01 ID:0v4GHoQg
シンボルをActionScriptで左右反転させるにはどうすればいいのでしょうか?
392Now_loading...774KB:2007/06/18(月) 16:22:22 ID:kd+m4DDT
>>391
MovieClip._xscale = -100;
393Now_loading...774KB:2007/06/18(月) 22:20:17 ID:91Fy32gF
functionにon命令入れる事って出来ないんでしょうか
最初にon命令がズラッと並ぶのかっこ悪くって
394Now_loading...774KB:2007/06/18(月) 22:25:02 ID:kd+m4DDT
>>393
普通こうやる

this.onEnterFrame = function() {
〜〜
};
this.onMouseDown = function() {
〜〜
};
this.onMouseUp = function() {
〜〜
};
395393:2007/06/18(月) 23:54:14 ID:91Fy32gF
うーん、上手く出来ない orz

http://www.uploda.org/uporg862808.pfl

これのon(press),on(release),onClipEvent(mouseMove)を
一つに纏めて,onClipEvent(enterFrame)の中身をファンクションに
入れたいんですけど
396Now_loading...774KB:2007/06/19(火) 00:35:12 ID:zO0cysyY
言ってる意味が分からないんだぜ
397Now_loading...774KB:2007/06/19(火) 04:19:53 ID:Ny5OZFCo
>>395
パラフラのスレでどぞ。
ちなみにonでなく、フレームアクションを使う。

initMcEvent();
function initMcEvent(){
>>394のサンプルコード
}

のようにするとか、#includeで外部asから読み込むとか
398Now_loading...774KB:2007/06/19(火) 15:04:48 ID:eNeZx3pC
1から20までの整数から一つランダムに取得したい場合は
var answer = getRandomNum(1, 20);
function getRandomNum(min:Number, max:Number):Number {
var num:Number = Math.floor(Math.random()*(max-min+1))+min;
return num;
}
のようにすると思いますが、
ではその中で、11から15が出る確率を
それ以外の数字が出る確率の半分にしたい場合は
どうしたらよいでしょうか?
399Now_loading...774KB:2007/06/19(火) 15:20:58 ID:Ny5OZFCo
>>398
単純に11から15が出たらもう1回抽選するとかw
400Now_loading...774KB:2007/06/19(火) 15:23:12 ID:U4gla/un
>>398
1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,12,13,14,15,16,16,17,17,18,18,19,19,20,20
からのテーブル参照とか。
401Now_loading...774KB:2007/06/19(火) 15:23:51 ID:2zsY0E2y
answer = new Array();
answer[0] = getRandomNum(1, 5);
answer[1] = getRandomNum(1, 5);
answer[2] = getRandomNum(6, 10);
answer[3] = getRandomNum(6, 10);
answer[4] = getRandomNum(11, 15);
answer[5] = getRandomNum(16, 20);
answer[6] = getRandomNum(16, 20);
answer[7] = answer[getRandomNum(0, 6)];

answer[7] に結果が入る。かなり非効率…
402Now_loading...774KB:2007/06/19(火) 15:25:22 ID:2zsY0E2y
>>400
おれ頭固すぎ…死のう
403Now_loading...774KB:2007/06/19(火) 17:22:25 ID:m01GiB3G
var answer:Number = getRandomNum(1, 35);
if(answer > 31) answer -= 15;
else(answer > 20) answer -= 20;
trace(answer);
404Now_loading...774KB:2007/06/19(火) 17:23:45 ID:m01GiB3G
> else(answer > 20) answer -= 20;
間違えた

else if(answer > 20) answer -= 20;

だね
405Now_loading...774KB:2007/06/19(火) 21:15:31 ID:/utSG4B3
alert.showで表示したアラートダイアログをActionScriptで閉じるにはどうしたらいいんでしょう。
406Now_loading...774KB:2007/06/19(火) 22:26:33 ID:Vrv2Ke9n
>>399-404
398です。
なるほど。ありがとうございました。

407Now_loading...774KB:2007/06/21(木) 00:04:35 ID:gz32TCUl
読み込んだテキストを.splitで分けているのですが、例えば、

おはようございます,こんにちは

というテキストの中から『は』だけを無視して表示しない、というような場合、処理の方法はあるでしょうか。

表示結果を、

おようございます
こんにち

みたいな感じにしたいのです。
408Now_loading...774KB:2007/06/21(木) 00:09:31 ID:4AquLDHq
409Now_loading...774KB:2007/06/21(木) 08:53:23 ID:M3ViZD5R
今フラッシュでアクションゲームを作ってるのですが
横スクロールアクションにしたいのですが足場に関する処理とジャンプの処理が全くわかりません(;´д⊂)

それと向いてる方向で攻撃する方向を変えたいのですが、変数を入れてif文をつかっても再生されなかったりして困ってます

誰かお助けをorz
410Now_loading...774KB:2007/06/21(木) 09:24:09 ID:n8Bw6vbA
411Now_loading...774KB:2007/06/21(木) 22:48:07 ID:ZehioQAm
外部FLVに対してローダーを付けたいんですが、
ロード完了後再生っていうだけで、ロード%の表示などはいらないんですが、
何かうまい方法ないしょうか。
412Now_loading...774KB:2007/06/21(木) 22:59:44 ID:8q3uw9FO
>>411
全体のファイルサイズと読み込み済みバイト数が等しくなったら再生開始
413Now_loading...774KB:2007/06/21(木) 23:56:24 ID:ZehioQAm
411です。

FLVPlaybackで外部FLV読んでます。
その場合も>412さんの方法でOKなんですか?
414Now_loading...774KB:2007/06/22(金) 00:17:16 ID:s88+Be0X
携帯の待ちうけを作っていて、
7,8月の夜7〜9時までの間花火をあげようと思っているんですが、
なかなかうまくASが利きません。
花火のムービークリップは正常に動いていて、インスタンス名をhana
と名づけています。
以下のASでどんな月でも花火が上がらなくなってしまいます。
どうしたらよいのでしょうか?

mn = fscommand2("GetDateMonth");

if (mn == 6 && mn == 7) {
if (hr >= 19 && hr <=20){ //hrにはすでに時間取得済み
hana._visible = true;
} else {
hana._visible = false;
}
} else {
hana._visible = false;
}
415Now_loading...774KB:2007/06/22(金) 00:29:10 ID:Jh71C589
if (mn == 6 && mn == 7) { … 6月かつ7月
if (mn == 6 || mn == 7) { … 6月または7月
416Now_loading...774KB:2007/06/22(金) 00:42:04 ID:s88+Be0X
>>415
ありがとうございます。
かつ と または ではかなりの差ですね。
しかも 6月と7月いっしょになる日なんてどこにもないですもんね。
だから表示されなかったのか。
ホントにありがとうございました。

おかげで眠れます。
417Now_loading...774KB:2007/06/22(金) 00:54:06 ID:NTzznaWn
ふむ、理解力の良い。期待できる。
418Now_loading...774KB:2007/06/22(金) 01:18:06 ID:Ko1r4+f6
>>413
そう。
でも読み込み済みバイト数が全体のファイルサイズ"以上"になったら。
の方がいいかも。
419Now_loading...774KB:2007/06/22(金) 11:04:53 ID:HFSdmomi
>>416
しかし最初の

> 7,8月の

は満たしてないのを気付いていることを祈る。
420Now_loading...774KB:2007/06/22(金) 12:45:04 ID:JHS2Vur1
このビデオの再生時間は何分何秒というように、
flashに読み込んで再生する外部FLVの長さを
再生する前に取得して表示するにはどうしたら良いですか?
421Now_loading...774KB:2007/06/22(金) 16:23:02 ID:aM5WQjsd
ttp://www.mabinogi.jp/

このサイトのFlashで出来た、タブ・・・これどうやって作ってるの?
マウスオーバーすると、本来HTMLのフィールドに項目内容書いたFlashが生成されてるんだけど、
マウスオーバーで、タブ内容だけが記述されたSWFを、javascriptがその位置にレイヤーとして呼び出す感じでしょうか?
422Now_loading...774KB:2007/06/22(金) 19:14:43 ID:LywrCIim
FLVの質問するときはプレイヤーはFLVPlayback使用するのか、
MediaPlayback使用するのかどちらか書いてくれ。
あと、FLVのエンコードはなにかも書いてくれ。
423Now_loading...774KB:2007/06/22(金) 20:12:03 ID:H7MJud/i
Flash / JavaScript Integration Kit について質問です

Win2k
FlashPro8

asからjsの関数を呼んだ際、戻り値はどこに行くのでしょうか?

jsのソース
--------------------------------------------
function test(){
alert();
return( 'foo' );
}
--------------------------------------------

asのソース
--------------------------------------------
import com.macromedia.javascript.JavaScriptProxy;
var proxy:JavaScriptProxy = new JavaScriptProxy(_root.lcId, this);

var hoge = proxy.call( "test", "arg1", new Object() );
--------------------------------------------


アラートは出るのですが、戻り値の取り出し方が解りません。
よろしくお願いします。
424409:2007/06/22(金) 22:27:28 ID:oA50DmTE
>>410
スレ違い失礼、そっち行ってみます
425Now_loading...774KB:2007/06/22(金) 22:33:07 ID:6DEYlfF9
MCに外部SWF(A.swf)を読み込んで表示させる際についてなのですが、
A.swfが読み込んでいる外部テキストの読み込みが出来なくなってしまいます。
A.swf単体の時は問題なく外部テキストを読み込みできるのですが、何か特別な処理方法があるのでしょうか。

外部テキストの読み込み以外は正常に動作しています。
426Now_loading...774KB:2007/06/23(土) 02:13:29 ID:C1qNHqlU
>>425
入れ子のMCの状態ってこと?
パスは確認した?
427Now_loading...774KB:2007/06/23(土) 02:14:35 ID:OtoD8b3f
>>425
>>106じゃないの?
428Now_loading...774KB:2007/06/23(土) 03:09:46 ID:NAvMOGm7
>>426-427
レスありがとうございます。
パスも問題なく、_lockrootも入れてましたが、問題は別にあったようで表示に関しては先ほど解決しました。

split("\r\n")を
split("\n")に変更したら解決しました。

どうやら\r\nは8以降では使えないみたいなのですが、皆さんは\r\nの代用ってどう記述されてますか?
バックスラッシュが勝手に\に変わるのはやめてほしいんですが。。
429Now_loading...774KB:2007/06/24(日) 07:47:53 ID:IWPIINjp
改行コードとバックスラッシュ=\なのは関係ないと思うが、
基本的に\nの改行だけ使うように設計してる
430Now_loading...774KB:2007/06/24(日) 11:02:12 ID:g6wJUsvd
パブリッシュプレビュー(CTRL+ENTER)でストリーミングのテストをしたいのですが
loadMovieで呼出される外部SWFがストリーミングされない様ですぐ表示されてしまいます。
外部呼出しごとストリーミングテストする方法はありませんか?
(呼出す外部SWF自体での動作は出来ない書き方になっているので単独でのプレビューは不可)
431Now_loading...774KB:2007/06/24(日) 11:20:12 ID:zCBXZw2+
質問させていただきます。 スペック:WInMX FlashMX使用
揺れる花に様々な蝶が止まるというFLASHを作ろうとしています。
作成したムービークリップ
・揺れる花
・モンシロチョウ(羽を動かして移動し(花の位置まで来て静止して)飛び立つ)
・アゲハチョウ(同上)他、数種類の蝶を作りました。

メインフレームに花を置きました。そこへランダムに蝶のムービークリップを配置したいのです。
1)蝶は画面に1匹だけしか出さない
2)ランダムとはいえ、連続して蝶を出さない(花だけが揺れる状態も欲しい。出来ることなら8秒位の花だけの映像にしたい。)
3)同じ蝶が連続して出ても構わない
4)蝶のムービークリップは、きちんとフレームの頭から最後まで再生させたい。(フレームインからフレームアウトまで)

この際には、どこに、どういったアクションスクリプトが必要なのでしょうか?
(多数のサイトでも様々なサンプル作品を見させていただきましたが、見当たりませんでした・・・)
432Now_loading...774KB:2007/06/24(日) 12:01:41 ID:ZWnhtY3q
>>430
ストリーミングってすぐ再生されるんじゃなかったっけ。swf単体で動かないなら
デバッグ用に動くように作ればいいじゃん。
>>431
setIntervalで定期的に実行中フラグをチェック。
実行中でなければ、何分の1かの確率でランダムに蝶の種類を選択して実行。
433Now_loading...774KB:2007/06/24(日) 13:16:40 ID:g6wJUsvd
>>432
呼出し先での絶対パスとかあってパスとか全部書き換えるのめんどくさいから
鯖にうpして様子みる事にするよ
434Now_loading...774KB:2007/06/24(日) 13:25:08 ID:yYHZxlez
ダウンロードのシュミレート機能使えばいいだけじゃねーの?
435Now_loading...774KB:2007/06/24(日) 14:30:52 ID:jszozWYz
http://planetmeteos.com/
このURLの先にあるキャラクターが自由に動き回ったり
突然何かにぶつかって昇天してしまったり
ポインタに躓いたりポインタを持っていったり
ほかのキャラクタにぶつかったり
しているFlashなんですけど
これはどういうスクリプトで動いているのでしょうか?

まったく見当も付かないので何もわかりません。

Windows XP FlashMX2004を使っています。

よろしければわかる範囲でお教えいただけませんか?
436Now_loading...774KB:2007/06/24(日) 15:32:32 ID:6yBSYhpL
>>435
超基本的からそのままこっちに移動されてもな…。
ASにある主にMCクラスについて一通り把握すればできるだろ。

まったく見当もつかないほどわからない人に、それぞれの要素について
具体的なスクリプトの解説をしたら長くなるし面倒だと思わないか?
問題を絞るとか、実際にどこまでわかってるのかとか言わないと、
そういう漠然とした質問には漠然としたレスしかつかないことが多い。
437Now_loading...774KB:2007/06/24(日) 18:45:59 ID:KhgGC+7x
421の概略を私も知りたいです。
438Now_loading...774KB:2007/06/24(日) 18:59:41 ID:0ANIJa6z
hogeっていう空MCに画像を読み込ませてMCのサイズを取得したいのですが

this.createEmptyMovieClip("hoge",0)
mcLoader = new MovieClipLoader()
mcLoader.addListener(hoge)
mcLoader.loadClip("gazo.jpg",hoge)
mcLoader.onLoadComplete = function(){
   trace(hoge._height)
}

こうやると出力で0が出てしまってサイズが取得できません
なんかいい方法ありませんか><
439Now_loading...774KB:2007/06/24(日) 21:03:15 ID:MEQs+JkR
>>438
そういうときは『onLoadComplete』じゃなくて『onLoadInit』を使うんだ

>>437
つ436
440Now_loading...774KB:2007/06/24(日) 22:30:57 ID:KhgGC+7x
>>439
すみません。

>>421のflashナビ
サブメニューを出す動きと、サブメニューの背景のリサイズは
分かるんだけれども
htmlのフィールドに、カブってだす方法が分かりません。
441Now_loading...774KB:2007/06/24(日) 22:42:05 ID:6hjbuOx8
>>440
背景透過にして、上のレイヤーに乗せてるんじゃないかな
つまり、IEでしか動かないと思われ
442Now_loading...774KB:2007/06/24(日) 22:57:51 ID:KhgGC+7x
>>441
wmode=transparentの存在を知りませんでした;
position:absoluteで位置を指定してswfを配置して
なんとかなりそうですね。
ま・・・間違ってますでしょうか?
443Now_loading...774KB:2007/06/24(日) 23:53:09 ID:0ANIJa6z
>>439
できました!!
ありがとございます!!
444Now_loading...774KB:2007/06/25(月) 00:19:17 ID:ntOJg+vl
>>442
うん。多分そんな感じだとおも
試しにやってみて、上手くいったら教えて
445Now_loading...774KB:2007/06/25(月) 02:17:07 ID:Hk3Y6TgG
どこにFLASH使われてるんだと思ったらブラウザFFで見てた
IE限定仕様か
446Now_loading...774KB:2007/06/25(月) 10:18:45 ID:7ZrT6uyI
環境)OS:WinXP-Pro,Mem=1GB,ソフト:Flash8-Pro(Player7)

マスクついて質問です。

_root上に置いたstage1というMC内にattachMovie()でmc0〜mc4という5個の
球型MCを出現させて、stage1の領域以外に球型MCが現れないように(見え
ないように)stage1に下のASを書きました。

onClipEvent (load) {
this.setMask(_root.maskM); //maskMがマスクMC
}

これでstage1に対するマスク自体は出来たのですが、実際に球型MCが出現する
際には、元となる座標データ次第でこれらにマスクがかかりません(stage1外の領
域に現れます)。 どうしたら良いでしょうか? 
なお球型MCの深度は座標データに依存し、大体 -100〜+100 の範囲です。
447Now_loading...774KB:2007/06/25(月) 10:22:01 ID:7ZrT6uyI
助詞が抜けていた

× マスクついて質問です。
○ マスクについて質問です。
448Now_loading...774KB:2007/06/25(月) 10:22:11 ID:HUaS8rfv
maskMの深度
449Now_loading...774KB:2007/06/25(月) 10:51:36 ID:AiITRDUK
http://youmos.com/news/autoviewer
をダウンロードして、日本語でテキストを出力したいんですが、どうしてもできません。
日本語化は不可能でしょうか?
450Now_loading...774KB:2007/06/25(月) 10:55:16 ID:HUaS8rfv
>>449
そのサイトに聞けよ
451Now_loading...774KB:2007/06/25(月) 15:18:34 ID:J3kMs83R
質問です。
Flex2でサーバーからのレスポンスヘッダの中身を参照するテストをしています。
http://www.abdulqabiz.com/blog/archives/flash_and_actionscript/http_authentica.php

↑のような感じでやったみたのですが
socket.connect()の段階でSecurityErrorがでてしまいます。この人はなぜか成功したようですが。

1024未満のポートに接続してソケットをやり取りする正しい方法をご存知の方いらっしゃいますでしょうか?

いろいろ探し回った結果、
1024未満だとXMLSocketを無理やり使わないといけないとか、自分でXMLサーバーを立てなきゃいけないとか
Flex3なら解決されてるとかいろいろ情報が混ざってて正直良くわかりません。(っていうかそもそもXMLサーバーって?)

自分で何をしたかと言いますと…

レンタルサーバーにcrossdomain.xmlと、参照したい適当なファイルをおく
ローカルもしくは同サーバーから

// XXX = レンタルサーバーのドメイン
Security.loadPolicyFile("http://XXX");
socket.connect("XXX",80) のswfを実行

です。ちなみにURLLoaderを使用した場合と、アパッチにswfとファイルを置いてのSocketは成功しました。
あとスニッファしてみたところ "GET crossdomain.xml"→"Http OK ...crossdomain.xmlのボディ"
と一応crossdomain.xmlのやり取りはされているようです。

どうもリアルネットワークを使ったSocketの取り扱いは特殊なようで…。
長文で失礼。

452Now_loading...774KB:2007/06/25(月) 18:04:05 ID:7csJ253k
こんばんは、質問させていただきます。

現座AS3.0を勉強し始めましてクラスを配列に格納する所を学習しています。
教本によると
Array[0] = new Class1();
Array[1] = new Class2();
というようにクラスのインスタンスを配列に格納しているのですが

これを関数の一つにして
function Add(ii, クラスを引数?){
Array[ii] = 引数のクラス
}

という処理にしたいのですが検索語彙が上手く思いつかず
自分の調査では分かりませんでした。

このようにクラスを関数の引数にしたい場合どのように記述すればいいのでしょうか
ご教授お願いします。
453Now_loading...774KB:2007/06/25(月) 18:14:45 ID:rhxTsuYW
454Now_loading...774KB:2007/06/25(月) 19:32:41 ID:HUaS8rfv
>>451
xmlテキスト参照するだけなのにsoket通信しないといかんの?
>>452
引数にそのクラスのオブジェクトでいんじゃねーの
455Now_loading...774KB:2007/06/25(月) 19:42:07 ID:7csJ253k
>>453
マルチではなかったんですが、参考URLありがとうございます。

そして連続ですいません。
URL先での内容を踏まえてHello1というクラスを作り
コンストラクタとhelloというメソッドのみ記述しました。
そして以下のような内容を同一プロジェクト内のTEST01というクラスのコンストラクタに記述しました。

// リフレクション
var ClassReference:Class = flash.utils.getDefinitionByName("Hello1");
var instance:Object = new ClassReference();
instance.hello();

これを実行しようとすると以下のようなエラーが出まして
1118: 静的型 Object の値が、関連しない可能性が高い型 Class に暗黙で型変換されています。

エラー内容で検索すると「1行目で参照している内容の型が違う」という事まで分かったのですが
右辺がクラスへの参照(Object型)を取得してそれを左辺のクラスの型に入れている。
つまり「getDefinitionByName」で「Object型」が返されるからおかしいのかな、と左辺をObject型にすると
ページ表示後「HelloWorld は定義されていません。」と出ます。


どこに不具合があるのか、ご教授していただきたいです。
456Now_loading...774KB:2007/06/25(月) 19:49:20 ID:7csJ253k
>>454

型Objectで引数に指定すれば良かったんですねorz
クラスへの理解が浅いと痛感しました、精進して同じミスをしないよう気をつけます。
ありがとうございました。

>>455
に関してはスルーしてください。
457Now_loading...774KB:2007/06/25(月) 21:07:44 ID:USfI+LHm
>>456はAddメソッド外でインスタンス化されたものを、
配列に入れるためだけにAddメソッドに渡したかったの?

>>452を見て「もしかしてこの人Addメソッド内でインスタンス化したいんだろうか」と思ったのは俺だけ?w
無理だな〜とは思うんだけど、雛形を送って関数内でその雛形のインスタンス生成とか出来るのかな
458Now_loading...774KB:2007/06/25(月) 22:26:26 ID:F09wlTg5
ちょっと疑問に思ったんで質問します。
>>452みたいに違うクラスを配列する利点って何?
459446:2007/06/25(月) 22:49:39 ID:+ZlNFQx3
>>448 maskMの深度

Thx。解決しました。
460Now_loading...774KB:2007/06/26(火) 01:10:36 ID:MISYH7mq
>>456です
>>457
別のクラスにprivate配列で管理させたかったので
そうすると一度関数経由しないといけなかなと思って上記のような試行をしました。
「こうすればいいじゃない」って案もあると思いますが思いついたのがそれくらいだったんで。

>>458
ステータスや関数内の処理に微差があるクラスをまとめてどこかで管理したい場合に使うと
便利なのかもしれないと個人的には思ってます。
461Now_loading...774KB:2007/06/26(火) 01:35:55 ID:iQDHm4fm
>>451です
>>454
xmlテキスト参照といいますか、最終目的がレスポンスヘッダの
参照なものでFlex2だと、どうしてもSocketを使わなければいけないようでして…
462458:2007/06/26(火) 02:15:36 ID:MW9oGL14
>>460
同じクラスをいれるならまだわかるんだけど、違うクラスいれたら
インデックス0がClass1で、
インデックス1がClass2で、
って使うときにわかりにくくならない?
クラスのprivateで配列使ってプロパティとしてちゃんとした名前つけるならまだわかるけど。
463Now_loading...774KB:2007/06/26(火) 06:57:51 ID:AihwOrLi
こんな感じのがいいんじゃない。動かしてないから動くか知らんけど
コード省略しまくってるから注意

class ObjAry{

 public var ary = new Object();

 public function Add( name:String , obj:Object ){
  ary[name] = obj;
 }
}

入れるとき「ObjAryインスタンス.Add( "人" , 入れたいobject )」
取り出すとき「ObjAryインスタンス.ary["人"].取り出したいオブジェクトのプロパティなど」

ASのArrayやObjectってArrayListの機能も兼ねてるんだな。ちょっとスゴイとオモタ
464Now_loading...774KB:2007/06/26(火) 08:20:06 ID:MISYH7mq
>>462
イメージとしてはシューティングゲームの弾です。
普通に進む弾、加速する弾、円を描き進む弾等。

どれもMoveって関数を持っているとしてforでを回して全部のMoveを実行。
それぞれを別の配列に入れていたら弾の種類だけforで回さないといけないかなと。
添え字0が○○添え字1が▲▲という認識は不要なロジックになってます。

まずいもう時間が・・・
>>463の内容は帰宅後に見させてもらいます
465Now_loading...774KB:2007/06/26(火) 15:00:18 ID:aEL5wDL1
Adobe Flex2 リファレンスガイドを見ていて疑問に思ったのですが
flash.xmlパッケージとmx.binding.utilsパッケージみたいに
頭にflashが付くパッケージとmxが付くパッケージは何か違いがあるのですか?

466Now_loading...774KB:2007/06/26(火) 15:13:05 ID:3mQ4Omb7
>>465
え?ちゃんと調べれば自分で解決できるでしょ?
まずは調べて覚えようという気構えからがんばろう^^
467Now_loading...774KB:2007/06/26(火) 15:15:48 ID:MSsITWWz
>>466
解らないなら答えなくていいよ
468Now_loading...774KB:2007/06/26(火) 15:25:12 ID:wnpRrWcX
明確な答えだけが答えじゃないだろ
469Now_loading...774KB:2007/06/26(火) 18:33:46 ID:qYPsN41j
使用環境: FLASH8Pro WinXPPro

TextAreaやTextFieldはHTMLが使え、リファレンスを見るとimg要素のid属性を使ってコントロールできるとあります。
ttp://livedocs.adobe.com/flash/8_jp/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001472.html
自分もやってみたいのですが、AS2での使い方が見つかりません。AS3ではインスタンスを取得する関数がありました。
ttp://livedocs.adobe.com/flex/201_jp/html/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Book_Parts&file=05B_Security_176_07.html
AS2でコレをやった人はいますか?
470Now_loading...774KB:2007/06/26(火) 21:14:18 ID:Ce7XXWnx
_root.createTextField ("インスタンス名", 深度, x, y, 幅, 高さ);
インスタンス名.variable = "変数";
インスタンス名.html = true;
インスタンス名d.multiline = true;
インスタンス名.wordWrap = true;
変数 = "<img src='参照画像' width='画像幅' height='画像高さ' align='配置指定 left or right' hspace='左右マージン' vspace='上下マージン'>";
471Now_loading...774KB:2007/06/26(火) 23:48:26 ID:OmKs/len
>>463
>ArrayListの機能も兼ねてる
[ ] って配列アクセス演算子だから
ary["人"] は ary.人 と同じになると思う。

>>464
なるほどそういう使い方か。勉強になりました。thx
472Now_loading...774KB:2007/06/27(水) 03:01:57 ID:clNkXASC
PC上にあるSWFからWEB上にあるFLVを再生する事ってできます?
473Now_loading...774KB:2007/06/27(水) 03:20:45 ID:Vq7YLw+D
>>472
試してないけど、Http://www〜*.flv って指定すれば出来ると思うよ。
474Now_loading...774KB:2007/06/27(水) 16:29:40 ID:37kLr3JG
>>469です。

>>470
ありがとうございます。variableプロパティ、勉強になりました。
実はimg要素をコントロールしたいと思ったのは、それで呼び出すswfへFlashVarsみたいに引数を渡したかったからです。
最初、<img src="hoge.swf?arg=AAA">とやってみたのですが、_root.argはundefinedでした。
それでid属性を使いたい、となった次第ですが、勘違いさせてしまったようですみませんでした。
今は_lockrootプロパティも関係するのかなと思い、いろいろ試している最中です。

>>472>>473
呼び出し元と同じドメインにあれば大丈夫なはずです。
別ドメインの場合は、ポリシーファイルを置くとかCGI等を噛ませたりすることになるでしょうか。
ttp://livedocs.adobe.com/flash/8_jp/main/00001602.html
475Now_loading...774KB:2007/06/27(水) 19:00:08 ID:4yT64C8w
>>451
>>461
もう解決した?何が問題だったのかすごく興味あるんだけど。
476別スレ487:2007/06/27(水) 20:14:12 ID:PJ3dHIKY
Flash製作初心者の質問スレッド レイヤー36
http://pc11.2ch.net/test/read.cgi/swf/1173006099/l50
からこちらに誘導されました。よろしくお願いします。
 自分ひとりではどうしても躓いてしまったので、ご助言いただければ幸いです。

【やりたい事】キーボードでキャラクターのMCを操作させたいです
【 質問内容 】
 「kyara」という名前のMCを
 1フレーム目:前を向いて待機するアニメのMC
 2フレーム目:左を向いて移動するアニメのMC
 3フレーム目:右を向いて移動するアニメのMC
 4フレーム目:左に攻撃するアニメのMC
 5フレーム目:右に攻撃するアニメのMC
という構造にして
 ステージに配置した「kyara」MCに Key.isDown と Key.getCode を使って
スクリプトを記述し、キャラクターをキーボードで操作できるように製作中です。

 移動操作については、キーを押しっぱなしの間アニメが再生されて移動するという処理で
Key.isDown を使って問題なく動作しました。
 攻撃動作は、一度キーを押す事で、攻撃するアニメを一度再生して戻るという処理を
させたいと思い、 Key.getCode を使ったのですが、 Key.isDown と同じ動きを
してしまいます = 押しっぱなしにしていないと、アニメを再生してくれません。
 キーを一度押せば攻撃するアニメを最後まで再生してくれるようにしたいのです。
 現在MC「kyara」に記述しているスクリプトは以下です。

//Zキーを押した時、MC「kyara」の5フレーム目を再生する。
onClipEvent(keyDown) {
     if(Key.getCode() == 90) {
          this.gotoAndStop("5");
     }
}
【 使用環境 】WinXP / FLASH MX
477Now_loading...774KB:2007/06/27(水) 23:21:35 ID:7zxVPGd2
>>476
Zキーを一回押したらthis.gotoAndStop("5");で5フレームに行く。
5フレーム目に攻撃MCがあるんだから押しっぱなしにしてなくても再生されると思うけど。
onClipEvent (keyUp) { } に何か書いてんじゃない?
478Now_loading...774KB:2007/06/27(水) 23:46:15 ID:sS+XUVbi
5フレーム目とは数字の5であってラベル名の"5"ではないぞ
479Now_loading...774KB:2007/06/27(水) 23:51:20 ID:gYRKnJM7
getLocalの仕組みと動作は正常に行われたのですがgetRemoteが上手くいきません。
部分部分はしょりますが下記のような感じにすると…

【getRemote初期設定】
var myNC:NetConnection = new NetConnection();
myNC.connect("rtmp://[yourDomain].com/applicationName");
var myRemoteSO:SharedObject = SharedObject.getRemote("mo", myNC.uri, true);
myRemoteSO.connect(myNC);

【書き込み】
myRemoteSO.data.text = textField.text;
【読み込み】
textField.text = myRemoteSo.data.text;

リロードすると読み込みのデータが消えてしまうのですが、getRemoteで保存したものは
実際どこに保存されるのでしょうか?getLocalはパスで示されているのですが分かりません。
480別スレ487:2007/06/28(木) 00:47:57 ID:TR+wJ7ef
477さん>
 そうか・・・ごめんなさい・・・orz
 左右キーを押して移動した後、前向き待機に戻す為に keyUp を設定していたのでした
 そうですよね・・気付かなかった自分があほすぎ;;
 移動MCの最後に待機MCを設定するという手もあったのでしょうが、結局変数を設定して
keyUp + 変数の数値条件 で前向き待機に戻す、という設定で問題なく動作しました。

 MCの再生に問題があるのだとばかり思っていて、申し訳ありませんでした。
 ありがとうございます!
 続き頑張ります
481Now_loading...774KB:2007/06/28(木) 19:41:10 ID:IoGILimR
【 使用環境 】WinXP / FLASH 8

現在表示されているFlashの画面をFlashボタンを押すと、その場面が画像として書き出す
という事は可能ですか?

ご教授お願いいたします。


482Now_loading...774KB:2007/06/28(木) 22:48:50 ID:FTzyufjd
>>481
cgi使えば可能
483Now_loading...774KB:2007/06/28(木) 23:58:40 ID:ny50y0om
>>482
cgiということはPerlやPHPを使用してということですよね??

もし詳しい方法をご存知でしたら、教えていただきたいです。
484Now_loading...774KB:2007/06/29(金) 00:12:08 ID:b2CNug9G
BitmapDataを使ってビットマップ化しエンコーダーかましてCGIへデータ送信
485Now_loading...774KB:2007/06/29(金) 00:19:09 ID:nGSkdx6q
環境)OS:WinXP-Pro,Mem=1GB,ソフト:Flash8-Pro(Player7)

Webへのリンクについて質問です。

スタンドアローンのSWFを実行している状態で(つまり、ブラウザ内にSWF
表示をしていない状態)、あるボタンを押してブラウザを起動させ、指定した
URLのHPを開かせるにはどうしら良いでしょうか?

例えば、ボタン → 押す → YahooのHPを開く  という感じです。
486Now_loading...774KB:2007/06/29(金) 00:25:42 ID:lVsH9ar0
>>485
getURL
487Now_loading...774KB:2007/06/29(金) 00:26:46 ID:b2CNug9G
on (press){
getURL("URL", "_blank");
}
488485:2007/06/29(金) 00:42:41 ID:nGSkdx6q
>>486,487
早速のレス有り難うございます。
getURL("http://www.yahoo.co.jp/", "_blank");で開けました。
489Now_loading...774KB:2007/06/29(金) 07:52:37 ID:sSkuVolY
すみません何て言ったらいいか分からないのですが
test_0_0みたいな変数があって0の部分を動的に変化させて式に使う事って出来ますか?
例えばこんな感じです

test_0_0 = 0;
test_1_5 = "abc";

x = 1;
y = 5;
aaa = "test_" +x+ "_" +y;
trace(aaa) //abcを得たいのにエラーか"test_1_5"の文字列になってしまう
490Now_loading...774KB:2007/06/29(金) 07:57:37 ID:bPkvZqf8
>>489
aaa = this["test_"+x+"_"+y];
491Now_loading...774KB:2007/06/29(金) 07:58:58 ID:sSkuVolY
>>490
おお、即レス感謝します
さっそくやってみます!
492Now_loading...774KB:2007/06/29(金) 08:06:00 ID:/L6Lt/R2
aaa = test[ x ][ y ];
じゃだめ?
493Now_loading...774KB:2007/06/29(金) 08:07:13 ID:bPkvZqf8
>>492
普通はそうする。
494Now_loading...774KB:2007/06/29(金) 10:05:03 ID:XvKtHesW
http://www.mediacreator.jp/tutorials/show_tutorial.asp?id=36&pn=2
↑サイトを参考にしてloadingバーをつけたのですが、
上記サイトではloding画面の後、画像を読み込むようになってますが、これを外部swfを
読み込むようにするには、どう記述すればいいのでしょうか?
495Now_loading...774KB:2007/06/29(金) 11:03:04 ID:b2CNug9G
ローディング後のフレームにでもloadMovieで外部swf指定
496Now_loading...774KB:2007/06/29(金) 12:48:27 ID:XvKtHesW
>>495
ありがごうございます
loading後に読み込むフレームに loadMovie("***.swf",this.stage):
とかいて、loading用swfと***.swfを同じディレクトリに置いてみたん
ですけど、上手くいきません。なにか記述が足らないですか?
497Now_loading...774KB:2007/06/29(金) 13:09:04 ID:SBDpIvw0
onClipEvent(load) {
loadMovie( "***.swf", this );
}

みたいな感じ
498Now_loading...774KB:2007/06/29(金) 19:05:04 ID:Ax9IOFBW
いまflvを再生しており
最後まで再生がいき終了すると、
flvをアンロードしたのですが、可能なのでしょうか?
pauseやclear等で指定してもアンロードされません。
ストップするだけです。そもそもそのような関数は
存在するのでしょうか?

宜しくお願いします。

○ソース
stream_ns.onStatus = function(infoObject) {
if (infoObject.code == "NetStream.Play.Start") {
trace("再生開始");
} else if (infoObject.code == "NetStream.Play.Stop") {
stream_ns.pause();
stream_ns.seek(0);

}
};
499Now_loading...774KB:2007/06/29(金) 22:39:16 ID:ceER6LyD
deleteでオブジェクト消すのじゃだめなの
500Now_loading...774KB:2007/06/29(金) 22:45:17 ID:Ax9IOFBW
deleteですか?

stream_ns.delete();
こんなかんじですか?

よろしくおねがいします。
501Now_loading...774KB:2007/06/29(金) 23:04:46 ID:ceER6LyD
delete stream_ns;

オブジェクトごと消えるけどね
502Now_loading...774KB:2007/06/30(土) 07:51:39 ID:/PJ+tED3
マウスカーソルの代わりにMCを使うのですが
MCが遅れてついてきます
ピッタリ同じ位置にすることは出来るでしょうか?

this.attachMovie("cursor","myCursor",999);
var myMouse:Object = new Object();
myMouse.onMouseMove = function() {
myCursor._x = _xmouse;
myCursor._y = _ymouse;
};
updateAfterEvent();
Mouse.addListener(myMouse);

新規ファイルでMCは一枚絵です
よろしくお願いします
503Now_loading...774KB:2007/06/30(土) 07:56:46 ID:0yQHL1O6
>>502
updateAfterEvent();
をonMouseMove = function...の中に移動
504Now_loading...774KB:2007/06/30(土) 08:19:52 ID:/PJ+tED3
>503
実際には中です、書き込むときに間違いです
しつれいしました
505Now_loading...774KB:2007/06/30(土) 11:50:15 ID:YhrZ4LJ+
>>502
FPSが遅いとどうしても遅れてついてくるような感じになる。

Mouse.hide()でマウスを消して「遅れてる違和感を消す」か
FPSを30〜60くらいにして「遅れてると感じさせない速度で描画する」
これくらいしか対策は思いつかない。
506502:2007/06/30(土) 12:40:45 ID:/PJ+tED3
FPS60ですが気になっちゃいます
Flashの性能なんですね、他の表現で工夫してみます
ありがとうございました
507Now_loading...774KB:2007/06/30(土) 12:45:25 ID:kdd2+mPb
>>506
そもそも高負荷Flashってことはない?
マシン側の描画処理が間に合わなければ、いくらfpsを高くしてもそのfpsは出ないよ
508Now_loading...774KB:2007/06/30(土) 14:25:39 ID:l516kTzK
ActionScriptでフレームレートを変更する事や
フレームレートの値を取得することは出来るのでしょうか?
509Now_loading...774KB:2007/06/30(土) 16:55:21 ID:YhrZ4LJ+
>>508
できない。

処理速度の調整は
onEnterFrame = function(){
if(Count % Interval == 0){
MainScript();
}
Count++;
}
みたいにして処理を実行する間隔を調整する。
510Now_loading...774KB:2007/06/30(土) 18:28:17 ID:vYG+ZwwO
http://hakuhin.hp.infoseek.co.jp/main/as/disposition.html

上記のサイトで勉強してるのですが
var data = [ 0, 1, 2, 3];
var map = [ 1, 0xa, "a", "あいうえお"];
というスクリプトが紹介されていて、mapをデバッカすると
0xaの所が10と表示され、0xbにすると11と表示されます。
こうなる理由がよくわかりません。理由がわかる方ご教授宜しくお願いします。

511Now_loading...774KB:2007/06/30(土) 18:40:37 ID:Fc2ZAEsb
16進数じゃないかな。くわしくはぐぐって。
a=10 b=11 … f=15
512Now_loading...774KB:2007/06/30(土) 18:45:30 ID:ds36XqE6
こんにちは。
紹介する副業は最近のトップサイドビジネスばかりです。お見逃しなく。
サイドビジネスは仕事に活かせます。どうすれば儲かるかを考えさせてくれます。
まじめに副業をやって適正な副収入を得てみませんか?もし、ご迷惑なら破棄して下さい。
http://motor.geocities.yahoo.co.jp/gl/alfa4123
513Now_loading...774KB:2007/06/30(土) 19:19:26 ID:dNXJ1gFs
514Now_loading...774KB:2007/06/30(土) 21:31:25 ID:H2tbjY2W
>>508
setIntervalで擬似的に出来ない事もないけどおすすめしない
515Now_loading...774KB:2007/06/30(土) 22:01:39 ID:vYG+ZwwO
>511さん

回答有難うございます。

>513さん

すいません。マルチです。申し訳ありません。
516Now_loading...774KB:2007/07/01(日) 01:47:18 ID:AWgW8Q6A
他スレからきました。 初心者なんですが、よろしくお願いいたします。

【やりたい事】  コンポーネントのチェックボックスを使った適正診断の作成。
質問内容にA/B/C/Dが3つずつあって、Aの選択が一番多ければAの結果ページに飛ぶ。

【 質問内容 】  とりあえず、色々考えてみて、 決定ボタンに以下のスクリプトを書いてみました。

on (release) { chkCount = 0;
  for (i=1; i<=2; i++) { cname = "a"+i;
if (this[cname].selected == true) {
chkCount++;  }
}
  chkCount = 0;
  for (i=1; i<=2; i++) { cname = "b"+i;
if (this[cname].selected == true) { chkCount++; }
}
//--というようにCとD用に同じものが2つ続く

trace(chkCount);
if (cntA>cntB && cntA > cntC ){ gotoAndStop(2);
}
if (cntB>cntC && cntB > cntA ){ gotoAndStop(3);
}
if (cntC>cntA && cntC > cntB ){ gotoAndStop(4); }
}

【 使用環境 】 FLASH 8  OS:Windows XP 使用です。

ややこしい質問で申し訳ありませんが、ヒントだけでもよいのでお答えいただけると助かります。
お願いします。
517Now_loading...774KB:2007/07/01(日) 10:19:03 ID:ohn8f+ab
>>516
ボタンを押すたびにchkCountを0にしている。
3つずつあるのに2回しかループしてない。
cntAとかを加算しているところが無い。
何が出来なくて質問したのかわからない。
518Now_loading...774KB:2007/07/01(日) 11:06:42 ID:RhUN3vcx
下記サンプルはシェイプモーションで作ったフェイクですが、
このような縦軸回転の動きをASでさせるにはどう記述すればよいでしょうか。

http://swfup.info/view.php/7224.swf
519Now_loading...774KB:2007/07/01(日) 14:15:09 ID:X2SKje+9
>>518
_xscaleを-100から100で変化させる
520Now_loading...774KB:2007/07/01(日) 15:06:15 ID:RhUN3vcx
>>519
それだけだとサンプルのような台形型には変形しないんですよ
擬似的に奥行きを出したいのでサンプルのようにMCを変形させたいのです。。
521Now_loading...774KB:2007/07/01(日) 15:15:19 ID:X2SKje+9
>>520
となると、簡単な描画メソッドをつかってやるとかかな
522Now_loading...774KB:2007/07/01(日) 19:38:01 ID:twmoUIve
>>518
レベル的には簡単だから一回組んでみたら?
組んでからテンプレ見て質問しなおしってところかな
523Now_loading...774KB:2007/07/01(日) 20:06:56 ID:n7lfUO/O
簡単、か
MCの台形変形はできないと思ったけど
DisplacementMap使うか二つに分けてうまくやらなきゃ
524Now_loading...774KB:2007/07/01(日) 21:15:05 ID:f5eRVulD
トゥーインで作るなら簡単なんじゃない
スクリプト化してクラスにしようとかなら正直俺としてはしんどい
525Now_loading...774KB:2007/07/02(月) 00:22:26 ID:BkXydcjO
再利用性に乏しいが、こんな感じ?
ttp://alt.chu.in/sample/daikei.zip
526518:2007/07/02(月) 07:02:51 ID:wLxK/e3A
皆さんご意見ありがとうございました。
描画メソッドは対象MCの仕様上回避したかったのですが、結局妙案浮かばずMCをビットマップ化してテクスチャとして台形化変形させました
ですがラスタ化する分どうしても荒くなりますね。。
527Now_loading...774KB:2007/07/02(月) 22:38:41 ID:+t6MmRmJ
300個くらいあるmcシンボルにstop();書いていかなきゃいけないんですが
まとめて一括で書く方法はないでしょうか・・・
528Now_loading...774KB:2007/07/02(月) 22:48:57 ID:f7KNrbJm
>>527
for (i=0; i<300; i++) {
MC[i].stop();
}
529516:2007/07/03(火) 00:49:27 ID:/mtqLINR
>>517
迅速なアドバイスありがとうございました。
自分でも何ができてないのか、どこがおかしいところなのかがいまいちわかりません。


書き換えてみたのですが下記でもうまくいきません。 おかしいところがあればご指摘ねがいます。

on (release) {
//--Aチェックを数える
for (i=1; i<=4; i++) { cname = "A"+i;
if (this[cname].selected == true) { chkA++; }
}

//--A結果を表示する
trace(A);
if (cntA>cntB && cntA>cntC && cntA>cntD) { gotoAndStop(2); }

//--Bチェックを数える
for (i=1; i<=4; i++) { cname = "B"+i;
if (this[cname].selected == true) { chkB++; }
}
//--B結果を表示する
trace(B);
if (cntB>cntA && cntB>cntC && cntB>cntD) { gotoAndStop(3); }
}


書き込み制御の関係でAとBのパターンのみです。

530Now_loading...774KB:2007/07/03(火) 01:25:19 ID:l6KNQPYV
シューティングのFLASHゲー作ってるけどライフポイントの設定がワカラン
531Now_loading...774KB:2007/07/03(火) 01:36:16 ID:g4ntTNdZ
テキストフィールドの文字をニコニコ動画のコメントみたいに縁取りさせるにはどうしたらよいのでしょうか?
Flash8つかってます。
532Now_loading...774KB:2007/07/03(火) 02:57:09 ID:rV7kaXzK
>>528
心からありがとう
朝までに帰れそうです
533Now_loading...774KB:2007/07/03(火) 03:14:51 ID:54ITU4w1
ふと、疑問に思ったのだけれど、
>>527の言うMCのインスタンス名が、もし統一されていない別々のものだったとしたら
どうすればいいの?

・インスタンス名をひとつひとつ手動で統一されたものに変える
・インスタンスをひとつひとつオブジェクト型に突っ込んでいって、for〜inで回す

どちらもあんま変わらないけど・・・何かもっと良い方法ってあったりする?
534Now_loading...774KB:2007/07/03(火) 03:40:10 ID:7/opLYRc
>>529
前と同じ様な回答になるけど、
 Aに値を入れているところが無いのにtrace(A)してる
 chkA++してるけどここでしか使ってない (cntAの間違い?)
 cntAとかを加算しているところが無い。
思ったように動かないならtrace()して値が入ってるか確認する。

>おかしいところがあればご指摘ねがいます。
ASを貼ってそう言うと自分で直す気ないと思われるよ。
○○まではうまく言ってるけど、△△のとこでif文の中に入ってくれないとか、
具体的に質問した方がいい。

>>533
インスタンス名をつけ直したほうがいいと思う。
535Now_loading...774KB:2007/07/03(火) 05:10:16 ID:4gz2fjk7
>>533
stop();と書いてあるMCを継承した300個にする。
出来るかどうかわからんが。
536Now_loading...774KB:2007/07/03(火) 11:12:02 ID:Lr6I7bny
物凄い勢いですいませんが
charAt
substr
indexOf
はjavascriptと全く同じ仕様ですか?
537Now_loading...774KB:2007/07/03(火) 11:29:44 ID:4gz2fjk7
>>536
ヘルプ嫁
538Now_loading...774KB:2007/07/03(火) 18:23:02 ID:DFybzTT1
FLASH8を利用しております。

現在の構成では
■ベースswfファイル
 └▲コンテンツをloadMovieNumで配置
  └●コンテンツ内部に動画をloadMovieNumで配置
という状況です。

この●の部分の動画を削除するとunloadMovieNumで削除すると
映像は消えるのですが、動画の音声だけが再生され続ける状況となっています。

これを音声も消えるようにしたいのですが、良い方法はありませんでしょうか?
539Now_loading...774KB:2007/07/03(火) 18:53:42 ID:YvO5VVWJ
MXをWin2000で使っています。初心者です。

学校の課題でローディングムービーを作っているのですが、
1.読み込みが25%のときフレーム1を表示、以下50%→2、75%→3と続く
2.100%読み込みが終わったら、4フレーム目以降を再生
※この間、ダイナミックテキストでパーセント表示も出ている

上記のようなものにしたいのですが、
どこにどのASをを置いたらいいか分かりません。
ダイナミックテキストは全フレームに配置してあり、
インスタンス名をloadingとしています。

if文を使うらしい、というのは理解したんですが
□%に達したらフレームxxに移動せよ、というのをスクリプトで
どう描けばいいのかが分からず、つまずいています。
大変抽象的な質問内容で申し訳ないのですが、ご教授お願いいたします。

540Now_loading...774KB:2007/07/03(火) 19:57:22 ID:4gz2fjk7
>>538
loadMovieNumってAS1.0の頃のだぞ
>>539
制御構造がわかるなら「flash ローダー」でググればサンプル出てくる
541Now_loading...774KB:2007/07/04(水) 10:54:09 ID:vtznbWGB
myArray=[1,2,4,20,100,150];→myArray=[1,2,4,20,150];//100を削った
のようにn番目の1要素だけ削るにはどうすればいいのでしょう?
よろしくお願いします
542Now_loading...774KB:2007/07/04(水) 11:08:51 ID:IgO+P1C3
>>541
「ActionScript 配列」でググると、一件目に配列操作一覧載ってるから見ると良いよ。
一応言っておくと、splice()
543Now_loading...774KB:2007/07/04(水) 11:10:25 ID:tkqzdBO8
>>541
spliceメソッドで削ればいいよ
myArray.splice(4,1) //4番目の要素だけ削除
544541:2007/07/04(水) 12:07:57 ID:vtznbWGB
>542、543
ありがとう、出来ました
545539:2007/07/04(水) 18:47:19 ID:WPN/bhwD
ググった結果、サンプルはたくさん出てきたのですが
どれも表記が違って、どれを使えばいいのか分からないのです。

1.ダイナミックテキストに現在読み込み済みのパーセンテージが
  吐き出されていません
2.パーセンテージごとにフレームを移動させるASの書き方が分かりません

全くのド素人です、すみません…
546Now_loading...774KB:2007/07/04(水) 20:51:37 ID:J8WB78uz
>>545
まず、ローディングの仕組みを理解した方がいいよ。

_root.stop();
total = _root.getBytesTotal();
_root.onEnterFrame = function() {
    loaded = _root.getBytesLoaded();
    if (loaded>=total) {
        trace("読み込み完了");
        delete _root.onEnterFrame;
    }
    trace(loaded/total*100);
};
547Now_loading...774KB:2007/07/05(木) 01:14:56 ID:K/sKgOp5
>>545

scriptレイヤー
 1,2,3フレームぶっこ抜き script用
表示用フレーム
 1,2,3フレームがそれぞれキーフレーム
を作る。

scriptレイヤーで

_root.onEnterFrame = function() {
  var total = _root.getBytesTotal();
  var loaded = _root.getBytesLoaded();
  var loadedPercent = Math.round(loaded / total * 100);
  switch (true) {
    case loadedPercent >= 50: _root.gotoAndStop(2); break;
    case loadedPercent >= 75: _root.gotoAndStop(3); break;
  }
  // ダイナミックテキストでパーセント表示
  _root.percentText.text = loadedPercent;
  if (loadedPercent >= 100) _root.onEnterFrame = null;
}

なかんじかね?
switch は if(){} else if () {} else if() {} else {}
にでも置き換えて

動かしてないからどっか間違えてるかもしれんけど。
548Now_loading...774KB:2007/07/05(木) 04:30:59 ID:Sw8TKEw4
質問させてください。AS3.0です。

既に表示したスプライトの見た目を変更するにはどうしたらいいんでしょうか。
単純に下記のようにやってもダメなのは分かるんですけど・・・

package {
import flash.display.*;

//絵やアニメーションを表示する
public class EmbedEx extends Sprite {
//リソース
[Embed(source='0.swf')]
private var Anime0:Class;
[Embed(source='1.swf')]
private var Anime1:Class;


//コンストラクタ
public function EmbedEx() {
//アニメーションの表示
var anime0:Sprite=new Anime0();
anime0.x=120;
anime0.y=120;
addChild(anime0);

//アニメーションの変更
anime0 = new Anime1();
}
}
}
549Now_loading...774KB:2007/07/05(木) 05:55:40 ID:1iUFfixh
mp3のループ再生を途切れなく行うアプローチって何かな
550Now_loading...774KB:2007/07/05(木) 07:36:37 ID:IRHIJS4l
>>548
見た目変更って、何をどう変更をしたいのかわからん
Spriteはコンテナ(入れ物みたいな感じ)なので、そこにMCなりBitmapなりの
表示オブジェクトをaddChildすれば表示されるしremoveChildすれば消える
551Now_loading...774KB:2007/07/05(木) 07:37:50 ID:IRHIJS4l
>>549
とぎれていないmp3を再生回数999とか
552Now_loading...774KB:2007/07/05(木) 07:40:29 ID:fFIQYhwF
>>549
最後まで行ったら1に戻るMCに音楽入れて
レイヤーに置いとけばいいんじゃないの?
553Now_loading...774KB:2007/07/05(木) 09:27:40 ID:Pjte+JDl
質問です。WinXPのAS3.0です。swfからjsの呼び出しを行いたいのですが、
以下のコードでうまく動作しません。どうすればいいでしょうか?

package {

import flash.display.*;
import flash.text.*;
import flash.external.*;

public class JavaScriptCallTest extends Sprite {

public function JavaScriptCallTest() {
var textHoge:String = ExternalInterface.call("function() { return 'test' }").toString();
var textField:TextField = new TextField();
textField.text = textHoge;
addChild(textField);
}
}
}
554Now_loading...774KB:2007/07/05(木) 09:43:35 ID:IRHIJS4l
>>553
うまく動作しないの判断はどうやってるの?
どういうふうに動作するのを目的としてるのかをまず書く。
555Now_loading...774KB:2007/07/05(木) 10:16:06 ID:Sw8TKEw4
>>550

removeChild(anime0);
anime0 = new Anime1();
addChild(anime0);
で無事変更できました。ありがとうございます。

もうひとつ質問させてください。AC3.0

<test> string </test>

というXMLを得て、

trace( "["+xml..test[0].text()+"]" );

としたとき、

[ string ]という表示を期待してるのに
[string]と表示されてしまいます。
タグに隣接する空白は削除される仕様なのでしょうか。
556553:2007/07/05(木) 10:30:28 ID:Pjte+JDl
>554
すいません。大切なところを書きおとしていました。
これをコンパイルしたswfファイルをhtmlで読みこみブラウザで表示していたのですが、
うまくjsコードのcallができていないようなのです。

ExternalInterface.call("function() { return 'test' }").toString()
の部分を、"test"などと決め打ちで入れればtestと表示されるのですが、
上記のように、jsコードをExternalInterfaceで呼び出し値を表示しようとすると、
文字列がなにも表示されません。

それでなにか必要なコードがあるのかなと質問させてもらった次第です。

557Now_loading...774KB:2007/07/05(木) 10:34:49 ID:o5CNR3ze
>>555
XMLの仕様
空白とか入れたいなら、データ部を![CDATA使え
558Now_loading...774KB:2007/07/05(木) 14:15:49 ID:ZlnIjKsX
CryptString = CryptString.substr(-CryptString.length +1);

これってなんか意味あるんですか?
559553:2007/07/05(木) 23:19:40 ID:Eh8yRqfD
質問させてもらった件、自己解決しましたので報告させてもらいます。
どうやらローカルでずっとテストをしていたのが原因でした。
ExternalInterfaceでcallするにはwebサーバーで実行する必要があるんですね--;
おさがわせしました。

参考サイト
http://www.fladdict.net/blog-jp/archives/2005/10/post_141.php
560Now_loading...774KB:2007/07/06(金) 01:35:04 ID:heXI57Cd
gotoAndPlay(_currentframe - 1);とするとやたらとCPUを食うんですがどうしたらいいんですか?
ベクターのアニメーションなんですけど、
フレーム数が小さいところ(数十フレーム)ではあまりCPUを食わず、
フレーム数が大きいところ(数千フレーム)ではやたら食う感じなんですが。
561Now_loading...774KB:2007/07/06(金) 02:07:14 ID:AktKcu3W
>>560
逆再生をやりたいの?逆再生だったら
this.onEnterFrame = function(){
this.prevFrame() ;
} ;
停止したいフレームに
delete this.onEnterFrame ;
で十分じゃないかな。
やりたい事が逆再生なのかは分からないけど、仮に逆再生だったとしたら
その処理じゃ特定フレームにハマり込むんじゃないかなぁ。
562Now_loading...774KB:2007/07/06(金) 02:27:59 ID:heXI57Cd
いや、自分が知りたいのはあくまで処理速度の点なんだ。
自分はアクションゲームを作っていて、
例えばジャンプして落下しているときに服がなびいているモーションがあるとき、
地面に到達するまでその部分のモーションをgotoAndPlay(_currentframe - 6);
などとしてループ再生しているんだが、それがフレーム数が大きい場所ではCPU負荷が多くなるってことだ。
ちょっと調べたら、gotoAndPlay()で前のフレームに戻るとき、1フレーム目からたどっているらしいから、
負荷がかかるみたいなんだが、どうにかできないんだろうか。
563Now_loading...774KB:2007/07/06(金) 02:31:33 ID:2DmBFnbk
落ちてる描写の6コマループのMCをキャラに当てればいいだけでは
564Now_loading...774KB:2007/07/06(金) 02:37:19 ID:heXI57Cd
その時ポーズかけた場合どうやってそのループモーションのMCを止めたりすればいいの?
全部のループモーションのMCにインスタンス名をつけてそれを一個一個制御するしかないの?
565Now_loading...774KB:2007/07/06(金) 02:57:27 ID:FLiAE7wC
>>564
for...in使えばできる。
でもゲームなら設計の仕方でよりスマートにできるんじゃないかな。
そもそもgotoAndPlay(_currentframe - 1)そのものがCPUを食ってるのではなく
フレーム遷移の度に無駄な再描画をさせられているからだと推測。
無駄な描画更新を求める設計をやめるとか、ベクターの描画は負荷かかりやすいから、
ビットマップキャッシュかビットマップ画像に切り替えるとかで改善されるかもよ。
566Now_loading...774KB:2007/07/06(金) 03:13:22 ID:heXI57Cd
キャッシュなり何なりいろいろやったんですけど、
フレーム数が小さいときはgotoAndPlay(_currentframe - 1)でも全然処理を食わないのに、
数千とか行っているときでは同じベクターでもすごく重くなるってとこなんですよ。
まあそんなにフレーム数が多くなるような設計をしているのがおかしいんでしょうけどね。
567Now_loading...774KB:2007/07/06(金) 04:19:15 ID:zbYrCekU
ループ再生したい部分だけ部品化して、フレーム軍をレイヤー1に配置
レイヤー2にフレーム全体にまたがりstopと現在地記憶と再生を行うメソッド加えれば良いじゃん
568Now_loading...774KB:2007/07/06(金) 09:52:40 ID:GOO0yJvN
>>564
各MCが ポーズ中かどうかのグローバル変数 を常に監視して
止まるか動くかを判断する方が楽だと思う。
569Now_loading...774KB:2007/07/06(金) 12:10:34 ID:9gRYtrnF
描画メソッドで描いたものに名前付けるにはどうすれば良いでしょうか
570Now_loading...774KB:2007/07/06(金) 12:24:08 ID:PKqMeWKq
>>569
MCに名前付けてそのMCで描画でいんじゃない
画像として保存したいならパブリッシュでjpgとかpngとか
571Now_loading...774KB:2007/07/06(金) 12:35:21 ID:9gRYtrnF
>>570
無事できました。
ありがとうございます
572539:2007/07/06(金) 18:43:34 ID:51FuKU+l
>>539ですが、やっぱり上手くいきません…
1フレーム目のMC(引数→「unm」)に、
onClipEvent (load) {
_root.stop();}
onClipEvent (enterFrame) {
_root.num = Math.floor(_root.getBytesLoaded()/_root.getBytesTotal()*100);
if (100 == Math.floor(_root.getBytesLoaded()/_root.getBytesTotal()*100)) {
_root.gotoAndPlay(5);
} else if (99 >= Math.floor(_root.getBytesLoaded()/_root.getBytesTotal()*100)) {
_root.gotoAndPlay(4);
} else if (75 >= Math.floor(_root.getBytesLoaded()/_root.getBytesTotal()*100)) {
_root.gotoAndPlay(3);
} else if (50 >= Math.floor(_root.getBytesLoaded()/_root.getBytesTotal()*100)) {
_root.gotoAndPlay(2);
} else if (25 >= Math.floor(_root.getBytesLoaded()/_root.getBytesTotal()*100)) {
_root.gotoAndPlay(1);}
}
と書いています。
パブリッシュすると、ロード数ごとのフレーム表示は上手く順番どおりになってるんですが
ダイナミックテキストには何も吐き出されずそのまま、ロード完了時に表示させているフレームに飛びます。
「_root.num = Math.floor(_root.getBytesLoaded()/_root.getBytesTotal()*100);
」の
表記あるいは入れる場所が間違っているのでしょうか…
573539=572:2007/07/06(金) 18:48:55 ID:51FuKU+l
訂正:
ASを書いているMCと、ダイナミックテキスト(引数”num”)は別のものです。

いま、↑の状態で全く何の数字も吐き出されなかったダイナミックテキストを
ASを書いたMCとグループ化したら「0」という数字は出たんですが
ゼロから動きません・・・
574539=572:2007/07/06(金) 19:09:02 ID:51FuKU+l
連投すみません。
>>572
「_root.num = Math.floor(_root.getBytesLoaded()/_root.getBytesTotal()*100); 」
の部分を以下のように書き換えましたが、変わりません。

this.TotalData=_parent.getBytesTotal();
this.LoadedData=_parent.getBytesLoaded();
this.Parcent=Math.floor((this.LoadedData/this.TotalData)*100);

_parent.num=this.Parcent;

スクリプトって難しいですね…完成が果てしなく遠く感じます。
575Now_loading...774KB:2007/07/06(金) 19:13:47 ID:PKqMeWKq
>>574
自分でいろいろと実験していくのは良いけど、それをここに書いても困る。
みんなそうやって出来るようになっていくわけだから。
576Now_loading...774KB:2007/07/07(土) 01:00:24 ID:S8+RVnuS
>>572
引数って言ってるのはもしかして、インスタンス名?
ダイナミックテキストにつけたインスタンス名がnumなら
_root.num.text = って書く。
とりあえずパスがあってるか trace( _root.num ) で確認する。
577Now_loading...774KB:2007/07/07(土) 03:33:56 ID:xbM16OVO
質問です。

swfに、外部jpgと外部テキストを読み込ませているのですが
swf自身が配置されるページ(html)ごとに
読み込ませる内容を変える事は可能でしょうか。
swfファイルは1つだけで、複数のページに配置させるイメージです。

flash8、win使用です。
どなたかご教示くださいませんでしょうか。
578Now_loading...774KB:2007/07/07(土) 04:01:17 ID:iNUHYChq
htmlからswfへ変数を渡せばいいんでないかな。

<param name="movie" value="sample.swf?flag=0001">

<embed src="sample.swf?flag=0001" ...>

で、あとはifでも何でも使ってflagの数字ごとに読み込むファイルをかえればおk
579Now_loading...774KB:2007/07/07(土) 05:27:09 ID:ho/6OlNO
>>577
外部テキストも違うのかな
テキストファイルかxmlにjpgのファイル名を書いておいて、
それを読み込んで表示するようにすればいい
580Now_loading...774KB:2007/07/07(土) 05:47:00 ID:xbM16OVO
できました!!
画像の方は、
pic=0001.jpg
みたいな感じにしました。
テキストは、そのままvalueの所に書きました。
物凄く感謝しますです。
eval() とか使ったんですが、そんなのはじめてです。

ちなみに、変数をググって
Flashvarsでもやってみました。

自分で努力してas書いたのはじめてなので
すげー嬉しいです。
578さん、579さんのおかげです。
本当にありがとう!
as勉強の1歩になってたらいいなー。

朝からテンション高くてスンマソン。
581Now_loading...774KB:2007/07/07(土) 18:20:55 ID:CcxLJyal
1234 → "ホヘフヒ"
のように文字コードをnot(~)で反転させたいのですがうまくいきません

文字コード表
http://ash.jp/code/codetbl1.htm

出来なかったやり方
str = ~str.toString();

だれか良い方法ありましたらご伝授よろしくお願いします。
582Now_loading...774KB:2007/07/07(土) 23:47:37 ID:irLzsj+N
ActionScriptは内部コードがUTF-8だからそれは無理だと思う。
なので、
var asciiArray:Array = new Array("", "", "", ... "!", "\"", "#" ...);
って感じで配列作って
以下略。
583Now_loading...774KB:2007/07/08(日) 00:13:59 ID:z8QHBxAt
>>582
なるへそ。
有効な情報サンクス
584Now_loading...774KB:2007/07/08(日) 02:26:23 ID:oDg60V8n

---+---
| |
| MC |
| |
---*---

+が基準点のムービークリップMCがあるとして
+の座標はMC._x,MC._yで取得できますよね
*の座標を取得したいときにはどうすればよいのでしょうか?
585Now_loading...774KB:2007/07/08(日) 02:27:50 ID:oDg60V8n
すいません
上の図は四角を描こうとして失敗してました。
どなたかわかるかた教えてください。
586Now_loading...774KB:2007/07/08(日) 03:08:28 ID:qgvTHFKU
AAが崩れてるからあってるかわからないけど、
MC._y + MC._height とか?
587Now_loading...774KB:2007/07/08(日) 13:05:35 ID:dTzb3EME
MC._heightというのはどこからどこまでの値なのでしょうか?
やってみたのですがMCを回転させるとMC._henightの値が変わってしまいました。
588Now_loading...774KB:2007/07/08(日) 14:04:49 ID:hwpSUOgZ
プログラム上で、ボタン クリックを実行するにはどうしたら良いですか?
589Now_loading...774KB:2007/07/08(日) 14:07:44 ID:ZBTwibl1
【第二のマイアヒ!】VIPで火が付き2ちゃんで大流行中のフラッシュ
http://www.geocities.jp/tomoro0206/kare-.html
590Now_loading...774KB:2007/07/08(日) 14:12:39 ID:7zBzq3TE
>>588
バージョン
591Now_loading...774KB:2007/07/08(日) 15:09:06 ID:/jcxSIG3
>>587
回転したMCの高さかと
なんて言うか
  __ _
 |    | |
 |    |.._| 元はこんな感じで
   ̄ ̄
      _
 /\  |
<    > |
 \/  _| 回転するとこんな感じ
592Now_loading...774KB:2007/07/08(日) 15:25:04 ID:hwpSUOgZ
>>590
WindowsXP PRO
Flash 8 PRO
ActionScript 2
593Now_loading...774KB:2007/07/08(日) 15:28:03 ID:dTzb3EME
>>591
なるほど。では>>584で斜めのときに*の座標をとる場合にはどうすればいいのでしょうか?

594Now_loading...774KB:2007/07/08(日) 16:00:44 ID:ROBDiPaN
>>588
function Release(){ } でイベントを書いて
this.myButton.onRelease=Release; でボタンに割り当てて
Release()でボタンクリックを実行する。
またはon(release){ } の中身を関数にしてそれを呼ぶ。

>>593
*の部分にmcを置いてその座標をMovieClip.localToGlobal()で取得する。
というかMCをその場で回転させているなら+の座標もかわんないよ。
595Now_loading...774KB:2007/07/08(日) 16:03:50 ID:xKtaAqGw
該当座標に入れ子のMCを入れておく
596Now_loading...774KB:2007/07/08(日) 16:48:29 ID:pAX1+CrE
>>593
中学・高校でちゃんと数学をやっておけば・・・!と思う瞬間だよね。
597Now_loading...774KB:2007/07/08(日) 20:05:12 ID:dTzb3EME
>>595
入れ子のMCを入れておく以外に方法はないのでしょうか?
ActionScriptだけで指定して座標を取得したいのですが
598Now_loading...774KB:2007/07/08(日) 20:13:01 ID:z1rR2pNL
変形前の座表をpointに入れておいて
変形処理をmatrixで管理すればいいよ
変敬語の座表はpointにmatrixを適用すれば求められる
599Now_loading...774KB:2007/07/08(日) 20:36:58 ID:hMA1Qg/p
>>597
何をやりたいの?
MCのシェイプとのあたり判定とか?
シェイプが矩形の場合で、単に座標値を求めたいなら、
rotationからx,y座標は三角関数で算出できるでしょ。
600Now_loading...774KB:2007/07/08(日) 21:31:45 ID:dTzb3EME
僕がやりたいのはフレームを1枚だけ使用してそこに関節ごとに分けた
人間の絵を描きそれをActionScriptで連動させて動かすという研究をしてるんです。
ようは肩の関節が動いたときにそれに連動して腕も動かしたいのです。
わかりずらい説明ですいません。
>>598ありがとうございます
matrixは使ったことないので出来るかわかりませんが必死でチャレンジしてみます。
601Now_loading...774KB:2007/07/08(日) 21:35:59 ID:hMA1Qg/p
>>600
FlashならそれはMCの入れ子で実現できるわけで、座標計算は必要ない。
602Now_loading...774KB:2007/07/09(月) 02:42:03 ID:17oK9wcW
のちのち逆運動計算とかなんとかやりたいんちゃう
603Now_loading...774KB:2007/07/09(月) 06:16:29 ID:AIsNCmgm
Flex2.0です。

var hoge
604Now_loading...774KB:2007/07/09(月) 06:33:44 ID:AIsNCmgm
すみません。上の書き込みはミスです。

foo = new Tween ( this , from , to , 300 , 24 );
を実行するメソッドがありまして、これを1回呼び出したのち、
トゥイーンが最後まで行き着かないうちにtoの値を変えて再度呼びなおします。

理想的には途中で進路を変えて動いてほしいのですが、
実際には最初に設定したtoがゴールのままです。

「トゥイーンの上書き」の方法をどなたかご教示ください。
605Now_loading...774KB:2007/07/09(月) 18:09:06 ID:gAi3JgUU
質問がありまして、投稿させてもらいます。

連想配列を設定する際、
入れ子にする場合は、
NameArray["aaa"]["bbb"] = aaa;
という様に設定する事は出来るのですが、
["aaa"]["bbb"]の入れ子の部分の深さを、
決め打ではなく、ユニークに設定したいと思っています。

どうしてこういう事をしたいかと言うと、
xmlのタグ構成を連想配列に置き換えるスクリプトを作ろうとしてしまして、
タグの階層を配列に取っておいて、["aaa"]["bbb"]の部分に入れ込みたいと思っています。

ちなみに、
NameArray[tagArray] = aaa
という様な指定では当然だめでした・・・。

ご存じの方がいらっしゃいましたら、どうぞご教授の程、
よろしくお願いいたします。
606Now_loading...774KB:2007/07/09(月) 18:40:39 ID:vJDKphcw
>>604
再度newすればいんじゃねーの
>>605
xml自体そういう構成なのになんのために使うのかわからん
607Now_loading...774KB:2007/07/09(月) 22:17:34 ID:iuoTQGIb
>>606
でも、xmlを変数に読み込んだままだと、
node名でアクセス出来無いですよね?
説明が足り無くって申し訳ないのですが、
node名を使ってアクセスしたいんです・・
608Now_loading...774KB:2007/07/10(火) 00:06:00 ID:OnR1QNpz
>607
firstChild とか nextSibling 辺りを調べるとよいよ
609Now_loading...774KB:2007/07/10(火) 10:10:09 ID:bU9ahGTQ
>>607
node名でアクセスしたいなら
mx.xpath.XPathAPI.selectSingleNode(node, path)
使えばいいよ
610Now_loading...774KB:2007/07/10(火) 12:03:25 ID:+/H/UCyi
605です。
>>609
XPathAPI!
そんな方法が合ったんですね!!
早速導入してみたんですが、これで目的が達成出来そうです。
606,608の方も合わせまして、どうもありがとうございます!
611Now_loading...774KB:2007/07/10(火) 12:57:21 ID:GT8X50d5
var Array:Array = new Array();
Array=Zahyou(1,2,6,45);
trace(Array[0]);
trace(Array[1]);


function Zahyou(x,y,z,r) {//Zahyou(x座標,y座標,斜辺の長さ,角度)

a = Math.tan((r)* Math.PI/180));

b=y-(a*x);

Y=(a*X)+b;
(X*X)+(Y*Y)=(r*r);
(X*X)+((a*X)+b)*((a*X)+b)=r*r;

var Array:Array = new Array(X,Y);

return Array;
}

斜辺の長さと傾きからX座標Y座標を求める関数を作りたいのですが
上手く作れません。どなたか修正していただけませんか
612Now_loading...774KB:2007/07/10(火) 13:36:24 ID:VyqpO2MQ
>>611
x,y,z,r,X,Yがそれぞれ何を表して、角度の単位は何なのを書いた方がいいと思いますけど
613Now_loading...774KB:2007/07/10(火) 13:46:45 ID:xI5kPSBm
> (X*X)+(Y*Y)=(r*r);

こういう書き方したこと無いんだけど、左辺はどう評価されるのだろう。
単なる数値になる?
614Now_loading...774KB:2007/07/10(火) 13:50:17 ID:dHC18JVo
どう考えても左辺がおかしいとかになるだろ
615Now_loading...774KB:2007/07/10(火) 14:04:23 ID:VyqpO2MQ
よーし、エスパーになってみる。

(x,y)が始点、(X,Y)が終点、rがラジアンじゃないなら

X = x + Math.cos(r * Math.PI / 180) * z;
Y = y + Math.sin(r * Math.PI / 180) * z;
616Now_loading...774KB:2007/07/10(火) 14:04:39 ID:GT8X50d5
x,yがわかっている点でそこから斜辺の長さz、角度r(度)
の位置にある点(X,Y)を求めるようにしたいのです。
間違っているのはわかっているのですがどう表現していいのかわからずに
上のように書きました。
617Now_loading...774KB:2007/07/10(火) 14:51:21 ID:vkUouD0E
xとyの2点間の長さはいいとして、
角度rの位置にある点(X,Y)ってなに?
2点間の距離を求める関数とは別に、角度と距離から座標を求めたいってこと?
618Now_loading...774KB:2007/07/10(火) 15:14:07 ID:GT8X50d5
そういうことです。
<<615さんので出来たっぽいんですが
その座標を返り値としてreturnさせるには
どうすればいいのでしょうか?
619Now_loading...774KB:2007/07/10(火) 15:31:21 ID:IaLfUtnR
>>618汎用オブジェクトでもつかえばいんじゃね

var pA:Object = rfunc();
trace(pA.px +":"+pA.py);

function rfunc(){
var ro:Object = new Object();
ro.px =120;
ro.py = 34;
return ro;
}
620Now_loading...774KB:2007/07/10(火) 15:38:50 ID:xI5kPSBm
621Now_loading...774KB:2007/07/10(火) 15:44:24 ID:VyqpO2MQ
>>619
汎用じゃなくてもflash.geom.Pointってのがあるからそれでいいのでは?
622Now_loading...774KB:2007/07/10(火) 16:10:52 ID:GT8X50d5
ありがとうございます。これで求められた座標にムービークリップを
移動させようと思ってるんですが
>>598さんの
変形前の座表をpointに入れておいて
変形処理をmatrixで管理すればいいよ
変形後の座表はpointにmatrixを適用すれば求められる

というのが上手く作れません
ムービークリップを指定した座標に移動させるにはmatrixを
使ってどうすればいいのでしょうか?
623Now_loading...774KB:2007/07/10(火) 16:30:02 ID:VyqpO2MQ
import flash.geom.Matrix;
import flash.geom.Point;

var before:Point = new Point( 10, 20 ); //移動前の座標
var matrix:Matrix = new Matrix();
matrix.translate( 100, 200 ); //x方向へ100、y方向へ200移動
var after:Point = matrix.transformPoint( before ); //移動後の座標
624Now_loading...774KB:2007/07/10(火) 23:10:48 ID:Moh4IGqA
>>621
Pointオブジェクト重たいから、
それの機能使いたいとかじゃなければ普通のObject使え
625Now_loading...774KB:2007/07/11(水) 21:39:07 ID:Aay4lqym
環境)OS:WinXP-Pro,Mem=1GB,ソフト:Flash8-Pro(Player7,AS2.0)
    ブラウザ:IE6.0

ブラウザ上での開始操作について質問です。

ボタンまたはキーで操作するSWFをブラウザに表示した場合、ボタン(キー)
操作を有効にするには毎回SWF全体を一回クリックする必要があり面倒です。

※ブラウザのSWF上にマウスポインタを移動させると、「このコントロールを
アクティブ化して使用するにはクリックしてい下さい」という表示が出ます

表示後すぐにボタン(キー)操作が出来るようにするには、どうしたら良いで
しょうか?
626Now_loading...774KB:2007/07/12(木) 06:06:48 ID:1ZT6rVkv
>>625
ヒント:javascript
627Now_loading...774KB:2007/07/12(木) 08:09:04 ID:IFaM8s0y
クイズを作りたいと思っているんですが
入力テキストに入力した答えを「回答」ボタンを押したら
それが合ってるか間違っているか判断してシーンに飛ばせる
…というスクリプトを組もうとしているんですが
「回答」ボタンのアクションスクリプトがうまく動作しません。
エラーは出ていないのにどこが違うか分からないので教えてください。
よろしくおねがいしますm(_ _)m

アクションスクリプトは
on(press){
if(入力テキストの変数 == "答えとなる文"){
nextScene();
}
}



8pro
WinXP
628Now_loading...774KB:2007/07/12(木) 10:15:57 ID:OIkux4KK
三角関数でball:mcを移動したいのですが
point:関数から上手く座標を取り出せません
よろしくお願いします

var posi = new Array();
posi = point(100, 100, -45, 50);
ball._y = posi[0];
ball._y = posi[1];
function point(X, Y, deg, R) {//X,Y:基準座標,deg:角度,R:半径
var ans = new Array();
ans[0] = X+Math.cos(Math.PI/180*deg)*R;
ans[1] = Y+Math.sin(Math.PI/180*deg)*R;
return ans;
}
629Now_loading...774KB:2007/07/12(木) 10:49:26 ID:1J3sErYa
>>627
ボタンとは、MCのボタン動作かな? MCなら、入力テキストの変数との
パス関係をチェック。
あと動作確認はtrace()を活用。


>>628
画面のY座標と実座標は縦方向に逆なのは考慮してる?
630Now_loading...774KB:2007/07/12(木) 10:53:51 ID:1J3sErYa
>>627
あー、書き忘れていた。似たような課題なら、
「Flash MX ActionScript 実践技&ウラ技大全」(C&R研究所・ナツメ社)のp115に
あったぞ。
631625:2007/07/12(木) 11:16:11 ID:4Us8/WY+
>>626
有り難うございます。現在、
ttp://www5a.biglobe.ne.jp/~mifuru/20060901.html 
ttp://allabout.co.jp/internet/javascript/closeup/CU20060415A/index.htm
などを参考に勉強しています。

結局は、特許に起因する動作なんですね。
632Now_loading...774KB:2007/07/12(木) 11:25:27 ID:m4qbGRaS
>>628
ball._y = posi[0];
ball._y = posi[1];
なんでy座標だけいれてんだよ
633Now_loading...774KB:2007/07/12(木) 13:17:06 ID:1ZT6rVkv
>>630
冷たい返答したかと思って見にきたです。
adobeのAC_RunActiveContent.jsとか
swfobjectとかの解説ページも勉強になりますよ。
ググってみてください。
634Now_loading...774KB:2007/07/12(木) 19:14:08 ID:THEDhW9F
MCっていうムービークリップがあるとしてそれをActionScriptで横反転
させるにはどう表記すればいいのですか?
635Now_loading...774KB:2007/07/12(木) 20:16:07 ID:3vwdnKQ8
636Now_loading...774KB:2007/07/12(木) 22:17:56 ID:THEDhW9F
>>392
なんかこのやり方でやると反転はするんですが太くなって反転されるんですが・・
違う方法はないのでしょうか?
637Now_loading...774KB:2007/07/12(木) 22:40:10 ID:+IuEbChh
>>636
もともと_xscaleを変えてたりしないか?
あるいはMCの位置が整数じゃないとかかなあ
638Now_loading...774KB:2007/07/12(木) 23:04:28 ID:ETNjOhQy
-1かければいいよ
639Now_loading...774KB:2007/07/12(木) 23:30:02 ID:THEDhW9F
>>638
なにに-1かければよいのでしょうか?
MC._xscale = -1;
とやると線みたいになっちゃいますよ

基準点が真ん中のMCならうまく反転できるのですが基準点が上の場合はうまく反転できないみたいです
自分は基準点上のMCを反転させたいのですが何か方法はないのでしょうか?
640Now_loading...774KB:2007/07/12(木) 23:38:19 ID:m4qbGRaS
>>639
なんで-1代入してんだよw
641Now_loading...774KB:2007/07/13(金) 00:25:23 ID:nwHYk0nL
>>634
反転させたい対象の幅分を-すれば良い
642Now_loading...774KB:2007/07/13(金) 03:47:05 ID:G6HZcjwY
キーボード(テンキー)を押した時と離した時で別々のscriptを組みたいのですが、
どうすればできますか?
本を買って調べてみたんですが、どうもわかりません。
643Now_loading...774KB:2007/07/13(金) 03:50:23 ID:sc/t6TUA
644642:2007/07/13(金) 04:33:53 ID:G6HZcjwY
>>643
特定のキーのみに反応させるにはどうすればいいですか?
645Now_loading...774KB:2007/07/13(金) 09:14:30 ID:llOCLYLu
>>644
643にキーコードがあるじゃろ。
646Now_loading...774KB:2007/07/13(金) 09:25:39 ID:sSRoZ1ci
MCのドラッグでShiftドラッグ時に別動作をさせるために以下のようにしてんですが
FlashPlayer8でエラーが出ます(9だと問題ない)
このやり方では何か問題があるんでしょうか?

onPress()でドラッグ中フラグをONにする。
onMouseMove()でドラッグ中フラグがONならドラッグ中処理をする。
その際にKey.isDown(Key.SHIFT)でShift動作を分ける。

どうもこのKey.isDown()があると落ちてしまうようです。
647625:2007/07/13(金) 10:03:24 ID:PM8svYN/
ブラウザ上での開始操作について(javascript)

コントロールをアクティブ化してSWFをクリックせずにこれを操作しよう
としていますが上手く出来ません。 参考HPとして
ttp://www5a.biglobe.ne.jp/~mifuru/20060901.html
ttp://allabout.co.jp/internet/javascript/closeup/CU20060415A/index.htm

を見て、 SWF(banana.swf) → JSファイル(mifuru.js) → HTMLファイル(fromJS.html)
の流れでSWFはブラウザ上に表示されたのですが、やはりブラウザ内のSWFを
1回クリックしないと操作できません(クリックすると矢印キーで操作できます)。

HTMLには、
<CENTER>
<script type="text/JavaScript" src="mifuru.js"></script>
</CENTER>

JSファイルには、
document.open();
document.writeln('<embed src="banana.swf" width="400" height="300" type="application/x-shockwave-flash"/>');
document.close();

を書いています。どう修正すべきでしょうか?(長文ですいません)
648Now_loading...774KB:2007/07/13(金) 14:57:05 ID:EVvmUUfi
>>641
どうやればいいのでしょうか

MCW=MC._width;
で幅をとって
MC._xscale = -MCW;
とやっても細くなって反転され
MC._xscale -= MCW;
とやっても細くなって反転されてしまいます.
649Now_loading...774KB:2007/07/13(金) 15:05:13 ID:HC7RfQ0Z
_xscale*=-1
650Now_loading...774KB:2007/07/13(金) 16:30:33 ID:EVvmUUfi
>>649 出来ましたーー

ありがとうございます
651Now_loading...774KB:2007/07/13(金) 19:50:23 ID:Uwa9bt+o
>>650
ちなみにMC.widthって取ってるけどそれピクセル幅な
_xscaleはパーセント
652Now_loading...774KB:2007/07/13(金) 23:49:31 ID:6UeN81cm
>>647
上の参考HPのやり方で出来たけど。
キャッシュ残ってて更新されてないとかじゃないの?
653625&647:2007/07/14(土) 13:08:31 ID:pl4O5RWj
>>652
どうも。
HTMLファイルを fromJS.html → fromJS-1.html と、別名で保存して
開いても、変化がありません。

今回のファイルをZip化し、http://www.uploda.org/uporg903233.zip.html 内の
uporg903233.zip(DL時のファイル名:fromJS.zip) としてUpしました。
再度アドバイス願います。
654Now_loading...774KB:2007/07/14(土) 13:42:11 ID:NTPhdI6A
>>653
ちゃんと動いてるけどなぁ、Win IE6.0で確認。
655625&647:2007/07/14(土) 17:13:05 ID:rVEJ/byn
>>654
う〜ん。。。
マシンを変えて、手持ちのBIBLO-LOOX(WinXP-HE,IE6.0)でやってみましたが
反応しません(中古のVAIO:Win98SE,IE5.0では表示自体が不可)。
もしかして、IEのセキュリティ保護の情報バーに関係があるとか?
656654:2007/07/14(土) 19:00:06 ID:NTPhdI6A
あーそういうことか!

SWFのまわりに枠線がでて一度クリックしないとアクティブにならない

っていう問題ではなくて、SWFを一度クリックしないと
キー入力を受け付けない(ブラウザのフォーカスが別のところにある)って事?

であればこっち?
http://www.adobe.com/jp/support/flash/ts/documents/tn_15586.htm
657Now_loading...774KB:2007/07/14(土) 19:24:10 ID:3C9ldtwm
>IEのセキュリティ保護の情報バー

xp sp2でアドオンが無効になってるだけじゃないの?
658625&647:2007/07/14(土) 19:34:07 ID:4/YCoA+z
>>656, 657
ありがとうございます。
やってみます。
659625&647:2007/07/15(日) 02:36:13 ID:LRX2B6Vf
(連投になりすいません)
>>656
紹介頂いたサイトを参考にしてHtmlを書き換えました。

<BODY bgColor=#ffffff background="" onLoad="window.document.banana.focus();">
<OBJECT classid="・・・"
codeBase=http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0
width=400 height=300 name="banana">

この classid の・・・はどう書けば良いのでしょうか? 



>>657
アドオンの無効はJWordだけでした。
660Now_loading...774KB:2007/07/15(日) 07:51:24 ID:6tAxtIfA
Flash Playerのclassid番号は D27CDB6E-AE6D-11cf-96B8-444553540000 です。

てか、そのあたりの内容は、FLASHでパブリッシュすると
勝手に作られるHTMLからコピるか、
ネットでFLASH使ってるサイトからコピればOK。
661625&647&659:2007/07/15(日) 13:05:19 ID:D2+HJFxA
>>660
ありがとうございます。
やってみましたが、SWF表示されません。

<BODY bgColor=#ffffff background="" onLoad="window.document.banana.focus();">
<OBJECT
classid="D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0"
width=400 height=300 name="banana">

bananaをbanana.swfにしたりと、色々試しましたが駄目でした。

ところで、ttp://yoshiweb.net/blog/?itemid=67 を見たところ次の一文がありました。
<追加情報>Internet Explorerが、Flashをクリックしてからでないとキー操作などを
受け付けなくなったため、この技は使えないかも。

(やっぱり)前に戻ってJSファイルの使用が必要なのかも知れません。
662Now_loading...774KB:2007/07/15(日) 14:09:13 ID:sDG5l4g/
AS2.0でのカスタムクラスの作成について
詳しく解説しているサイトなどありましたら教えてください。
663Now_loading...774KB:2007/07/15(日) 21:06:06 ID:otIDWRan
フラッシュから掲示板に書き込みとか可能?

できるんならどなたかkwsk
664Now_loading...774KB:2007/07/15(日) 21:18:25 ID:1tUE/UDO
>663
書き込むBBSのHTMLを見る
cgiのアドレスと送っている変数を全部調べる
flashでフォームを作る
665Now_loading...774KB:2007/07/15(日) 22:58:07 ID:otIDWRan
>664
フォームを作って、送るにはどうすればよい?
sendとか?
666Now_loading...774KB:2007/07/16(月) 00:21:04 ID:0cH5s9iu
ここで質問するのもあれなんだけど、知ってる人が一番いそうだから。

AS2.0→AS3.0の移行っていうか
クラスがどこに移動したのか一覧で見れるページがあったと思うんだけど
ブックマークし忘れてどこだったか完全に失念してしまった。
多分公式関係なんだと思うけど見つからない。
知ってる人いたら教えてください。
667Now_loading...774KB:2007/07/16(月) 00:25:48 ID:DIraiXdI
668Now_loading...774KB:2007/07/16(月) 00:30:28 ID:XI6qSb5K
>>665
LoadVarsクラス
669Now_loading...774KB:2007/07/16(月) 00:32:57 ID:0cH5s9iu
>>667
ちょwこんな早いのかここw
マジでありがとう。
670Now_loading...774KB:2007/07/16(月) 16:07:15 ID:+vwh4cdn
actionscriptエディタって何がいいですか?
671625&647&659:2007/07/16(月) 16:26:14 ID:KdFnlDXY
お世話になります。

目標: 
ブラウザ内のSWFをクリックすることなく、キー操作のみでSWF内の絵柄を動かしたい。

普通にSWFを置くと http://swfup.info/view.php/7328.swf のようになり、単に
矢印キーを押すと(HP自体が長い場合)上下にHP自体がスクロールしてしまいます。

しかしその前に、マウスでSWFのどこかをクリックすれば目的の絵柄(バナナ)のみが
動きます。今まで調べたところ、
1) SWF(banana.swf) → JSファイル(mifuru.js) → HTMLファイル(fromJS.html)
 と、間にJSファイルを入れる
2) HTMLの中に、<BODY ・・・ onLoad="window.document.banana.focus();"> のonLoad
 の記述を入れる(フォーカスの移動)
をやってみましたが、駄目でした。ちなみに、両方を混ぜてやってみましたが、これも
駄目でした。

引き続き、助言を願います。
672Now_loading...774KB:2007/07/16(月) 17:22:32 ID:YDgPRqM4
>助言を願います。
何この上から目線
673Now_loading...774KB:2007/07/16(月) 18:16:19 ID:6hxNWZWK
単にものの言い方を知らないだけかも。

>>671
実現できてるサイトがあるなら、そこを参考にしたら?
実現できてるサイトがどこにもないなら、無理だと諦める。>>661の引用サイトの話が正しいなら、無理な可能性は高いのでは?
自分の環境でだけ実現できないのなら、現状では第三者にはそちらの環境がわからないので
どうしようもない。
674Now_loading...774KB:2007/07/16(月) 19:14:52 ID:/pkVo2ql
>>671
普通はスタートボタンとかクリックさせて対応する。
675Now_loading...774KB:2007/07/16(月) 21:34:46 ID:+pDIkty4
>>647 & >>656を参考にすりゃこうなるだろ

[HTMLファイル]

<!-- saved from url=(0013)about:internet -->
<HTML>
<HEAD>
</HEAD>
<BODY bgcolor="#FFFFFF" onLoad="window.document.banaSWF.focus();">
<script type="text/JavaScript" src="mifuru.js"></script>
</BODY>
</HTML>

[mifuru.js]

document.write("<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000'")
document.write(" codebase='http://download.macromedia.com/pub/shockwave/cabs/")
document.write("flash/swflash.cab'")
document.write("width=400 height=300 name='banaSWF'>")
document.write("<param name=movie value='7328.swf'>")
document.write("<param name=quality value=high>")
document.write("<embed src='7328.swf' quality=high ")
document.write(" width=400 height=300")
document.write(" type='application/x-shockwave-flash' ")
document.write("pluginspage='http://www.macromedia.com/go/getflashplayer'>")
document.write("</embed>")
document.write("</object>")

WindowsのIE6で確認したけど動くじゃん、ただ働きさせんなよ。
もちろん、focus()はIEのみだから(とMacromediaのサイトにも書いてある)
FireFoxとかじゃ効果無い。
676625&647&659:2007/07/16(月) 23:08:22 ID:6k+y5rxF
>>672-675
有り難うございます。試してみます。
現段階では、クリックなしで(マウス無しで)動かすことが目標です。


>>助言を願います。
すいません。以後、気をつけます。
677Now_loading...774KB:2007/07/17(火) 11:18:22 ID:3/mXtWCr
if文を入れ子にしながら関数を順番に呼び出しています
最下層の関数からif文を止めることは出来るでしょうか?

if (a>0) {
hit1();
hit2();
hit3();
}
function hit1() {
num = b+c+f+g;
chk(num);
}
function chk(num) {
if (num>0) {
trace(num);
//ここでif文全部を終了させたい
}}

簡単に書いています
hit1()を実行した後に、hit2()以降を無視する流れです

よろしくお願いします
678Now_loading...774KB:2007/07/17(火) 11:54:56 ID:T0K4Xtcc
>>677
変数使ってスキップするのもあるけど、関数のreturnを使うとか↓ガード節ね

foo();
function foo():Boolean {
if (fo1() == false) {
return false;
}
trace("fo1 ");
if (fo2() == false) {
return false;
}
trace("fo2 ");
if (fo3() == false) {
return false;
}
trace("fo3 ");
return true;
}

function fo1() :Boolean {
return true;
}
function fo2() :Boolean {
return true;
}
function fo3() :Boolean {
return false;
}
679Now_loading...774KB:2007/07/17(火) 15:12:04 ID:pPvMdnRJ
ActionScriptを始めるならばとFlash8の参考書を貰ったけど、
これからは3.0だよと言われトライしたが、
マウスイベントなんかが全く違っていてとまどってます。
これからは3.0じゃないとだめなのでしょうか?
680Now_loading...774KB:2007/07/17(火) 15:40:21 ID:T0K4Xtcc
だめと言うわけではないが、時代に乗り遅れないようにしよう。
コンピュータは変革がはやいよ。
681Now_loading...774KB:2007/07/17(火) 15:43:27 ID:kMqnhdx6
今後継続する仕事としてなら必修
趣味なら好きにすれば良い
682Now_loading...774KB:2007/07/17(火) 16:08:35 ID:TuVPpnou
仕事としても来年ぐらいまでは要らない子
683Now_loading...774KB:2007/07/17(火) 16:21:23 ID:3/mXtWCr
デザイナがいじる程度なら書けなくても
読めたり改造できる程度でOK
cgiとかphpもそんな感じだろ?
684677:2007/07/17(火) 16:22:23 ID:3/mXtWCr
>678
なるほど。ちょっと複雑になりますね
組み立てから考えて見ます
ありがと
685Now_loading...774KB:2007/07/17(火) 16:34:44 ID:4R/JjghH
ランダムでシーンを移動させるスクリプトはあるでしょうか?
あったらどのように組めばいいのか教えて欲しいのですが…
686Now_loading...774KB:2007/07/17(火) 16:53:13 ID:weGZcJyM
Math.random
687Now_loading...774KB:2007/07/17(火) 17:29:35 ID:3/mXtWCr
>685
書いたAS晒すか、Flashの超基本的な質問はここでしろ!行け
this.stop();
list = ["scene1", "scene2", "scene3"];
btn.onPress = function() {
var tar = list[Math.floor(Math.random()*list.length)];
_root.gotoAndStop(tar);
};

シーン移動は、変数使えないから面倒
各シーンの頭にフレームラベルを書く
688Now_loading...774KB:2007/07/17(火) 18:48:51 ID:9z/+Iro2
cDownに11.7なんとかが入っている状態で、
a = Math.ceil(cDown);
b = a-1;
cc = a%8;
dd = b%8;
ここまでだとccに4、ddに3が代入されるんだけど、
if (cc=0) {
sp1 = "フェスタ";
} else if (cc=1) {
sp1 = "何も無し";
} else if (cc=2) {
sp1 = "フェスタ";
} else if (cc=3) {
sp1 = "何も無し";
} else if (cc=4) {
sp1 = "フェスタ";
} else if (cc=5) {
sp1 = "何も無し";
} else if (cc=6) {
sp1 = "フェスタ";
} else {
sp1 = "何も無し";
}
このif文加えるとccもddも1になって帰ってきます。
if文のおかしな点があればご指摘ください><
689Now_loading...774KB:2007/07/17(火) 19:00:49 ID:zoX1/jX1
>>688
ddは知らんが、ccは、=で代入してるから当然。
比較なら==を使う。
690Now_loading...774KB:2007/07/17(火) 20:14:10 ID:tW3e3qOp
>>688
sp1を得たいだけなのであれば一文で可かと

sp1 = Math.ceil(cDown)%2 ? "何も無し" : "フェスタ";
691Now_loading...774KB:2007/07/18(水) 00:01:56 ID:j3ULkNu+
インスタンス名の違うコンポーネントをループで判定しているのですが、
もっとコンパクトに記述する方法はないでしょうか?
わざわざ配列に登録しなくても回す方法などがあればお願いします。

//テキストコンポーネントに値を入力
name_txt.text = "名無しさん";
age_txt.text = "ふめい";
salary_txt.text = "";

//コンポーネントインスタンスの属性とインスタンス名をハッシュ表に登録
var CmpAry:Array = new Array ();
CmpAry["名前"] = "name_txt";
CmpAry["年齢"] = "age_txt";
CmpAry["給料"] = "salary_txt";

//ひとつでも未入力のテキストコンポーネントがあればフラグをあげて何が入力されていないかを出力
var ChkFlg:Boolean = false;
for (var CmpID in CmpAry) {
 if (this[CmpAry[CmpID]].text == "") {
  trace (CmpID + "が入力されていません。");
  ChkFlg = true;
 }
}

//すべて入力されている場合は次へ進む
(ChkFlg == false)?trace ("次の画面へ進みます。"):false

それとVBのMsgBox()と同じような機能はないのでしょうか…?
テキスト付きのモーダルウィンドウひとつ出すのにすごく苦労します(;´Д`)
もし簡単なコードがあれば是非教えていただきたいと思います。長文になりすみませんでした。
692Now_loading...774KB:2007/07/18(水) 01:20:42 ID:gz+M2Wne
>>691
インスタンス名の違うコンポーネントがその3つしかないなら、一個ずつ記述かな。
複数あるなら種類ごとに命名するとか。 name0_txt, name1_txt, ... age0_txt, age1_txt みたいに。
複数あって種類もまとめられないならその方法がベストだと思う。

MsgBoxのかわりにあたるのはWindowコンポーネント。モーダルでも表示できる。

あと気になったから言うけど、CmpAry["名前"] = "xx" っていうやり方は
配列アクセスであってハッシュ表とか連想配列ではないよ。
CmpAry.名前 = "xx" ってやってるのと同じ。
693Now_loading...774KB:2007/07/18(水) 02:56:24 ID:j3ULkNu+
>>692
ありがとうございます。Arrayクラスに関しては、ずっとHashTableだと思ってました。
使い方自体はJavaなどのHashtableと似た感じだと思うのですが、内部的に何か違うんでしょうか

それと、ウィンドウコンポーネントやアラートコンポーネントなのですが、
デザインをステージで簡単に変えることはできないんでしょうか?
694Now_loading...774KB:2007/07/18(水) 06:19:29 ID:Rm8i2b6C
A.asをコンパイルすると、
B.asのthis.c=10が「未定義である可能性が高いプロパティ c に静的型 B の参照を使用してアクセスしています」とエラーになります。
何が間違っているのでしょうか。


/*A.as*/
package{
public class A {
public function A() {
private var b = new B();
}
}
}

/*B.as*/
package{
public class B extends C {
public function B() {
this.c = 10;
}
}
}

/*C.as*/
package{
public class C {
private var c : int;
}
}

695Now_loading...774KB:2007/07/18(水) 06:32:36 ID:sbBf+hi3
>>694
private var c : int;
↑プライベートってやってるじゃん。しっかり隠蔽されてるわけさ。

696Now_loading...774KB:2007/07/18(水) 07:12:50 ID:TXwU4CBD
2.0を少々カジッた程度の者ですが、
3.0を見てガラリと変わっているのに戸惑っています。
やはり、これからは3.0でしょうか?
どこか役立つサイトはないでしょうか?
本屋に行っても3.0についての参考書はありませんでした。
697Now_loading...774KB:2007/07/18(水) 07:51:21 ID:Rm8i2b6C
>>695
ありがとうございます。
publicにしたらコンパイルを通りました。

けれど、ここはprotectedにするのが一般的ですか?
698Now_loading...774KB:2007/07/18(水) 09:26:33 ID:TQRnt2Gg
>689
ありがとうございました!上手くいきました
>690もありがとうございました!
699Now_loading...774KB:2007/07/18(水) 20:17:01 ID:jtmP68V5
環境)OS:WinXP-Pro,ソフト:FlashCS3(Player9)ActionScript3
>>84と似たような質問です。 ActionScript1では
button1----------
on(press) {
test(1);
}

button2----------
on(press) {
test(2);
}

メインタイムライン----------
function test(value) {
trace(value);
}
と書いていたものはActionScript3では

メインタイムライン----------
button1.addEventListener(MouseEvent.MOUSE_DOWN, test1);
button2.addEventListener(MouseEvent.MOUSE_DOWN, test2);
function test1(e:Event):void {
trace(1);
}
function test2(e:Event):void {
trace(2);
}
となるようですが、ボタンの数だけfunction testXXが増えていくのは非常に不便な気がします。
>>89を見て、Loaderをextendsするといった方法もわかったのですが
ActionScript1の用に気軽に使えないものでしょうか・・・
仕様だから仕方ないのか、それとも他にスマートな記述方法があるようなら教えていただけないでしょうか?
よろしくお願いします。
700Now_loading...774KB:2007/07/18(水) 20:22:52 ID:8HtFDz0L
>>699
AS3見た事無いけど適当に答えてみてもいい?
無名関数を使う

button1.addEventListener(MouseEvent.MOUSE_DOWN, function(e:Event):void {
trace(1);
});
button2.addEventListener(MouseEvent.MOUSE_DOWN, function(e:Event):void {
trace(2);
});
701Now_loading...774KB:2007/07/18(水) 20:32:34 ID:sbBf+hi3
>>699
同じfunctionを使いたいなら同じのを呼べるし、イベント元のインスタンスによって
動作を変えたいなら引数のevent.targetで分岐するとか
702Now_loading...774KB:2007/07/19(木) 03:00:57 ID:2DZ1mp2d
手元にFlashないから適当だけど、こんな感じ
イベントメソッドに自前の引数おくるのは無理だった希ガス 出来たらごめ

function test(e:Event):void {
trace(e.target.val)
}

button1.val = 1
button2.val = 2

button1.addEventListener(MouseEvent.MOUSE_DOWN, test)
button2.addEventListener(MouseEvent.MOUSE_DOWN, test)
703Now_loading...774KB:2007/07/19(木) 05:54:15 ID:DUdv5wyF
buttonはDynamicじゃないからプロパティの動的追加は無理かと。MCならできるよ。
buttonの場合はnameプロパティで判断するとか。

function test(e:Event):void {
trace(e.target.name);
}
704699:2007/07/19(木) 09:44:46 ID:A105xMP4
>>700
なるほどー無名関数使えば、多少長くなりますがスッキリ書けますね。
ありがとうございます。
button1.addEventListener(MouseEvent.MOUSE_DOWN, function(e:Event):void { test(e,1); });
button2.addEventListener(MouseEvent.MOUSE_DOWN, function(e:Event):void { test(e,2); });
function test (e:Event,value:int):void {
trace(value);
}


>>701-703
やっぱりevent.targetを使って処理するのが普通なんですかね。
今まで自分もそうやっていたのですが、
どうも ...MOUSE_DOWN, test(1));の用に引数使えないことに拒否反応が出てしまって・・・
それで色々と検索してみたのですが自分と同じような不満を持った人の記事等は見つからなかったので
『なんでこんなに不便になったのに誰も文句を言ってないんだ??
自分の考え方がおかしくて普通はこんな書き方しないのか??』
と思ってここに書かせていただきました。
705Now_loading...774KB:2007/07/19(木) 10:02:55 ID:DUdv5wyF
つか、それって処理まとまってないじゃんw
1つの関数呼び出しでってことじゃなかったわけか。
706Now_loading...774KB:2007/07/19(木) 10:31:17 ID:midunRTU
>>704
リテラルだとthisが使えなくなるから、必要な場合は参照をどこかに格納する必要が出てくる。
引数に拘る理由が分からないけど、個人的にはevent.targetの方がスマートになった気がする。

function test( e:Event ):void {
switch ( e.target ) {
case button1 : trace( "1" ); break;
case button2 : trace( "2" ); break;
}
}

button1.addEventListener( MouseEvent.MOUSE_DOWN, test );
button2.addEventListener( MouseEvent.MOUSE_DOWN, test );

どうしても引数使いたければこっちかな。

function test( id:int ):Function {
return function( e:Event ):void {
trace( id );
}
}

button1.addEventListener( MouseEvent.MOUSE_DOWN, test( 1 ) );
button2.addEventListener( MouseEvent.MOUSE_DOWN, test( 2 ) );
707699:2007/07/19(木) 11:24:48 ID:A105xMP4
やはりaddEventListenerに関してはevent.targetを使用するのがスマートな方法なんですね。
皆さんの意見を聞けて助かりました。
これからは、素直にevent.targetを使います。
ありがとうございました。
708625&647&659:2007/07/19(木) 14:22:18 ID:E+l8Kc5V
(ブラウザ内のSWFをクリックすることなく、キー操作のみで
SWF内の絵柄を動かしたい)

レスが遅くなり申し訳ございません。お教え頂いた通り、HTMLとJSファイルを
書き換えたところ、希望の動作が確認できました。 まとめとして、全体をZip化
しました。
http://www.uploda.org/uporg912147.zip.html
uporg912147.zipをDL後解凍し、『fromJS-3.html』を開くと実行できると思います。

色々と有り難うございました。
709Now_loading...774KB:2007/07/20(金) 02:04:28 ID:yp5z/ewa
プリローダーがうまく作れません。

★1フレーム目★
onClipEvent (load) {
%9_root.stop();%9//タイムラインの1フレーム目で止めておく
}

onClipEvent (enterFrame) {
%9// すべて読み込んだら3フレーム目へ
%9if (_root._framesloaded==_root._totalframes) {
%9%9_root.gotoAndStop(3);
%9}
}
★2フレーム目★
_root.gotoAndPlay(1);
★3フレーム目★
サムネイルアルバムみたいなやつ。3M程。

どうやってもいきなり『_root._framesloaded==3』となり、3フレーム目にすっとんでしまいます。
誰か助けてください。
環境は、MX、XPSP2です。
710Now_loading...774KB:2007/07/20(金) 02:14:30 ID:zjuR7lAb
>>709
うろ覚えだが
if(_root._framesloaded==_root._totalframes)
最初に一瞬だけここがどちらも0になるんじゃなかったっけ
&& _root._framesloaded != 0とか加えてみれ
711Now_loading...774KB:2007/07/20(金) 02:19:23 ID:zjuR7lAb
いかん、ぼけてた。読み込みサイズの話だった
712Now_loading...774KB:2007/07/20(金) 02:28:35 ID:cWBnxbP0
1フレ目の最初にonClipEvent(load)って書くのはダメなんじゃなかったっけ?

まぁそれが原因ではないと思うけど。
713709:2007/07/20(金) 02:40:49 ID:yp5z/ewa
(;´Д`)やってみたけどダメです。
↓因みに、参考にしているサイトは以下のURLです。
ttp://hakuhin.hp.infoseek.co.jp/main/as/load.html#LOAD_00
714Now_loading...774KB:2007/07/20(金) 02:52:10 ID:QdMb8SGL
>サムネイルアルバムみたいなやつ。3M程。
まさか別ファイルってことは無いよね?

710の方法はやってみた?
俺も同じように記憶してるよ。>一瞬だけ0になる
715Now_loading...774KB:2007/07/20(金) 10:03:14 ID:AYo0ksyo
ドラッグ中の処理で困ってます。

function onMouseDown():Void {
 if (this.hitTest(_root._xmouse, _root._ymouse, false)) {
って感じで処理を行っているんですが
右クリックでContextMenuを出したまま他の場所をクリックすると
onMouseDown時の_xmouse、_ymouseが右クリック時点の座標が来てしまいます。
FlashPro8ですが、これって仕様制約とかですか?

当初はonPressで処理してたんですが
こっちはShift押しながらで連打されるんで変更したんですが、こちらでも問題出てしまって。
何かご存知の方居りましたらよろしくお願いします。
716Now_loading...774KB:2007/07/20(金) 10:42:40 ID:87Uh2S+Z
var rest:Number = 1;
var mc = "rest"+rest+1;
trace(mc);
//rest11

出力をrest2にしたいのですが、rest11になってしまいます
なぜrestや+1が文字列になってしまうんでしょうか?
717Now_loading...774KB:2007/07/20(金) 11:00:14 ID:TigJsDO+
+演算子の仕様
var mc = "rest"+(rest+1);
718Now_loading...774KB:2007/07/20(金) 11:35:08 ID:cWBnxbP0
>>716
式が最初から順に評価されるんじゃない?

"rest" [文字列] に 変数restの内容[数値] を文字列として連結 → "rest1"
"rest1" [文字列] に 1[数値] を文字列として連結 → "rest11"
719Now_loading...774KB:2007/07/20(金) 11:36:32 ID:87Uh2S+Z
>717
なるほど、仕様じゃしy
ありがとうございす
720Now_loading...774KB:2007/07/20(金) 12:20:40 ID:FOSlrYeV
NetConnectionのconnectで外部のサーバーに接続して、flvをストリーミングってできますか?
プロトコルはhttpで。
connectが接続すらしてくれなくて困っています。

オーサリング環境はWindows Flash8です。
721709:2007/07/20(金) 13:52:02 ID:Gy9TQzwz
>>714
別ファイルじゃないです。ライブラリに全部入ってます。
>>710の方法もやってみたけどダメですた。
722Now_loading...774KB:2007/07/20(金) 14:46:20 ID:hjDlVbas
>>721
> 別ファイルじゃないです。ライブラリに全部入ってます。

ライブラリで「最初のフレームに書き出し」にチェックしてるのでは?
それにチェックすると、ライブラリにあるそれらのシンボルが読み込まれるまで
第一フレームの描画が開始されないので、ローディングが意味をなさない。
チェックを外して、適当はフレームに配置しとくか、いっそ別ファイルにする。
723709:2007/07/20(金) 15:04:17 ID:Gy9TQzwz
>>722
レスどうもです。チェックはずしてみました。
しかし、どうもうまくいきません。
724Now_loading...774KB:2007/07/20(金) 15:06:08 ID:nREzrcAH
すいません、どなたかお教えください
 ボタンを押して、変数countを一つずつ足していき
変数countが5になったら、それ以上ボタンを押しても足さないようにしたいのですが
今のところ5<1000という風にしています。

問題なく動いているのですが、もっとスマートに5以上はカウントしないという
コードがあればお教え頂きたいです。

環境はwinXP Flash8 です
よろしくお願いたします。
725Now_loading...774KB:2007/07/20(金) 15:06:39 ID:hjDlVbas
>>723
> しかし、どうもうまくいきません。

これでは、第三者には状況がさっぱりわからないので、
どううまくいってないのかをもっと具体的に!
726Now_loading...774KB:2007/07/20(金) 15:18:25 ID:sv/mzWcZ
>>724
5<1000ってのがよくわからんけど
ボタンに
on (release) {
if (count<5) {
count++;
}
}
じゃだめ?
727709:2007/07/20(金) 15:19:07 ID:Gy9TQzwz
>>725
済みません。
↓ホントにこのURLのサンプルを、落としてきてやってるだけなんです。
ttp://hakuhin.hp.infoseek.co.jp/main/as/load.html#LOAD_00

で、Now Loading はシンボルになっていて、「最初のフレームに書き出し」にチェックは
最初から入っていませんでした。
こんかいチェックをはずしたのは、サムネイルアルバムの画像のチェックをはずしました。
状況としては、>>709と全く同じ状況です。
728Now_loading...774KB:2007/07/20(金) 15:41:33 ID:hjDlVbas
>>727
なんでサンプルとスクリプト違うの?
それはいいとして、ローカルで試してるから一瞬で読み込まれるとかそういうことでもない?
>>709だと、3フレーム目に飛んでしまうとあるが、飛んでも3フレーム目の内容が表示されないと
いいたいのかな?
そのアルバムとかいうののチェックを外した後、どこに配置したの?
その辺を具体的に細かく!

3フレーム目をいったん空にして、そこに適当な文字か図形を配置しただけの場合はどう?
729709:2007/07/20(金) 15:41:45 ID:Gy9TQzwz
↓サンプルのURLです。
ttp://hakuhin.hp.infoseek.co.jp/down/fla/load_00_fla5.fla
730Now_loading...774KB:2007/07/20(金) 15:44:46 ID:sv/mzWcZ
>>727
709を実際に作ってみたがちゃんと動いた、
スペルミスとか不注意が無いかチェックしてくれ。
動作確認はウェbでやってるんだよね?ローカルでしかやってないってことは無いよね?
731709:2007/07/20(金) 15:53:27 ID:Gy9TQzwz
なんでサンプルとスクリプト違うの?>
サンプルでうまく動かなかったからです。

それはいいとして、ローカルで試してるから一瞬で読み込まれるとかそういうことでもない?>
その可能性はあると思います。

>>709だと、3フレーム目に飛んでしまうとあるが、飛んでも3フレーム目の内容が表示されないと
いいたいのかな?>
違います。Now Loading が表示されなくて、いきなり3フレーム目が表示されるんです。

そのアルバムとかいうののチェックを外した後、どこに配置したの?>
3フレーム目です。

3フレーム目をいったん空にして、そこに適当な文字か図形を配置しただけの場合はどう?>
同じです。

ちょっと病院行って来ます。

732709:2007/07/20(金) 15:59:53 ID:Gy9TQzwz
↓もうワケワカメなんで今作ってるファイルをうpします。
ttp://www.dotkon.ne.jp/demo_album/test.fla

ちょっと病院行って来ます。
733Now_loading...774KB:2007/07/20(金) 16:02:52 ID:hjDlVbas
> その可能性はあると思います。

そ、そうなの?!
それなら、うまく動いてるってことじゃん…
734Now_loading...774KB:2007/07/20(金) 16:03:52 ID:nREzrcAH
>>726
ボタンを離した時に
変数countが5以下なら変数countを一つづつ足していく

って感じでしょうか?

ちょっとやってみます
735Now_loading...774KB:2007/07/20(金) 16:13:56 ID:sv/mzWcZ
>>734
言い方だけどw
>ボタンを離した時に
=クリックしたときに
一般的にはreleaseを使う。
>変数countが5以下なら変数countを一つづつ足していく
5より大きくなったら足さない。かな
736Now_loading...774KB:2007/07/20(金) 16:17:26 ID:hjDlVbas
>>734
5以下じゃなくて、5未満が正しいす。
以下は5も含むってこと。
737724:2007/07/20(金) 16:33:12 ID:nREzrcAH
無事出来ました

マイナスボタンの方も

if (変数count>0) {
  変数count -= 1;
}
}
で上手く動きました

ありがとうございました
738709:2007/07/20(金) 16:59:20 ID:Gy9TQzwz
病院から帰ってまいりました。

>>733
そうなんでしょうか?
サーバーにうpしてみたんですけど、Now Loading が見えません。
回線が光なので速くて見えないのでしょうか?
739Now_loading...774KB:2007/07/20(金) 17:46:06 ID:sv/mzWcZ
>>738
>>732のファイルでダウンロードのシュミレーションしてみると
0フレームでファイルの読み込みが行われてる。
Now Loading が見えないのはそのせい
最初のフレームに書き出しのチェックをはずせば
うまくいくと思う。
ダウンロードのシュミレーション機能ってMXについてるよな?
プリローダーの動作確認はそれ使うかウエブに上げて見る。
ローカルじゃ無意味
740739:2007/07/20(金) 18:09:35 ID:sv/mzWcZ
どうでもいい自己レス
Xシュミレーション
○シミュレーションな、
どうもくせでw

>ウエブに上げて見る。
ってのも光回線じゃ今やほとんど無意味だな
うちも今じゃ光回線だけどISDNが長かったもんでw
741709:2007/07/20(金) 18:16:44 ID:Gy9TQzwz
できやした!

とりあえず全部の「最初のフレームに書き出し」のチェックをはずせば動きました!
皆さん有難う御座いました!本当に有難う御座いました!

しかし、サムネのをクリックしても、拡大画像が表示されなくなってしまったのですが...。
742Now_loading...774KB:2007/07/20(金) 18:27:56 ID:hjDlVbas
>>741
全部のチェック外してなかったのかよ…

>>722にも書いたが、最初のフレームに〜のチェックを外したものはすべて、
タイムライン上のどこかに配置しとく。
配置してあるか?
743709:2007/07/20(金) 18:35:27 ID:Gy9TQzwz
>>742
配置してあります。1フレーム目に Now Loading 2フレーム目は空 3フレーム目にサムネ画像5つと、
それを読み込むボタンと、そのボタンを押したら画像が表示されるMCです。
ttp://www.dotkon.ne.jp/demo_album/test.fla
744Now_loading...774KB:2007/07/20(金) 18:56:53 ID:hjDlVbas
>>743
別に、問題なく動くみたいだけど?
間違ったキャッシュが邪魔してたりはしない?

これは「最初のフレームに書き出し」チェック外れてないけど、いいの?
745709:2007/07/20(金) 19:47:48 ID:1tRRhrXL
>>744
済みません、外してないのをうpしてました。改めてチェックを外したのをうpしました。
しかし、サムネボタンを押しても、メインのMCに画像が表示されなくなりました。
746Now_loading...774KB:2007/07/20(金) 19:51:54 ID:lM3Elfia
すいません、質問なんですが、
今時計作ってます。

そして、ダイナミックテキスト作って、
dateオブジェクト作って、
時計ができあがったのですが、

ダイナミックテキスト部分をアンチエイリアスにしていたはずが、
パブリッシュした後のフラッシュではただのフォントになって萎えています。

何が悪いんでしょうか?
747Now_loading...774KB:2007/07/20(金) 20:13:23 ID:I3HBRY5h
ダイナミックテキスト
748739:2007/07/20(金) 20:32:15 ID:sv/mzWcZ
>>745
attachMovie使ってるのか、
じゃチェック入れとかなきゃだめかな。
まあプリローダーは正常だと思うよ、ほとんど機能して無いけどw

しかしこれattachMovieじゃないとだめかな?
まあ作ってる人の自由だけど、、、
749709:2007/07/20(金) 20:42:55 ID:1tRRhrXL
>>748
なんかいい方法ないですか?
画像を5枚重ねておいて、それを見せたり消したりするとか?
750Now_loading...774KB:2007/07/20(金) 20:47:45 ID:caL7jFL8
2フレーム目と3フレーム目の間に新しくキーフレーム作って、
そこにattachMovieする可能性のあるシンボルを全部置いておけばチェックは不要

『最初のフレームに書き出し』ってのは要するに1フレーム目に
シンボルを全部配置しておくのと同じことで、
ステージに配置されたシンボルだけが.flaから.swfに書き出されるから
.flaに余計なシンボルが入ってても.swfの容量は増えないぜという話。

ステージに置くシンボルが一瞬見えるのが困るなら画面外でも全然おk
751Now_loading...774KB:2007/07/20(金) 20:52:50 ID:UM+xkJsS
>>748
チェックしてみたが、リンケージしてある画像はすべてオーサリング時に
配置済みだから、書き出しは不要のはず。

>>749
普通に動いてるよ。
752746:2007/07/20(金) 21:11:19 ID:lM3Elfia
>>747
レスありがとうございます。

けど、ダイナミックテキストなしで時計って作れるんですか?
753Now_loading...774KB:2007/07/20(金) 21:13:18 ID:UM+xkJsS
>>752
そうじゃなくて、フォントの指定がどうなってるのかをチェックする。
フォントを埋め込んでいるか、デバイスフォントかで違う。
754Now_loading...774KB:2007/07/20(金) 21:13:46 ID:sv/mzWcZ
>>750>>751
あれおかしいなあ?画像表示されない
試しに2フレーム目に置いたけど。。。
どうなってんの?
755709:2007/07/20(金) 21:16:13 ID:1tRRhrXL
>>750
(;´Д`)ダメでした。

>>751
(;´Д`)そうですか?私の環境ではダメです。
756Now_loading...774KB:2007/07/20(金) 21:25:53 ID:lM3Elfia
>>753
レスありがとうございます。

今のフォントは埋め込んでいると思います。

というのは、「アンチエイリアス(読みやすさ優先)」を選択しているからです。

ちなみに「デバイスフォント」や「ビットマップ」にしても結果は同じです。

あ、すみません、バージョンは8のbasic版です。
757Now_loading...774KB:2007/07/20(金) 21:31:44 ID:I3HBRY5h
>>756
それ埋め込んでるって言わないぞ。ちゃんとヘルプで調べろ。
758746:2007/07/20(金) 21:48:15 ID:lM3Elfia
>>757,753

あれこれしているうちに解決しました。

「デバイスフォント」以外はてっきり埋め込みと思っていました。

本当にありがとうございました。
759Now_loading...774KB:2007/07/20(金) 23:10:20 ID:1tRRhrXL
(;´Д`)なんとか出来ました。
>>750氏の言うように、シンボルを配置したらいけました。
しかし、グラフィックを一度ムービークリップに変換しないとダメでした。

全体の流れは。

1フレーム プレローダー
2フレーム プレローダーのループ
3フレーム シンボル置き場
4フレーム サムネアルバム

です。

なんせフラッシュ初心者だったもんで、数週間かかりましたw
みなさん本当に有り難う御座いました(^^)
760709:2007/07/20(金) 23:11:06 ID:1tRRhrXL
↑あ、名前入れ忘れた。
761Now_loading...774KB:2007/07/21(土) 07:12:14 ID:uDMov4OW
>>706にある、

function test( id:int ):Function {
 return function( e:Event ):void {
  trace( id );
 }
}

これって一体どういう処理をしてるの?
idを受け取る関数が呼ばれたときに、Eventを受け取る関数を代入してるのはわかるんだけど、

呼ばれる関数側でEventを受け取るのは絶対なのに、Eventが呼ばれる前にひとつ処理を通してる・・・
そもそもtestはEventを受け取ってないのに、なんでEventを返せるの???
しかもidは上書きされてるのに何故消されないのか・・・・

出来れば内部的な動きを詳しく教えて欲しいです。
あとこれってActionScript独特のもの?
762Now_loading...774KB:2007/07/21(土) 07:17:42 ID:5Pu+rZ7O
>>761
実行してみてないから解らんが、関数参照をtestの戻り値として渡しているんじゃないかな。
出来るとしてもおれは絶対やらないけどね。
763Now_loading...774KB:2007/07/21(土) 10:51:46 ID:1MS4o6C2
AS3で外部画像を読み込みさせようと思ってます。

var mc : MovieClip = new viewer();
//ライブラリからmc作成
var img_bmp : BitmapData = new BitmapData( 100 , 100 , true , 0xFFFFFFFF);
//ロード中bmp
var load_obj : Bitmap = new Bitmap( img_bmp );
//ロード中bmpオブジェクト作成
mc.addChild(load_obj);

var new_obj:Loader = new Loader();
new_obj.contentLoaderInfo.addEventListener( Event.COMPLETE, function (event){
mc.removeChild(load_obj);
mc.addChild(new_obj);});
//ロード中排除、外部画像追加

new_obj.load(new URLRequest(url));

これでロード中の画像(load_obj)から
読み完了ときに外部画像(new_obj)に切り替わるんですが、
これを外部リストから読み込んだ数だけ実行させようと
forで繰り返そうとすると、「どのmcかわかんないYO」と怒られます。。。

mc作成の時点でユニークな名前をつければ上手く行くと思うんですが
なんかいい方法ないでしょうか?
764Now_loading...774KB:2007/07/21(土) 15:37:12 ID:Zt7oo1de
>>761
クロージャ
765763:2007/07/21(土) 17:02:19 ID:1MS4o6C2
自己解決しますた。
addEventListenerでmcとload_objとnew_objを引数にして
他のファンクションに渡せばよかったんですね。。。
766Now_loading...774KB:2007/07/22(日) 08:25:23 ID:08PH2X2x
すみません、誰か教えてください。
AS2です。

TextFieldを動的に生成することには成功したのですが、
embedFontsをtrueにすると
表示されていた文字が表示されなくなりました。
他のプロパティは問題なさそうです。
何が原因でしょうか?

----ソース----
◆表示される
this.createTextField("my_txt", this.getNextHighestDepth(), 10, 10, 160, 120);
this.my_txt.text = "HELLO";

◆表示されない
this.createTextField("my_txt", this.getNextHighestDepth(), 10, 10, 160, 120);
this.my_txt.embedFonts = true;
this.my_txt.text = "HELLO";
767Now_loading...774KB:2007/07/22(日) 08:33:18 ID:hgEoA3UU
>>766
http://livedocs.adobe.com/flash/9.0_jp/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00002201.html
プロパティを変えたらこうなったけどどうして?ってのは勘弁してくれ
768Now_loading...774KB:2007/07/22(日) 20:05:35 ID:U+7eMnFK
>>766
ようするにフォントを埋め込みなさいって事
769Now_loading...774KB:2007/07/22(日) 23:05:00 ID:QyYGlGS7
Adobeのフォーラムにも書き込んだのですが、レスが付かなかったのでこちらで質問させてください。

Flash CS3
WinXP SP2
IE6 FlashPlayer9
actionscript3

一度読み込んだ外部swfファイルはunloadで消すことによって、
外部swfが消費していたメモリも解放してくれないのでしょうか?
私の勘違いかもしれませんが、もしスクリプトが間違っているなら
どなたか教えていただけないでしょうか?
よろしくお願いします。

タスクマネージャ→プロセスタブでメモリを監視していますが
flashplayer9r45_win_standalone_debug.exeの消費量はずっと51Mから変わりません。
img1.swfの中身はjpeg画像が1枚配置してあるのみでscript等はありません。

var imgLoader:Loader = new Loader();
imgLoader.load(new URLRequest("img1.swf"));
addChild(imgLoader);

imgLoader.addEventListener(MouseEvent.CLICK, doClick);

function doClick (ent:Event):void {
ent.target.removeEventListener(MouseEvent.CLICK, doClick);
ent.target.unload();
}
770Now_loading...774KB:2007/07/23(月) 00:14:45 ID:SPIGB9w8
>>769
メモリ解放はGCが行う。いつ行われるかはわかりません。
771769:2007/07/23(月) 01:33:09 ID:Nh3Soih8
>>770
そうでしたか、ありがとうございます。
772Now_loading...774KB:2007/07/23(月) 11:11:43 ID:n2Q3Vl1r
質問させてください
os winXP
Flash 8 です。

ムービークリップに
on (press) {
this.startDrag(false, -100, 200, 300, -200);


on (release, releaseOutside) {
this.stopDrag();
}
と書いて、ドラッグさせるようにしたのはいいんですが
ネストにした、ボタンなどが効かなくて困っています。
mcを入れ替えたり、Asをキャンセルして動作確認してみたところ
このAsの影響とわかりました

mcをドラッグし。その位置からまた動かすことができ、ネストにした
ボタン、mcを動作させるためにはどうしたらいいのでしょうか?
ぜひ、お教えください

構造は
01_mc ←ここに上のAsを書いています

02_mc 

01_btn

となっております。よろしくお願い致します
773Now_loading...774KB:2007/07/23(月) 11:22:10 ID:JXDAAJ7m
>772
ドラッグする範囲とボタン範囲を分ける
windowsのエクスプローラーが淵しかドラッグできないのと同じですね

移動できるメニューボックスと予想してるんだけど何作るの?
774Now_loading...774KB:2007/07/23(月) 11:31:47 ID:AEk51vve
すみません、質問があります。
アクションゲームを作ろうとしているのですが、ジャンプ中に上に壁があったり、下に地面がなかったりするときはhitTestを使って当たり判定をするのでしょうか?
775Now_loading...774KB:2007/07/23(月) 13:10:44 ID:SPIGB9w8
>>774
それでもできる。xy軸で位置判定しても出来る。
776Now_loading...774KB:2007/07/23(月) 13:25:33 ID:fd8Q+3Cb
>>774
通り抜けないように注意してくれ
777Now_loading...774KB:2007/07/23(月) 14:20:23 ID:AEk51vve
ありがとうございます。
言いわすれてましたが、SWF4でパブリッシュするため、hitTestは使えませんでした・・・。
そこでxy軸判定についてお聞きしたいのですが、例えば動かすキャラをjibun(10*10)とします。
そして地面をjimenとすると下のようになると思うのですが、わざわざ障害物(足場や地面など)があるたび書かなければいけないのでしょうか?

//ジャンプ後の落下
if(jibun.y - 5 > jimen.y) { //キャラのすぐ下に地面があれば
 stop(); //止まる処理
} else {
 jibun.y += 5; //落下処理
}
778Now_loading...774KB:2007/07/23(月) 14:27:22 ID:05fMi0je
>>772
ひょっとして地図のひと?

01_mcの親MCを作りその配下に01_mcと同じ大きさの透明MCを下のレイヤーに作成(シェイプでもいいし地図だったら地図でもいいし、
アルファを0にして01_mcにぴったり重ねる。)
親MC.01_mc 親MC.透明mc 、
01._mcに書いていたon (press) 〜を透明mc に移す。
01_mcに以下を記述
onClipEvent (enterFrame) {
this._x = _parent.透明mc._x;
this._y = _parent.透明mc._y;
}
以下同様だが、02_mcと01_btn はドラッグするわけじゃないので
親MC.01_mc.01_btn
親MC.01_mc.02_mc
のように01_mc直下に並列させればOK

透明mcはアルファを0にする必要ないかな(笑)、
まあ、作ってるものによる。
わかってると思うが数字から始まる名前と漢字の名前は便宜上。
779778:2007/07/23(月) 14:33:09 ID:05fMi0je
よく考えたら親MC作る必要ないな(^_^;)
単に下のレイヤーに作るだけでいい。
onが重ならないように作ればいいってだけのはなし。
780Now_loading...774KB:2007/07/23(月) 15:15:47 ID:n2Q3Vl1r
>>778
レスどうもありがとうございます
透明mcを新しく作って、それをドラッグさせ
移動した分の_x、_yを01_mcに反映させるって考え方でいいのでしょうか?

ちょっとやってみます
781Now_loading...774KB:2007/07/23(月) 15:46:38 ID:n2Q3Vl1r
>>778
無事動かし、ボタンも完動させることができました
迷路に入っていたので、けっこう完動しました
本当にありがとうございます。

782Now_loading...774KB:2007/07/23(月) 18:20:35 ID:3y5mPE+7
_root.MC1._x = 50;
_root.MC2._x = _root.MC1._x + _root.MC1._width + 10;
_root.MC3._x = _root.MC2._x + _root.MC2._width + 10;
.
.
.
↑こういう感じの連番MCを手前のMCの座標を元に配置するようまとめて指定する方法はありませんか
783Now_loading...774KB:2007/07/23(月) 19:04:18 ID:fd8Q+3Cb
>>777
基本はそんな感じですが、そのあたりの説明をちゃんと
するとかなり複雑なことになり始めます。
左右に移動しつつであれば、右下、左下の位置を調べないとだめとか。

本屋にいくとアクションゲームの作り方、みたいな本が並んでいるので
そういったものを参考にするとよいかと。
784Now_loading...774KB:2007/07/23(月) 19:09:52 ID:SPIGB9w8
>>782
手前ってよくわからんが、
MC最大のx位置から減算して配置すればいいのでは?
785Now_loading...774KB:2007/07/23(月) 19:48:06 ID:BvAQeppL
>>782
for (var i=2; i<=3; i++) {
  var PrevTarget = _root["MC"+(i-1)];
  _root["MC"+i]._x = PrevTarget._x + PrevTarget._width + 10;
}
786Now_loading...774KB:2007/07/24(火) 00:06:49 ID:jVrlw9lY
教えて下さい。BGMとキャラクターの声が入ったゲームを作ってます。
BGMはずっと鳴りっぱなしでいいんですが、キャラの声にstopをかけると
何故かBGMまで止まってしまいます。どこが悪いのでしょうか?

//入れ物を作って、
_global.bgm = new Sound(this);
_global.voice = new Sound(this);

//BGMを鳴らして、
_global.bgm.attachSound("bgm1");
_global.bgm.start(2, 999);

//マウスをクリックしてる間だけ声を出し続けます。
on (press) {
_global.voice.attachSound("aegi1");
_global.voice.start(0, 999);
}

//マウスを離すと声をストップ。

on (release, dragOut) {
_global.voice.stop();
}

↑ここで何故かBGMまで止まってしまうんです…。





787Now_loading...774KB:2007/07/24(火) 00:32:41 ID:SXGodClU
>>786
Soundクラスについて読めば書いてある。

サウンドの管理はMCごとなんで、同じタイムラインに適用したサウンドは
どれかを操作すれば他のすべてにその結果が及ぶ。
この場合は、どっちもthisにわりあててるから、別々の操作ができない。
BGMとVOICEは別々のMCにわりあてればよい。
788786:2007/07/24(火) 01:08:24 ID:B1/myDIX
>>787
わかりました。どうもありがとうございます!!
789Now_loading...774KB:2007/07/24(火) 06:23:44 ID:U/7LNWUF
AS3.0でもそうなのかな。なんかmixerとかあるけど自由に出来るようになったのかな。
790Now_loading...774KB:2007/07/24(火) 14:01:12 ID:sS0NC8iK
Webページで使うflvPlayerを作っていて、タイムラインのマウスイベント操作でわからなくなりました。


Action script3でタイムバーの時間調整つまみをドラッグして、flash領域外に持っていったとき
mouseEventが取れなくなります。
当然といえば当然なのですが。


Youtubeのplayerはflash領域外にドラッグ状態のマウスを持って行って
マウスを放すと、マウスを放したというイベントを取得しているようです。
Flash領域外でもマウスを放した事がわかるようにするにはどうすればいいのでしょうか?


もしかしてJavascriptと連携してイベントを取る必要があるのでしょうか?
ご存じの型がいましたらreturnお願いします。
791Now_loading...774KB:2007/07/24(火) 16:24:29 ID:NPRXmAVB
>> 790

onReleaseOutside
792Now_loading...774KB:2007/07/24(火) 16:28:00 ID:NPRXmAVB
うほっ、アンカーミス。

onPressで座標保持して、onReleaseOutsideで戻してあげればいいはず。
793Now_loading...774KB:2007/07/24(火) 17:34:47 ID:EFudiQNe
>>783
そうですね、書籍を探して参考にするのも手ですね。
わざわざありがとうございました。
794Now_loading...774KB:2007/07/24(火) 18:04:17 ID:UPeo9FEc
結構重いswfに、プリロードするスクリプトを入れたいと思い、
いろいろなスクリプトをためしているのですが、
読み込むとまず、空白表示で
ちょっと時間が経過してプリローダが一瞬しか表示されず、
すぐ後のムービーが始まってしまいます。

素人発言で申し訳ありませんが、解決方法などあれば
教えていただきたいと思います。
よろしくお願いいたします。
795Now_loading...774KB:2007/07/24(火) 18:15:15 ID:nRff+dRo
>>794
シンボルのリンケージ設定で「最初のフレームに書き出し」がついてるからだと推測。
796Now_loading...774KB:2007/07/24(火) 18:18:53 ID:wlG0335+
>>794
プリローダはダウンロードのシュミレーション機能でチェックする。
>>709からの質問とレスも参照してくれ。
797794:2007/07/24(火) 18:45:46 ID:UPeo9FEc
うわっ解消しました!
ちょっと前のログも確認してない自分は、あほですた。
シンボルのリンケージでした!
いつ自分でつけたのかも不明orz
ご丁寧に回答いただきありがとうございました。感謝感謝でございます。
798Now_loading...774KB:2007/07/25(水) 08:42:56 ID:+lfp7ycx
教えて欲しいんですが

ボタンをon (release)して、ボタン横に"窓_MC"を出したい時に
attachMovie で出す場合と"窓_MC”のタイムラインに
visible、falseの2フレーム作り、表示、非表示させている場合では
処理的な負荷はかなり変わるものでしょうか?

799Now_loading...774KB:2007/07/25(水) 08:54:43 ID:haBLnSSr
>>792
onReleaseOutsideで検索してみたらas2のやり方だったようで、onReleaseOutsideをas3で実装する方法を探した結果

stageに対してイベントリスナーを登録したら画面全体からマウスイベントを取得できるようになりました。
stage.addEventListener(MouseEvent.MOUSE_UP,mouseUpHandler);

as自体経験不足だったので大変助かりました。ありがとうございます!
800Now_loading...774KB:2007/07/25(水) 09:16:59 ID:qcIihOAB
>798
2000個のMCをattachする時間と
それをfalseした状態にしておいて
trueにした時間を計ると
断然visibleのが早い
801Now_loading...774KB:2007/07/25(水) 23:43:13 ID:3LaaRb0C
ttp://www.geocities.jp/hirameki_07/participants.html

ここの参加者紹介のFLASH部分に関して質問です。

この参加者の紹介枠ってDBかテキストからの自動生成だと勝手に思っているのですが、
もとから縦のサイズが決まっていれば、限界値の計算してこのように動的に配置することも可能だと思います。

ですけど、FLASHでラベル(コメントの部分)の文字が伸びればそのまま背景も伸び、
MC全体が伸びるというような、HTMLのボックスみたいなものを作ることって簡単に出来るものなんですか?

文字数の計算とかして手動でMCの長さ変えてるのかな〜とか思ってるんですが、
もっと簡単にできるものであるなら教えてもらえないでしょうか
802Now_loading...774KB:2007/07/26(木) 01:06:30 ID:8TtMnnih
>>801
heightでテキストフィールドの高さが取得できる
背景は9スライスにしとけばおk
803Now_loading...774KB:2007/07/26(木) 11:44:59 ID:BpsQvjmF
actionscript3を使用してブラウザ上に表示されているflash player(自分自身)を終了または初期化することは出来ないでしょうか?
flash playerでのメモリの解放はガベージコレクションが行うとのことですが、
いっそのことflash playerが終了してしまってもかまわない(ブラウザを閉じることなく)ので
メモリの解放をしたいのですが出来なくて悩んでいます。
よろしくお願いします。
804Now_loading...774KB:2007/07/26(木) 12:00:42 ID:J6h5ZcTZ
>>803
解放しないと何か不具合があるの?
805803:2007/07/26(木) 12:14:18 ID:BpsQvjmF
>>804
一時的にメモリを500M(時間差で100Mを5つ)ほど使用するswfを読み込ませたいのですが、
そのswfをunloadしてもメモリが解放されないと環境によっては非常に動作が重くなってしまうので困っています。
申し訳ありませんがswfのメモリ使用量を見直す方向は無しでお願いします。
806Now_loading...774KB:2007/07/26(木) 12:25:29 ID:J6h5ZcTZ
>>805
swfが終了されれば当然メモリは解放されるわけで、
それはOSの処理で、SWFでどうこうできる問題ではないのでは?
swf実行中なら、確実に参照を外してGC対象にするとか。

swfのメモリ使用量の見直しというか設計から見直した方が良い。
807803:2007/07/26(木) 12:43:07 ID:BpsQvjmF
>>806
やはり、ブラウザを閉じる等の動作をさせないと無理なんですね。
ご指摘通り設計から見直してみたいと思います。
ありがとうございました。
808Now_loading...774KB:2007/07/26(木) 12:45:50 ID:4EHB3oPQ
ていうか、勝手にplayerが終了したりブラウザ閉じたりされたら、
一般人はウイルスかと思ってびびるし、激しく不愉快と思われる。
809Now_loading...774KB:2007/07/26(木) 13:40:27 ID:6a6FCtGw
別々のHTMLでSWFを埋め込んどいて、
getURLで、次へ遷移すればいいんでは?
810Now_loading...774KB:2007/07/26(木) 13:47:08 ID:CcI3UnQY
スクリプト使わなくても済む垂れ流しコンテンツだったら
帯域制限調整したflvにまとめてたれ流せるよ。
811803:2007/07/26(木) 14:15:52 ID:BpsQvjmF
>>808
解決策が見つからないので迷走してます・・・
出来るだけ不快感を与えないような設計にしたいと思います。

>>809
メイン用のswfを張るhtmlと一時的に読み込むswfを張るhtmlの
2つのhtmlを用意する方法でメモリの解放を当初考えていたのですが
scriptを使って綺麗に解決する方法はないかとこちらで質問させてもらいました。
最後の手段として確保してある状態です。

>>810
flvのことはよくわからないのですが、垂れ流しコンテンツではないです。
812Now_loading...774KB:2007/07/26(木) 16:32:48 ID:6a6FCtGw
>>811
http://weblogs.macromedia.com/akamijo/archives/2007/05/flash_player_9_7.cfm
Flash Player のガーベジコレクタは控えめちゃん、ということで。

Directorでオーサリングしてた時は、メモリ解放出来たんですけどねぇ。
813Now_loading...774KB:2007/07/26(木) 17:17:23 ID:ITWyl0wM
ASファイルの中身を外部プログラムから動的に書き換えることって可能でしょうか?
814Now_loading...774KB:2007/07/26(木) 17:23:44 ID:7XFv8N3B
>813
ASファイルってただのテキストだからCGIでも出来るっしょ
ASファイルいじるって事は、サーバでリクエストに応じて
swf吐き出すんかな?
詳しい方どうぞw
815Now_loading...774KB:2007/07/26(木) 17:25:12 ID:J6h5ZcTZ
>>813
動的と言うことはswfを書き換えることなので無理
816Now_loading...774KB:2007/07/26(木) 17:42:44 ID:7XFv8N3B
変数をxmlやtxtで読み込むswfなら
どうにでもなるけどね
ファイル名とかMCのプロパティ値とか
817Now_loading...774KB:2007/07/26(木) 17:52:28 ID:J6h5ZcTZ
>>816
それって、何も書き換えてないじゃんw
818Now_loading...774KB:2007/07/26(木) 18:13:07 ID:WkfrAgJT
サーバースクリプトでswf作成するってことだろ?
PHPでMing使えばいいよ
819Now_loading...774KB:2007/07/26(木) 18:15:17 ID:J6h5ZcTZ
>>818
それはスタティックを新たに作成するわけで、動的にではないのでは?
820Now_loading...774KB:2007/07/26(木) 18:16:36 ID:7XFv8N3B
>817
txt書き換えてるだろ!swfとAS(テキスト)勘違い乙
821Now_loading...774KB:2007/07/26(木) 18:26:41 ID:J6h5ZcTZ
>>820
いや、動的って普通swf起動してる状態でなんだと思ってたよ。すまんすまん。
822Now_loading...774KB:2007/07/26(木) 18:29:39 ID:J6h5ZcTZ
ああ、ちなみに読み込むテキスト書き換えてもプログラムは書き換わってないからなw
823Now_loading...774KB:2007/07/26(木) 23:03:20 ID:UEEaNcUp
別に読み込むテキスト書き換えてプログラムを動的に書き変えることも出来るよ
Flexだけどね
824Now_loading...774KB:2007/07/26(木) 23:08:10 ID:7XFv8N3B
どこまで動的とやらに期待してるかだが
何がしたいんだろう?
825Now_loading...774KB:2007/07/26(木) 23:09:09 ID:0ELOnhb4
テキスト変えただけでなんでプログラムが書き換わるんだ?
826Now_loading...774KB:2007/07/26(木) 23:09:33 ID:J6h5ZcTZ
>>823
Flexでもできないとおもうが
827Now_loading...774KB:2007/07/26(木) 23:17:57 ID:7XFv8N3B
flexサーバーでswfをコンパイル出来る

やべ、ここ馬鹿ばっかりだわwwwww
大人しくしてます
828Now_loading...774KB:2007/07/26(木) 23:20:19 ID:J6h5ZcTZ
>>827
だからさ、コンパイルじゃなくて動的にっていってるのがわからんのかw
829Now_loading...774KB:2007/07/26(木) 23:38:41 ID:7XFv8N3B
動的ってなに?
830Now_loading...774KB:2007/07/26(木) 23:42:41 ID:J6h5ZcTZ
id判別してスクロールもできねーのかよw
831Now_loading...774KB:2007/07/26(木) 23:51:32 ID:LOQElJKT
結論。
>>813が、適当に「動的」とか書くのが悪い。
832Now_loading...774KB:2007/07/26(木) 23:57:16 ID:rj+iJ0Ez
ダイナミックに って書けば良い。
833Now_loading...774KB:2007/07/27(金) 00:00:07 ID:JV+jhmZk
>828
ASを動的に生成して、flexでコンパイルして表示するのは
動的って言わないの?具体的にどうやるかしらないけどね
834Now_loading...774KB:2007/07/27(金) 00:01:09 ID:JV+jhmZk
>833 flexサーバな
835Now_loading...774KB:2007/07/27(金) 01:40:18 ID:1MAYF6xm
何らかのアプリでテキストファイルを編集するって意味だろ
それにしても動的って何だ?
836Now_loading...774KB:2007/07/27(金) 12:23:27 ID:Sew+xQ8z
AS2のときにあったクエリストリング(test.swf?id=8みたいなの)を取得するのを
3.0でしたいんだけどヘルプ見ても見つからない・・・

_root.id とか stage.id とか

var rootMC:MovieClip = this.root as MovieClip;
txt.text = rootMC.id

みたいなのを試してみたんだけどエラーがorz おしえてもらえないでしょうか
837Now_loading...774KB:2007/07/27(金) 12:51:21 ID:arRm9L0Q
FLASH8を使ってます。
yahoo financeなどのページから、株価の数値だけを取り込むにはどのようにすれば良いのでしょうか。
838Now_loading...774KB:2007/07/27(金) 14:28:19 ID:2Chmb8+A
お邪魔いたします
1フレーム目に
var nMaxScale = 240;
var nMinScale = 100;

function xZoom(nZoomVal) {
nNextZoom = 01_mc._xscale+nZoomVal;
01_mc._xscale = 01_mc._yscale=Math.max(Math.min(nNextZoom, nMaxScale), nMinScale);
}
拡大ボタンに
_root.xZoom(50);

というコードで拡大対象を01.mcと02.mcにする場合
どのように書き加えればいいのでしょうか?


839Now_loading...774KB:2007/07/27(金) 14:30:56 ID:JV+jhmZk
>838
_root.xZoom(01_mc,50);
function xZoom(mc,nZoomVal) {
nNextZoom = mc._xscale+nZoomVal;
840Now_loading...774KB:2007/07/27(金) 15:50:39 ID:q7aQH5VW
>>836
flash.display.LoaderInfoのparameters

詳しくは読んでない
841Now_loading...774KB:2007/07/27(金) 22:22:04 ID:wzN/i2do
質問させてください、先生方。

Macromedia flash8 BASICを使用しています。
ActionScriptでダイナミックテキスト内の文字を縦書き表示
にしたいのですが、無理でしょうか?
静止テキストだと「テキストの方向を変更」でできるのですが。

ダイナミックテキストの方向を90°倒して、「@MS ゴシック」の
ように先頭に@付けたらいけないかな・・・と試しても無理っぽく
て困っています。

(´;ω;`)助けて・・・
842Now_loading...774KB:2007/07/27(金) 22:23:05 ID:S2MtGFSc
西洋の製品や規格は東洋に優しくないからな。
843Now_loading...774KB:2007/07/28(土) 00:02:00 ID:6WowSmrC
AS2.0でloadMovieなどで、別ドメインのswf読込みは可能ですか?
共有動画を読み込みたいのですが・・・
844Now_loading...774KB:2007/07/28(土) 00:38:40 ID:03uI+748
どなたかご存知の方ご教授願います。
仮にA.swfとB.swfがあるとして、
A.swfにB.swfをloadClip等で外部読み込みしたあと、
A.swf上で、B.swf内でリンケージしたデータにアクセスするにはどうしたらよいでしょう。
外部読み込み先のリンケージデータへのパスがうまくいっていないようでundefinedになってしまいます。
845Now_loading...774KB:2007/07/28(土) 00:45:43 ID:BQIm6I4O
>>844
具体的にどうかいてるの?
B.swfで_root〜って書き方してたら_lockrootする。
846844:2007/07/28(土) 01:11:12 ID:03uI+748
すみません、自己解決しました。参考までに。
【A.swf】
[B.swfまでのパス].bgm_sound.stop();
【B.swf】
this.createEmptyMovieClip("mc",1); ←適当なmc作成
var bgm:Sound = new Sound(mc); ←mcに割り当て
bgm_sound.attachSound("bgm.mp3");
bgm.start();
847Now_loading...774KB:2007/07/28(土) 02:10:30 ID:jR6P7T04
n  X  Y
1  814 175
2  725 262
3  676 86
4  629 75
5  643 361
6  720 233
7  733 89



といった感じで,座標(X,Y)があるときに,
a. 1からnまで順に点が移動して,
b. かつ,点の移動の軌跡が線で残る

ようにするためには,どのような関数を組み合わせるのがベストでしょうか?
ベクトル関数でよいでしょうか?
(Flash 8使用)
848Now_loading...774KB:2007/07/28(土) 02:36:54 ID:PbLMr+pG
>>847
ベクトル関数ってよくわからんが、描画メソッドのlineToとかでいんじゃないかな。
849Now_loading...774KB:2007/07/28(土) 02:55:38 ID:2tRAwU+7
Flexで、埋め込みでないフォントを回転させても消えないようにしたくて
ビットマップに転写するコンポーネントを自作したんですが
(お世辞にも綺麗ではない)
・・・これって、フォントの著作権とかにはひっかかりませんよね?
850Now_loading...774KB:2007/07/28(土) 03:07:56 ID:rgF5Rg3T
著作権って言葉の意味は脇に置いておくとして、
加工したから権利には引っかからないというものではない。
そのフォントをどのように扱っていいのかによる。

例えば、

たぶん。
851Now_loading...774KB:2007/07/28(土) 05:13:14 ID:KWUJuqOh
>>849
ライセンス次第。
埋め込みどころかデジタルコンテンツへの利用からして制限しているフォントもある。
852Now_loading...774KB:2007/07/28(土) 08:53:42 ID:oVLtX0Pj
自分自身が置かれているurlを知ることはできますか?
Javaでいう、getCodeBase()のような。
853Now_loading...774KB:2007/07/28(土) 09:01:33 ID:oVLtX0Pj

_root._urlがAC3.0で使えないので困っています。
854Now_loading...774KB:2007/07/28(土) 09:09:29 ID:PbLMr+pG
trace(loaderInfo.loaderURL);
855Now_loading...774KB:2007/07/28(土) 10:40:55 ID:9n8pL51I
オールフラッシュのページ等でメニューボタンを押すと、コンテンツの場所への移動が
始まりイーズイン・終わりイーズアウトのような動きをするタイプはどのように作られているのでしょうか?
random程度しか使った事ありませんが、やはりMathを使っての計算式ですか?
856Now_loading...774KB:2007/07/28(土) 10:55:34 ID:PbLMr+pG
>>855
あなたのコンテンツは解らないので、多分そうだろとしか答えられん。
857Now_loading...774KB:2007/07/28(土) 11:15:54 ID:uN0SauPY
>>855
インタラクティブなアクションをコンテンツにインクルードしたいのなら
ミニマムなインテリジェンスとマキシマムなアクションで対処するしか無いだろうがこの・・・ええと



冗談はさておいて、要はヌルっとした動きを再現したいんだよな?
じゃあ pi とか sin とかでフレーム毎に円を描く感じの奴つくって
その x だか y だかのみを使えばいいんじゃね?

あてずっぽうだからあってるか分かんないけど。
858Now_loading...774KB:2007/07/28(土) 11:41:18 ID:wWhqsgmY
何かあるたびに作り手の見せたい演出があり、
それが終わるまで待たされる閲覧者がイラつくというありがちなFlashコンテンツを作ろうとしていますか?
859Now_loading...774KB:2007/07/28(土) 11:48:59 ID:8daDxGuo
読み込み待ちの演出はかまわないけど
いまじゃ演出のために読み込みまちだからなw
860Now_loading...774KB:2007/07/28(土) 11:55:34 ID:aE3VBp2d
先日からFlash始めたばかりで、ものすごく基本的なことで悩んでいます。
画像を表示するFlashを制作し、更新時にFlashを使わなくても更新できる
ように、画像の呼び出しは同ディレクトリに設置したテキストファイル
から変数として画像名を取り出しています。

filename.txtの中身
photo=p0001.jpg&info=画像の説明

これをloadVariablesで読み出し、
img.loadMovie(photo);
として呼び出しをやってみても呼び込まれません。
img.loadMovie("p0001.jpg");
だと読み込まれます。
テキストファイルから取得したinfo変数の中身はダイナミックテキストで
所定の位置に表示されています。photo変数も同様にダイナミックテキスト
で表示できています。
loadMovieで変数を読み出すにはどうすればいいんでしょうか?
ちなみにphotoをtraceすると、中身は_level0.で型はObjectになっています。








861860:2007/07/28(土) 11:56:54 ID:aE3VBp2d
書き忘れてました。
環境はFlashMX2004です。
用意したjpgファイルはプログレッシブではありません。
862855:2007/07/28(土) 12:06:03 ID:9n8pL51I
>>856-857
レスありがとうございます、857さんのpi、sinについてまた調べてみます
理想的な動きはauのLISMO!の以前のキャンペーンページみたいのだったのですが
もうflashがリニューアルされてて見れなくなってますね;

モーショントゥイーンで簡単なの作ってみました、moveボタンで横に動きます
ttp://swfup.info/view.php/7409.swf
わかりずらいかもしれませんが、こうした_xの移動の動きをスクリプトで動かしたいのです
863Now_loading...774KB:2007/07/28(土) 12:07:40 ID:PbLMr+pG
>>861
URLエンコードって.(ドット)使えたっけ
864Now_loading...774KB:2007/07/28(土) 12:11:29 ID:PbLMr+pG
>>862
モーショントゥイーンでできるのならそれでいいのではないかな。
ASだとMatrixクラスのグラデーションとか使わないとだし。
865860:2007/07/28(土) 12:14:19 ID:aE3VBp2d
>>863
テキストデータにp0001を入れてloadMovie(photo+".jpg");は試しましたが
ダメでした。
866855:2007/07/28(土) 12:17:52 ID:9n8pL51I
>>862
一応グラデーションは動く見た目を分かり易くする為なので特に関係ありません;
実際動かすのは、テキストや画像を内包した横長のムービークリップですね
867Now_loading...774KB:2007/07/28(土) 12:20:36 ID:PbLMr+pG
>>865
たぶん読み込まれる前にとかいう話だと思うが、loadMovieする直前にphotoの内容を
traceしてみれば?
Flashのバージョンがわからんが、LoadVarsを使えればそっちを使った方が良いよ
868Now_loading...774KB:2007/07/28(土) 12:24:04 ID:PbLMr+pG
>>866
動かすだけならonEnterFrameでMC._x ++;とかやればいいのでは?
単純な矩形を作ってonEnterFrameでの処理を試してみるとよく解るよ。
869860:2007/07/28(土) 13:03:44 ID:aE3VBp2d
>>867
LoadVarsは試しましたが同じ結果でした。
traceはloadMovieの前後に入れてあります。返す値は同じものでした。
バージョンはFlashMX2004(AS2.0)です。
昨日からFlashを始めて、シンボルとか基本的なことを覚えながらASに着手
しましたが、Perlなどとはずいぶん勝手が違うので戸惑っています…。
週明けにまた会社で苦悩するのかと思うと、なんとかして休日中に解決策を
見つけたいと思います。

ちなみobject.toStringで無理やり型を文字列にしたところ、中に入っていた
文字列は Object でした。しかし、ダイナミックテキストで中身を表示さ
せるとファイル名が出てきます。




870Now_loading...774KB:2007/07/28(土) 13:10:47 ID:PbLMr+pG
>>869
やりたいことは、テキストファイルからjpgのファイル名と説明のURLエンコード型式の
テキストを読み込み、そのjpgをMCに表示し、テキストとして説明を表示する。で、いいのかな。
Flashのヘルプにはサンプルがあると思うけどそれを試してみた?
871860:2007/07/28(土) 13:19:42 ID:aE3VBp2d
>>870
やりたいことはまさにその通りです。
Flashのヘルプはあまりにも読みづらかった(探しづらい)のでGoogle検索
しかやっていませんでした。
インストールしてあるマシンが会社なので、いまヘルプを参照することが
できません…。AS辞典などの書籍は3冊読み漁りましたが、サンプルには
ファイル名が直のものしかありませんでした。

872Now_loading...774KB:2007/07/28(土) 13:25:48 ID:PbLMr+pG
>>871
サンプルは"flash loadvars"などとしてググればいくらでもありますから参考にしましょう。
873名無しさん@そうだ選挙に行こう:2007/07/29(日) 02:02:17 ID:Ck7Pf/HG
flash使って外部データ(DB)とやりとりするコンテンツを作っていて、
そのDBを参照する際はXMLベースにデータを落としてから、ASからロードしている形式なのですが、
そのXMLが、当たり前ですがWebから丸見えなんです。

なんかこういうサーバサイド的なデータをやりとりするflashを作る際は、
元データのxmlとかtxtの扱いってどうやって丸見えを防止してるんでしょうか?

httpサーバからのアクセス制御ぐらいしか思いつかないんですが・・・。
(といってもrefere元見るとかぐらいですが)
874名無しさん@そうだ選挙に行こう:2007/07/29(日) 03:13:55 ID:4CioD10v
>>873
スレ違いな気もするが。。。
Flash がどっからでも見れる必要があるなら、それは防止できない
するとしたら、書いてるとおりサーバ側で遮断するしかない
リファラで切るってのもひとつだけど
DB 見てるってことは、サーバ側にもプログラムがあるはずだから
flash 内にパスワードを投げるようにしといて
(LoadVars とかで POST に設定しとく)
プログラムでチェックして出し分けするとか
通信内容見れば一発だし、完全に隠すことは出来ないけど
アドレス直打ちで表示されることはなくなる
875名無しさん@そうだ選挙に行こう:2007/07/29(日) 06:04:02 ID:jkwbagUw
>>873
xmlテキストでなくFlashからphpを呼んでDBアクセスすればいんじゃね
876回胴人:2007/07/29(日) 07:48:36 ID:KlCb3iE6
携帯の待ち受け用のアナログ時計をつくりたいのですが、色々なサイトに載ってるスクリプトでやってみたんですがうまくいきません。
どなたか教えていただけないでしょうか。
FLASH Pro 8 使用しております。

レイヤー1 背景
レイヤー2 針(長針、短針、秒針) インスタンス名 long,short,second
レイヤー3 ダイナミックテキストボックス(日付) 変数today
レーヤー4 フレーム1 fscommand2("FullScreen", true);
fscommand2( "SetQuality", "high" )

d = fscommand2("GetDateDay");
day = fscommand2("GetDateWeekday");
hr = fscommand2("GetTimeHours");
mn = fscommand2("GetTimeMinutes");
sc = fscommand2("GetTimeSeconds");

short._rotation = hr*30+mn*0.5;
long._rotation = mn*6+sc*0.1;
second._rotation = sc*6;
today=d;
レイヤー4 フレーム2 gotoAndPlay(1);
これでやってみたのですが、うまくいきません。
よろしくお願いします。
877名無しさん@そうだ選挙に行こう:2007/07/29(日) 08:13:35 ID:jkwbagUw
>>876
どううまくいかないかを書かないと解らん。
fscommand2の所をdateオブジェクトにしてswfでは動くのか?
パブリッシュはその携帯が対応してるバージョンにしてるのか?
878873:2007/07/29(日) 10:44:54 ID:Ck7Pf/HG
>>874
なるほど、パスの発行も一つの手ですね。
ただ、毎回入れるのも大変になりそうです(cookieで回避?)

>>875
なるほど、cgi直のリクエストでその中で認証させてやるのも手ですね。

いずれにせよそういう方法くらいになるんですかね。
なんかflashってビジュアル的は抜群なんだけど、
DBとの直の呼び出しとかできなく、関数も乏しく、
AS的駆使して動的コンテンツ作ろうと思ったらかなり不便というか、
まだちゃんと確立された技術じゃないって感じですね・・・。

答えてくださった方ありがとうございました。
板違いかもなので、解決しなければflashのスレ?でも聞いてみたいと思います。
(マルチになるかもですみません)
879名無しさん@そうだ選挙に行こう:2007/07/29(日) 17:59:28 ID:jkwbagUw
>>878
つか、確立されてて、あなたが知らないだけなのだが。
880Now_loading...774KB:2007/07/30(月) 10:01:40 ID:Lt9SFHIj
全画面表示を、マウスでボタンをクリックしたときに終了させたいと思います。
Escキーを押せば全画面表示が終了するので、マウスでボタンをクリックしたらEscキーを押したことにするようにしたいのですが
Escキーを押したことにする部分のやり方がわかりません。

調べてもキーイベントの事ばっかり出てきてショボン
どなたか教えてください。お願いします。
881回胴人:2007/07/30(月) 10:28:30 ID:xhifxSIX
>>876ですが、説明不足ですいません。
>>877さんさっそくの回答ありがとうございます。
参考にしたサイトは、
ttp://www.geocities.jp/flashiroha/mobile/mobile10.html
です。
パブリッシュした際に、以下のエラーが出てしまいます。
FTPS030: FSCommand2 FullScreen コマンドはエミュレータでサポートされていません。デバイス上でテストしてください。
次のコンテンツに問題があります : 5 〜 SWF データ内の ActionScript が無効です。
携帯の機種は、AUのW43Sなんですが。時計以外の待ち受けFLASH等は、FlashLite1.1で作成して問題なく再生されます。
どなたか解決方法解る方よろしくお願いします。
作りかけの".fla"ファイルは以下のページにUPしてみました。
ttp://www.geocities.jp/yamatokyousouren/down.html
882Now_loading...774KB:2007/07/30(月) 12:30:26 ID:PXNL+8Ve
mcのActionScriptから、rootにあるmcを指定する場合、
AS2.0だと  _root.mc名  で指定できましたが、
AS3.0では何と記述すればよいんでしょう???

当方WinXP FlashCS3です。
どなたかお願いします。
883Now_loading...774KB:2007/07/30(月) 14:32:10 ID:Yy1SYI9G
>>882
場所にもよるけど
(root as MovieClip).mc名
かな?
今までのに慣れてるんだったら最初に
var _root:MovieClip = root as MovieClip
と書いといて、あとは_root.mc名でもいいんじゃね?
884Now_loading...774KB:2007/07/30(月) 15:23:28 ID:o7onti6w
flash8ってobjectDumperってimportできますか?
ググったらmx2004とかの文献ばかりでわかりませんでした。

あとimport宣言してもきちんと取り込まれているか、
確認する方法ってありますか?
プレビューで確認しても何のメッセージも表示されないから困っています。
885Now_loading...774KB:2007/07/30(月) 22:37:03 ID:pcJPR8uw
>>884
flash8のヘルプでobjectDumperを検索してhitしなければ無いのでしょう。
importされているかはnewすればすぐ解るのでは?
886Now_loading...774KB:2007/08/01(水) 00:50:23 ID:/UlVgJo7
>>862

もう見てないかもだが、Easingに関しては結構ソース浮いてるはず。
デフォルトでもパッケージあった気がする。
『ActionScript TweenかEasing』でぐぐってみれ。

で、クラス自作したいとかなら話は別。
ざっと考えると、
1.上で誰か言ってたsinのx値やらy値やら。
2.対数グラフでの近似。最後は丸める。
3.二次曲線。
4.現在地から目的の座標までの3分の1までの距離ずつ進ませる。もちろん分母を引数として渡せるようにしておく。最後は丸める。
とかまぁアイディア次第でやりようはいくらでもあるし、それぞれ挙動も違いがある。

他人のソース使うなら、中身読んでどういう計算してるか理解するしてから使う癖つけとくと上達早いし、身にもなりやすいと思うぞ。
ただ、他人の書いたソース読むのは苦痛だってことだけは肝に銘じて、がんがれ。
禿げそうになったら翌日に回すんだぜ?
887Now_loading...774KB:2007/08/01(水) 08:05:19 ID:+6Hc+6Iq
AS2.0から1.0に移行しようと思っているのですが、
その際に1.0で使いやすい書籍はありますでしょうか?
888Now_loading...774KB:2007/08/01(水) 11:32:10 ID:7bfSy2aa
ttp://www.finalfantasyxii.com/
こちらにありますメニューバーのようにマウスが触れると拡大縮小するようなASは
どのように組んだらよいでしょうか?
一つのステージを作り、ASで処理するという事はなんとなく分かるのですが、
今までボタンは単体でしか作った事しかないので混乱しております。
環境はXP、MX2004です。よろしくお願いします。
889Now_loading...774KB:2007/08/01(水) 17:15:06 ID:IvDaMNgM
AS2.0ですが、
BtnTestクラスを定義するとして、
そのクラスのコンストラクタでBtnMCというMCのonReleaseイベントに
同クラス内に定義してあるPressFuncという関数の参照を設定したとします。
PressFunc関数での処理は、BtnTestのメンバ変数を変更しようとするのですが、
実際動かしてみるとPressFunc内でのthisは自分の関数を指すようで、
BtnTestクラスにアクセスできません。

PressFuncからBtnTestにアクセスする方法としては
onRelease = function(){〜みたいな匿名関数や、
_root.cBtnTest.TestVar = 1;みたいにタイムライン上のインスタンス変数へ直接指定、
またグローバル変数にクラスの参照を設定してそれを使う、
など方法は色々あるでしょうが、他に簡単な、
できるだけクラス定義内で解決できる方法はないでしょうか?
こういう場合は大抵こうする、みたいなセオリー的なものでもいいのですが。

class BtnTest{

 public var TestVar:Number = 0;
 public var BtnMC:MovieClip;
〜略
 function BtnTest{
  BtnMC.onRelease = PressFunc;
 };

 function PressFunc(){
  this.TestVar = 1; //←このthisはPressFuncを指す
  trace(this.TestVar);//undefinedが返る
 };
}
890Now_loading...774KB:2007/08/01(水) 17:50:03 ID:rTolCQoF
>>889
mxパッケージが使える環境なら、
mx.utils.Delegateクラス使って委譲しちゃえば?
891Now_loading...774KB:2007/08/01(水) 18:37:26 ID:IvDaMNgM
>>890
おお、以下のように変えただけで、無事PressFunc関数内のthisが
呼び出し元クラスを指すようになりました。
ソース的にも変更箇所が少なくて良いですね。
ありがとうございました。

import mx.utils.Delegate;//←新規インポート
class BtnTest{

〜略
 function BtnTest{
  BtnMC.onRelease = Delegate.create(this, PressFunc);//←変えた場所
 };

 function PressFunc(){
  this.TestVar = 1; //←このthisはBtnTestを指すように
  trace(this.TestVar);//1を表示
 };
}
892Now_loading...774KB:2007/08/01(水) 21:09:24 ID:QGXYgT/l
>>888
拡大縮小は_xscale , _yscale を使う。
その後に拡大または縮小された分だけ左右の文字位置をずらす
893Now_loading...774KB:2007/08/01(水) 22:31:08 ID:uFfFMChH
壁にぶち当たっています。。。。
mcをズームイン、ズームアウトさせるAsを組んだのはいいんですが
mcの端でズームアウトさせるとmcの中心点で縮小するせいで
mcが画面外になってしまいます。
例えると、鬼のキャラのつま先をズームしていって、最大のところから
ズームアウトすると、鬼のキャラが画面外で小さくなっている状態です

これを画面内でズームアウトしていく方法はありますでしょうか

var nMaxScale = 300;
var nMinScale = 10;

function xZoom(nZoomVal) {
nNextZoom = キャラ_mc._xscale+nZoomVal;
キャラ_mc._xscale = キャラ_mc._yscale=Math.max(Math.min(nNextZoom, nMaxScale), nMinScale);
}

ズームイン_btnに
on (release) {
_root.xZoom(50);
}
ズームイン_btnに
on (release) {
_root.xZoom(-50);
}
となっております。よろしくお願い致します
環境はwinXP、FLASH8です。
894Now_loading...774KB:2007/08/01(水) 22:31:50 ID:7bfSy2aa
>>892
892さんには簡単な事だとは思うのですが、私はただただ納得してしまいました。
明日早速試してみます。ありがとうございました!
895Now_loading...774KB:2007/08/01(水) 23:05:53 ID:lcbx2Y6J
>>893
例えが例えになってないよ。
質問の意味が良くわからないんだけど、
足とか、体とかパーツごとに拡大縮小してるなら、入れ子にして基準点でくっつけとけばいいよ。

例えば棒人間がいるとして
○   1 2 3
|   4 5 6
/\  7 8 9  ←基準点の場所

胴体[|]の基準点はど真ん中の2番
頭[○]の基準点は8番
右足[ / ]の基準点は3番、左足[\]の基準点は1番みたいに。
階層は胴体のなかに頭と左右の足を入れる。
896Now_loading...774KB:2007/08/02(木) 00:44:24 ID:f5kr1jtP
>888

FuseKitというライブラリーを使って見なさい!
897Now_loading...774KB:2007/08/02(木) 01:41:20 ID:GbK4tuaU
ActionScript3でメインのタイムラインのcurrentframe調べるにはどうすりゃ良いんだ?
なんか_currentframeを書いたら怒られて、ヘルプを検索しみたら
ムービークリップの_currentframeプロパティしか見つからなかったんだが・・・・・・
898Now_loading...774KB:2007/08/02(木) 06:12:38 ID:0hnmotxM
currentFrame
899Now_loading...774KB:2007/08/02(木) 12:34:31 ID:P9luu9cm
AS3から、"_"の付くプロパティ名が廃止になったんだよね
900Now_loading...774KB:2007/08/02(木) 23:43:46 ID:0O8JZU8R
loadMovie("image/photo_img.jpg", this.photo_albam_mc.board);

これでローカルでは画像をよみこめているんですが
サーバーにうpすると読み込めなくなってしまいます。

誰かお教えください・・・<(_)>
901Now_loading...774KB:2007/08/03(金) 00:16:48 ID:rctA+Egd
>>900
this.photo_albam_mc.board.loadMovie("image/photo_img.jpg"); は?

サーバーに上げるとダウンロードの時間がかかるから
読み込み完了してから再生とかしないとだめかもね。
902Now_loading...774KB:2007/08/03(金) 17:12:55 ID:DvRsmvLQ
画像をアップしてないのでは
903Now_loading...774KB:2007/08/03(金) 18:22:44 ID:5SkecKau
//スクロールスピード
nSpeed = 5;
//
targetX_array = new Array();
targetX_array = [0];
//目的地となる、X座標の初期値
nTargetX = 0;
//
function xMove() {
var nDest = nTargetX-this._x;
if (Math.abs(nDest)<0.3) {
this._x = nTargetX;
delete cont_mc.onEnterFrame;
} else {
this._x += nDest/nSpeed;
}
}
//移動の設定用(ボタンから呼ばれる)
function xSetMove(nNewTargetX) {
nTargetX = targetX_array[nNewTargetX];
cont_mc.onEnterFrame = xMove;
}
//ボタンのスクリプト
btn1.onRelease = function() {
xSetMove(0);
}
このスクリプトで_x方向には動かせるようになったのですが
に_y方向にも同じような動きをさせたい場合は
どのように書き加えればよろしいのでしょうか?
よろしくお願いします
904Now_loading...774KB:2007/08/03(金) 19:38:20 ID:souxDv+A
this.onEnterFrame = function ():Void {
for(var i:Number = 0; i < octaves; i++){
offset[i].x += speed[i].x;
offset[i].y += speed[i].y;
}
// マウス位置によって変化量を調整
var scalex:Number = (this._xmouse-w/2)/5;
var scaley:Number = (this._ymouse-h/2)/5;

bmp.perlinNoise(w/30, h/30, octaves, rdm, false, true, 1, true, offset);
var dmf:DisplacementMapFilter =
new DisplacementMapFilter(bmp, mappoint, 1, 1, scalex, scaley);
image.filters = [dmf];
}
905Now_loading...774KB:2007/08/04(土) 02:54:56 ID:1IUabNtt
>>903
どっかから持ってきたソースなのか・・・
普通にXの部分をYに置き換えりゃいいだけだと思うが
906Now_loading...774KB:2007/08/06(月) 09:14:09 ID:gDeSoxdI
Tweenクラスを使用した場合、
Flash Player 6 で再生したときに不具合は出ますか?
907Now_loading...774KB:2007/08/06(月) 12:05:40 ID:tIcuwTBh
on (press) {
this.loadMovie("img/1.jpg");
}

上のような記述でクリックして外部jpgの表示することは出来たのですが、クリックせずにロード時に外部jpgを表示したい場合はどのように記述すれば良いでしょうか
908Now_loading...774KB:2007/08/06(月) 12:37:52 ID:uu4AglrA
>>907
クリックした時のアクション内容を、フレームアクションにでもする。
909Now_loading...774KB:2007/08/06(月) 13:32:35 ID:3qmXTMnn
flashのコーディングの話で悪いんだが
も前らの使ってる入力支援のソフトを教えてください

登録した文字列orクリップボードをアクションウィンドウに貼り付けたい
CLCL:2回呼び出さないと貼り付けてくれない
clipNote:貼り付けられない
などと不具合があるお
910909:2007/08/06(月) 14:31:44 ID:3qmXTMnn
やはり、どう見てもスレ違いです
ありがとうございました
911Now_loading...774KB:2007/08/06(月) 14:48:53 ID:SmxSvAx7
>>909
ActionScript専用エディタにクリップボード機能がついてる物もある。調べてみ
912Now_loading...774KB:2007/08/06(月) 18:43:49 ID:3qmXTMnn
ローカル変数を作りたいんだけど、まとめて作るのはどうするの?
var tempZ = var tempX = var tempC = 0;
これだとvarで怒られた
913909:2007/08/06(月) 18:44:50 ID:3qmXTMnn
>911 専用エディタですか。ちょっと後回しかな。ありがと
914Now_loading...774KB:2007/08/06(月) 22:19:20 ID:FTVeC4TN
>>912
変数定義は1行1定義が無難。
1行1定義だとあとでコメントアウトとか簡単にできるし。

何がなんでもやりたいなら、
var a = 0, b = 0, c = 0;
とか、無理やり
var a, b, c = b = a = 0;
とか。

>>909
Eclipse + ASDT 使ってる。
シームレスに HTML や CGI も書けていい感じ。
915Now_loading...774KB:2007/08/06(月) 22:35:35 ID:ImsndoYX
>907
俺もASを始めたばっかりなんだが、「board」という適当な大きさのmcをつくって
onClipEvent (load) {
loadMovie("image.jpg", this.board);
}
と書いて読み込ませてる。

続きまして・・・・
俺も教えて欲しいことがあるんですけど
mc内の座標を取得して、_rootステージと座標との差分を
出すにはどうしたらいいんでしょうか?

TargetX = 01_mc._xmouse;
TargetY = 01_mc._ymouse;
//
ZeroX = _root._x;
ZeroY = _root._y;
function Click_Move() {
//目的地と現在地の差分
var DestX = TargetX-ZeroX;
var DestY = TargetY-ZeroY;
と書いてみましたが、どうも違うようです
よろしくおねがいいたします
916Now_loading...774KB:2007/08/07(火) 00:17:52 ID:OgJB/Umw
>>915
どことどこの差分なのかよくわかんないんだけど、
TargetX = 01_mc._xmouse
ZeroX = 01_mc._x
じゃない?
917Now_loading...774KB:2007/08/07(火) 00:31:53 ID:fSHVtiiL
_root._xmouseじゃない?
918Now_loading...774KB:2007/08/07(火) 02:04:57 ID:m9lgr7pu
環境)OS:WinXP-Pro,Mem=1GB,ソフト:Flash8-Pro(Player7)

上下キーによるスクロールで質問です。

valueMというMC内に、txt1_insというインスタンスのテキストフィールドを
配置し、ここに複数行の文字列を表示させて上下にスクロールさせたい
のですが出来ません。ASは下のようにしています。

this.onEnterFrame = function() {
if (Key.isDown(Key.UP)) {
this.valueM.txt1_ins.scroll -= 2;
trace("Key.UP");//確認用
} else if (Key.isDown(Key.DOWN)) {
this.valueM.txt1_ins.scroll += 2;
trace("Key.Down");//確認用
}
};

確認用のtraceも出ません。問題点をご指摘願います。
919918:2007/08/07(火) 03:24:42 ID:m9lgr7pu
自己解決しました。
原因は、他のアクション(ボタンアクション)でもthis.onEnterFrame = function() { }
の部分があり、動作が衝突していたためのようです。

920Now_loading...774KB:2007/08/07(火) 20:33:14 ID:/N4iyxRs
環境)OS:WinXP-Pro,Mem=1GB,ソフト:Flash8-Pro(Player7)

ボタンによるthis.onEnterFrameとフレームでのthis.onEnterFrameについて
質問です。

あるボタンに下のASを書き、
on (press) {
this.onEnterFrame = function() {
//動作@  押している間は動作
};
}
on (release) {
this.onEnterFrame = undefined;
//動作@の停止
}

フレームアクションとして下を書きました
this.onEnterFrame = function() {
trace("継続")
//動作A
};

ボタン操作が無い場合は、常に最初から『継続』が表示されるのですが、
一旦ボタンを押すと表示が止まり、Aが全く動作していません。
動作Aを回復するにはどうしたら良いでしょうか。
921Now_loading...774KB:2007/08/07(火) 20:43:51 ID:+8CQuxrc
>>920
thisの参照先のムービークリップが同じだからでしょう。
MCを変えればいいと。
922Now_loading...774KB:2007/08/07(火) 20:44:11 ID:554YB8Vq
>>920
フラグを使う。
フレームアクションに
if(BtnPress == 1){
 // 動作1
}else{
 trace("継続");
 // 動作2
}
on(press){
 _root.BtnPress = 1;
}
on(release){
 _root.BtnPress = 0;
}

こんな感じ
923Now_loading...774KB:2007/08/07(火) 20:54:22 ID:ZNeZNlsB
>920
flashplayer9だと問題なく動作するんだが。
v7に拘るなら
on (press) {
_root.ボタンのインスタンス名.onEnterFrame = function() {
}}

みたいなー
924920:2007/08/07(火) 21:36:56 ID:/N4iyxRs
>>921-923
早速のレス有り難うございます。
色々試してみます。
925920:2007/08/08(水) 00:56:04 ID:alOzvLRd
(連投失礼します)
検討し、試した結果、上記以外の方法を取りました。
on (release)で関数を呼び出す方法で、

function kansuA(){
this.onEnterFrame = function() {
trace("継続")
//動作A
};
}

と、定義し、
on (release) {
this.onEnterFrame = undefined;
//動作@の停止
//
kansuA();
}

と書きました。これで、ボタンを押す度にthis.onEnterFrameが
再開するようにしました。
926Now_loading...774KB:2007/08/08(水) 07:11:54 ID:DLSULC95
質問です 大雑把ですが

Flash MX 2004において
画像をタイル状に分割して
分割したそれぞれに名前を付けるにはどうすればいいのでしょうか?
927Now_loading...774KB:2007/08/08(水) 07:21:12 ID:Qjad5/sa
>>926
どうすればって、、、分割したそれぞれにインスタンス名つければいいのでは?
名前の付け方を教えてってこと?
928926:2007/08/08(水) 07:24:27 ID:DLSULC95
わかりにくくてすいません
Flash内で指定した画像を
閲覧者の指定通りのサイズの長方形に分割して
それぞれを個別に制御できるように名前をつけたいのです
929Now_loading...774KB:2007/08/08(水) 07:33:26 ID:Qjad5/sa
>>928
つまり、分割するにはどうすればいいのってこと?
たとえば1つの画像を左右2つに分割して、それぞれ移動ってのは出来るの?
930928:2007/08/08(水) 08:03:07 ID:DLSULC95
できませんです

2004ではActionScriptで分割・制御ができると言う話を聞いただけで
そのための命令を全く知らないです
最近2004を導入したばかりなもので
931Now_loading...774KB:2007/08/08(水) 08:10:24 ID:Qjad5/sa
>>930
ASでならヘルプでbitmapあたりを読むとか。
効果だけならイージングとかトランシジョンで検索して調べるといんじゃないかな。
932930:2007/08/08(水) 08:15:34 ID:DLSULC95
ありがとうございます
調べてみますです
933Now_loading...774KB:2007/08/08(水) 08:35:30 ID:Crwxjx0C
MX2004はBitmapData使えないんじゃなかったかな?
あれはFlash8からだと思ったけど。

MX2004だと恐らく、10分割なら画像を10個のMCに10回それぞれ読み込んで
それぞれの画像の表示部分をsetMaskで制限する方法かな。
934Now_loading...774KB:2007/08/08(水) 10:25:37 ID:ytNhbam7
AS2でボタンの基本動作クラスを作ってます
関数をまとめて書くにはどうすればいいでしょうか?
function onRelease() {
gotoAndStop("stop");
}
function onReleaseOutside() {
gotoAndStop("stop");
}

function onRelease()=function onReleaseOutside(){
gotoAndStop("stop");
}
怒られました
935Now_loading...774KB:2007/08/08(水) 11:43:49 ID:WffIL5FS
>>934

mc.onReleaseOutside = function () {
gotoAndStop("stop");
}
mc.onRelease = mc.onReleaseOutside;
936934:2007/08/08(水) 13:20:22 ID:ytNhbam7
>935
リンケージにMovieClipクラスの拡張として設定するんで
変数(mc)使うのはちょいと違うようです

class btnDo extends MovieClip {
function onRelease() {
gotoAndStop("stop");
}
function onReleaseOutside() {
gotoAndStop("stop");
}}
937Now_loading...774KB:2007/08/08(水) 13:30:17 ID:YqbUbVPz
>>936
そもそも、ムービークリップボタンとして作れば、そんな関数いらないんじゃ?
938Now_loading...774KB:2007/08/08(水) 19:38:06 ID:yRnVF4qY
>>926
できる。
画像をmc内に読み込んでそれを分割して、それぞれにmc化する
詳しくは、ジグソーパズルの作り方とかが載ってる本を見た方が良い
ここで説明することは不可能
939Now_loading...774KB:2007/08/08(水) 23:23:07 ID:hRPwBEUh
>>934
/** 抽象ボタン。継承して使う。 */
class AbstructButton extends MovieClip {
 private var onLoad = offButton; // ロード直後 → ランプ消灯
 private var onPress = onButton; // 押したとき → ランプ点灯
 private var onRollOver = onButton; // カーソルが乗ったとき → ランプ点灯
 private var onRollOut = offButton; // カーソルが離れたとき → ランプ消灯
 // その他各種マウスの動作に対するイベントを設定
 
 private var onRelease():Void {
   onButton();
   execute();
 }
 private function onButton():Void { gotoAndStop("on"); } // この中はお好きなように。
 private function offButton():Void { gotoAndStop("off"); } // ここも。
 // 継承先で実装。
 private function execute():Void {}
}

で、

/** スタートボタン。AbstructButton を継承。 */
class StartButton extends AbstructButton {
 private function execute():Void {
   // このボタンの動きを実装。
   trace("Push Button.");
 }
}

でどうよ。
940Now_loading...774KB:2007/08/08(水) 23:24:42 ID:hRPwBEUh
>>939
>9行目  private var onRelease():Void {
private function onRelease():Void {

だった。すまん。
941Now_loading...774KB:2007/08/08(水) 23:50:14 ID:C6kw2mRz
質問させて下さい。
携帯ゲーム機のポケモンで戦闘画面になると自分のHPの数値の上に、HPに応じて長さが変わる横に伸びるバー(?)みたいなのがありますが、どうすればできるでしょうか?
試しにサイズ(100,10)の細長い画像を用意して、HPのMAXを100とします。
それでHPの数値=xscaleで画像の横幅を変えることはできるのですが、MAXHPが100以上になってしまうと元の画像より横幅が長くなってしまいます。
どう記述すれば良いのでしょうか?
分かりずらくてすみません。
942Now_loading...774KB:2007/08/08(水) 23:56:19 ID:9hd4UX47
>>941
if(HP > 100){
HP = 100;
}
って入れればいいんじゃ?
943Now_loading...774KB:2007/08/08(水) 23:59:21 ID:pHIMuTZw
>>941
HPの量をそのままバーの長さにするのではなく、
HPMaxを100%とした時、現在のHPが何%にあたるのかを表示する。

で、この計算はできますか?
944Now_loading...774KB:2007/08/09(木) 00:02:30 ID:0WA4aBro
>>941
小学何年生ですか?
945Now_loading...774KB:2007/08/09(木) 00:04:38 ID:spRjEHCo
>>941
HPの値そのものじゃなくて何%の値かを考えれば良い。サイズ(100,0)の画像はそのままで、
最大HPが400で現在のHPが200なら 200/400 で横棒の画像の長さは全体(100)の1/2。

_xscale = 200 / 400 * 100;
946Now_loading...774KB:2007/08/09(木) 00:34:03 ID:qomQ6QGX
教えてください
Os WinXP Flash8

image(200,200)というMCを(400,400)の大きさのステージ上に置いて
MCの任意の点でクリックすると、その点をステージの中心に
持っていきたいのですが、どのようにすればいいのでしょうか?
MCにthis._xmouse;  this._ymouse;と書き、座標を獲得してから
ステージ上の中心に移動させる場合の差分をどうすればいいのかわかりません

Asに取り組みはじめて、最近ようやく関数の使い方を憶えた程度で
classなどはまだ理解できませんので、お手柔らかにお願いします
947Now_loading...774KB:2007/08/09(木) 01:48:35 ID:frsqhUBz
>>946
ヒント: グローバル座標(ステージの座標) ←[変換]→ ローカル座標(MC内部の座標)

参考文献: 「Flash ActionScript 逆引き大全550」 秀和システム p127-128
948Now_loading...774KB:2007/08/09(木) 02:25:37 ID:YNNzZJWG
_rootにインスタンス名imageのMC配置。基準点は中心

image.onPress = function() {
    x = this._x+this._xmouse;
    y = this._y+this._ymouse;
    this._x += ((Stage.width/2)-x);
    this._y += ((Stage.height/2)-y);
};

うまく説明できないけどコンナ感じ。
要はクリックされた位置と中心位置がどんだけ〜ずれてるかを取得して
今の座標に加算してやればいい。

☆:クリック位置
■:image
□:ステージ

┌────────────┐
|←────→□□□□□□|
|□■■■■□□□□□□□|
|⇔■☆■■□□□□□□□|
|□■■■■□□□□□□□|
|□□□□□□□□□□□□|
|← → □□□□□□□□□|
└────────────┘
⇔:this._x
← →:this._xmouse
←────→:(Stage.width/2)
949941:2007/08/09(木) 23:12:17 ID:mUxg8+Nf
皆さんたくさんの返答ありがとうございます。
お陰でHPのバーを作ることが出来ました。
詳しく説明してくださった方、大変勉強になりました。
本当にありがとうございました。
950Now_loading...774KB:2007/08/11(土) 18:30:48 ID:2hy3xQxO
質問です
現在、ランダムに配置したリンゴの絵のムービークリップと「Apple」と
書かれたムービークリップなどがあって
リンゴの絵をクリックするとappleの文字が近づいてきて重なるような
子供用のフラッシュを作っています。
 リンゴの絵.mcの中心とapple文字.mcの中心を減速させながら
重ねるようにする場合どのようすればいいのでしょうか
 リンゴの絵.mcの中心点は
リンゴの絵X = (ringo_mc._width)/2;
リンゴの絵Y = (ringo_mc._height)/2;
文字の方も同じようにしています

ぜひお教えください よろしくお願い致します
951Now_loading...774KB:2007/08/11(土) 19:05:24 ID:eIjLoxbL
>>950
apple_mc._x += (ringo_mc._x - apple_mc._x) / 30
apple_mc._y += (ringo_mc._y - apple_mc._y) / 30

上の処理を毎フレーム行なえば文字がりんごに重なる。
「30」の値を大きくすればゆっくり近づき、小さくすれば早く近づく。
文字のMCの中心座標とかは分からないから、そんへんは自分で調整よろ。
952Now_loading...774KB:2007/08/14(火) 22:14:17 ID:eSnxRSOP
2コマのムービークリップをシーンないで繰り返し再生したいんですけど(カクカク動いてるみたいに)

ムービークリップの2コマ目にgotoAndPlay(1);と記述したんですが、
動きません、なぜですか?
953Now_loading...774KB:2007/08/14(火) 22:16:25 ID:gsdnqpJU
>>952
this.gotoAndPlay(this._currentframe-1)
954Now_loading...774KB:2007/08/14(火) 22:44:32 ID:oO86FXBn
>>953
2コマ目に書かれたgotoAndPlay(1);が実行されるのは
2コマ目が表示される直前。
アクションレイヤーのフレームを一つ伸ばしてそこに書けば
2コマ目も表示されるようになる。
ていうかスクリプト何も書かなければ普通にループするはずじゃないか?
955Now_loading...774KB:2007/08/14(火) 22:45:42 ID:oO86FXBn
アンカーミスった954は952宛ね
956Now_loading...774KB:2007/08/14(火) 23:20:47 ID:yTh8ywfu
this.gotoAndPlay   (      ト───‐'      l::l ̄ ̄l       / ̄ ̄ ̄\
(this._currentframe-1)(      |              l::|二二l     |  ハ     |
              (      h         , '´ ̄ ̄ ̄`ヽ   |  ハ    |
⌒⌒⌒ヽ(⌒⌒⌒⌒⌒       l.l         ,'  r──―‐tl.    |  ハ>>953 |
            ',  >>953  fllJ.        { r' ー-、ノ ,r‐l    |  ! め │
            ヾ     ル'ノ |ll       ,-l l ´~~ ‐ l~`ト,.  l        |
             〉vw'レハノ   l.lll       ヽl l ',   ,_ ! ,'ノ   ヽ  ____/
             l_,,, =====、_ !'lll       .ハ. l  r'"__゙,,`l|     )ノ
          _,,ノ※※※※※`ー,,,       / lヽノ ´'ー'´ハ
       -‐'"´ ヽ※※※※※_,, -''"`''ー-、 _,へ,_', ヽ,,二,,/ .l


                                __.__
                               (:::} l l l ,}
                                l::l ̄ ̄l
                                l::|二二l
                              , '´ ̄ ̄ ̄`ヽ
                              .,'  r──―‐tl.
                              { r' ー-、ノ ,r‐l
                             ,-l l ´~~ ‐ l~`ト,.
                             ヽl l ',   ,_ ! ,'ノ
             _,,, =====、_           .ハ. l  r'" ゙,,`l|
          _,,ノ※※※※※`ー,,,       / lヽノ ´' ̄ ´ハ
       -‐'"´ ヽ※※※※※_,, -''"`''ー-、 _,へ,_', ヽ,,_,,/ .l
957Now_loading...774KB:2007/08/15(水) 20:59:44 ID:Ba5gjz+9
インスタンス名を変更するようなASはありますか?
あったら簡単にでいいので教えてください。
958Now_loading...774KB:2007/08/15(水) 21:24:26 ID:RhqFl5tX
>>957
new_mc = old_mc
959Now_loading...774KB:2007/08/15(水) 21:35:45 ID:zGHBpddn
>>957
MovieClip._name = "名前";
960Now_loading...774KB:2007/08/15(水) 21:47:20 ID:OcpDCdi0
インスタンス名を設定するならわかるが、
インスタンス名を途中で変更するような組み方が
必要な場合ってあるか?

そんなプログラム絶対触りたくねぇ〜〜
961Now_loading...774KB:2007/08/15(水) 21:58:25 ID:Ba5gjz+9
>>958-959
すばやい回答ありがとうございます。
どうにも上手く動かないもんでしたので見直してみたら、
他の場所のASに影響されていたようでした。

もうだめぽ\(^o^)/
962Now_loading...774KB:2007/08/16(木) 03:20:41 ID:z1AC3g2F
ActionScript3.0で、いくつか質問させてください。箇条書きで失礼します。

・.NETのControlsのように、ステージ全てのコンポーネントを取得するメソッドはありますか?
・var TEST = function(e)とfunction TEST(e)の違いって何なんでしょうか?前者だとたまにエラーがでます。
・イベントメソッド内でroot参照できる位置にオブジェクトを使いしたいときはどうすればいいのですか?
 下のようにしてもできませんでした。

var root:MovieClip = this.root as MovieClip;
root.addChild(TESTObject)

・下のような状態で、2.0の時のように配列アクセス演算子(ここでは"CTRL")を取得するにはどうすればよいのでしょうか?

var Ary:Array = new Array();
Ary["CTRL"] = this.Control
for each (var ??? in Ary) {
 trace(???)
}

質問ばかりですみません。よろしくお願いします。
963Now_loading...774KB:2007/08/16(木) 06:48:11 ID:8NucOWIV
表示リストを使う
関数を実行して返値を代入することと関数定義の違い
as演算子が参照を返すことを利用して別名定義する
var rootas:MovieClip = this.root as MovieClip;
プロパティも取得したいならfor inを使う
964Now_loading...774KB:2007/08/16(木) 22:29:58 ID:piHTsIMj
急な質問ですみません。
とある計算式で出した数を、全角に変えるASはあるでしょうか?
例えば
a = 10 + 5;
ならaには15という数字が代入されますが、「15」のように全角に変えるにはどうすれば良いでしょうか。
分かりづらくてすみませんが、お答え頂ければ嬉しいです。
965Now_loading...774KB:2007/08/16(木) 22:41:42 ID:NoawfKNF
>>964
function Change( num ) {
 switch ( num ) {
  case 1:
   ret = "1"
   break;
 }
 return ret
}
みたいな関数作る。
966Now_loading...774KB:2007/08/16(木) 22:55:38 ID:piHTsIMj
>>965
お早い解答ありがとうございます。
言い忘れていたのですが、ParaFla!を使っています。
上のように記述しましたが、結果は構文エラーとなりできませんでした。
本家でしか使えないのでしょうか?
967Now_loading...774KB:2007/08/17(金) 00:19:20 ID:0zvCVGkE
>>966
ParaFla!は知らんが、各行の末尾に;入れて駄目ならやっぱり知らん。

#お早い→素早い
968Now_loading...774KB:2007/08/17(金) 00:44:06 ID:kMTKpYee
>>967
セミコロン入れると構文エラーはなくなりましたが、できませんでした。(半角のままでした)
やはりParaFla!では無理なのでしょうか。
誤字すみませんでした・・・。
969Now_loading...774KB:2007/08/17(金) 00:49:48 ID:qH+G9Kw/
>>968
ParaFla!ってAS使えるのかな?
どうやったのかわからないのでエスパー回答だけど
a = 10 + 5
x = Change( a )
とかやってもcaseに引っかからないから無理だよ。
一つの変数に数字がたくさん入ってるときは置換する
a.split("1").join("5"); //←これを0〜9まで書いて関数にする
970Now_loading...774KB:2007/08/17(金) 01:02:12 ID:kMTKpYee
>>970
返答ありがとうございます。
ParaFla!でもASは使えます。
試しに

text = 1;
function Change(text) {
 switch (text) {
  case 1:
   ret = "1";
   break;
 }
 return ret;
}

で挑戦してみましたが、変化ありませんでした。
971Now_loading...774KB:2007/08/17(金) 01:03:16 ID:kMTKpYee
すみません、>>969でした。
972Now_loading...774KB:2007/08/17(金) 01:17:07 ID:fKba/ehj
>>970
関数呼ぶならChange(1);とかChange(text);だろ。
上に加えてtrace(Change(1));書いてみ。
973Now_loading...774KB:2007/08/17(金) 02:07:07 ID:cLB4DoQW
そもそも>>971はASの基本の仕組みすら分かっていないのに
ASを教えろとは如何なものか。
974Now_loading...774KB:2007/08/17(金) 03:02:07 ID:4KUMZ1Yo
質問です。

MC.onPress = function()のような感じで、
とあるMCを右クリックしたということを感知することはできないでしょうか?
コンテキストメニューを選択する前に、ただ右クリックが行われた段階で感知したいのですが・・・

FLASH8pro使用で、Playerのバージョンは8です。
975Now_loading...774KB:2007/08/17(金) 03:13:02 ID:fKba/ehj
>>974
Flashでは右クリックはコンテキストメニュー以外使えません
MACを考えるとよくわかる
976Now_loading...774KB:2007/08/17(金) 03:36:08 ID:4KUMZ1Yo
>>975
いえ、コンテキストメニューしか使えないのは分かってますが、
どのMCを右クリックしてコンテキストメニューを出したかというアクションを
させたかったので。

で、すいません自己解決しました。

独自コンテキストメニューを割当てる前にmenu_cm.onSelect = function(obj) を
記述することでWindowsではできました。
Macでは微妙にできてないんですが、Windowsで動けばいいと言われてるので
これでやります。
スレ汚し失礼しました。
977Now_loading...774KB:2007/08/17(金) 18:09:10 ID:vbGfSf2t
教えてください
間違い探しゲームのようなFLASHを作っています。
ステージよりも大きい絵を上下左右に動かして、怪しい部分をWクリックすることで
クリックした部分をステージ中心に移動させて探す。
という内容にしようと思っています。

そこでお教え頂きたいのは
Wクリックした点を中央に移動させ、拡大する方法と
左端などで拡大した後で縮小したさいに絵がステージ上を外れるの(mcの基準が
センターなので・・・)を
防ぐ良い方法があればお教え頂きたいです。
構造は _root →絵_mc→拡大縮小用空_mc→ドラッグ用空ボタン
となっております。

よろしくお願いします。
978Now_loading...774KB:2007/08/17(金) 18:23:06 ID:fKba/ehj
>>977
で、どういうASを書いてどこが解らないの?
979Now_loading...774KB:2007/08/17(金) 19:47:59 ID:Pi8L8zIs
それではただの制作依頼だ
980Now_loading...774KB:2007/08/17(金) 20:24:10 ID:HLB+/mm3
環境)OS:WinXP-Pro,Mem=1GB,ソフト:Flash8-Pro(Player7,AS2.0)

MCの消去で質問です。
あるMC(stageM)にrollOverすることで出現し、rollOutで消えるようにしたいのですが
消すことが出来ません。

on (rollOver) {
nameA=enMark;
nameB = nameA+"_"; //新しい名前は nameA_
prop = {_xscale:50, _yscale:50}; //大きさの指定
_root.stageM.attachMovie(nameA, nameB, 100, prop);//深度は100
}

これはOKなのですが、
on (rollOut) {
_root.stageM.nameB.removeMovieClip();
trace("MC= "+_root.stageM[nameA+"_"]);
}

では、traceで enMark_ という名前が確認出来るものの消えません。
どうしたら良いでしょうか?
981Now_loading...774KB:2007/08/17(金) 20:29:36 ID:HLB+/mm3
980です。自己解決しました。

_root.stageM.nameB.removeMovieClip();
→ _root.stageM[nameA+"_"].removeMovieClip();

でOKでした。名前の指定に問題があったようです。
982Now_loading...774KB:2007/08/18(土) 01:25:40 ID:3Mdfaxlj
環境)OS:WinXP-Pro,Mem=1GB,ソフト:Flash8-Pro(Player7,AS2.0)

キーリスナーとキーコードで質問です。

Backspaceキー操作を確認するため、メインフレーム(_root)に以下のASを
書きましたがtraceが現れません。

myKey = new Object();
myKey.onKeyDown = function() {
if (Key.getCode() == 8) {
trace("Back");
}
};
Key.addListener(myKey);

Key.getCode() == 16 などとすると問題なく動作します。
原因は何でしょうか?
983Now_loading...774KB:2007/08/18(土) 01:42:13 ID:SI2clODn
>>977
中心に移動は>>948
984Now_loading...774KB:2007/08/18(土) 02:06:33 ID:4mE7raCo
>>982
ロジックに問題はなさそうだけど・・・。
SHIFTには反応しているようだし、
trace(Key.getCode())でBS押下時の値を調べてみたら?

反応無かったらブラウザとかに原因があるかも。
985982:2007/08/18(土) 02:12:20 ID:3Mdfaxlj
>>984
早速のレス有り難うございます。
trace("KeyCode= "+Key.getCode()); を書いたところ、Shiftやマイナスキーは
表示しますが、BSはやっぱり不可です。

ちなみにブラウザ表示ではなく、その前のプレビューでやっています。
BSがどうしても不可なら、マイナスキーで代用したいと思います。
986Now_loading...774KB:2007/08/18(土) 02:30:25 ID:SI2clODn
>>985
Key.BACKSPACEっていう定数があるくらいだから使えると思うんだけど。
「キーボードショートカットを無効」にチェック入れてる?
プレビューじゃなくてswfでテキストフィールドとか使って確かめてみたら?
987Now_loading...774KB:2007/08/18(土) 03:18:52 ID:6cz4VZDJ
環境)Mac OS X Flash 8Basic

外部txtファイル読み込みに関する質問です。

書籍を参考に以下のような感じで
ロゴが表示されるようなものを作っているのですが
フラッシュのバージョンの違いからか
「ur」の二文字が先頭に追加されてしまいます。

パブリッシュ設定をPlayer8のまま回避する方法は無いでしょうか?

_x = 20;
_y = 80;
a = 0;
function Logo() {
if (a%32 == 0) {
Y += 15;
X = 0;
} else {
X++;
}
this.loadVariables("logo.txt");
this.attachMovie("logo00", "logoG"+a, a);
this["logoG"+a].logoMc.logotext = txt.charAt(a);
this["logoG"+a]._x = X*11;
this["logoG"+a]._y = Y;
a++;
}
988Now_loading...774KB:2007/08/18(土) 03:43:51 ID:4mE7raCo
>>987
txt.charAt(a)のtxtはどっから現れた?
テキストの中身は?
logo.txtの中に「ur」とか入ってるんじゃない?

以上の点を見直して。
989Now_loading...774KB:2007/08/18(土) 03:55:04 ID:SkTm2/Jg
>>987
logoMcの内部にa番目の文字を表示するということ?
990987:2007/08/18(土) 04:37:24 ID:6cz4VZDJ
テキストはflaやswfと同じフォルダに入れています
内容は
txt=ABCD
と、これだけです。

スクリプトは他に
2フレーム目にthis.Logo();
3フレーム目にthis.gotoAndPlay(2)

テキストの中身を空にしたり、aに別の値をいれてもURの二文字がでてきます
991987:2007/08/18(土) 04:41:45 ID:6cz4VZDJ
>>989
はい、その通りです。
順に文字が表示されるようなものを作ったのですが・・・。
992Now_loading...774KB:2007/08/18(土) 04:45:05 ID:/ETRbTPo
FLASH CS3を使っているのですが
ボタンにActionScriptを付けようとすると
「現在の選択範囲にアクションを割り当てることはできません」と出てきます。
学校で使っているFLASH MX2004ではそういう事がなかったのですが
CS3からはフレームにしかアクションを割当できなくなったのでしょうか?
993Now_loading...774KB:2007/08/18(土) 04:52:18 ID:g0sVH2IC
>>992
AS2(MX2004,Flash8)とAS3(CS3)ではだいぶ違うから、以前のコーディングは無理。
でも、パブリッシュ設定でAS2にすればそのままAS2コーディングで出来るよ。
994Now_loading...774KB:2007/08/18(土) 04:55:30 ID:/ETRbTPo
>>993
CS3でイチから作成したファイルなんですが
やはりボタンにアクションを設定できません。
AS1.0&2.0に変更してみても同じでした。ナゼ?
995Now_loading...774KB:2007/08/18(土) 05:03:07 ID:g0sVH2IC
新規作成でAS2ってなかった?
996Now_loading...774KB:2007/08/18(土) 05:11:12 ID:/ETRbTPo
ほんとだ!AS2で新規で作ったらできましした!
ありがとうございます!!!
997Now_loading...774KB:2007/08/18(土) 08:49:32 ID:g0sVH2IC
次スレ
ActionScript 誰かが物凄い勢いで解答するスレ 17
http://pc11.2ch.net/test/read.cgi/swf/1187394529/
998Now_loading...774KB:2007/08/18(土) 09:35:30 ID:qJqRhvNz
埋めとく?
999Now_loading...774KB:2007/08/18(土) 10:51:28 ID:IesIjqeP
埋めましょうか
1000Now_loading...774KB:2007/08/18(土) 10:52:11 ID:IesIjqeP
1000
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。