ActionScript 誰かが物凄い勢いで貝等するスレ 7

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

見れない、保存したい、flashを作りたいはスレ違い

●質問する時は自分の環境を書く
●質問はものすごい勢いじゃなくて結構
●できるだけコードも示す
●自分が試してみた処理を書く

過去スレ
ActionScript 誰かが物凄い勢いで解答するスレ 6
http://pc8.2ch.net/test/read.cgi/swf/1108207742/-100
ActionScript 誰かが物凄い勢いで解答するスレ 5
http://pc5.2ch.net/test/read.cgi/swf/1103196358/
ActionScript 誰かが物凄い勢いで解答するスレ 4
http://pc5.2ch.net/test/read.cgi/swf/1095080177/
ActionScript 物凄い勢いで怪盗するスレ その3
http://pc5.2ch.net/test/read.cgi/swf/1085202423/l50
ActionScript 物凄い勢いで解凍するスレ その2
http://pc5.2ch.net/test/read.cgi/swf/1079068678/
ActionScript 物凄い勢いで誰かが質問に答えるスレ
http://pc5.2ch.net/test/read.cgi/swf/1070704688/

関連スレ、サイト、書籍は>>2あたり
2Now_loading...774KB:2005/05/11(水) 23:00:21 ID:z2tBkeIT
関連スレ
actionscriptに行き詰まった厨が語り合うスレ2
http://pc5.2ch.net/test/read.cgi/swf/1059977784/
【AS】ActionScript技術交換スレ Part2 (ASを完全に組める人向け
http://pc5.2ch.net/test/read.cgi/swf/1071929938/l50

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.3enhancedesigners.com/
ttp://www.flash-jp.com/
3Now_loading...774KB:2005/05/12(木) 00:53:21 ID:Dso5+RAH
Flash MX 2004 のクラス(mxパッケージ以下)について解説しているウェブ・書籍等は無いでしょうか。
EventDispatcherなんかは、よく使ってるのですが、
ほかにも便利なのがありそうだなぁと思いまして。

mx.transitionsとか。
http://www.ericd.net/blog_images/transitions.html

Flash OOPは、一通り目を通しました。
英語圏のウェブサイトは、全然みてないんで教えて貰えると嬉しいです。

---------------------------------
■Flash OOP - http://www.amazon.co.jp/exec/obidos/ASIN/4798106119/
4Now_loading...774KB:2005/05/12(木) 10:22:38 ID:DQzJ5qor
直径2〜3センチ前後の干貝が欲しいのですが、
どこに行けば買えるのでしょうか?
5Now_loading...774KB:2005/05/12(木) 12:14:01 ID:OzfLuWyh
6Now_loading...774KB:2005/05/12(木) 13:42:43 ID:+NzTFQHJ
あさりの貝柱が上手く取れないのですが、
どうやれば上手く取れますでしょうか?
7Now_loading...774KB:2005/05/12(木) 14:39:17 ID:OzfLuWyh
8Now_loading...774KB:2005/05/12(木) 15:35:15 ID:+NzTFQHJ
>>7
素早いレスありがとうございます。〆切が迫っていたので大変助かりました。
貝の裏をこちょこちょやるといいんですね。
これからは貝柱も残さずに食べます。
9Now_loading...774KB:2005/05/12(木) 19:40:12 ID:rFIkHg1n
2つのmcを交互に跳ねさせたいのですが
onClipEvent (enterFrame) {
g = -15;
e = 0;
     dt = 0.3;
y = 0;
vy = 0;
}
onClipEvent (load) {
y2 = 300;
vy2 = 0;
}
onClipEvent (enterFrame) {
vy2 = vy2+g*dt;
y2 = y2-vy2*dt;
if (y2>300) {
y2 = 300;
vy2 = vy2*-e;
}
_y = y2;
}
onClipEvent (load) {
vy2 = 80;
}
というふうに今記しています。
これからもう一つの方のmcに変数を渡す方法が良くわからないのですが
何方か宜しくお願いします。
10Now_loading...774KB:2005/05/12(木) 21:21:06 ID:+NzTFQHJ
>>9
(・∀・)出来た。

onClipEvent (load) {
//↓動かすMCの名前をセテーイ。
name_array = new Array("mc1", "mc2", "mc3");

current_mc = 0;
g = -15;
dt = 0.3;
int_y = _y;
initialize();

function initialize(){
vy = 80;
fi = vy/5;
y = int_y-fi;
}
}
onClipEvent (enterFrame) {
if (y>int_y-fi) {
initialize();
_parent[name_array[current_mc]]._y = int_y;
if(current_mc<name_array.length-1){current_mc+=1;}else{current_mc=0;}
} else {
vy += g*dt;
y -= vy*dt;
_parent[name_array[current_mc]]._y = y;
}
}
119:2005/05/13(金) 02:42:28 ID:VFBK08VB
>>10
有難うございます。
12Now_loading...774KB:2005/05/14(土) 15:22:46 ID:OMeK1T8g
FlashMX2004Pro / WindowsXPを使用しているものです。

scrollpane内に読み込んだムービークリップを停止させるにはどうすればよいのでしょうか?

this._parent.scrollcontent.stop();
        ↑scrollpane内に読み込んだMCのリンケージ識別子

などと書いたり

this.parent.ScrollPane.scrollcontent.stop();
        ↑scrollpane内に読み込んだMCのリンケージ識別子

などと試しているのですが、うまくいきません。


どなたか知恵を貸してください。
13Now_loading...774KB:2005/05/14(土) 16:17:39 ID:8MPS56y9
>>12
_root.scrollpane.content.stop() で止めれます。

14Now_loading...774KB:2005/05/14(土) 16:49:13 ID:OMeK1T8g
>>13
12です、止まりました!!

ありがとうございます、この指定方法を使えばgotoAndStop(1);なども全て動きました。
15Now_loading...774KB:2005/05/15(日) 00:36:46 ID:ZoYcobDr
黒作品を作りたい草の根制作者に朗報です。

このたびはフラハクで好評の不正楽曲隠蔽コンポネートの
一般配布をすることになりました

ふつうに再生すると音楽は流れないが
指定の文字を打つとヤバーな音楽が流れるようになるあれです

http://gamdev.org/up/img/2661.zip

非常に流れにくいうpろだにUPしたので
配布期限はこれが消えるまでとします。

できるだけあしぷろと一緒に使うようお願いいたします。
なお、このファイルにはフラハク作品のパスワードや音楽は付属しておりません。
あらかじめご了承ください

FLASH5バージョンはこちら
http://gamdev.org/up/img/2662.zip
16Now_loading...774KB:2005/05/15(日) 01:21:57 ID:XrHk64YI
質問ですがあるMCに
onClipEvent (enterFrame) {
if (_root.MC == null) {
_root.C = 0;
} else {
_root.C = 1;
}
と書いたんですが
実際に存在してるはずなのに
反応しません
教えてエロい人
17Now_loading...774KB:2005/05/15(日) 03:32:49 ID:xgVKA5KN
>>16
trace(C)してみました?
18Now_loading...774KB:2005/05/15(日) 04:34:23 ID:i0oIW71T
trace(_root.MC)のがよくない?
1916:2005/05/15(日) 10:39:45 ID:XrHk64YI
>>17-18
試してみましたが反応しません。
MCはボタンを押すと現れて、上に飛んでいくようになってます
もしかして不可視にしてたMCは可視にしても反応しないとか
20Now_loading...774KB:2005/05/15(日) 12:22:59 ID:i0oIW71T
不可視のときは、そのMCのASは動いていないよ
_alpha=0ならば動く。負荷になるけど。
21Now_loading...774KB:2005/05/15(日) 12:27:00 ID:hcQuYMBd
_visible=false;
の方がよくなくなくない?
22Now_loading...774KB:2005/05/15(日) 12:37:09 ID:+fQZMS87
>>16
最後
}
↑が抜けてるよ。
23Now_loading...774KB:2005/05/15(日) 12:43:05 ID:Z1nan7Il
>>20
むちゃくちゃなレスだな。なんで、ASが止まるんだよ。
2417:2005/05/15(日) 17:30:32 ID:xgVKA5KN
>>16 がいってる _root.C って _rootにある変数Cっていみじゃないの?
2516:2005/05/15(日) 18:02:25 ID:XrHk64YI
そうです
どっちにしろ存在が確認できませんので何か改善策ありませんか?
26Now_loading...774KB:2005/05/16(月) 00:33:42 ID:34s93dMT
>>16
_root.MCが存在してるか確認したいなら、
if (_root.MC == undefined) { }
27Now_loading...774KB:2005/05/16(月) 00:35:29 ID:CgMUHjUe
nullとundefinedは==で同値だから意味無し。
2826:2005/05/16(月) 00:52:33 ID:34s93dMT
>>27
うわぁホントだ。
>>25
じゃあ、 >>17 , >>18 の言うようにtrace したらどうなった?
2916:2005/05/16(月) 07:19:00 ID:4ti0GV4N
なんだかASの分野じゃなくなってきたかも。
普通に置いてあるのを認識しないってバグですかねぇ
30Now_loading...774KB:2005/05/16(月) 07:35:59 ID:L2iBYSDp
trace(_root.MC)がundefinedになってない?
それが駄目ならインスタンス名が付いてないとか違うとか。
31Now_loading...774KB:2005/05/16(月) 08:45:33 ID:d3IPrs5I
>>29
ボタンを押した時点では存在するの?
とばしてとかいう余計な処理をコメントアウトして確認するとかできるだろ?
32Now_loading...774KB:2005/05/16(月) 11:10:12 ID:dRa1TBaz
バグの確率0.02%
16の凡ミスの確率99.98%

言われた実験をせずに、バグじゃないか?というやつのFlashはバグってない法則。
3316:2005/05/16(月) 11:13:54 ID:4ti0GV4N
すまない。
いろいろ実験してたら解決してしまった。
16レスも使ってしまってスマソ
34Now_loading...774KB:2005/05/16(月) 11:16:35 ID:2WLRnCOE
皆の後学のために原因と解決法をよろしく。
35Now_loading...774KB:2005/05/16(月) 11:17:13 ID:DGw+DdZV
>>33
何だったの? 気になるから教えて下さい。
3616:2005/05/16(月) 11:40:18 ID:4ti0GV4N
自分でもわからないが、
たぶん.と,だとおもわれ
37Now_loading...774KB:2005/05/16(月) 11:41:17 ID:dRa1TBaz
・・・
38Now_loading...774KB:2005/05/16(月) 11:43:29 ID:DGw+DdZV
>>36
あー、おれもそれやったことある。負けるな、強い子になれ。
39Now_loading...774KB:2005/05/16(月) 11:44:19 ID:dRa1TBaz
というか、上のASの範囲じゃないってことか?
40Now_loading...774KB:2005/05/16(月) 14:11:01 ID:MHKL4Jvt
どうせ基本的なところだろ
次いけ次
41Now_loading...774KB:2005/05/16(月) 22:07:22 ID:Wlz+8PlX
質問。
フラッシュとCGIを連携させるには、SWFとCGIが同一ドメイン上にないとダメっすよね。
自分はnifty使ってるんで、自サイトでは連携できないなーと諦めていたんですが、

ANA THE DEP.
ttp://shop.anasthasia.jp/
の素材の一番上のHeadLine
ttp://shop.anasthasia.jp/sample/headline1/sample.htm
の解説
ttp://shop.anasthasia.jp/sample/book1/sec.htm
には、niftyは連携が可能っぽい書き方がされてました。

で、test02をダウンして、自サイトでテストしたんですが、結局ダメでした。
htmlの<param><embed>の書き換え、パーミッション、CGI冒頭の#user/local〜等各設定は問題なし。
(ちなみに現在フリーCGI使用中、なのでCGI設定でポカはやってないと思う)

また、ttp://flashmoon.net:8080/phpbb/viewtopic.php?p=708& を見ると
niftyでフラッシュカウンターをセットしているという書き込みがあります。
現在、そのサイトを見ると、
『現在、NIFTY特有の仕様により、FLASHカウンタが表示できない不具合が起きる場合があります。』
という記述があって、フラッシュカウンターは表示されてません。

実際のことどうなんでしょう。
間違ってないつもりが、実は自分のCGI設定にミスがあるんでしょうか?
それともかつてはniftyでも連携はできたが、今はできなくなったってことなんでしょうか?

OS:XP sp2
player:ver 7.0.19.0
42Now_loading...774KB:2005/05/17(火) 00:05:25 ID:VaM+kCXJ
>>41
一番の方法は「ANA THE DEP」にメールして聞く。
お金を払って商品を買う君は、大切なお客様だから丁寧に対応してもらえる。

「フラッシュとCGI」の連携は、「ブラウザのフォームとCGI」の連携と同じ
だから、CGIが動けば大丈夫だよ。

#!/usr/local/bin/perl
print "Content-type: text/plain\n\n";
print "Hello.";

とりあえず↑これが動くか確認して、動けばtest2.cgiの
どこかでダメか、あるいは他に問題があるか。
43Now_loading...774KB:2005/05/17(火) 04:03:41 ID:Q28e1BtJ
swfをニフ側に置ければ、
allowdomainで行けると思うが。
44Now_loading...774KB:2005/05/17(火) 13:19:58 ID:bxNaoQ9a
CGIでHTML内のSWF呼び出しを
〜.swf?count=xxx
とするようにする。
4541:2005/05/17(火) 21:00:59 ID:O/dBbk7M
>>42
このサンプルのCGIは、データファイルをオープンしてその内容をprint;するだけのものなんですが、
CGI単独で動かした場合は意図したとおりになる事は確認してあります。
このサンプルが作られた時は
HTTP://homepageN.nifty.com/XXXX/(Html側)と
HTTP://hpcgiN.nifty.com/XXXX/(CGI側)の連携ができたけれど、
今はドメイン完全一致でないとダメなのかも知れません。

で、完全一致じゃないが、あらかじめ指定したドメインを通すのが、
43さんが言うallowdomainだと思うんですが、
これはたしか2004以降でしたよね。MXでもありましたっけ?
自分の環境はまだMX無印なんですが、ヘルプ調べてみて
MXでもあるようなら自作チャレンジ、2004以降だったら8ボール待ちにします。

Thanksです>42,43
46Now_loading...774KB:2005/05/17(火) 21:14:28 ID:+S7zck/6
ある。
47Now_loading...774KB:2005/05/18(水) 00:38:24 ID:ul3EX7ac
WidowsXP_SP2 Flash2004

スクリプトで作成した矩形のポイントを、マウスのY座標と動的に連動させようとしたんですが、
うまくいきませんでした。一度描かれると、マウスをY座標の低い位置へ移動しても
再描画できない様なのですが方法はあるでしょうか?

onClipEvent(load) {//ポイント設定
point_1X = 0;//ポイント1
point_1Y = 0;
point_2X = 50;//ポイント2
point_2Y = 0;
point_3X = 50;//ポイント3
point_3Y = -50;
point_4X = 0;//ポイント4
point_4Y = -50;
}
onClipEvent(enterFrame) {
this.point_1Y = _ymouse;//移動
this.point_2Y = _ymouse;

this.beginFill(0xFFFF00);//図形の描画
this.lineStyle();
this.moveTo(0 ,0);
this.lineTo(point_1X , point_1Y);
this.lineTo(point_2X , point_2Y);
this.lineTo(point_3X , point_3Y);
this.lineTo(point_4X , point_4Y);
this.endFill();
}
48Now_loading...774KB:2005/05/18(水) 01:10:55 ID:lq3uiNXC
あるかも
49Now_loading...774KB:2005/05/18(水) 02:00:18 ID:iEmNt6Zj
>>47
(・∀・)出来た。

onClipEvent(load) {//ポイント設定
point_1X = 0;//ポイント1
point_1Y = 0;
point_2X = 50;//ポイント2
point_2Y = 0;
point_3X = 50;//ポイント3
point_3Y = -50;
point_4X = 0;//ポイント4
point_4Y = -50;
count = 0;
}

onClipEvent(enterFrame) {
point_1Y = _ymouse;//移動
point_2Y = _ymouse;
mc_name1 = "mc" + (count - 1);
mc_name2 = "mc" + count;
removeMovieClip(mc_name1);
createEmptyMovieClip(mc_name2,count);
this[mc_name2].beginFill(0xFFFF00);//図形の描画
this[mc_name2].lineStyle();
this[mc_name2].moveTo(point_1X ,point_1Y);
this[mc_name2].lineTo(point_2X, point_2Y);
this[mc_name2].lineTo(point_3X, point_3Y);
this[mc_name2].lineTo(point_4X, point_4Y);
this[mc_name2].endFill();
}
50Now_loading...774KB:2005/05/18(水) 06:33:10 ID:+FkKR5ki
>>49
なんだよそれ。。
51Now_loading...774KB:2005/05/18(水) 06:45:11 ID:+FkKR5ki
>>47
this.beginFillの行の前に
this.clear();
でクリアしておく。(0,0)からの描画なので伸びる形になってるが、そこらへんは
試行錯誤して直せるでしょ。
52Now_loading...774KB:2005/05/18(水) 08:26:10 ID:lq3uiNXC
っていうかさ、最初から空白MCを作ってそこへ描いて
そのMCを動かせばいいだけじゃん。
5347:2005/05/18(水) 09:28:42 ID:ul3EX7ac
>49
>51
図を描画する前にクリアが必要だったんですね。


onClipEvent(enterFrame) {
this.point_1Y = _ymouse;//移動
this.point_2Y = _ymouse;
this.clear(); //←これを追加
this.beginFill(0xFFFF00);//図形の描画
this.lineStyle();



有難うございます
54Now_loading...774KB:2005/05/18(水) 12:58:24 ID:iEmNt6Zj
>>50,51
なるほど、消すのには、clear()を使うのか。勉強になった。知らんかった。
55Now_loading...774KB:2005/05/18(水) 17:09:16 ID:NsOEqFmq
>>41、まだいるかな

確か@niftyのcgiサーバーではallowdomainもloadPolicyfileも無駄だったような。

@niftyはhtml用とcgi用のサーバーが別。
ルートディレクトリにはファイルがアップできない。
cgi側にはcgiが参照するファイル以外置いてもhtmlからは無視される。
などなどの障害からcgiサーバーにcrossdomainファイルを置いてもたぶん無視される。

でもallowdomainもloadPolicyも必要ない。
だからFlashMXでもできると思う。

cgiからswfを呼び出すようにすればいい。

後はググれ。
ttp://www.gac.jp/article/index.php?stats=question&category=19&id=12459&command=msg
56Now_loading...774KB:2005/05/18(水) 20:46:49 ID:kPImAk12
>>41とは違いますが、cgi連携で悩んでます。

CGIダメなレンタル鯖と、CGIオーケーのプロバ(plala)鯖があり、
基本的なコンテンツをレンタルの方に置き、CGIとflashをプロバ鯖に置いてます。
htmlに貼り付けた連携flashは、ちゃんと期待通りの動作をしておりました。

で、今度はその連携flashを、別のflashの中に埋め込もうと思い、
レンタル鯖に置いたflashからloadMovieで、
プロバ鯖に置いてあるCGI連携FLASHを読み込み、
動作させてみたのですが、正常に作動しません。
こういう場合の注意点は何がありますでしょうか?

一応レンタル鯖に置かれた読み込み元のFLASHでは、プロバ鯖をallowDomain済みです。
よろしくお願いします。
5741:2005/05/18(水) 21:20:12 ID:2Qc0V0h9
>>55
最近CGIとの連携に興味を持ち始めたばかりなので、
そっち系のスクリプトは全然見ておらず、
異なるドメイン間ではデータの送受信ができない
程度の知識しか持ち合わせていませんでした。
ご提示のURLはとても勉強になりました。ありがとうございます。
でもこの方法はかなりトリッキーつーか強引な裏技ですねー。
5856:2005/05/18(水) 21:52:21 ID:kPImAk12
ポリシーファイルを設置したら、不完全ながら動きました。
flash→cgiは通信できてるようなのですが、cgi→flashができてないようです。
なぜだ。
59Now_loading...774KB:2005/05/18(水) 22:25:46 ID:iEmNt6Zj
>>58
不思議だね。送れてるのに返ってこないとは。
perlで戻ってくる様に設定した変数名とflash内の変数名が一致してないとか。
60Now_loading...774KB:2005/05/18(水) 23:10:13 ID:7ODGjyaX
その部分のコードを書いてみたら?
loadVariables使ってたら、セキュリティでなくて単純にたぶんパスの問題だと思う
61Now_loading...774KB:2005/05/20(金) 02:59:26 ID:v887Q1dw
凄く初歩的なんですがイマイチわかりません
10〜30の数をランダムで表示させるには
Math.floor(Math.random() * 31) + 10;
と記述すれば良いんですよね?

どうも31以上の数が出てきてしまうのですが・・・
62Now_loading...774KB:2005/05/20(金) 03:04:10 ID:VOF6dLwy
Math.random()*20    で0〜20
Math.random()+20+10  で10〜30

混乱したら数直線を紙にかいてみるといいよ
63Now_loading...774KB:2005/05/20(金) 03:20:00 ID:v887Q1dw
>>62
本当物凄い勢いで貝等thanks!
やはり計算の仕方がダメでした。。親切にどうもです
64Now_loading...774KB:2005/05/20(金) 03:37:23 ID:VD6TMgAD
環境)Win98SE,FlashMX2004

カウンターによる条件で止まるムービーのASを書いています。
AというMCがボタンを押すことによりY方向に動き出し、カウントi
が20より大きくなると止まるよう

i = 0;         ← 1フレーム目

on (release) {     ← 以下ボタンに記述
A.onEnterFrame = function() {
i++;
A._y += 10;
}
if (i>20) {
A.onEnterFrame = undefined;
}
}

と書きましたが止まりません。
どうしたものでしょうか?
65Now_loading...774KB:2005/05/20(金) 03:41:03 ID:NYdDV92S
>>61

この貝等をあげよう。a〜bまでの数がVarに入るぞ。

a = 5;b = 8;
Var = Math.floor(Math.random()*(b-a+1)+a);
66Now_loading...774KB:2005/05/20(金) 04:28:37 ID:KQwujbzd
今日初めてActionScriptというものを知りました素人です。

スペースキーを押した時効果音を出したいのですが、
この後が全然わかりません orz


if (Key.isDown(Key.SPACE)) {
67Now_loading...774KB:2005/05/20(金) 06:07:11 ID:c1PSAJ2+
6864:2005/05/20(金) 06:56:22 ID:A5ullBd5
(カウンター条件で止まるムービーのAS)
自己解決しました。

69Now_loading...774KB:2005/05/20(金) 07:35:59 ID:NYdDV92S
>>66
簡単な方法は、

ムービークリップを作る。なかのタイムライン上には
フレーム1 空
フレーム2 音を貼る
フレーム3 stop();
とする。

作ったムービークリップに以下のASを貼る
onClipEvent(load){
//↓どのキーが押された時にするか決める
key = Key.SPACE;
stop();
}
onClipEvent(keyDown){
if (Key.getAscii() == key && !this["keyFlag_" + Key.getAscii()]) {
this["keyFlag_" + Key.getAscii()] = true;
gotoAndPlay(2);
}
}
onClipEvent(keyUp){
if (Key.getAscii() == key) {
this["keyFlag_" + Key.getAscii()] = false;
}
}
70Now_loading...774KB:2005/05/20(金) 11:38:34 ID:2jK3k5Z1
>>62
Math.random()は 0 <= n < 1の値を返すから
Math.random()*20 は 0<=n<20
71Now_loading...774KB:2005/05/24(火) 10:46:59 ID:cpFHti5a
ソフト)FlashMX2004_ver7.2

入れ子のMCのASで質問です。
全体のMCをAllとして、その中にon(release)で動く2個のMC:A,B
があるとして、Allをマウスドラッグで
on (press) {
this.startDrag();
}
on (release) {
this.stopDrag();
}

と、動かし、移動した先でAをクリックしてBを動かしたいのですが
上手くいきません。
アドバイス願います。

尚、AllをMCとしない場合(固定したとき)は、A→Bの動作は
OKでした。
72Now_loading...774KB:2005/05/24(火) 11:31:16 ID:2Su/Ror2
ボタンmcの中にあるボタンmcって機能せんのじゃなかったけ。
MC : A、B、Cと用意して、CのドラッグでAllが動くようにする。
7371:2005/05/24(火) 12:12:46 ID:9vFBqrnv
>>72

なるほど、Cで全体を追従させるってことですね。
やってみます。
74Now_loading...774KB:2005/05/24(火) 13:07:54 ID:L2/IOPt1
ムービー開始時に取得した値(例:MCのAの初期座標(a, b))を定数
とする記述法はどんなものでしょうか?

Javaなんかだったら、final a と書きますが・・・どうでしょう?
75Now_loading...774KB:2005/05/24(火) 13:28:41 ID:fBvh9Z+c
何度言えばわかるんだ?

ボタンMCはそのメソッドに排他的要素を含むメソッドが存在するため
入れ子にしたりすると、その中の一切のメソッドは無視されることがある

どっかにメモっとけ
76Now_loading...774KB:2005/05/24(火) 13:33:01 ID:fBvh9Z+c
>>74
finalx=mc._x
finaly=mc._y
とでもはじめに代入すればいいだろ
77Now_loading...774KB:2005/05/24(火) 13:39:35 ID:vrCvXSAR
>>76

74です。スミマセン、私がアホでした。

78Now_loading...774KB:2005/05/24(火) 15:40:54 ID:N4CkHILO
でも直接関係ないけどFlashにもfinal欲しいよねぇ。
実質問題ないんだけど、動作しない変数を設定する時なんか気持ちが悪い。
79Now_loading...774KB:2005/05/24(火) 21:45:58 ID:Euw7XKFu
>>75
>一切のメソッドは無視されることがある
どういう場合にされて、
どういう場合にされないのか
詳しく教えてください。
80Now_loading...774KB:2005/05/24(火) 22:01:58 ID:jCcblsHD
>>79
ボタン1の中にボタン2が入ってるとボタン2は反応しないってこと
81Now_loading...774KB:2005/05/24(火) 23:25:20 ID:PqCTO58I
ボタンに入れ子をするって時点で危ない。
82Now_loading...774KB:2005/05/25(水) 00:00:02 ID:dVs/FX8P
試しにボタンの中にボタンを入れてみたら爆発しました。
83Now_loading...774KB:2005/05/25(水) 00:05:47 ID:8ZaxqXXr
そうかい。
84Now_loading...774KB:2005/05/25(水) 00:24:43 ID:RsxSzejg
質問です。
以前ディレクターでLINGOを使っていた時、キャストの所にLINGO形式で書いたテキストファイルを貼り付け
ムービー開始時のイベント(onstartmovie)に引っ掛けて
スコアデータ・テクスチャファイル名等をテキストファイルに出力していたのですが、
ASでこのような事はできるのでしょうか?
要はグラフィックさんが組んだデータを中間データとして吐き出すといった事をやりたいのですが、できるのでしょうか?
85Now_loading...774KB:2005/05/25(水) 00:26:39 ID:8ZaxqXXr
無理。
8684:2005/05/26(木) 09:46:49 ID:Fmwwn5uo
え、無理なのですが、具体的にはどこら変の事が無理なんでしょうか?
ASはLINGOの簡易版と聞いていたんである程度の事はできるとおもったんですが
やっぱり特殊な使い方なんで無理なのか・・・
87Now_loading...774KB:2005/05/26(木) 09:58:54 ID:QWaj8Ac6
>>86
flash単体では、テキストファイルに出力ということができない
から無理ということでしょ。
88Now_loading...774KB:2005/05/26(木) 10:18:51 ID:CTXuOigg
斜めに線をビヨーンと伸ばすにはどんなスクリプトを書けばよいでしょうか
89Now_loading...774KB:2005/05/26(木) 10:39:04 ID:QWaj8Ac6
>>88
dx=dy=0;
this.onEnterFrame=function () {
this.clear();
this.lineStyle(2, 0xFF0000);
dx+=10;
dy+=10;
if(dx>300) dx=dy=0;
this.moveTo(0,0);
this.lineTo(dx,dy);
}

とか。
9088:2005/05/26(木) 11:21:21 ID:CTXuOigg
>>89
返信ありがとうございます。
この場合、ふたつの点を指定して線を引くにはどうすればよいでしょうか。
お願いします
91Now_loading...774KB:2005/05/26(木) 11:27:28 ID:LPWsW4gW
>>90
this.lineStyle(線の太さ, 線の色, 線の不透明度);
this.moveTo(始点x座標,始点y座標);
this.lineTo(終点x座標,終点y座標);
92Now_loading...774KB:2005/05/26(木) 14:18:29 ID:OvGXqgDL
少しはヘルプのActionScript辞書みろよ。
例文も載ってるから結構使えるぞ。
93Now_loading...774KB:2005/05/26(木) 15:02:38 ID:iWvZfmxT
ユーザーがヘルプを読まなくなったのはMicrosoftの大罪だと思う。
Flashのヘルプなんて読んでみればなかなか分かりやすいのに。
94Now_loading...774KB:2005/05/26(木) 16:22:34 ID:MNVubFLu
95Now_loading...774KB:2005/05/26(木) 18:36:30 ID:Q05vksgl
ヘルプを開くと、ここにいきなり飛ばされる機能があるとか
そんな被害妄想
96Now_loading...774KB:2005/05/26(木) 18:41:33 ID:SWIUHsCM
ここは生きるヘルプだ
\(`Д´)ノ ウワァアン
97Now_loading...774KB:2005/05/26(木) 18:50:53 ID:CZ9IN2E5
if (!happy) {
trace("don’t worry, be happy");
}

ActionScript辞典の例文より。
良いセンスしてるな。
98Now_loading...774KB:2005/05/26(木) 18:55:44 ID:KdghHS1g
どこが?
99Now_loading...774KB:2005/05/26(木) 21:39:30 ID:SWIUHsCM
>>97
面白い。
100Now_loading...774KB:2005/05/26(木) 23:07:13 ID:qpLw7qMK
さすがアメリカだな
101Now_loading...774KB:2005/05/27(金) 21:09:34 ID:F7gZ5mT0
FLASH MX 2004を使っています
配列について質問です。曲リストのような物を作っているのですが
Music = new Array;
Music[0〜10] = "曲名";(0〜10に入れてるという意味で)
という感じでMusic配列に曲名を入れ
その後リストのように表示するためにMC「List」の中のMusicName0〜10に代入しようとしました
for(i=0;i<=10;i++){
eval("List.MusicName"+i) = Music[i];
}
と書くとエラーが起き(thisの場合withを使ってるのですが)
with(List){
for(i=0;i<=10;i++){
this["MusicName"+i] = Music[i];
}
}
とした場合は変数に名前がちゃんと入っていませんでした
traceしたところMusic配列にはちゃんと曲文字列が入っているので
代入部分に問題があるのだと思っています

スクリプトはタイムライン上に書いてます
分かる方居ましたら、ご指導お願いします
102Now_loading...774KB:2005/05/27(金) 21:13:01 ID:orvf3el8
lengthって何ですか?
103Now_loading...774KB:2005/05/27(金) 21:16:15 ID:i+lZVie7
>>101
withを使う意味がよくわからない。
for(i=0;i<=10;i++){
this.list["MusicName"+i] = Music[i];
}
でいいのでは?
104Now_loading...774KB:2005/05/27(金) 21:58:54 ID:F7gZ5mT0
>>103
ご解答ありがとうございます
後々スクリプトを追記する時見やすいかな、と思ってwithを使っていました
105Now_loading...774KB:2005/05/27(金) 22:08:54 ID:yNAFdVRx
withはFlash4時代の負の遺産だから使う必要はこれっぽっちもない
106Now_loading...774KB:2005/05/27(金) 22:30:00 ID:F7gZ5mT0
>>105
そうなのですか・・・。教えてFLASH MX ASで使っている所があって便利だなと思ってました
今後気をつけて取り組みたいと思います。ありがとうございました
107Now_loading...774KB:2005/05/27(金) 22:47:35 ID:ukOi0rcr
ActionScriptで,サーバーと下記の方式でやりとりしたいと思っています。

・サーバーへのリクエストは,HTTP POSTまたはGETで www-form-urlencoding形式
(application/xmlではない)
・サーバーからのレスポンスは,XML形式のテキストデータとして受け取る

これを実現するためには,どうしたらいいのでしょうか。

ちょうどFlexでは <mx:HTTPService>というタグでできるのですが,
Flash MX 2004で,ActionScriptだけでやろうとすると
・XMLクラスは送受信ともXML形式でやってしまう?
・LoadVarsは戻り値をXML形式では受け取れない?
のではないかというように調べた範囲では見えてしまって,どうすればいいのかと思っています。

どなたか教えていただけないでしょうか…?
108Now_loading...774KB:2005/05/28(土) 08:49:40 ID:84mzbv30
>>107
loadVarsでデータ受信時の処理をonDataでカスタマイズすればいいよ。
109Now_loading...774KB:2005/05/28(土) 12:36:22 ID:TVvIXdnI
MXなんですが、for文を使って、duplicateMovieClipであるMCを9つ複製するとします。
それを縦3つ横3つにならべるにはどういうASにすればいいでしょうか?
110Now_loading...774KB:2005/05/28(土) 12:37:57 ID:W/YIzHTj
>>107
GETで良ければ、適宜escapeしたクエリー文字列を付加したCGIのURLから
XMLオブジェクトのloadメソッドで普通にXMLを読み出せばよいわな。
111Now_loading...774KB:2005/05/28(土) 12:42:31 ID:W/YIzHTj
>>109
mc0がもとのMCだとして

for(i = 0; i < 9; i++) {
    if(i > 0) mc0.duplicateMovieClip("mc" + i, i);
    this["mc" + i]._x += (i % 3) * mc0._width;
    this["mc" + i]._y += Math.floor(i / 3) * mc0._height;
}
112Now_loading...774KB:2005/05/28(土) 14:30:49 ID:hzPsUrm+

せめて、自分がどういう方法を試したか提示して欲しい物だな。

113Now_loading...774KB:2005/05/28(土) 16:13:33 ID:D/bxn+rg
>>108 , 110

ありがとうございます,アドバイスを受けてひとまずチャレンジしてみます。
114Now_loading...774KB:2005/05/28(土) 18:00:04 ID:tJc3Q9jY
if文の必要性がわからない
115Now_loading...774KB:2005/05/28(土) 18:37:01 ID:DNrlFrDV
>>114
別に必要なければ、使わなくてもいいよ。自分が必要な物だけ使えばいいよ。
116114:2005/05/28(土) 18:40:18 ID:tJc3Q9jY
>>115
すまん、>>111へのレス。アンカー付け忘れた
117Now_loading...774KB:2005/05/28(土) 19:39:23 ID:DNrlFrDV

 ヽ(・ω・)/   ズコー
\(.\ ノ
118Now_loading...774KB:2005/05/28(土) 20:39:48 ID:iJMSrxXI
http://fun.poosan.net/detu/up/img/113.swf
このようなものを作るために
onClipEvent (load) {
for (tamakazu=_root.oya_table.dansu_bomb; tamakazu>0; tamakazu--) {
_root.attachMovie("tama_bomb", "tama_bomb"+this.tamakazu, Math.floor(Math.random()));
_root["tama_bomb"+this.tamakazu]._x = _root.oya_table._x;
_root["tama_bomb"+this.tamakazu]._y = _root.oya_table._y;
}
}
こんなスクリプトを書きました。が、うまくいきません。
どなたかご教示願います。
ちなみに、_root["tama_bomb"+this.tamakazu]が大きな丸の周りに回っている
小さなまるで_root.oya_tableが中央の大きな丸です。
119Now_loading...774KB:2005/05/28(土) 20:42:55 ID:LbXzUnq1
Math.floor(Math.random())
常にゼロでは?
120Now_loading...774KB:2005/05/28(土) 21:04:35 ID:hzPsUrm+
深度をランダムにする意図がよくわからんが。
121Now_loading...774KB:2005/05/28(土) 21:08:57 ID:ecxyaNhF
ActionScriptの習得難易度が100だとして
C言語はどれくらい難しいでしょうか?
122Now_loading...774KB:2005/05/28(土) 21:13:59 ID:W/YIzHTj
>>114
>>111はattachMovie だとifは不要だけど、
duplicateMovieClipだと要りますね。

でも、よく見るとmc0の位置は変更されないので
そこを基準にするならばi=1からでも良かったわな・・・。ハハハ
123Now_loading...774KB:2005/05/28(土) 21:33:21 ID:W/YIzHTj
>>121
習得難易度っては、何を以って難しいと捕らえるかに依りますが。

言語の習得っては、独立しているものではなく、
基本的には必要な機能を得るためにアルゴリズムを組み立て、
コマンド等の組み合わせて、コードを記述する「能力」が
プログラミングの技術であって、それさえ身についていれば
あとは、多少の文法の違いはあれど、
コマンドリファレンスマニュアルさえあれば、
PerlだろうがPHPだろうが、VBだろうが
どの言語でも使えるようになるってのが普通ですな。

なので、どれでも差異は無いのではないかと思いますが。
124Now_loading...774KB:2005/05/29(日) 09:36:45 ID:BVUnEr5h
プログラム自体に対する習得難易度はそう大差無いだろうが、
ASの場合非常に柔軟性がある(ルーズというか)書式が許されるので、
ASで慣れて他の言語でコード書くとコードエラー多そう。

後やっぱコーディング>プレビューが直で出来るのがFlashの売りかもね。
他の言語だとコーディング>コンパイル>実行の手間がめんどいかも。
125Now_loading...774KB:2005/05/29(日) 10:22:39 ID:4HTI3vSZ
インスタンスの消し方の質問です。

例えば、あるインスタンスA(MC)をドラッグして、他のインスタンスB
と重なった(hitTest()を使用)ときAが消えるようにするASはどんな感じ
になりますか?

この場合アルファを使わず、いきなり画面から消す形にしたいです。
126Now_loading...774KB:2005/05/29(日) 10:49:53 ID:QX2dC+m1
winsowsXP MX2004です。

あるMCをボタンから外部から与えられた座標(x軸のみ)へ、10フレームで移動したいのですが、
うまくいかないっす。
あと移動は等速ではなく。、10フレームの間で減速したいのですが。
指導よろしくお願いします。

//MC
onClipEvent(load) {
idousaki = num;//外部から200や500などが入る
ichi = this._x;
}
onClipEvent(enterFrame){
sokudo = ((idousaki-ichi)/10); //距離/時間で速度を出す
if(this._x > idousaki) {   //プラス方向へ移動
this._x += sokudo;
if (this._x <=idousaki) {
this.ichi = idousaki;
}
}else if(this._x < idousaki) { //マイス方向へ移動
this._x += sokudo;
if (this._x >= idousaki) {
this._x = idousaki;
this.ichi = idousaki;
}
}
}

//ボタン
on(release) {
_parent.MC.idousaki = 500;//移動先の座標、このボタンは複数あり、様々な値が入っています
}
127Now_loading...774KB:2005/05/29(日) 11:03:16 ID:LUFKdvOR
>>125

これの組み合わせでできる。

onClipEvent(load){}
onPress = function(){}
onRelease = function(){}
if () {}
hitTest(_parent.B)
_visible = false
this.startDrag()
this.stopDrag()
128125:2005/05/29(日) 11:08:04 ID:4HTI3vSZ
>>127
あー、_visible = false  かあ。
ありがとうございます。
129Now_loading...774KB:2005/05/29(日) 12:36:33 ID:lfwC0MLz
>>126
そういう感じの動きは、簡単に↓これだけでも実現できる。
onClipEvent(enterFrame) {
    this._x = this._x * 0.2 + idousaki * 0.8;
}
ただし正確に10フレームで完結するようにするには
パラーメタの調整が必要だけども。
まあ、色々やってみるのが良いかと。
130Now_loading...774KB:2005/05/29(日) 13:11:26 ID:lfwC0MLz
でも何か違うか?
>>126は、スクリプト自体に問題は無さそうなので
もし上手くいかないってのが「まったく動作しない」ってことなら
必要な回答は>>129のような内容ではなくて・・・

もしかして、MCの階層が正しく把握できてなくて
ボタンのASが本当は↓こうすべきだとか言うオチかな?
on(release) {
    this.MC.idousaki = 500;
}

うまくいかないって言うなら、どう上手くいかないのか
ちゃんとその内容を書きましょう。
131Now_loading...774KB:2005/05/29(日) 22:45:44 ID:fBZw69Y6
そういや、最近気付いた事があるんだけど、
ステージに配置したMCって消せないって思っちゃうじゃない?

でも実はswapDepthsで深度を0以上にすると消せるのよ。
-深度や大きすぎる深度だと消せないMCになるって知った時に
もしかしてと試したら出来ておどろいた。
132Now_loading...774KB:2005/05/29(日) 23:00:28 ID:e3ypeQp7
既出。
133Now_loading...774KB:2005/05/30(月) 00:23:13 ID:UOycGOS4
>>131
今、やってみたけど、消えない。

onClipEvent(load){
this.swapDepths(1000);
}

↑例えばこれをMCに貼付けると消えるってことだよね。
134Now_loading...774KB:2005/05/30(月) 00:33:54 ID:RNrcw5aL
いや、あの・・・
removeMovieClipの話かと。
保護深度のことな。
135Now_loading...774KB:2005/05/30(月) 05:48:29 ID:UOycGOS4
>>134
removeできたよ。意味ワカンナカタヨ。
\(`Д´)ノ
136Now_loading...774KB:2005/05/30(月) 23:21:33 ID:airSmXM8
i++を一定時間間隔で行いたいのですが、何か関数ありますでしょうか?
137Now_loading...774KB:2005/05/30(月) 23:33:46 ID:JOGl5pL+
>>136
setIntervalでヘルプ参照
138Now_loading...774KB:2005/05/30(月) 23:53:25 ID:airSmXM8
>>137さん
有難うございました!!
うまくいきますた。
139Now_loading...774KB:2005/05/31(火) 04:16:21 ID:iqgMrm5T
すみません。環境はPHP版の ming0.3a の中で ActionScript を書いています。
以下のようにActionSctipをPHPに埋め込んでいます。プログラミングは初心者
です。
$strAction = "
ここにActionScriptを書いています。
";
$movie -> add (new SWFAction($strAction));

PHP(Ming)側から引き渡されたSpriteのインスタンスが以下のように存在
しています。ここまでは確認して動いてます。
image1
image2
image3



このインスタンスの数が多いのでforループで設置したいです。
image1._x = 100;
image2._x = 100;
image3._x = 100;
上のようなActionScriptをまとめたいです。
for(var i=0; i<10 ; i++) {
image+i._x = 100;
}
と書いても動きませんでした。初歩的な質問ですみません。
140Now_loading...774KB:2005/05/31(火) 06:12:26 ID:yNelodUC
swfファイルが呼び出された元(htmなど)のurl又はファイル名を表示するには
どのようにすれば良いのでしょうか。お願いします
141Now_loading...774KB:2005/05/31(火) 08:53:12 ID:R8uMmPSm
>>139
mingは使ったことないが、ASだと以下のパターンのどちらか。
// this["image" + i]._x = 100;
// eval("image" + i)._x = 100;
>>140
_urlを表示する
142sage:2005/05/31(火) 09:49:13 ID:Caj/E0Xd
いつもお世話になっています。
gotoAndPlayについて質問です。
例えば、あるムービーが"init"というフレームでstopしていて、その状態で
そのムービーのinitを再度実行したいのですが、gotoAndPlayではうまく
実行できません。
何かいい手はありますでしょうか・
143Now_loading...774KB:2005/05/31(火) 11:03:34 ID:voanAIih
>>142
一度別フレームへジャンプさせ、そのフレームでinitにgotoさせればいいような気がするんだけど
どっちにしろそのコーディングは綺麗じゃなさそうだね。
もしできるならメソッドを使うほうがいいよ。
144Now_loading...774KB:2005/05/31(火) 13:40:33 ID:SW6C4P4L
>>141
PHP内部 ”” で囲まれた中でのActionScriptの記述なので、
this[\"image\" + i]._x = 100; または、 this['image' + i]._x = 100;
と記述したら上手く動作しました。ありがとうございました。
145Now_loading...774KB:2005/05/31(火) 20:31:59 ID:GZ8Pb3aU
_root.test_mc.onEnterFrame = function () {
n +=1;
newTest = "Test"+n;
this.duplicateMovieClip(newTest,n);
_root[newTest]._rotation = 180+ n*6;
}
FLASH初心者です。
読み込み度に生成されるオブジェクトの動きを指定することはできたのですが、
生成されたオブジェクト全体の動きを指定するにはどうしたらいいでしょうか。
同じタイミングでオブジェクト全体をフェードアウトさせたいのですが・・・
146Now_loading...774KB:2005/05/31(火) 22:58:44 ID:Di7/pdR0
>>140
HTMLも管理している状況ならfscommandなりを使って
ページのURL取得することはできるけど、そうでなければ無理。

swfの直リン呼び出しとか、他のWebサイトのページ内に
表示された場合は取得する方法はない。
147Now_loading...774KB:2005/05/31(火) 23:05:39 ID:Di7/pdR0
>>145
全体を操作する必要があるような場合は、
単純にもう1つ間にMCを作って、
その中にすべてのオブジェクトを置き
その上のMCを操作するのが良いのでは。
148142:2005/05/31(火) 23:21:13 ID:Caj/E0Xd
>>143
ありがとうございます。
この手の処理をやるとき、いつも1フレーム余分につくって
そこでストップさせて動かす時は1フレーム戻して・・
というやり方でやっていたので、先人達はもっとスマートな
やり方をご存知かと思いまして・・・
まあでも、これで心置きなく(?)今のやり方で進められます。
ありがとうございました。
149Now_loading...774KB:2005/06/01(水) 00:09:06 ID:JU4Vt84v
いや、だからもっとスマートなのはメソッド・・・
150145:2005/06/01(水) 00:17:42 ID:EdhmTNiQ
>>147
やってみましたが、駄目でした。orz
生成されるオブジェクトに合わせて段階的にalphaの値が減らされていくだけで
透明になっていくグラデーションができてしまいます。

お手上げです・・・・
151Now_loading...774KB:2005/06/01(水) 00:43:35 ID:JU4Vt84v
それはその上のMCを操作していない。
152Now_loading...774KB:2005/06/01(水) 02:42:54 ID:EOwbAi4J
>>150
>>145のスクリプトは文法上は正しいけども、
これみると無限に複製を続けてしまう内容で
どういったものを目指しているのか
いまいち良く分かりませんが・・。

↓これを試してみて分からなかったら更に考えましょう。

(1)test_mcを選択して、さらにシンボル化してMCを作成し、
そのインスタンス名にparent_mcと付ける。

(2) >>145のASを以下で置き換える。

_root.parent_mc.test_mc.onEnterFrame = function () {
  n +=1;
  if (n < 60) {
    newTest = "Test"+n;
    this.duplicateMovieClip(newTest,n);
    _root.parent_mc[newTest]._rotation = 180+ n*6;
  }
  else {
    _root.parent_mc._alpha *= 0.9;
  }
}

153Now_loading...774KB:2005/06/01(水) 05:42:52 ID:R0cuVTTX
>>152
親切な人(・∀・)イイヨ、イイヨォ、ェラィ
154145:2005/06/01(水) 15:16:46 ID:8BmceKD0
>>151
>>152
できました!
_alphaの値を変に記述してました。

本当に助かりました。ありがとうございます。
155Now_loading...774KB:2005/06/01(水) 17:06:43 ID:Ij7F31Du
すいません教えてください
xp、MXです
いままでCGIでやってた処理をデータ形式をXMLに変えてFlashでやりたいのですがどうしてもサーバ上のデータを更新できません
data_xml.childNodes[0].attributes.value = "TEST";
こんな感じでデータを設定し
my_xml.send("data.xml");
としても更新されません
どのへんに原因があるのか教えてください
それ以外の処理(xmlの読み込みとか)は正常です
データのファイル属性は書き込み可にしてます
156Now_loading...774KB:2005/06/01(水) 17:13:00 ID:JU4Vt84v
swfはセキュリティ上の問題で
xmlの「送信」はしても「書き込み」はしません。
書き込みをしたければ送信を受け取って書き込みを担当するCGIが必要になります。
157Now_loading...774KB:2005/06/01(水) 17:20:25 ID:Ij7F31Du
>>156
そうなんですか!
書き込みはCGIにデータを送って書き替えたらいいのですね
素早い返答ありがとうございました!
158Now_loading...774KB:2005/06/02(木) 00:58:30 ID:MuPR535m
ActionScript使って、簡単なデータベース作りたいと考えています。
Accessからデータを読み込むことは可能でしょうか?
Accessからデータ読み込んで、Flashのリストボックスでまずは表示させたいのです。
可能であれば、ヒント、書籍など、ご教授よろしくお願い致します。
159Now_loading...774KB:2005/06/02(木) 01:49:05 ID:nd2t/rOK

っ ColdFusion
160Now_loading...774KB:2005/06/02(木) 01:57:38 ID:nd2t/rOK
Flashだけでやる場合は、

っ ODBC, ActiveXObject, ADODB, (MSXML)
+ASP(Webまたはイントラネット上)
+JScript+fscommand(ローカル環境)
161Now_loading...774KB:2005/06/02(木) 16:15:30 ID:dF+Au6oc
環境:FlashMX2004

「ok」というMCが最初隠れた状態で、MCのAを動かしながら
連動するBの下の(子の)インスタンスbがCに重なったとき、「ok」
が現れるASを下記のようにしました。

ok._visible = false;
A.onPress = function() {
     ※AとBは連動
A.startDrag();
if (B.b.hitTest(C)) {
 ok._visible = true;
}
};

しかし、bが重なっているであろうと思える位置においても
okが現れません。

間違いのご指摘願います。
162Now_loading...774KB:2005/06/02(木) 17:32:11 ID:DdvUqjY9
>>161

A.onPress = function(){};
の中にhitTest()があるってことは、
押したその時に重なってるかどうか調べるって事だから、そこを直すといいかもよ。

離した時には
onRelease = function(){};
だし、
ずっと確認しておきたいなら
onEnterFrame = function(){};
163Now_loading...774KB:2005/06/02(木) 17:33:39 ID:ueYiI9Dl
>>161
MovieClip.on〜
をヘルプで復習してみそ
164161:2005/06/02(木) 17:42:47 ID:we6EIVy4
>>162, 163
ありがとうございます。
165Now_loading...774KB:2005/06/02(木) 21:11:32 ID:MgFArjBU
>159-160
どうもありがとうございます。
難しいのですね・・。
VBとも比較しつつ、調べてみますです。
ありがとうございました。
166Now_loading...774KB:2005/06/02(木) 21:44:42 ID:gX2nUBvJ
ttp://3stripes.adidas.co.jp/teamcolour2005/football/index.html

↑ここのGAMEWEARというユニフォームを着せ替えてプレビューするというシステムを
作りたいのですが、やはり実現させるには配列使ったりするのでしょうか?
頭の中では何となく構造は浮かんでいるのですが、それがscriptとして結びつきません…
何かヒントを頂きたいのです、宜しくお願いします。

当方環境はWinXPpro・Flash5です。
167Now_loading...774KB:2005/06/02(木) 21:52:14 ID:DOjzObkY
>>166 URL見てないけど
ムービークリップを一つ作って、1フレームにstop();って書いて、
フレームを増やして一つのフレームに服を一つ書く
それをボタンでフーレム移動すれば着せ替えできるんじゃないか
168Now_loading...774KB:2005/06/03(金) 01:43:01 ID:0D4JfPY4
>>166
それのように色を変えるだけで良ければ、
ASのColorオブジェクト使ってMCの色を操作することで
割と簡単に実現できる。
169Now_loading...774KB:2005/06/03(金) 02:20:43 ID:bL5ll99i
>>166
FLASHで何か作ったことあるの?
170Now_loading...774KB:2005/06/03(金) 09:32:44 ID:qF0IqysU
線が伸びる折れ線グラフを作ろうとしてますが
一応線の動かない折れ線グラフは出来ています。
どのようにして線を伸ばせばよいでしょうか。
サンプルのflaがあるサイトありましたら教えて下さい。
171Now_loading...774KB:2005/06/03(金) 10:24:09 ID:4kgqxRss
>>170

('A`)これを組み合わせればできるかもしれない。


X1 = 50;Y1 = 200;//開始点の座標
X2 = 300;Y2 = 150;//終了点の座標
Time = 30;//何回でそこまで行くか

Xa = (X2-X1)/Time;
Ya = (Y2-Y1)/Time;
Count=0;
onEnterFrame = function(){
clear();
lineStyle(4, 0xff9900, 100);
moveTo(X1,Y1);
lineTo(X1+(Xa*Count),Y1+(Ya*Count));
Count++;
if (Count > Time) {
delete(onEnterFrame);
}
}
172170:2005/06/03(金) 12:11:22 ID:qF0IqysU
>>171
ありがとうございました。
早速試してみます。
173さめもも:2005/06/03(金) 13:46:54 ID:MXqd4NLu
現在ブラウザ上で表示している文字列をパラメータも含めた形で取得したいのですが、どのようにすればよいでしょうか。
swfファイルの位置などではないです。
ttp://www.○○○○.com/flash.php?id=01&name=tom
というような物です。
それをフラッシュ内で、文字列を分割して、個別のテキストエリアに入れたいのです。
よろしくお願いします。
174Now_loading...774KB:2005/06/03(金) 14:07:00 ID:4kgqxRss
>>173
FlashVarsを使うとできるかもしれない。
http://macromedia.com/jp/support/flash/ts/documents/fl0284.html
175?173:2005/06/03(金) 14:59:37 ID:MXqd4NLu
>>174
?以降の文字列は変数なのですけど、この方法でできるのでしょうか。
試してみます!ありがとうございます!
176Now_loading...774KB:2005/06/03(金) 15:40:01 ID:4kgqxRss
>>175
できる。
javascriptを使うなら、
window.location.search.slice(1)
document.write('')
とか使うはずだ。
177173:2005/06/03(金) 17:06:35 ID:MXqd4NLu
174様
出来ました、ありがとうございます!
178Now_loading...774KB:2005/06/07(火) 13:28:20 ID:ALP8Jsey
onClipEvent (load) {
coj = new Color(this);
c = coj.getRGB(this);
trace(c);
coj.setRGB(0xffffff);
}

on (rollOver) {
coj.setRGB(c);
}

大量の画像を白色に表示しておいて、マウスが触れたら
元の色に戻る物を作りたいんですが、
どうもうまく元の色に戻らない、黒になってしまう。
試しにトレースしてみたら「0」と表示された。
getRGBの使い方根本的に間違っているようなヨカーソ
助けて
179Now_loading...774KB:2005/06/07(火) 14:04:10 ID:cIgfiAP1
>>178
背景を白。大量の画像._visible=falseからtrueに。
180178:2005/06/07(火) 14:22:38 ID:ALP8Jsey
ごめん、めっちゃ言葉不足でした。
まずでかい一枚のカラフルな絵がある。
その一枚の絵の色のついた部分を、
それぞれムービークリップ化し、白色表示させておく。(200個ほど)

で、その絵をマウスでなぞるとマウスが触れたムービークリップは
元の色を取り戻す。

これで塗り絵のような効果を出したいんだ。
だから、ムービークリップはそれぞれ独立してないといけない。
色操作の解除ができるメソッドってないんだなー
それで困ってしまいまして。

フレーム1にカラー調整した物を、
フレーム2にカラー調整のしていない物を置く方法でなら
苦労なくいけると思うんだけど、
何せムービークリップの数がすごい。もっと増えるかもしんない。
181178:2005/06/07(火) 14:24:41 ID:ALP8Jsey
白色のパーツを作って被せておいて、
ロールオーバーで非表示にしてみる方法も試してみてるんだけど、
絵の形式の都合で難しい

注文が多くて申し訳ないです
182Now_loading...774KB:2005/06/07(火) 14:36:04 ID:w5tbG8//
>>180
そんな方法じゃなくてマスクレイヤーに描画メソッドでマウスで線描く方法もありそうだ
183Now_loading...774KB:2005/06/07(火) 15:02:48 ID:+JvBkapP
getRGBはASとかで設定された色の相違を返すから
Flashそのものが塗った色は返さないけどそれは理解してる?
184178:2005/06/07(火) 15:11:42 ID:ALP8Jsey
>>182
うん、その方が塗り絵らしいと思う。
けどそこまで塗り絵らしさは求めてるんじゃなくて、
カラフルな絵を際立たせて展示するためのちょっとした演出として考えてます。
でも参考になりまつ。レスthx

>>183
ようやくさっき理解しますた…

…つーことは
いったん色を変更して、元の色に戻すってのはASじゃ不可能なのかな。
その「元の色」をデータ化しておけば可能なんだろうけど、
色の種類も多いからちょっと現実的じゃないな…

やっぱ白い絵を大量に被せるのが一番か…?
185Now_loading...774KB:2005/06/07(火) 15:40:00 ID:w5tbG8//
質問です WindowsXPでFlashMX2004
配列をソートして数字が小さい順番で並べたいのですが
a = new Array(10, 1, 2, 20);
a.sort();
trace(a);
こうすると1,10,2,20になります
どうしたら数字が小さい順番になりますか?
186Now_loading...774KB:2005/06/07(火) 15:47:03 ID:+JvBkapP
>>184
setRGBとgetRGBではなく
えっと名前忘れたけどもう2つあったでしょ?
そっちだと変更をパーセンテージで変えられるからそれで何とかなると思うけど。

>>185
自分でソートプログラム書いたほうがいいかもね。
バブルソートで検索してごらん。
187Now_loading...774KB:2005/06/07(火) 15:49:15 ID:cIgfiAP1
>>185
a.sort(Array.NUMERIC);
trace(a);
188178:2005/06/07(火) 15:51:40 ID:ALP8Jsey
>>186
それだ!
ありがとう。解決しますた
189Now_loading...774KB:2005/06/07(火) 16:08:49 ID:JhByVYLb
ものすごい勢いの貝だな
190Now_loading...774KB:2005/06/07(火) 16:19:22 ID:w5tbG8//
>>186>>187
ありがとうございます。参考にします。
191Now_loading...774KB:2005/06/07(火) 16:38:06 ID:8YbR+opm
ソフト)FlashMX2004_ver7.2
OS)Win98SE

lineTo()描いた線を、古い線から順に消していく(又はアルファを下げる)
にはどうすればいいでしょうか?
例:
 線を ――――――――――――――――――――
と引き、これを
     - - - - ----- ----- ―――――――――――
としたいと思っています。
192191:2005/06/07(火) 16:39:51 ID:8YbR+opm
訂正:
 lineTo()描いた → lineTo()で描いた
193Now_loading...774KB:2005/06/07(火) 18:19:45 ID:w5tbG8//
>>191 こんな感じ?
mem = new Array();
this.onEnterFrame = function() {
_root.clear();
mem.push(new Array(_root._xmouse, _root._ymouse));
if (mem.length>60) mem.shift();
for (i=0; i<60; i++) {
if (i == 0) _root.moveTo(mem[0][0], mem[0][1]);
_root.lineStyle(4, 0x000000, i/60*100);
_root.lineTo(mem[i][0], mem[i][1]);
}
};

つまり、線の座標を全部配列に入れておいて線を全部消してから全部再描画
194191:2005/06/07(火) 18:31:52 ID:W8q3ZYWS
>>193
有難うございます。
これでやってみます。
195Now_loading...774KB:2005/06/07(火) 18:33:32 ID:JhByVYLb
>>193
これすごいねー。面白い、面白いよ。(・∀・)イイ!!
196Now_loading...774KB:2005/06/07(火) 18:44:30 ID:cIgfiAP1
>>193
うん、すごい。とってもすごいぞ。
197191:2005/06/07(火) 20:58:14 ID:QUYojZTQ
>>193
すみません。このASを打ち込んだところ、「動作が非常に遅くなっています〜」
というメッセージが出て確認ができません。
※メモリの問題で、テキストからのASのコピペができないため手入力しました。

if (i == 0) _root.moveTo(mem[0][0], mem[0][1]); 
の所は
if (i=0) {
_root.moveTo(mem[0][0], mem[0][1]);
}
でいいのでしょうか?
198Now_loading...774KB:2005/06/07(火) 21:02:09 ID:0ZN3d1A0
>>187
ho-
199Now_loading...774KB:2005/06/07(火) 21:06:26 ID:JhByVYLb
>>197
forが無限にループしてると、その文がでてくるよ。
for (i=0 ; i<=1) {
}
↑とかやると、でるよ。
200Now_loading...774KB:2005/06/07(火) 21:08:18 ID:JhByVYLb
訂正
for (i=0 ; i<=1 ;) {
}
201Now_loading...774KB:2005/06/07(火) 21:19:37 ID:0ZN3d1A0
>>197

if (i==0) {
   ↑ 
  ココ
202Now_loading...774KB:2005/06/07(火) 21:51:16 ID:lzmIlrB9
配列でmapに"xx"を格納して
map = new Array("xx");

visibleを使って_root .xx .wakuというMCを非表示にしたいのですが、
以下の様に表記してもうまく機能しません…
_root._root.map[0].waku._visible = fales;

mapの部分をどのように表記すればいいのでしょうか?

ちなみにこのように表記すればうまく機能するのですが、何とか配列で管理したいと思ってまして…
_root.xx.waku._visible = fales;
203Now_loading...774KB:2005/06/07(火) 21:57:26 ID:YDczYzbE
>>202
_root._root[map[0]].waku._visible = fales;
じゃないかな。
204191&197:2005/06/07(火) 22:01:35 ID:7Lrdtzuc
>>201
そうでした。タイプミスしてました。

>>193
できました。確かに面白いです。
205Now_loading...774KB:2005/06/07(火) 22:42:50 ID:S+GzrSPx
>>202
new Array()は引数が1個だと配列の長さを
指定することになるので使うときは注意が必要。

map = new Array();
map.push("xx");
_root[map[0]].waku._visible = false;

+オマケ
MCの名前だけじゃなくて、MC自体を
配列に入れてしまうのもCOOLかも。

map = new Array();
map.push(_root.xx);
map[0].waku._visible = false;
206Now_loading...774KB:2005/06/07(火) 22:48:50 ID:N51G03l8
メトロイドタイプの
横スクロールアクションゲームを作ろうとしているのですが、
キャラクターと壁、床との接地を行う良い方法を教えていただ
けませんでしょうか。

現在は、主人公の上下左右に別々にヒット判定を作り、壁と床
と天井を区別させているのです。
スクリプトもそこ記述しています。それはいい感じなのですが、
マップのほうが問題なのです。
hitTestでやろうとしているのですが、マップの形ではなくMC
の四角形で判定されてしまうので、うまくいきません。
四角いブロックを沢山つくってマップを作ろうとしたのですが、
コピーしたMCには反応してくれません。

何か良い方法はありませんでしょうか。
207Now_loading...774KB:2005/06/07(火) 22:49:38 ID:w5tbG8//
>>193 == http://pc8.2ch.net/test/read.cgi/swf/1118129988/

面白いスクリプト書いた奴がくだらないスレ立ててます
208Now_loading...774KB:2005/06/07(火) 22:56:54 ID:S+GzrSPx
>>206
hitTest(x, y, true);
209Now_loading...774KB:2005/06/07(火) 23:04:16 ID:N51G03l8
>>208
ありがとうございます。
しかし、それですと主人公の一点からしかヒットが取れないので、
天井か床に食い込んでしまいませんでしょうか。
210Now_loading...774KB:2005/06/07(火) 23:30:11 ID:S+GzrSPx
>>209
マップを構成するキャラクタの単位の大きさより短い間隔(周期)で
ヒット判定のポイントを、主人公キャラクター周辺に複数用意しておけば
一応、大丈夫なはず。

    ・
  ・○・
 ・/|\・
  ・| |・
   ・・

食い込んだ場合は、食い込みがなくなるまで逆方向に微小量戻す。

ただ、本当にちゃんと連続性を考えてやるなら
hitTestではなくて全て座標で管理するのが良いんだけどね。
点ではなくて、線との交差を判定するような方法で。
ただ、そういう複雑な処理をすると重くなりやすいので、
ここらへんがプログラミング技術の見せ所。
211202:2005/06/08(水) 00:19:32 ID:Us6TrrXn
>>203>>205
ありがとうございます。おかげで動作しました!

質問ばかりで恐縮なんですが…出来れば>>202の場合での、配列が例えば一つ上の階層にあったり
別階層にあった時の表記はどの様になるのかご教授お願いします。
212Now_loading...774KB:2005/06/08(水) 02:33:46 ID:X3ODBORe
>>211
配列使う前にMCのパスの記述方法をマスターするのが先かな。。

_root.aa ってのは
_root["aa"] とも書けて、この二つは全く同じ。

AS内でMCの名前を直接書く場合は、だいたい上の形式を使うけど
文字列変数を使ってMCの名前を指定したい場合は[ ]を使う。

例えば、↓これは
_root.xx.yy._visible = false;
以下のようにどう書いても良い。


_root["xx"].yy._visible = false;


_root.xx["yy"]._visible = false;


var strName = "yy";
_root.xx[strName]._visible = false;


var strNameX = "xx";
var strNameY = "yy";
_root[strNameX][strNameY]._visible = false;


map = new Array("xx", "yy");
_root[map[0]][map[1]]._visible = false;
213Now_loading...774KB:2005/06/08(水) 02:36:01 ID:X3ODBORe
さて、配列の定義、
map = new Array(); は、実は(this.)を省略した形で

this.map = new Array("xx", "yy");

thisはASをどのMC内に書いたかで変わる。

_rootのAS内で map = new Array(); とした場合は
_root.map = new Array(・・・); を定義したことになるので

_root.map = new Array("xx", "yy");
_root[_root.map[0]][_root.map[1]]._visible = false;


_root.xxのASでmap = new Array();とした場合は
_root.xx.map = new Array(・・・); を定義したことになるので

_root.xx.map = new Array("xx", "yy");
_root[_root.xx.map[0]][_root.xx.map[1]]._visible = false;

まあ・・・頑張ってくれ。
214Now_loading...774KB:2005/06/08(水) 03:31:50 ID:2opl5k5L
次のシーンにデータ(あるオブジェクトのプロパティ値)を引き継ぐ場合どうすれば良いでつか?
215Now_loading...774KB:2005/06/08(水) 04:13:20 ID:WKJfwkeJ
ttp://www.geocities.co.jp/Milano-Cat/4036/bote/5_3.html

ここにある、ボタンを押すと、テキストエリアにスコアが表示されるというのを作っているんですが、
書いてある通りにやってもテキストエリアにNaNと表示されてしまいます。
何が悪いのかわかりますか?
216Now_loading...774KB:2005/06/08(水) 04:31:32 ID:VJqsXYk0
>>215
先ず、
score=0;
と、書きましょう
scoreの値が不定義なのに
score+=10しても
不定義+10=不定義 のままです。


score=0;
MCの名前.ボタンの名前.onRelease = function (){
score+=10;
}
217Now_loading...774KB:2005/06/08(水) 05:31:24 ID:WKJfwkeJ
>>216
ありがとうございます。試してみます。
218Now_loading...774KB:2005/06/08(水) 06:03:38 ID:WKJfwkeJ
215です。
>>216
試してみましたが、うまくいきませんでした(;´Д`)
score=0;
MCの名前.ボタンの名前.onRelease = function (){
score+=10;
}
このスクリプトを書くのはMC内に配置してあるボタンの部分で良いのでしょうか?
あと
on(press){
score += 10
}
これはそのまま前のスクリプトに追加してそのまま記述すればいいんでしょうか?
219206:2005/06/08(水) 12:24:23 ID:0ON6O6vy
>>210
詳しい解説ありがとうございます!
うまくいきました。

しかし、この書き方ですと、敵や弾のヒット全てに対して毎フレーム判定することにナリ、
相当重くなりそうで不安です。
わがままで申し訳ありませんが、キャラのほうにヒット判定のコードを持たせて、小さい四角い
マップを沢山配置するような方法でヒットを取ることはできませんでしょうか。
一度やったのですが、四角いマップのMCをコピーして作成していくと、一番深度が
深いものにしか判定を取ってくれないのです。
それが解決できれば、私にも管理できる簡単なスクリプトで行けそうなのですが…。

どなたか、同じインスタンス名の沢山のMCに対してhitTestを実行できる方法を
ご存知の方はいらっしゃいませんでしょうか。
220Now_loading...774KB:2005/06/08(水) 12:41:39 ID:DcavQ7Sn
>>219
つか、hitTestを使わないといけないの?
普通、シューティングとか作る人はそんな遅いルーチン使わないけど。。
221202:2005/06/08(水) 13:06:45 ID:yBGEhWdQ
>>212
とても丁寧な解説ありがとうございます!
おかげで出来なかった部分が色々出来そうです。
もっと精進しなくては…お世話になりました。
222Now_loading...774KB:2005/06/08(水) 13:43:02 ID:LFNH295+
>>218
えっと、ごめんなさい。
ルートのタイムラインの第一フレームに
score=0;
と記述して、ボタンのスクリプトには
on(press){
_root.score+=10;
}
これで、一応は動く筈です。
どこが持ってる変数なのかを意識したりしましょう。


因みに>>216に書いてあるソースは、ルートのフレームアクションに記述すべきソースです
ちゃんとMCの名前とボタンの名前を付ければあれでも動くと思いますよ
223Now_loading...774KB:2005/06/08(水) 14:38:47 ID:/H4qqtS8
FLASH MXでカーソルを追従するアクセサリーを作ってHPに置きたいのですが、
普通に作るとHPの中でもFLASHムービーの中でしか表示できないです。
なんとかHPの表示エリア内全域で表示できるカーソル追跡アクセサリーは作れないものでしょうか?
224Now_loading...774KB:2005/06/08(水) 15:12:20 ID:TPym3qr3
javaスクリプトでやったほうが早い
225Now_loading...774KB:2005/06/08(水) 15:13:23 ID:UuJZzW0r
>>223
アクセサリーがFLASHムービーである以上、その領域を出ることはできません。
たとえて言えばビデオの映像がモニタから外に出てくるようなもので、それではホラーです。
FLASHムービーのステージサイズを常にブラウザにフィットさせるなどの方法は考えられます。
226Now_loading...774KB:2005/06/08(水) 15:21:00 ID:lqI2ZaSO
というかAS以前にそんなサイトはうざったくてやめたほうがいいよ。
227Now_loading...774KB:2005/06/08(水) 16:14:59 ID:IXDIee1f
>>222
何度も丁寧な説明ありがとうございました。
おかげさまで、一応動くようになりました。(゚∀゚)
もっと理解を深めるようガンバリマッス。
228Now_loading...774KB:2005/06/08(水) 20:30:13 ID:5U4/Wb4B
>>220
219の方法はちょっと( ・3・)アルェーって感じだけど、
hitTestうまく使えば凄い処理軽くなるよ。
229Now_loading...774KB:2005/06/08(水) 20:52:59 ID:UXqUEooY
>>220
hitTestを使わずにシューティングとかって作れるんですか!?
概要だけでも教えてください!!
230Now_loading...774KB:2005/06/08(水) 21:02:07 ID:5U4/Wb4B
>>229
hitTest使わないタイプだと、
全てのmcの座標を構造化して配列の中に突っ込んで、
座標をソートして比較が手っ取り早いんじゃないかな。
231Now_loading...774KB:2005/06/08(水) 21:04:05 ID:Rmx+DH7O
点と点の判定は、xyが同値であること
点と四角の判定はxyそれぞれが、面の最大最小に入っていること。
四角と四角の判定は、xyそれぞれの片方の最大が、もう片方の最小より大きく、かつ片方の最小がもう片方の最大より小さいこと

判定速度は点と点が最も早いが、実は四角と四角もそれほど重くない(単純計算で2倍)。
点と四角は、点が1×1の四角と同じ式になるので、四角と四角との判定と大差ない。
232Now_loading...774KB:2005/06/08(水) 21:05:56 ID:Rmx+DH7O
ついでに言うと、hitTestを使わないメリットは
その大きさのMCを用意しなくてもよいということと
最初にxだけ判定して、当たる可能性のある物だけyの判定をすればいいので
多少軽くなったりするべ。
233229:2005/06/08(水) 21:28:02 ID:UXqUEooY
>>231, >>232
ありがとー。
こんな方法があったなんて。
とても参考になりました!!
234220:2005/06/08(水) 22:38:56 ID:DcavQ7Sn
>>229
う、出遅れて皆さん答えられてるけど、アンカー掛けられてるので追加で。
ベクトルの内積を使った領域判定、円同士の半径を計算しての当たり判定
なんてのもあるよ。
235Now_loading...774KB:2005/06/09(木) 20:51:43 ID:8wVeTSO2
そのへんの中級あたりの解説書ではあまり説明してくれないけど、
必要な人にはすごくありがたい情報ってのはどうやって手に入れるものなの?

人のソースコードから学んだり、
組みながら編み出していったりするもの?
236Now_loading...774KB:2005/06/09(木) 20:54:38 ID:8DOtkOUu
ActionScriptの解説書じゃ無いのに考え方はいろいろ書いてあるよ。
そういうの読んで自分でASに置き換えればいいだけ。
237Now_loading...774KB:2005/06/09(木) 21:12:16 ID:fPkhvP8b
私がバブルソートを知ったのはC言語
238Now_loading...774KB:2005/06/09(木) 22:16:55 ID:wGVPzldD
>>235
判定関係は自分で考えたよ。ノートに何度も数式を書いた。
あとはゲームとか見て想像したり。
239Now_loading...774KB:2005/06/09(木) 22:41:14 ID:GgMtDS82
外部ホストのファイルを読み込む裏技みたいなのありますか?
CGIとか使わずに
240Now_loading...774KB:2005/06/09(木) 22:42:37 ID:VMi1PEzT
>>235
アルゴリズムを自分で思いつかない人は才能ないので
ActionScript使って何か作るのは辞めた方が良いでしょう。
241Now_loading...774KB:2005/06/09(木) 22:53:24 ID:8wVeTSO2
トンクス
やはり、他の言語というか、
プログラム思想に近い本を当たったりしたほうが良さそうですね

>>240
才能のある人のコード見せてください
242Now_loading...774KB:2005/06/09(木) 22:53:30 ID:5CKS7Wgw
>>240
なんだよ、99%のASプログラマが失業するぞ。
243Now_loading...774KB:2005/06/09(木) 22:58:18 ID:ufL6OLfU
>組みながら編み出していったりするもの?

これは yes だな。
244Now_loading...774KB:2005/06/09(木) 23:35:09 ID:zrysmzEY
デザインも出来てスクリプトも出来ないとFlash的にはキツイ。
245Now_loading...774KB:2005/06/09(木) 23:41:51 ID:OI/MLVJb
>>244
同意
246Now_loading...774KB:2005/06/10(金) 01:14:39 ID:WdbFj+LK
才能の問題と言えばそうなのかもね。

例えば、loop文を知った時に衝撃的じゃなかった?
「これ使うだけで物凄く簡略化出来るんじゃ?」とか。
さらに配列を知り、構造化を知り、
構造に対してループかける事で何でも出来るじゃん!みたいな(笑)

知るたびに面白くて色々なパターンを自分で作る事も多いし、
Web上のTipsなんかを見てなるほどと思って自分なりに参考にしてみたり。

最初から何でも判るわけでもなく、
そういう探究心がある人がどんどん伸びて行くんじゃないかな。
247Now_loading...774KB:2005/06/10(金) 01:31:29 ID:7avFlnvO
未だに絵のセンスが上達しない俺
248Now_loading...774KB:2005/06/10(金) 03:15:15 ID:zELQXY1M
絵のセンスか・・
もう九年デザイン関係の仕事をしているが上達した気がしないな。逃避盗作のセンスしかないやORT
249Now_loading...774KB:2005/06/10(金) 15:59:40 ID:YVEYuo4x
いうほどasなんて難しいもんじゃないから
適当に弄ってたら、自分で思いつきで組めるようになるよ
始めは、基本を覚えて、次に人の真似して
prototype組んで、適当に捏ねくりましたりすれば
そうだね、半年である程度のレベルにはなる
250Now_loading...774KB:2005/06/10(金) 16:44:20 ID:NpD4sobg
curveTo()を使った曲線描画の質問です。
環境:FlashMX2004 OS:Win98SE

ボタンを押して複数のMC(p1〜p4)を結ぶ曲線を描画するように
on (press) {
this.lineStyle(5, 0xFF0000, 50);
//太さ5、赤色、アルファ値50に設定
this.moveTo(_root.p1._x, _root.p1._y);
this.curveTo(_root.p2._x, _root.p2._y, _root.p3._x, _root.p3._y);
this.curveTo(_root.p3._x, _root.p3._y, _root.p4._x, _root.p4._y);
}
と書きましたが、上手く点を経由しません。なだらかに点をつなぐには
どうすればいいでしょうか?

実際のswfは http://oekaki.s56.xrea.com/x/uploader/src/oe1251.swf
にUpしています。
ご指摘、宜しくお願い致します。
251Now_loading...774KB:2005/06/10(金) 17:09:43 ID:Sw7nc7Dt
p1,p2,p3のシンボル内の座標はokか?
252Now_loading...774KB:2005/06/10(金) 17:18:20 ID:nRmXSEIp
>>247
絵の技術ならまだしも、センスとなると少々難しい問題だな
センスってやつには、人によってあうあわないっていう基準もあるし
まあ自分にしか描けない、出来ないってのがあると、それは強みだと思う
もちろん基本的なクオリティは高めないといけないが

おっと、AS関係ねぇ
そして人に言える立場じゃねぇ
253Now_loading...774KB:2005/06/10(金) 17:24:08 ID:FJyCpV1O
>>250
うまく経由しないって、、まさかコントロールポイント経由しないってこと?
254250:2005/06/10(金) 17:42:45 ID:4W2OGkrz
>>251
シンボル内の座標とは基準点のことでしょうか?それならば、基準点は
各インスタンスの中央に置いています。

>>253
コントロールポイントは経由している様に見えますが。。。。
「かすめている」状態です(詳しくは、swfをご覧下さい)。

ここでの目的を言い換えると、「複数のコントロールポイントを
通るなだらかな曲線を描画したい」となります。
255253:2005/06/10(金) 17:46:13 ID:FJyCpV1O
>>254
コントロールポイントを通る場合は開始座標終了座標の中点以外無い
コントロールポイントの意味を理解してる?
256253:2005/06/10(金) 17:58:35 ID:FJyCpV1O
訂正orz..
×中点以外
○直線上以外
ちなみにflashのペンツールとはちがうよん。
257250&254:2005/06/10(金) 18:04:58 ID:4W2OGkrz
>>255
ありがとうございます。それならば、S字型曲線を描きたい場合は、
Sの中間に(中央に)開始点を置き、終点を上下に置き、コントロール
ポイントをそれぞれの間に置けばOKですか?
258Now_loading...774KB:2005/06/10(金) 18:19:04 ID:r+yisoAc
当然分かるとおり、コントロールポイントを
中点に置くと描けるものは直線である。

幾つかの指定した点を通るなだらかな曲線
(各ノードにおいて微係数も連続である曲線)を描くには
スプライン補間とかして自分で描くしかない。
259Now_loading...774KB:2005/06/10(金) 18:36:42 ID:rTyNB5Ku
flashMX2004使用
ランダムで長さの違うflvファイルを読み込み、
最終フレームで停止したflvを表示させたいのですが、
デフォルトだと、ムービーの始めに戻りループ再生してしまいます。
これは可能なのでしょうか?
ボタンなどで停止するのではなく、あくまでもムービーの最後まで再生したのち、
最後のフレームの映像をずっと表示させたいのです。
ご教授お願いいたします。
260255:2005/06/10(金) 18:39:00 ID:FJyCpV1O

ここで開始点終了点CPの関係を試してみて。
>>257
ttp://hakuhin.hp.infoseek.co.jp/main/as/draw.html#DRAW_06
一回のcurveToでどの程度の曲線が書けるか分かるから、
後はそれを繰り返していって望む曲線にする感じで良いと思うよ。
261250&254:2005/06/10(金) 18:43:32 ID:4W2OGkrz
>>258, 260
有難うございます。サイト見てみます。
262250&254:2005/06/10(金) 20:15:06 ID:YHSCjuLr
S型曲線のASを書いてみました。
swfは http://oekaki.s56.xrea.com/x/uploader/src/oe1254.swf にあります。

this.onEnterFrame = function() {
this.clear();
this.lineStyle(5, 0xFF0000, 50);
//太さ5、赤色、アルファ値50に設定
this.moveTo(_root.p1._x, _root.p1._y);
this.curveTo(_root.p2._x, _root.p2._y, _root.p3._x, _root.p3._y);
this.curveTo(_root.p5._x, _root.p5._y, _root.p4._x, _root.p4._y);
};

各点はstartDrag()で移動させています。
263Now_loading...774KB:2005/06/10(金) 20:32:56 ID:FJyCpV1O
>>262
ついでにここらも紹介しとくね

角度とか色々変えてみるといいかも
ttp://www.actionscript-toolbox.com/findanchor.php
ASでグラフィックなら基本のサンプルスクリプト
ttp://www.macromedia.com/devnet/mx/flash/articles/adv_draw_methods.html
264Now_loading...774KB:2005/06/10(金) 23:25:05 ID:r+yisoAc
>>262
nodes = new Array(_root.p1, _root.p2, _root.p3, _root.p4);
lineStyle(5, 0xFF0000, 50);
moveTo(nodes[0]._x, nodes[0]._y);
for (i = 0; i < nodes.length - 1; i+= 0.1) {
infoControl = getPoint(i + 0.05);
infoAnchor = getPoint(i + 0.1);
curveTo(infoControl[0], infoControl[1], infoAnchor[0], infoAnchor[1]);
}
function getPoint(t) {
infoPoint = new Array(0, 0);
var i, j;
for (i = 0; i < nodes.length; i++) {
infoParam = new Array(1, 1);
for (j = 0; j < nodes.length; j++) {
if (j == i) continue;
infoParam[0] *= (t - j);
infoParam[1] *= (i - j);
}
infoPoint[0] += nodes[i]._x * infoParam[0] / infoParam[1];
infoPoint[1] += nodes[i]._y * infoParam[0] / infoParam[1];
}
return infoPoint;
}
265Now_loading...774KB:2005/06/11(土) 00:03:42 ID:NpD4sobg
円のMC(wa1)が斜め方向に往復するASを書いています。

speed = 4;  //動く速さ
wa1x0 = _root.wa1._x;
_root.wa1.onEnterFrame = function() {
_root.wa1._x += speed;
_root.wa1._y += speed;
trace("x= "+_root.wa1._y);
trace("y= "+_root.wa1._x);
vX = _root.wa1._x-wa1x0;  //動き幅
if ((vX<0) || (vX>100)) {  //動き幅がこの範囲を越えたら
speed = -speed;  //方向を逆転
}
};

一応、X方向には往復するのですが、Y方向には動きません。
理由は何でしょうか?
あと、trace()を入れてますが、出力ウインドウが現れません。
この点もご指摘願います。
266265:2005/06/11(土) 00:54:49 ID:KcyBG54O
ソフトはFlashMX2004_ver7.2です
267Now_loading...774KB:2005/06/11(土) 02:03:10 ID:+rkTG3mt
>>265-266
テストしたところそのASで特に問題なく動くようですが。。
何なんでしょう。

//動く速さ
speed = 4;
wa1x0 = _root.wa1._x;
_root.wa1.onEnterFrame = function() {
_root.wa1._x += speed;
_root.wa1._y += speed;
trace("x= "+_root.wa1._y);
trace("y= "+_root.wa1._x);
//動き幅
vX = _root.wa1._x-wa1x0;
//動き幅がこの範囲を越えたら
if ((vX<0) || (vX>100)) {
//方向を逆転
speed = -speed;
}
};

traceが効かないのは、パブリッシュ設定で
traceアクションを省略するようになっているとか。
f2キーを押して、非プレビュー中でも表示されないなら、
どこか画面外にふっとんでいる場合が。
268265:2005/06/11(土) 02:36:33 ID:lP7+5C4L
>>267
有難うございます。しかし、、、尚も改善されません。

試しにMCのwa1に記述してみました。
onClipEvent (load) {
speed = 4;
wa1x0 = this._x;
}
onClipEvent (enterFrame) {
this._x += speed;
this._y += speed;
trace("x= "+this._y);
trace("y= "+this._x);
vX = this._x-wa1x0;
if ((vX<0) || (vX>100)) {
speed = -speed;
}
}

trace()は出力されましたが、これだと縦方向に下がるだけです。
更なるアドバイス願います。
269Now_loading...774KB:2005/06/11(土) 02:50:26 ID:+rkTG3mt
>>268
MCを回転させているのを忘れているとか。
そのASをコピペで、ちゃんと斜めに動きますが。
270265&268:2005/06/11(土) 03:57:43 ID:lP7+5C4L
>>269
MCを回転させているとは、どういう意味でしょうか?
271Now_loading...774KB:2005/06/11(土) 04:24:26 ID:eRKIgMMJ
>>265 一応こうゆうのでも動きます。あんまり綺麗なソースじゃないですが
onClipEvent(load){
var i=0;
//↓触れ幅
var haba=20;
//↓スピード
var speed=5;
//↓左上〜右下の動きなら「1」 右上、左下なら「-1」
var sw=1;
}
onClipEvent(enterFrame){
this._x=Math.sin(i/180*Math.PI)*haba*sw;
this._y=Math.sin(i/180*Math.PI)*haba;
i+=speed;
}
272265&268:2005/06/11(土) 04:57:49 ID:lP7+5C4L
>>271
有難うございます。なるほど三角関数ですね。

余談ですが、今の高校の数学では、一次変換が消えたとの情報があります。
273265&268:2005/06/11(土) 07:07:33 ID:rR8vJiar
(円の斜め往復運動)
スミマセン。MCのwa1の編集画面に余計なスクリプトを書いていました。
お手数をおかけしました。
274Now_loading...774KB:2005/06/11(土) 10:37:58 ID:cYeaQT38
下記のように繰り返し処理で
配列Aに配列Bを代入していきたく、関数を作ったのですが
これをクリップイベントenterframeや、フレーム上で実行すると
固まってしまいます。どのようにすればよいでしょうか?
ご教授願います。


function noto(){
for(i=1;i=30;i++){
A[i]=B[i];
};
275Now_loading...774KB:2005/06/11(土) 11:10:12 ID:7Nce6fUX
function noto(){
for(i=1;i==30;i++){
A[i]=B[i];
};

2行目のi=30はi==30じゃないとだめ。
=は代入演算、==は等しいことを確かめる。
配列の長さはB.lengthで調べることができます。
もし配列Bの長さが変化するならこれを利用したほうがよいと思われます。

配列を丸ごと全部代入したいなら
A=B;でもいいんですよ。
276Now_loading...774KB:2005/06/11(土) 11:12:28 ID:eyS9kCRu
>>274
・配列は「ゼロ」から始まるので >i=1 → i=0
・i=30では無く i==30の間違いでしょう。そしてこれは配列の長さプロパティを直接使ったほうが後々便利だと思います >i=30 → i<B.length
・蛇足かもしれませんがA=new Array();若しくはA=[];といったかたちで配列の宣言はしてますか?

↓で動くと思います
function noto(){
for(i=0;i<B.length;i++){
A[i]=B[i];
};
277Now_loading...774KB:2005/06/11(土) 11:18:36 ID:pnB6Fb8k

っ function noto(){ A=B.slice(0); }
278274:2005/06/11(土) 12:54:18 ID:cYeaQT38
ありがとうございます
=になってた事に気がつかなかったなんてorz
279Now_loading...774KB:2005/06/11(土) 12:58:02 ID:eyS9kCRu
>>278
よくある
280Now_loading...774KB:2005/06/11(土) 13:08:35 ID:I+20ifeC
USA!USA!
281Now_loading...774KB:2005/06/11(土) 13:42:03 ID:I+20ifeC
ttp://komozo.net/のLabolatory→#06Tree(Bookmark)ってど〜やってるかわかりません!
特にドラッグして伸縮するトコとか・・・。
お願いします。
282Now_loading...774KB:2005/06/11(土) 14:05:00 ID:MvQVb4UP
>>281
こんなウザイのをマネしたいの?
283Now_loading...774KB:2005/06/11(土) 14:22:22 ID:6pVuffnF
>>281
確かに煩わしいサイトだ。
技術だけあってアイディアが貧弱な人は割とこういうサイトを作りやすい。

ツーリー表示なんて再帰関数使えば簡単。
284Now_loading...774KB:2005/06/11(土) 14:47:08 ID:a0DbLw/O
>>281
ドラッグの仕方?伸縮の動き?ツリーの管理?
何をお願いしてるのかも良く判らないので、質問はもう少し具体的に。

>>283
MONOとかに影響受けてる感じだね。
でもまぁ、自分に害がある訳じゃなし、
所詮人のやってる事なんだからそこまで言わんでも。
285Now_loading...774KB:2005/06/11(土) 23:13:34 ID:+RGFT2zN
MX2004Proです。

MediaDisplayコンポーネントからFLVを読み込む際に
ProgressBarコンポーネントを表示させようと
まずMediaDisplayコンポーネントを配置し
インスタンス名myVideoとして
次に同じフレーム上にMediaDisplayに重なるように
ProgressBarコンポーネントを配置し、myProgressとインスタンス名を
つけます。

ProgressBarコンポーネントのsourceはmyVideoとして
次にmyVideoを選択して

on (complete) {
_root.myProgress.visible=false;
}

とAS書いたのですがProgressBarが表示されたままになります。

ちゃんと100%になってるのでデータの読み込み自体は
大丈夫みたいですが、なぜ表示されたままなのか
わかりません。

どなたかアドバイスいただければ幸いです。
286Now_loading...774KB:2005/06/11(土) 23:53:51 ID:coZnT+Mr
エスケープキーを押すと結果画面に行くようにしたいのですが下記のコードではうまく
動きません。どうすればよいですか?

if(Key.isDown(Key.ESCAPE)){
_root.gotoAndStop("kekka");
}
287Now_loading...774KB:2005/06/12(日) 03:17:44 ID:4c5pcWDS
>>286
リスナーの方のサンプル。MCイベントでとるやり方もある。
//シンプルなキーリスナー
var keyListener = new Object();
keyListener.onKeyDown = function() {
switch (Key.getAscii()){
case Key.ESCAPE: trace("EscapeKey down");break;
default:trace(Key.getAscii());
}
};
Key.addListener(keyListener);
デバッグ時に制御-->ショートカットキーを無効に。
288Now_loading...774KB:2005/06/12(日) 12:05:40 ID:wpYYrJMN
OS:windowsXP
Ver:FLASH MX

FLASHをキーボードからの命令を受けてフレーム移動させたいのですが、
PowerPointのように、Enterキーもしくは矢印キーを押すだけで、フレームの移動をさせることはできますか?

今まではボタンを作って、空のキーフレームに
stop(); 記述



ボタンに、
on(press){
gotoAndPlay(2);
}  を記述

というので作っていました。


289Now_loading...774KB:2005/06/12(日) 14:09:01 ID:PnV22zi+
クリップをぶるぶるとランダムに震えさせるアクションスクリプト探してます。
ムービークリップのアクションにぱっつり貼ればガタガタ震えるようになる
ようなサンプルないでしょうか。
290Now_loading...774KB:2005/06/12(日) 14:23:59 ID:QbyPFiTs
>>289
onClipEvent(load){
//↓横の触れ幅
var rangex = 5;
//↓タテの触れ幅
var rangey = 5;
var defx=this._x;
var defy=this._y;
onClipEvent(enterFrame){
this._x=defx+(Math.random()*(rangex/2)-rangex);
this._y=defy+(Math.random()*(rangey/2)-rangey);
}
291Now_loading...774KB:2005/06/12(日) 14:25:38 ID:QbyPFiTs
あ 括弧綴じ忘れた
自分で閉じてね
292289 :2005/06/12(日) 14:30:05 ID:PnV22zi+
>>290
本当に本当に本当に本当に本当に本当に本当に本当にありがとう。
愛してます。
293Now_loading...774KB:2005/06/12(日) 14:40:54 ID:tYICLOJk
>>288
キーリスナーとnextFrame()あたり調べてみれ
それぐらいがすぐにできないようなら,もいっぺん勉強した方がいいと思われ
294Now_loading...774KB:2005/06/12(日) 15:36:56 ID:M9nFnZUQ
>>292
じゃあ、>>289>>290は結婚だな。
295288です:2005/06/12(日) 16:52:43 ID:wpYYrJMN
>>293
ありがとうございます。今からやってみます。
296Now_loading...774KB:2005/06/12(日) 18:15:41 ID:eXvX4G+E
XP Sp1でMX2004を使ってます。
↓キーで操作するボタン(MC)を作りました。

MCに3つのキーフレームをつくり、それぞれにキー認識用のMCを置き、それに
onClipEvent (enterFrame) {
if (Key.isDown(Key.DOWN)) {
this._parent.gotoAndPlay("no.1");
}
}
このようなスクリプトを書きました。
が、これでは一回キーを押しただけでも押していた時間が長い(1秒程度)場合、連射と認識されてしまい
延々とフレーム「no.1」→「no.2」→「no.3」→「no.1」の移動が繰り返されてしまいます。
どうすればうまく動いてくれるでしょうか
297Now_loading...774KB:2005/06/12(日) 19:30:52 ID:cJoSUK9E
あなたにとってうまい動きとはよくわかりません
onClipEvent (keyDown) {
if (Key.isDown(Key.DOWN)) {
this._parent.gotoAndStop("no.1");
}
}
298Now_loading...774KB:2005/06/12(日) 19:50:02 ID:4c5pcWDS
KeyUpでいいじゃん
299Now_loading...774KB:2005/06/12(日) 20:08:09 ID:/JNfXTJZ
ttp://clairvoyance.hp.infoseek.co.jp/ffaa01.html
のようなクリック連打ゲーム(回数によって変わるやつ)
を作りたいのですが・・・

MXPro使ってます
300Now_loading...774KB:2005/06/12(日) 20:11:14 ID:4c5pcWDS
>>299
つくればいいじゃん
301Now_loading...774KB:2005/06/12(日) 20:42:12 ID:eXvX4G+E
>>297
ありがとうございます。
出来ました。

・・・つーかこんな基本的なことが出来なかった俺はASの基礎からやり直すべきだな・・・
302Now_loading...774KB:2005/06/12(日) 20:54:40 ID:88mo6vUm
>>299-300
爆笑w
303Now_loading...774KB:2005/06/12(日) 20:55:43 ID:88mo6vUm
>>299のためにこれ置いておきますね
ttp://www.fumiononaka.com/TechNotes/NGWords.html
304Now_loading...774KB:2005/06/13(月) 09:07:34 ID:8nM0DBB1
TextField内に文字を追加するASの質問です。
環境)FlashMX2004

空のTextField(ダイナミック?)を用意し、hitTest()でMCのXに他のMCである
Aが重なった場合にTextField内に文字Aを、Bが重なった場合に文字Bを、Cが重
なると文字Cを一列に追加する形のASを組みたく思っています。

つまり、XにA,B,Cがhit → TextField「ABC」
としたく思いますので、アドバイスを願います。
305Now_loading...774KB:2005/06/13(月) 11:02:14 ID:wShEiFP6
>>304
アドバイスも何もその通りにAS組めばいいわけで。
何か問題があるの?
306Now_loading...774KB:2005/06/13(月) 11:03:13 ID:t875a13e
ざっくばらんに言うと

XにA,B,Cがhit → TextField「ABC」

って感じの構造にすればいいと思うよ
307Now_loading...774KB:2005/06/13(月) 11:26:18 ID:lGqx2n1H
Flash板はこういうの突っ込んであげるってのは優しいよなぁ。
他の板なら華麗にスルーだよ。

どこまで組んだのか、何が分からないのか、自分で何を調べてみたのか、やってみたらどうなったのか
こういう情報がないと教えようがないよ。
テキストフィールドの配置が分からないのかもしれないし、
もしかしたらFlashのインストールから教えなきゃいけないかもしれないし。
308Now_loading...774KB:2005/06/13(月) 11:30:11 ID:wShEiFP6
>>307
で、質問は何なのかな?
309Now_loading...774KB:2005/06/13(月) 11:37:38 ID:lGqx2n1H
へ!?
310Now_loading...774KB:2005/06/13(月) 13:46:01 ID:DeNtUuur
質問なんですが、ムービープレビューでは、ちゃんとASが、作動するボタンが
ブラウザでプレビューでは、作動しなくなったりします。
ボタントラックのせいかと思いムービークリップにしてボタンとしてみると
ブラウザプレビューでも今度は、作動したんですけど、
さらに、HTMLに埋め込んだSWFから読み込んだらまた作動しなくなりました。

なにか悪い事してるんですかね?
311Now_loading...774KB:2005/06/13(月) 14:26:37 ID:glOS8MWP
>>310
試しに同じ階層に全てのファイルを置いて、同じ事してみたら?
312Now_loading...774KB:2005/06/13(月) 14:30:40 ID:Gi5K3dzf
as2からjava関係の人間が流れ込んできたのか
スレの消費スピードが若干上がったな
313Now_loading...774KB:2005/06/13(月) 14:51:53 ID:jhxZpdIl
>>310
> なにか悪い事してるんですかね?

それだけの情報では判断できないので、エスパーを待ってくれ。

念の為、ブラウザ確認時にキャッシュはクリアしてるよね?
314Now_loading...774KB:2005/06/13(月) 15:17:54 ID:ikZpXncq
パブリッシュ先に動画置いてないだけじゃね?
315Now_loading...774KB:2005/06/13(月) 15:18:21 ID:ikZpXncq
ああ、ごめん。
316Now_loading...774KB:2005/06/13(月) 16:40:49 ID:HrAQ/HqM
サーバの時間を取得したいんだけど
ActionScriptでは無理かな?
317304:2005/06/13(月) 16:48:55 ID:DhvXZnia
(TextField内に文字を追加していくASの続き)

hitTest()で当たった・当たらないの判定はできます。しかしTextFieldの
変数をtxtとしても、その後の文字列の操作が分かりません。
indexOf()などで文字を挿入する位置を決めるのでしょうか?
318Now_loading...774KB:2005/06/13(月) 16:51:34 ID:OiZEEA60
>>317
txt="文字"
319Now_loading...774KB:2005/06/13(月) 17:09:52 ID:glOS8MWP
>>317

変数名をtxtにしてるんだったら、
Aがヒットしたら → txt += "A";

もし、テキストフィールドの名前をtxtにしてるんだったら、
Aがヒットしたら → txt.text += "A";

じゃなくて?
320304&317:2005/06/13(月) 17:15:42 ID:QHnYt5cv
>>318
あるMCのXに
onClipEvent (enterFrame) {
if (_root.A.hitTest(this) == true) {
_root.txt="A";
}
if (_root.B.hitTest(this) == true) {
_root.txt="B";
}
}

と書きましたが、A,Bの動く速さが違うため、X(this)に当たる順番
から本来は、「AB」と表示さえるべき所ですが、実際は、「A」→「B」と
切り変わって表示されます。

どうしたものでしょうか?
321304&317:2005/06/13(月) 17:19:50 ID:QHnYt5cv
>>319
Aがヒットしたら → txt += "A";
Aがヒットしたら → txt.text += "A";

----------
行き違いですが、有難うございます。
322Now_loading...774KB:2005/06/13(月) 18:14:44 ID:wShEiFP6
>>320
シンプルにXに
Aが当たってるならtxt="A"と表示
Bが当たってるならtxt="B"と表示
AとB両方が当たってるならtxt="AB"と表示
何も当たってないtxt=""と表示
としたいということでよいのかな?
323310:2005/06/13(月) 18:49:26 ID:DeNtUuur
レスありがとうございまする。
>>311 あとで試してみます。
>>313 キャッシュは、クリアしてまする。
>>314 もしやと思いましたが読み込むファイルは、確実にあります。

今帰ってきたけどこれから飲みなのです。
帰ってから確認してみます。
324Now_loading...774KB:2005/06/13(月) 18:56:04 ID:IcQrARVi
初歩的ですいません
フレームアクションで、aというクリップをアルファゼロになるまで
アルファを下げていく書き方教えてください

for (i =_root.a._alpha; i >= 0; i++){
_root.a._alpha -= 15;
}

これでは無限ループになるようです
おねがいします。。
325Now_loading...774KB:2005/06/13(月) 19:02:05 ID:t875a13e
頼むから先ず頭を使ってくれ
326Now_loading...774KB:2005/06/13(月) 19:25:30 ID:P/O1LqcE
>>324
ヘルプのforを良く読んでみよう。
iの値の変化をチェックしてみれ
327Now_loading...774KB:2005/06/13(月) 19:36:15 ID:OiZEEA60
ヒント

for (初期化式; 条件式; 次処理式) {
処理
}

   ┌──┴─┐
   │初期化式│
   └──┬─┘
┌───→|
│     /\
│    /   \ false
│  < 条件式 >─┐
│    \   /   │
│     \/     │
│     │true  .│
│  ┌─┴──┐ │
│  │  処理  │ │
│  └─┬──┘ │
│  ┌─┴──┐ │
│  │次処理式│ │
│  └─┬──┘ │
└-───┘      .│ 
         ┌───┘
328304&317:2005/06/13(月) 19:49:31 ID:cwdNDiyB
(TextField内に文字を追加していくASの続き)
>>322
有難うございます。ここでの例は、Xに対してA,Bの2つだけですが、
目標はXに対して4種類×20以上で総計100個程になりますので、txt="AB"
のように予め用意しておく方法は妥当ではありません。

さて、txt += の方法を採用し、
onClipEvent(enterFrame) {
if (_root.A.hitTest(this) == true) {
_root.txt += "A";
}
if (_root.B.hitTest(this) == true) {
_root.txt += "B";
}
trace("txt= "+_root.txt);
}

とすると、TextFieldに文字列として追加されますが、enterFrameのせいか
txt= undefinedAAAAA・・・
txt= undefinedAAAAA・・・BBBBB・・・・

と1個のA,Bでいいところを、enterFrameの回数だけ追加されます。1回
ヒットにつき1個のA,Bとするにはどうすればいいでしょうか?
329Now_loading...774KB:2005/06/13(月) 19:51:31 ID:glOS8MWP
>>324
これって、
_root.a._alpha = 0
と同じじゃ?
ほんとはforじゃなくてonEnterFrameを使ってループさせ、アルファが0になったら、終了。
みたいなことをやりたいのでは?
330324:2005/06/13(月) 19:51:48 ID:IcQrARVi
すいませんお手上げです
これもダメなようで
for (i=0; i <= 100; i++){
_root.a._alpha -= i * 15;
}
Whileもダメです
ヒントください
331Now_loading...774KB:2005/06/13(月) 19:53:39 ID:OiZEEA60
>>328
onClipEvent(enterFrame) {
_root.txt = "";
if (_root.A.hitTest(this)) root.txt += "A";
if (_root.B.hitTest(this)) root.txt += "B";
trace("txt= "+_root.txt);
}
これでいい?
332Now_loading...774KB:2005/06/13(月) 19:56:30 ID:OiZEEA60
>>330
onClipEvent (enterFrame) {
if (_alpha>0) _alpha -= 15;
}
333324:2005/06/13(月) 19:58:55 ID:IcQrARVi
>>332
クリップでなくフレームアクションでやりたいのですが・・
334Now_loading...774KB:2005/06/13(月) 20:01:21 ID:wShEiFP6
>>328
最終的にどのように表示したいか、きちんと言ってくれないとね。
途中で、こうなっちゃったって、言われてもこまるし。
335Now_loading...774KB:2005/06/13(月) 20:03:25 ID:glOS8MWP
>>328

これでどうだ?

onClipEvent(enterFrame) {
if (_root.A.hitTest(this) == true && !check_A) {
check_A = true;
_root.txt += "A";
}
if (_root.B.hitTest(this) == true && !check_B) {
check_B = true;
_root.txt += "B";
}
trace("txt= "+_root.txt);
}
336Now_loading...774KB:2005/06/13(月) 20:05:26 ID:OiZEEA60
_root.onEnterFrame = function(){
if (_alpha>0) _root.a._alpha -= 15;
}
337304&317:2005/06/13(月) 20:11:56 ID:cwdNDiyB
>>334 最終的にどのように表示したいか

MCのA,B,C,Dが上からズラズラ・・・と大量に流れて(落ちて)
Xにヒットした証拠として
 txt=ACDBDABCACDBACCADBB・・・
と表示したいと思っています。

331,335さん有難うございます。ところで335の 「&& !check_B」と
「check_B = true;」のcheck_Bはどのような役割を果たしているの
でしょうか?

338Now_loading...774KB:2005/06/13(月) 20:19:25 ID:OiZEEA60
>>337
もし前のフレームで_root.B.hitTest(this)がtrueのときcheck_Bにtrueを代入して
現在のフレームでcheck_Bがtrueときは_root.txt += "B";を実行したくないからでしょうか
339Now_loading...774KB:2005/06/13(月) 20:26:18 ID:wShEiFP6
>>337
落ちるといういことは、一度ヒットしたMCはカウントしないのだろうし、
A,B,C...側のMCにカウントされたフラグがいるだろうな。
340Now_loading...774KB:2005/06/13(月) 20:35:15 ID:glOS8MWP
>>337

一度ヒットテストのifを通過すると、この次からは
そのヒットテストのifに入らなさせています。

ABCDの方に書くのは?
onClipEvent(enterFrame) {
if (_root.X.hitTest(this) == true && !Check) {
Check = true;
_root.txt += "A";
}
}

_root.txt += "A";
↑ここはそれぞれの文字にして、BならB
341304&317:2005/06/13(月) 20:42:19 ID:WFcaRvRM
>>331
AがBに変わっただけでした。

>>335
文法エラーが出て実行できませんでした。

>>338
うーん。実行できなかったのでなんとも。

>>339 A,B,C...側のMCにカウントされたフラグ
なんかヒントになりそうです。

あと書きそびれていましたが、的となるMCのXを小さくすることで、
1回ヒットのみを認識させるという小細工も考えられます。
342304&317:2005/06/13(月) 20:45:48 ID:WFcaRvRM
>>340 ABCDの方に書くのは?

これもいいと思いますが、ABCDが全部で100個近くあるので
最終手段にとっておきます。

343Now_loading...774KB:2005/06/13(月) 20:49:07 ID:wShEiFP6
>>342
いや、多いからそちらに持たせないといけないのだが。。。
344324:2005/06/13(月) 20:50:17 ID:IcQrARVi
>>336
ありがとうございました、できました。。
345Now_loading...774KB:2005/06/13(月) 22:09:45 ID:4jEwnwOp
>>342
まさか100個のMCを一個ずつ作る気じゃぁ・・・・(((( ;゚Д゚)))ガクガクブルブル
346304&317:2005/06/13(月) 22:47:12 ID:hCgFhSLo
>>335
できました。原因は、check_A = true; の「;」を「:」としていたことです。
(合掌)

>>345
冷静に考えれば・・・そうですね。342の方が楽だった。1個1個
パラメーターを設定するような感覚で勘違いしていました。

全体的にうまくイキました。Thxです。

347310:2005/06/14(火) 11:30:45 ID:Vp60UCpr
遅くなりましたが今イロイロやってみて原因がわかりました。
ありがとです。

DreamWeaverでSWFを埋め込んだHTMLが
親SWFと同じ階層にないと子SWFが、読み込まれないのでした。

しかし、なんでなんですかね?
これって当たり前の事なのですか?
348Now_loading...774KB:2005/06/14(火) 12:38:01 ID:6S6fUOEz
>347
深く考えずに、絶対パスを使用することをおすすめする。
349Now_loading...774KB:2005/06/14(火) 13:34:41 ID:xGZ3CbGq
>>347
それは、作った人がこっちの方が(・∀・)イイ!!と思った体。
350Now_loading...774KB:2005/06/14(火) 16:39:33 ID:0qQANLcB
以前ここで教えてもらったムービークリップを震えさせる
アクションスクリプトなんですが、小さいクリップでは問題なかったのですが
大きいクリップに大きな触れ幅を指定すると
中心位置が、左やや上にズレたままで表示されてしまいます
(クリップ自体の登場位置がズレる)
原因わかりますでしょうか。
onClipEvent(load){
var rangex =50;
var rangey = 50;
var defx=this._x;
var defy=this._y;
}
onClipEvent(enterFrame){
this._x=defx+(Math.random()*(rangex/5)-rangex);
this._y=defy+(Math.random()*(rangey/5)-rangey);
}
351350 :2005/06/14(火) 16:48:21 ID:0qQANLcB
こんな感じです
★…>>350のクリップアクションをつけたムービークリップ
┌────┐┌────┐
│      ││★     │
│   ★  ││      │
│      ││      │ 
└────┘└────┘
左のように配置したものが
右のように表示されてしまいます
なぜでしょうか
352Now_loading...774KB:2005/06/14(火) 16:52:10 ID:5JNt22ge
this._x=defx+(Math.random()*(rangex*2)-rangex);
this._y=defy+(Math.random()*(rangey*2)-rangey);

これだと、どう?
353Now_loading...774KB:2005/06/14(火) 16:56:57 ID:n4WJ7eeL
Math.random()*(50/5)-50
値が-50≦n<-40になる。そこ変えればいんじゃね?
つーか、コピペ思考停止(・A ・) イクナイ!
354350 :2005/06/14(火) 17:03:59 ID:0qQANLcB
>>352
それでOKでした・・・触れ幅も下げて。
ダサいですね。ありがとうございます。

>>353
はい。ぶっちゃけ式の原理がわかってません
勉強します。
355Now_loading...774KB:2005/06/14(火) 22:14:39 ID:iXOlkyzJ
小数の桁数を指定する方法のヒントを教えてください
0を"0.00"に変換したいです
356Now_loading...774KB:2005/06/14(火) 22:25:52 ID:RUuLtCCq
loadMovieについての質問です。

背景となるswfを作り、そこにメニューやコンテンツなどを直接配置せず、
他のswfとして作ったものを読み込んで扱いたいと考えています。
そのためのテストとして、まず黒背景+ボタンを適当に配置したroot.swfと、
文字を書いただけのlv2.swfを用意します。サイズは両方同じです。
root.swfのほうからloadMovie("lv2.swf",2);として_level2に文字のみのswfを読み込んだのですが、
root.swfで作ったボタンが全て隠れてしまいます。
lv2.swfで作った文字以外の部分は透明にして、
下にあるroot.swfのインスタンスが見えるようにしたいのですが、
方法がさっぱりわかりません。
背景を透明にしてパブリッシュも違うようですし・・・

やり方分かる方がいらっしゃいましたら教えてください。
357Now_loading...774KB:2005/06/14(火) 22:33:26 ID:Ig5Qv+md
>>355
小数を文字列にしたいならわかるけど。
ゼロつければいい。

数字だったら0と0.00は一緒で、変換も何もない。

>>356
loadMovieとloadMovieNumのヘルプを読めばいいよ。
背景を透明にしてパブリッシュなんてあったっけ?
358Now_loading...774KB:2005/06/14(火) 22:35:21 ID:iXOlkyzJ
自己解決しました
359Now_loading...774KB:2005/06/14(火) 22:36:03 ID:Ig5Qv+md
おーい、回答した後にそれ一言かよ。
360Now_loading...774KB:2005/06/14(火) 22:38:36 ID:iXOlkyzJ
いえ、してないです
361Now_loading...774KB:2005/06/14(火) 22:54:04 ID:0OL7mzIL
ワラタ日記に載りそうだなw
362Now_loading...774KB:2005/06/14(火) 23:22:15 ID:/sFJN298
>>355
var hoge = 0;
var hage = String(hoge) + ".00";

まあ、その態度だとこの先レスは期待できんかもね
363Now_loading...774KB:2005/06/14(火) 23:22:54 ID:wFGY1plE
どのようにして、解決に至ったのかな?
364Now_loading...774KB:2005/06/14(火) 23:31:40 ID:Ig5Qv+md
解決してないってことなのか?回答していないってことなのか?
365Now_loading...774KB:2005/06/14(火) 23:40:03 ID:iXOlkyzJ
落ち
366Now_loading...774KB:2005/06/14(火) 23:54:31 ID:Ig5Qv+md
うおぉぉぉい!
おじさん泣けてきたよ!
367Now_loading...774KB:2005/06/14(火) 23:58:01 ID:xGZ3CbGq
>>366
(´・ω・`)オマイ、ワルクナイ。キニスンナ。ハズレクジヒイタダケダ。
368Now_loading...774KB:2005/06/15(水) 01:15:33 ID:44vS5YxJ
目的地に向って減速しながら近づいて
やがては目的地に到着して止まる動きを作ろうとしているんですけど。
よく本とかにのってるのは、_x座標について考えるならば
_x=(目的地-現在地)/減速値;
っていうスクリプトがあると思うんですけど。
これだと減速値をものすごく大きな数字にすると
目的地に到着する前にMCが止まって動かなくなってしまいます。
減速値を大きくしてもしっかりと最後まで動いて
目的地に到着するようにするにはどんなスクリプトにすればいいのですか?

369Now_loading...774KB:2005/06/15(水) 01:34:58 ID:vUNTapkS
mc一個で別のmcを表示/非表示にするASなんですが、
onClipEvent (load){
if(mc1が表示){mcがクリックされたら非表示}
if(mc1が非表示){mcがクリックされたら表示}
}
ってやるとmc1が表示されてるときしか反応しません。
表示→非表示にはなりますが、非表示→表示ができないのです。
どうしたらできるようになりますか?
370Now_loading...774KB:2005/06/15(水) 01:47:00 ID:Th5CvwwC
>>368
_x=(目的地-現在地)/減速値 + 1;
これを元に

>>369
間違いが2個。
それはload文にいれるものじゃない。
_visibleがfalseならクリックできない。
371Now_loading...774KB:2005/06/15(水) 01:48:08 ID:ESLwbaGT
>>368

_x = Math.sin(90.0/全体のフレーム数*フレーム*PI/180.0)*距離;

でええんでないかい?
372Now_loading...774KB:2005/06/15(水) 01:52:47 ID:vUNTapkS
>>370
enterFrameでもできない・・・
ためしに_visibleを_alphaにして、表示=100、非表示=0でやってみてもできませんでしたorz
onClipEventじゃないんですかね?
373368:2005/06/15(水) 03:16:16 ID:44vS5YxJ
>>370-371
ありがとうございます。

>>371
すいません、
全体のフレーム数*フレームってどういう意味なんでしょうか?
374Now_loading...774KB:2005/06/15(水) 03:41:28 ID:9NbclocW
>>369>>372
説明のためASを書く場合は表示/非表示なんて曖昧な書き方はしないこった。
そこに間違いがあるかも知れないんだから。
そういう先入観もってデバッグしてるから、
いつまで経っても動くASが出来ないんじゃないのかと。

onClipEvent(mouseDown) {
_root.mc1._visible ^= _root.mc.hitTest(_root._xmouse, _root._ymouse, true);
}
375Now_loading...774KB:2005/06/15(水) 04:35:35 ID:9NbclocW
>>368 >>373
意外とそれは難しい問題だな・・・。

割と普通に用いられるのは、タイマーを使ったり
>>371のアイディアのようにフレームのをカウントしたりして、
それで位置を変えるやり方。簡単なのは、おそらくそういう方法だろう。

mcをx = 500の位置に動かしたい場合、
例えば↓こんな感じ。

onClipEvent(load) {
    prog = 0;
    x0 = this._x; // 初期位置を保存
}
onClipEvent(enterFrame) {
    this._x = x0 + (500 - x0) * Math.sqrt(Math.min(1, prog));
    prog += 0.1; // ←増分を変えるとスピードが変わる
}
これは平方根の関数を使って減速しつつ近づく動き。
>>371は同様にsin関数を使っている例ですな。
376Now_loading...774KB:2005/06/15(水) 05:07:13 ID:9NbclocW
ただ、>>375のような方法だと、初期位置を記録したりしなくてはならず
面倒だったりもするので、出来れば位置だけの関数で動きを
記述する方法が良いと思うかも知れない。

_x+=(目的地-現在地)/減速値
だと目的地に近づいたときに変位が小さくなりすぎることが
止まってしまうことの原因なので、それを補正するような項を入れれば良い。

簡単にやるとしたら例えば↓こんな具合かな。

onClipEvent(load) {
    brake = 100; // ブレーキの強さ
    dist=10; // 低速/高速の境となる距離
}
onClipEvent(enterFrame) {
    prog = Math.exp(-Math.abs(500 - this._x) / dist);
    this._x += (500 - this._x) / brake * (1 + brake * prog);
}

ただ、微分方程式を解くと分かる通り、下手に非線形項を入れると
振動する可能性が出てくるので、注意が必要。
377Now_loading...774KB:2005/06/15(水) 08:56:10 ID:5AoCG4mJ
お望みの物はここに。
小数をフォーマット表示する簡単なルーチン
ttp://www.macromedia.com/jp/devnet/mx/flash/articles/databinding_05.html

function formatPrecisionをコピペして使いなはれ。
378Now_loading...774KB:2005/06/15(水) 08:57:49 ID:Th5CvwwC
>>372
どうしてenterFrameかloadを使うんだ?
どっちも間違いだ。
379Now_loading...774KB:2005/06/15(水) 18:17:15 ID:arpojr9s
ASを勉強しているものですが、
描画メソッドはグラフの作成以外で使用用途はあるのでしょうか?
複雑な絵を書くのにはむいていないような
380Now_loading...774KB:2005/06/15(水) 19:16:13 ID:bzqY7pe1
>>379
ちなみにASで何を描きたいの?
381Now_loading...774KB:2005/06/15(水) 19:47:37 ID:lXERbRFu
>>380
http://www5d.biglobe.ne.jp/~lilac-xx/sin_curve.2.2.html

ここまで複雑なものではなくとも、
こんな感じで線をひいていく様子を動かしたいと思っています。
382Now_loading...774KB:2005/06/15(水) 20:01:46 ID:bzqY7pe1
>>381
データを用意するなり、計算で作るなりして描画メソッドに渡せば無問題のような。
2点を結ぶ直線とか曲線が作れればあとはそれの応用なり。
383Now_loading...774KB:2005/06/15(水) 20:04:15 ID:DnDtoZy1
>>379
http://limit10.com/upload/src/up0100.swf
俺が作ったやつだけど、全部描画メソッドで書いている。
ポリゴンデータをもとに
アファイン変換、zソート、ポリゴン描画、ビューポート変換、陰面消去など
ActionScriptですべてやっている。これで2KByteない。
現在、3Dデータのフォーマット化と計算の最適化中・・・・(といいつつ2年余り放置・・・)
384Now_loading...774KB:2005/06/15(水) 20:14:38 ID:lXERbRFu
>>382-383
ありがとうございますm(_ _)m

やっぱり、ActionScriptで描画しようと思うなら
数学Bのレベルは必要ですか・・・orz
385Now_loading...774KB:2005/06/15(水) 20:25:20 ID:LhXWKwYX
>>383
妙に重いね。
386Now_loading...774KB:2005/06/15(水) 22:42:41 ID:iTahedS7
ソフト:FlashMX2004

attachMovie()中のeval()の使い方に関する質問です。
1〜4の数字をランダムに発生させ、リンケージされたMCのA1〜A4からランダム
に新しいインスタンスA5以降を発生させるASとして、onEnterFrame中に

i=1;
num = Math.floor(Math.random()*4)+1;
newName=eval("A"+(i+4));
prop={ _x: 5*i, _y: 20};
_root.attachMovie("eval("A"+num)", newName ,i , prop);
i++;
trace("i= " +i);

と書いたところ、attachMovieの行でエラーメッセージ
「")"か、","が必要です」が出ました。
上の記号の付け所が分かりません。どう改善すべきでしょうか?

387Now_loading...774KB:2005/06/15(水) 22:52:27 ID:Th5CvwwC
_root.attachMovie("eval("A"+num)", newName ,i , prop);

_root.attachMovie(eval("A"+num), newName ,i , prop);

できればevalは使わずに

_root.attachMovie(this["A"+num], newName ,i , prop);

それに
newName=eval("A"+(i+4));
この部分もおかしいような気がする。
newName="A"+(i+4);
こうじゃないかな?

何かをコピペだけして意味を調べないってのはあまりよくないよ。
>リンケージされたMCのA1〜A4からランダムに新しいインスタンスA5以降を発生させる
ここ日本語そのものが意味ワカンネ。発生ってなんじゃい。
388Now_loading...774KB:2005/06/15(水) 22:56:13 ID:Th5CvwwC
っていうか、そもそもevalいらないような、
_root.attachMovie("A"+num, newName ,i , prop);
これじゃ駄目なん?
何がしたいのかいまいち・・・。
389Now_loading...774KB:2005/06/15(水) 23:05:46 ID:FiyG9/4I
((("A")

("A")))

Σ("A")
390Now_loading...774KB:2005/06/15(水) 23:09:26 ID:5AoCG4mJ
>>386
エラーメッセージ出てるならその通りだろ?
391386:2005/06/15(水) 23:38:02 ID:iTahedS7
ありがとうございます。玄人の方を混乱させていうようなので補足を。

まずevalを使ったのは、インスタンス参照を文字列+数字の組で実行
しよう思ったからです。
また画面に何もない状態から始めるので、元のMC:A1〜A4から新しい
A5以降を作製するのにduplicate()ではなく、attachMovieを使って
います。

このようにして、元のMC:A1〜A4からA50・・・A100・・・A200と大量
に作りそれぞれに固有の動き(固有のたて軸で固有の速さ)を持たせる
ことを最終目標にしています。

※ASでの配列の使い方の理解が全然分かってませんので、この理解に
役立つサイトをご紹介下さい。
392Now_loading...774KB:2005/06/15(水) 23:38:33 ID:Th5CvwwC
で、できたの?できなかったの?
393386&391:2005/06/15(水) 23:40:53 ID:iTahedS7
>>392
すみません。結果が出次第、報告します。
394Now_loading...774KB:2005/06/16(木) 01:35:39 ID:16yntbXi
>>375-376
ありがとうございます。
仕組みとか理解しようとしても太刀打ちできない自分がいます。
いろいろ教えてもらったのですが、
結局Flash5では動かす幅が0.04以下になったら画面上のmcは動かないみたいなので
0.04以下になったら0.05づつ動かして途中から等速運動になっちゃう
っていうやり方でいくことにしました。

395Now_loading...774KB:2005/06/16(木) 03:06:16 ID:6HLGc0WL
>>391
そもそもevalとタダの文字列と、その辺ちゃんと区別して理解できていないようなので、
まずはそこからはじめるといいかもね
396386&391:2005/06/16(木) 04:12:08 ID:4MnaH3os
>>387, 388, 395

有難うございます。お陰で、最終目標の1歩手前まで行けました。

※配列の資料は自分で探してみます。
397Now_loading...774KB:2005/06/16(木) 17:34:50 ID:4wtvSTmy
action scriptでテトリスの作り方を1から紹介しているサイト知っている方が
いたら教えて下さい。
398Now_loading...774KB:2005/06/16(木) 17:41:41 ID:7QD7gve2
>397
グーグル先生が知ってるって言ってた。
399Now_loading...774KB:2005/06/16(木) 17:45:25 ID:DRXBvfCU
レスしたんだがな。>>1のサイトにあるんだよ
http://pc8.2ch.net/test/read.cgi/swf/1116686086/278
400Now_loading...774KB:2005/06/16(木) 23:15:41 ID:DEWOeNrf
インスタンス名の識別法の質問です。
ソフト)FlashMX2004

例えばhitTest()で識別するとき、ABC1,ABC2,ABC3,と、先頭に
ABCが付くグループ(ABCxxx)とDEF1,DEF2,DEF3,とDEFで始まる
グループ(DEFxxx)があり、MCのXにとにかくABCxxxがヒットすればOK
というASはどうなりますでしょうか?

もしsubstrが使えるなら、
for(i=1; i<=xxx; i++){
if(X.hitTest(ABCxxx) && ABC==ABCxxx.substr(0, 3)) {
   〜
}
}

の形になるのでしょうか?

401Now_loading...774KB:2005/06/17(金) 00:28:39 ID:1FtcwuuU
>>400
変数使ってMC指定する方法で躓いている人って意外と多いですね。
このスレには同じような質問が多数。

それを修正するとしたら↓こうかな。

for(i=1; i<=xxx; i++){
  if(X.hitTest(this["ABC" + i])) {
    //
  }
}

this[変数]とか_root[変数]とかABCxxxの親のMCが何かによって変わるけど。
基本は、[ ]内に文字列を入れて指定する。

MCの名前を文字列として取得したいときは、_nameを使う。
if (ABCxxx._name,substr(0,3) == "ABC")

いまの場合は、MC名がABCxxxであることは間違いないので
if条件の&&以降は必要なくなるけども。

どれかにヒットした場合に一つの処理をするなら、こんな感じでしょうか。

bHit = false;
for(i=1; i<=xxx; i++){
  bHit |= X.hitTest(this["ABC" + i]));
}
if (bHit) {
  // ヒットした場合の処理
}
402Now_loading...774KB:2005/06/17(金) 00:31:34 ID:1FtcwuuU
おっといけない。良くあるタイプミス。

>>401 MC名を使う場合は、_name。

if (ABCxxx._name.substr(0,3) == "ABC")
           ↑ピリオド
403Now_loading...774KB:2005/06/17(金) 00:36:09 ID:jlgXrSZs
MCを配列に入れちゃうのが一番スマートだと思うんだけどなぁ。
404400:2005/06/17(金) 01:40:24 ID:U2w+nvuE
>>401-403
有難うございます。
ところで、401の bHit |= X.hitTestの演算子「|=」の意味は
「いづれか一つ(必ずしも等しくなくて良い)」ということでしょうか?

403:よろしければ記述ヒントを教えて下さい。
405Now_loading...774KB:2005/06/17(金) 02:07:03 ID:mCyjdh/i
だからMCを配列に・・・
406Now_loading...774KB:2005/06/17(金) 03:12:38 ID:1FtcwuuU
>>404

a |= b;
これはOR演算子(正式名称はよく知りません)

↓これと(ほぼ)同じ。
a = a || b;

ループを回す中で途中一回でもhitTestがtrueになったら
ヒットしたってことなのでORでひたすら繋ぐ必要があるので、それを使ってます。

bHitがfalseになるのは、すべてのhitTestがfalseの場合のみで、
それは結局、全てのABCxxxがXとヒットしなかった場合のみ。
trueになるなら、どれか一つ以上がヒットしたということに。
407Now_loading...774KB:2005/06/17(金) 03:32:51 ID:1FtcwuuU
ついでに>>403-405 MCを配列に入れるというのも解説。

大量のMCを作ってそれをASで操作したい場面ってのは良くあります。
その際、MCを識別するのは、MCのインスタンス名、ABC1とかABC2で、
それをAS中で指定するには、>>401のように_root["ABC" + i] とかします。

けれど、毎回["ABC"+i] とか記述するよりは、簡単に何番目のMCとかいうように
数値で指定できたほうが効率が良い。

なので、そうするためにMC(の参照)を全部配列に、
ぶち込んでしまうという方法があります。
ABC1, ABC2, ABC3のMCがあるとき、

すべてのMCを非表示にしたい場合、>>401の方法だと
毎回"ABC"+i とか名前を作らないといけませんが。

for(i = 0; i < 3; i++) {
  _root["ABC" + i]._visible = false;
}

最初にMCを入れた配列を定義してしまえば、
mcList = new Array(_root.ABC1, _root.ABC2, _root.ABC3);

このように簡単に。

for(i = 0; i < mcList.length; i++) {
  mcList[i]._visible = false;
}

こうなるとMCの名前がABCxxxだったかどうかなんて覚えてなくても良く
数値変数 i だけで指定できるのですっきり書けて、実行速度も向上。
間違いも少ないという具合。
408Now_loading...774KB:2005/06/17(金) 07:41:27 ID:U64C09sg
>>406
普通はhitTestがtrueになったらbreakだろ。
409Now_loading...774KB:2005/06/17(金) 08:41:33 ID:jlgXrSZs
そうねぇ、OR演算子は可読性を低下させるからお勧めできないかなぁ。
C方面の人はそういうの好きだけど、java方面の人は嫌いだね。
410Now_loading...774KB:2005/06/17(金) 08:55:44 ID:U64C09sg
ある病院で輸血が必要になりました。
ストックがないので提供者を募ったところ何人も提供を申し出てくれました。
必要な血液型はO型で提供者はみんなO型でした。
でも、間に合わなくて患者は死にました。
全員の血液型判定が終わるまで提供しなかったからです。
411Now_loading...774KB:2005/06/17(金) 10:19:34 ID:/SerKStb
先生!
MCをアタッチする度に"どこにあるか"を配列にぶち込もうとしているのですが

Mc = "Mc"+i;
Mc = _root.attachMovie("Clip",Mc,i);
Addr = _root.Addr_array.unshift(Mc);

とすると、トレース結果が

Addr: _level0.arrowMc6,,,,,,

等という面白い事になってしまいます。
これは僕、何かやっちまってるんでしょうか(;'Д`)
412Now_loading...774KB:2005/06/17(金) 10:20:32 ID:/SerKStb
Addr: _level0.Mc6,,,,,,
デシターッ
413Now_loading...774KB:2005/06/17(金) 11:13:51 ID:ixiRATKp
>>412何をしたいんだ?
414Now_loading...774KB:2005/06/17(金) 15:05:34 ID:O/eDy7t9
(´・ω・`)MCをアタッチする度に配置したMCの場所を配列にぶち込もうとしているのです。
415Now_loading...774KB:2005/06/17(金) 16:47:21 ID:4b+2IpWE
>>411
何をTraceしたんだ?
416411:2005/06/17(金) 17:10:27 ID:O/eDy7t9
>>414
_root.Addr_array ですね。

よく見たら上の式間違ってますね・・・。
417Now_loading...774KB:2005/06/17(金) 17:44:03 ID:dg0JtNo5
そういえば配列記述するためにエクセルでAS書いてたヤツいたな
418Now_loading...774KB:2005/06/17(金) 18:13:23 ID:90fDTsc8
>>397
ここで、手とリスのソースもらって
研究してみたら?
ttp://www.neave.com/games/
419400&404:2005/06/17(金) 18:30:52 ID:7X2wrx69
>>406-409
Thxです。返事が遅れましたが、当初の問題は401さんの

for(i=1; i<=xxx; i++){
if(X.hitTest(this["ABC" + i])) {
//
}

で(テスト段階ですが)成功しています。
次回は配列を利用したASにステップアップしてみます。

※406-407のID:1FtcwuuUさん。懇切な説明、恐れ入ります。
420Now_loading...774KB:2005/06/17(金) 19:51:09 ID:fqhUJA51
onMouseDown = function () {
trace("Click!!");
gotoAndStop("gameover",1);
}

これを特定のシーンだけ効かないようにしたいのですがどうすればいいでしょうか

MX2004 WinXP AS2.0
421Now_loading...774KB:2005/06/17(金) 19:52:16 ID:fqhUJA51
422Now_loading...774KB:2005/06/17(金) 20:44:20 ID:k9WDqmxG
>>420
AS2.0なのに、Fla4の命令を使うのはどうかと思う。
423Now_loading...774KB:2005/06/17(金) 20:53:12 ID:fqhUJA51
>>422
まじでか。
じゃあ正しい方法を教えて下さい。
(できればそのシーンにしか通用しないだけのとか)
424Now_loading...774KB:2005/06/17(金) 20:54:30 ID:jlgXrSZs
>シーンにしか通用しない
これが意味不明。通用ってどういう意味だ?
自分が分かってても他人に理解不能な言葉を使うから誰も答えられない。
425Now_loading...774KB:2005/06/17(金) 21:08:38 ID:fqhUJA51
日本語まちがってた
>>420は実行されたアトずーっと続くけどそうじゃなくてそのスクリプトをいれたフレームの直下というか通ってるところしか効かない。
426Now_loading...774KB:2005/06/17(金) 21:14:48 ID:jlgXrSZs
もしかして、わざとやってる?
427Now_loading...774KB:2005/06/17(金) 21:35:49 ID:ss4sB573
シーンじゃなくてフレームじゃねの?
またはワンシーンの中でずっと有効にしていたいとか
428Now_loading...774KB:2005/06/17(金) 21:43:07 ID:k9WDqmxG
ボタンシンボルを使えば良いだけとか?
429Now_loading...774KB:2005/06/18(土) 00:51:11 ID:JK+w73Hg
質問です。
読み込んだswfファイルで困ってます。そのファイル内で定義した変数が全部NaNになってしまいます。
元のswfファイル単体で再生すれば、意図どおりの数値が出力されてます。
読み込む場合でも正常な数値を出力させるにはどうしたらいいでしょうか。
430Now_loading...774KB:2005/06/18(土) 01:00:49 ID:P94yDkE/
431Now_loading...774KB:2005/06/18(土) 01:02:14 ID:P94yDkE/
ちなみに読み込んだだけが原因で全ての値がNaNになるってことはない
432Now_loading...774KB:2005/06/18(土) 01:59:07 ID:JK+w73Hg
読み込む元 base.swfのAS
_root.onLoad = function() {
a = 0}
_root.onEnterFrame = function() {
a +=1;
trace(a);
}

読み込み先のファイル test.swfのAS
_root.test_mc.loadMovie("test2.swf");

新規のファイルで試してみましたが、上の記述で同じ結果でした。
どの部分が問題なのかわかりません・・・・
433Now_loading...774KB:2005/06/18(土) 02:34:50 ID:leX/au7g
>>427
そうそうフレーム。
>>428
ゲームの性質上全部塗りつぶしてボタンにするのは無理なんです。
だからマウスクリックを検知したらgotoAndstop("gameover",1)に逝くようにしたいんです
434Now_loading...774KB:2005/06/18(土) 02:38:37 ID:kwLT05BT
何を質問したいのかサッパリわからん
クリック検知したいだけならリスナー使えばよかろう
435Now_loading...774KB:2005/06/18(土) 02:40:30 ID:leX/au7g
>>434
・・・・なんでせうかそれは_| ̄|○
436Now_loading...774KB:2005/06/18(土) 05:04:50 ID:HX6iWnwX
>>432
とりあえず_lockrootをつけてみる。
またはNaNになるってことは a=0 を通ってないんでないのかな、とか考えてみる。

>>435
Listenerのことです。
あんまり無理するな。
437Now_loading...774KB:2005/06/18(土) 08:06:07 ID:hsau6WqL
質問です
いまシューティングゲームに似てるようなゲームを作ってるんですが
MC 1とMC 2があって同じASを記述してるのですが、
onClipEvent (enterFrame) {
if (this.hitTest(_root.tama)) {
this.visible = 0;
}
}
片方しか反応せず困ってます誰か助けて・・・
438Now_loading...774KB:2005/06/18(土) 08:08:21 ID:txItOvV3
>>437
同じなの貼っちゃ駄目だろwwwww

反応しないほうを
if (this.hitTest("反応する方のMCのパス")) {
と書き換えてみたら?
439437:2005/06/18(土) 08:18:07 ID:hsau6WqL
>>438
だめでした。
それともしかしてこのスレに同じ質問がありました?
440Now_loading...774KB:2005/06/18(土) 11:40:02 ID:yAjpEZaS
MC(mtx)をシンボルにして、そこにテキストフィールド(otxt)を配置しました。
これをattachMovieで呼んだときに、textを再設定しようとしましたが、
元々設定している"元の文字"という文字列が変更出来ません。
これは、出来ないものなのでしょうか?
otxtにはフォントの埋め込みをしていて、元の文字の
設定行をコメントアウトすると変更後が表示されます。

○シンボルのMC(mtx)のAS
this.otxt.text="元の文字";
rot=0;
this.onEnterFrame=function () {
rot+=0.05;
this.otxt._alpha=Math.abs(Math.sin(rot)*100);
this._x++;
this._rotation++;
}
○アタッチする方のAS
Opy=10;
for(i=0;i<10;i++){
this.attachMovie("mtx","mtx"+i,100+i);
this["mtx"+i]._y=Opy+50*i;
this["mtx"+i].otxt.text="ほげほげ"+i+"番目";
}
441Now_loading...774KB:2005/06/18(土) 12:08:12 ID:DxjZGHlN
>>437
二つ。
>this.visible
→this._visible

>this.visible=0
→this._visible=false

visibleには「_」アンダーバーが必要だし、_visibleは「0」とか「100」じゃなくて(これは_alpha)、trueかfalse。
442Now_loading...774KB:2005/06/18(土) 12:15:29 ID:DxjZGHlN
>>440
多分、メインのタイムラインで一回設定はされてるんだけど、そのMCの一フレーム目を、メインのタイムラインを読み終わってから読むのでその際に再設定されているのだと思う。
traceとかデバックとか使って、順々に見てみてはいかが?
443Now_loading...774KB:2005/06/18(土) 13:54:15 ID:cKXo+P2A
>>432
> _root.onLoad = function() {

onLoadはこういう使い方をするものではない。
メインタイムラインにa=0;では困るのか?
444Now_loading...774KB:2005/06/18(土) 13:59:35 ID:6TkWsc6G
action scriptでシンボルの大きさを変えるには、どの様に書けばよいのでしょうか。
お願いします。
MX2004を使ってます
445Now_loading...774KB:2005/06/18(土) 14:09:44 ID:o5y7lR8x
>>444
_xscale,_yscale
446444:2005/06/18(土) 15:15:22 ID:6TkWsc6G
>>445 返信ありがとうございます。
以下の記述でやってみましたがだめでした。
どこを直せばよいでしょうか。

_root.test._xscale+=500;
447Now_loading...774KB:2005/06/18(土) 15:33:48 ID:KE1+mb9p
パスが通っていない
448Now_loading...774KB:2005/06/18(土) 15:35:56 ID:lw070+9+
>>446
_xscaleが何か調べたか?
446の用途なら_width、_heightだな。
MCにどんなプロパティがあるかを調べるくらい
そんな難しいことでもないと思うんだが。
449444:2005/06/18(土) 16:10:57 ID:6TkWsc6G
>>448
できました。ありがとうございました。
450432:2005/06/18(土) 16:15:13 ID:iFGmJAuP
>>436
>>443
お二人の言われている部分を直したら解決しました。
パスの指定がずれていたみたいです。一つ勉強になりました。
ありがとうございます!
451Now_loading...774KB:2005/06/18(土) 17:00:16 ID:yAjpEZaS
>>442
レスありがとうございます。
アドバイスを元に試行錯誤したのですが、
結局、不本意ながら呼ぶ側の2フレームに
以下のコードを記述することでなんとなく
求めている感じのものにできました。
○呼ぶ側の2フレに記述したAS
for(var i=0;i<10;i++){
if(i%2){
this["mtx"+i].otxt.text="ほげほげ"+i+"番目";
}
}
stop();

attachの時点で設定できると良いのですが。
452Now_loading...774KB:2005/06/19(日) 01:46:20 ID:suvtee+P
フレームアクションなんては
基本的に使わないようにするのがコツ。
453Now_loading...774KB:2005/06/19(日) 02:03:21 ID:KTXLALvJ
>>451
そんな面倒くさいことやるのも厭わないなら
>>440のmtxのASで適当に条件を付けて文字列を
初期化するようにすれば良いのではないのかと。

if (this.otxt.text.length == 0) this.otxt.text="元の文字";
とか

if (this.otxt.text.indexOf("ほげほげ") != 0) this.otxt.text="元の文字";
とか。幾らでも方法はあるでしょうに。
454Now_loading...774KB:2005/06/19(日) 07:22:53 ID:cUeXtu2L
>>453
それは出来るでしょうけれど、そんな汚いコードは勘弁してください
455Now_loading...774KB:2005/06/19(日) 10:10:28 ID:97g7bNR2
ケンカだめ!
ヽ(`Д´)ノ
456Now_loading...774KB:2005/06/19(日) 14:12:11 ID:FvdeSNos
はじめまして、よろしくお願いします。

ギミッ〇スのような構成の中で、1つ前のシーンに戻るボタンの記述が
なかなか上手くできません。
再生したいシーンのフレームは連続で同じ1つのレイヤーに並べているのがまずいのでしょうか?

ボタン一つで前シーンの再生の上手いやり方を教えてください。
457Now_loading...774KB:2005/06/19(日) 16:05:24 ID:kkftLKpa
>>454
コードの綺麗汚いが気になるなら、
mc生成&初期値とテキスト生成&初期値のクラス作ればいいのに。
458440:2005/06/19(日) 16:47:28 ID:cUeXtu2L
>>457
気にさわったら、申し訳ないですが、質問自体を見て頂ければ、
シンボルを使ってまさに、そういったことをしているのにうまくいかない、
ということを言っているのが分かると思います。

それに対して440に書いたmtxのASの一行目の代入文と同じことを、
変なコードにして解答されたので、コンパイルは通るけど、
と言う意味で書きました。私は間違っているでしょうか?
459Now_loading...774KB:2005/06/19(日) 18:17:39 ID:97g7bNR2
おまいら、落ち着けよ。みんなシーンとしてるだろ。
この先は不毛の戦いだ。やめなさい。
ヽ(`Д´)ノ
460Now_loading...774KB:2005/06/19(日) 18:20:45 ID:Xgo6WJ3L
>>458
ずばり間違ってるから。
質問したくせに答えてもらってそのコードを汚いなんて言うなら
あと誰も答えてはくれないよ。
461Now_loading...774KB:2005/06/19(日) 19:01:02 ID:gKgDGt2t
>>455
誰かがこうやって線を引いて
戦闘開始!!
462Now_loading...774KB:2005/06/19(日) 19:09:19 ID:2SNdp/00
>>458
お前可愛いな。
取り敢えず文句言う前に「ありがとう、参考にします」位は・・・。

あとあんまり関係ないんだけど。
最近のFla板って、もしかして中高生しか居なかったりする?
463Now_loading...774KB:2005/06/19(日) 21:05:15 ID:p4NKSA1r
>>460
じゃあお前のその下らない質問に答え出しておくよ。

this.otxt.text = "元の文字";

if(this.otxt.text==undefined) this.otxt.text = "元の文字";

これだけだ。
はい、次。
464463:2005/06/19(日) 21:06:02 ID:p4NKSA1r
× >>460
〇 >>458
465質問:2005/06/19(日) 22:00:49 ID:8WJ0Cifm
超初心者です。回答お願いします。 環境はWinXP MX使用です。
マウスに追従して物体を360℃水平に回転させようとしています。
今ASは以下の状態です。
onClipEvent (load){
this.stop();
Num=1.
function move(){}
aX=_root._xmouse;
if (aX>bX){}
Num+=speed;
if (Num>3) {}
Num=1+speed;
}
} else {
Num -= speed;
       if (Num<1) {
         Num=3-speed;}
     }
bX=aX;
     frameNum=Math.round(Num);
     this.gotoAndStop(frameNum);
     updateAfterEvent();}
 }
 onClipEvent (mouseMove) {
   move();}
}
シンタックスチェックによると11行目の} else {辺りが間違っているそうです。
誰かお助けください。お願いします。
466Now_loading...774KB:2005/06/19(日) 22:04:09 ID:KTXLALvJ
>>458
間違っているね。

>>440の問題に対して>>451で上手くいったことからも分かる通り、
attachMovieしたあとでmtxの1フレーム目のフレームアクションが
実行されるため、attachMovieの際に一旦は文字が設定されるんだけど
それがまた上書きされてしまって"元の文字"に戻ってしまうのが
問題なのであるからして、それを防ぐための回答として>>453は完璧。
決して変なコードではない。

要は随所に記述したアクションが呼ばれる順番を理解してないために
躓いてるんでしょうから、各所にtraceを入れてみて、
実際にどういう順番で実行されるのかぐらい確認したら良いがな。

てか、>>442ですでにそういう回答されてるじゃん。
467Now_loading...774KB:2005/06/19(日) 22:11:47 ID:KTXLALvJ
>>465 何なんだそのコードは・・・。
少なくとも開き括弧と閉じ括弧の数が合ってないと
絶対に動かない。まずは、そこを確認すべし。

とりあえず、数箇所で見られる
{} ←こういうのは、普通の使い方としてはあり得ない。
468465:2005/06/19(日) 22:16:14 ID:8WJ0Cifm
レスありがとうございます
{}こういうのはそのままとっちゃってもいいのでしょうか…??
469Now_loading...774KB:2005/06/19(日) 22:18:24 ID:CbeS03JQ
>>468
自分で理解できる範囲で作りましょう。
少しずつ上達すればいいんだから。
470465:2005/06/19(日) 22:25:09 ID:8WJ0Cifm
>>469ありがとうございます。・゚・(ノД`)・゚・。
でも仕事でそういうのを作ってほしいと頼まれてしまって、
基礎が固まってない状態で色々参考にしてたらこんなコードになってしまいました。
ご教授お願いします…
471440:2005/06/19(日) 22:31:25 ID:cUeXtu2L
スレ汚し失礼しました。ただ、初期値の代入文になぜifを付けるのか分かりません。
簡単にいうと、
aa="初期値";
と書いてあるところを
if(true)aa="初期値";
にしなさいと言われているので、それは勘弁してくれと。。
ちなみに、>>453のコードも実行してみましたが、解決になりませんでした。
汚いコードは言い過ぎました。申し訳ありませんでした。
スレが荒れるのは本意ではないので、この謝罪で440関連の話題は
終了させてください。
472Now_loading...774KB:2005/06/19(日) 22:37:24 ID:KTXLALvJ
>>470仕事か・・・。
それがどういうものか知らないけど、
少なくとも文法上は問題がないようにするなら
↓こうかな?おそらく。

onClipEvent (load){
  this.stop();
  Num=1;
  function move(){
    aX=_root._xmouse;
    if (aX>bX) {
      Num+=speed;
      if (Num>3) { Num=1+speed;}
    } else {
      Num -= speed;
      if (Num<1) { Num=3-speed; }
    }
    bX=aX;
    frameNum=Math.round(Num);
    this.gotoAndStop(frameNum);
    updateAfterEvent();
  }

}
onClipEvent (mouseMove) {
  move();
}
473465:2005/06/19(日) 22:43:47 ID:8WJ0Cifm
>>472
ありがとうございます!!
今度はエラーになりませんでした!
自分でも文の正誤が分かるように研究させて頂きます。
ありがとうございます。・゚・(ノД`)・゚・。
474Now_loading...774KB:2005/06/19(日) 22:51:33 ID:ZR6+9rT2
>>470

仕事ねえ・・・・・・合掌
475Now_loading...774KB:2005/06/19(日) 23:16:01 ID:gKgDGt2t
参ったな
>>440がフレームアクションをデフォにしたコードを乱発したら
読みづらいASで蔓延してしまうぞ
476Now_loading...774KB:2005/06/19(日) 23:37:26 ID:p4NKSA1r
>>471
>>442でも出てるけど、
親MCがattach後に値を代入した場合、
attachされた子MCの1フレーム目よりも先に値の代入が行われる。

なので、440の例の場合は
this["mtx"+i].otxt.text="ほげほげ"+i+"番目";
が代入された後で
this.otxt.text="元の文字";が代入される。
それを防ぐ為にifを使い、もし値があれば値を書き換えないとするだけ。

ちなみに、これはこれっぽっちも変な処理じゃない。
変に思うのは処理の流れを知らないのが原因。

知らないのは悪い事じゃないし、質問するのもいいけど、
ちゃんとレスされた回答を理解しようと考えよう。
477MIYU:2005/06/20(月) 00:04:17 ID:74cuKkIW
初めまして、よろしくお願いします。
テニスゲームを作りたいと考えているのですが、
コンピューター側のスクリプトをどうすればいいのか分かりません・・。
アクションスクリプトは初心者で、何かサンプルがあればいいのですが、この手のゲームのサンプルがみつからなくて、どうしたらいいのか分からないで困っています・・。
とりあえず、「ブロック崩し」を応用させたらいいだろうと思っているのですが、コンピューターに玉をどうやって拾わせるのか、ミスをさせるにはどうしたらいいのか・・。
まったく分からず困っています。
どなたかご存じの方いらっしゃいましたら、お手数ではありますが、教えて頂けませんでしょうか。
レスをお待ちしております。
478Now_loading...774KB:2005/06/20(月) 00:09:23 ID:NFDRh224
>>477
それって25年くらい前にBASICのプログラム例題としてあったようなテニスゲームですか?
いきなり止まっているようなのでちょっとアドバイスしたら作れるようなレベルなのかが不安ですが・・・・
どの程度まで出来ているのですか?



・・・あ〜なんか作ってみたくなった。なつかしいな。
479Now_loading...774KB:2005/06/20(月) 00:42:55 ID:pUZW2enz
まあ、ブロック崩しが出来るなら簡単かもね。

こっちが打った瞬間に到達目標ポイントを計算。
そこに向かって移動し、追いつけたら拾う。

移動の最高速度を決めておいて、
それで敵の強さをコントロール。
480MIYU:2005/06/20(月) 00:57:25 ID:74cuKkIW
>>478さん
25年位まえっ??
しかもBASICのプログラム例題って何ですか??
どの程度・・。いや、まだ実際作ってはいないんですが、
初心者です〜〜〜(><;)
481MIYU:2005/06/20(月) 01:01:10 ID:74cuKkIW
>>479さん
なるほど!!ありがとうございます!!
到達目標ポイントを計算・・。
ちょっとホントに初心者なもので・・。
でも調べようにも何をどーすればいいのかも分からなかったので、
助かります。
ちょっと調べてみます!!ありがとうございます(^^)
482Now_loading...774KB:2005/06/20(月) 01:05:00 ID:NFDRh224
>>480 こういうのだよねえ???
ttp://www.pamlicobiz.com/games/flashping.htm
483MIYU:2005/06/20(月) 01:09:43 ID:74cuKkIW
>>478さん
こーゆーのこーゆーの!!!モロ!!です!!
484Now_loading...774KB:2005/06/20(月) 01:29:56 ID:xFY25bP+
>>482
これおもしろいな


スペースおしまくると
485Now_loading...774KB:2005/06/20(月) 01:31:44 ID:gngqLruV
>>454
どう考えても>>451のソースの方が汚い
バカのお前のためにわざわざ回答者が書いたソースの美しさが気になるなら二度と人に聞かずに独学で作れカス
参考書のソースも、汚いことがあるからお前みたいな潔癖症の人間は見ないほうがいよ。これは煽りじゃなく、アドバイスね。真摯な。
486Now_loading...774KB:2005/06/20(月) 02:18:15 ID:JUU5z06H
if (  ) hogehoge;
この省略形を知らないと見える。
487Now_loading...774KB:2005/06/20(月) 02:35:17 ID:3ADObeoR
>>485
煽り厨はドッカイケ
488Now_loading...774KB:2005/06/20(月) 11:53:42 ID:ENEwJDC3
今、下記の記事を参考にスライドショーをいじってます。
ttp://www.macromedia.com/jp/support/flash/applications/jpeg_slideshow_xml/
これに「ランダムに画像を表示する」ボタンをつけるとしたら、
どのようなスクリプトを書けばいいのでしょうか。
階層構造のしっかりしているXMLでは難しい要望でしょうかね?
489Now_loading...774KB:2005/06/20(月) 12:36:18 ID:inVECTMJ
質問します
MX2004proです
Flash lite 1.1を作っていますが、おかしな事になりました
fscommand2のGettimeminute、secと_rotationのminute*6、sec*6のASをメインフレームに書いているのですが、何故か針がおかしな動きをします
具体的にはたまに針が少しずつ短くなったり、45の位置から15の位置に飛びそのまま回ります
もちろん乱数などは使ってません
今、手元にPCないんで詳しく言う事は出来ませんが原因がわかりましたら教えて下さい
490Now_loading...774KB:2005/06/20(月) 12:42:39 ID:VPfbrpct
>>488
階層構造がしっかりしているXMLだからこそ、そのサンプルのように
nextSiblingなどで簡単に次の項目に移動できたりする気がします。

現在表示中のノードの親ノードは、全アイテムの一覧を子ノードとして
保持しているので、その中から適当に選ぶようにすればランダムも容易かと。

jump_btn.onRelease = function() {
  tempSlideNode = currentSlideNode;
  while(currentSlideNode == tempSlideNode) {
    currentIndex = Math.floor(Math.random() * currentSlideNode.parentNode.childNodes.length) + 1;
    currentSlideNode = currentSlideNode.parentNode.childNodes[currentIndex - 1];
  }
  updateSlide(currentSlideNode);
}
491Now_loading...774KB:2005/06/20(月) 12:58:42 ID:ENEwJDC3
>>490
ありがとうございます。
ランダムに生成したcurrentIndexをchildNodes[n]で読むわけですか。
教えていただいたコードの半分も理解できないのが悔しいです。
精進します。
492Now_loading...774KB:2005/06/20(月) 14:14:12 ID:YfXcyK+1
ソフトはFlashMX2004にて。

ランダムな4桁の4進数(0〜3)の発生方法を教えて下さい。
例えば、「4,3,4,1」,「0,1,1,4」,「3,3,1,2」・・・という感じ
です。
これには、0〜81(3の4乗)の乱数をrandom()で発生させて、toString
で4進数化し、一桁づつ区切りを付けるという方法を考えましたが他に
良い案はありますでしょうか?

宜しくお願い致します。

493Now_loading...774KB:2005/06/20(月) 14:20:54 ID:3ADObeoR
>>492
toStringで4進化ってできるんすか?
494492:2005/06/20(月) 15:02:50 ID:hdf/PmUN
>>493
nを10進数として、n.toString(4)で出来るようです。

495Now_loading...774KB:2005/06/20(月) 15:44:52 ID:p6YU3foF
Flash Communication Server MXで行き詰まったので質問させてください。

テキストチャットで入室や退室時に、サーバーのほうから共有オブジェクトにメッセージを送り、
共有オブジェクトへの接続者に入退室の言葉を表示させたいのですが、例えばmain.ascで、

 so = SharedObject.get("test");
 so.send("sayHello");

として、クライアント側のswfファイルのActionScriptの共有オブジェクトのfunction内に、

 so.sayHello = function(){
 trace("こんにちは");
 }

としてみても、ログには"こんにちは"と表示されません。
どうやったら上手くいくでしょうか?

本を読んだり、ぐぐってみてますがぜんぜん上手くいきません。
よろしかったらどなたか助けてください。
496Now_loading...774KB:2005/06/20(月) 17:05:14 ID:Gcotd16s
>>492
その方法で十分だと思うんだけど。
とりあえず4進数に4が出てきちゃだめだな。0〜3のみ。
4桁なので、発生させるべき乱数は 4^4=256

配列の用意まで一気にやるならこんな感じかな。
trace((256 + Math.floor(Math.random() * 256)).toString(4).split("").slice(1));
497492:2005/06/20(月) 20:20:26 ID:QRAi3KjG
>>496
ありがとうです。
・・・そうですね。0〜3でした。
498Now_loading...774KB:2005/06/20(月) 21:41:33 ID:w0HO7++v
>>496
何もそんなトリッキーな方法使わなくても、forループ4回回せばよいだけのような気が。
499Now_loading...774KB:2005/06/20(月) 21:57:53 ID:y4Rzul2q
確かにそうだ。4つ程度なら、これで良い。
new Array(
Math.floor(Math.random() * 4),
Math.floor(Math.random() * 4),
Math.floor(Math.random() * 4),
Math.floor(Math.random() * 4)
);
500Now_loading...774KB:2005/06/20(月) 22:10:45 ID:NFDRh224
>>496 ひどいな・・・・そんなに配列つかうなよ。無駄なメモリ使いすぎ。
>>499 これが一番スマートなやり方かな?
501Now_loading...774KB:2005/06/20(月) 22:20:35 ID:hS52gABv
>>499
読みやすくて好きだ。
502Now_loading...774KB:2005/06/20(月) 23:39:05 ID:VH2s7eVR
>>500
>>499と比較すると>>496は文字数半分程度で済んでいるので
処理の途中で配列が一つ多く使われるけども、
AS字数分も含めたトータルのメモリ使用量に関してみると
どっちが軽いかは自明ではないような。

まあでも、可読性では圧倒的に>>499なので
よっぽどムービーの容量削ったりする必要がない限りは
普通に>>499のように書くのが良いと思うが。
503Now_loading...774KB:2005/06/21(火) 00:15:43 ID:0YfQSYFV
単純にこれでもいいんじゃね?
a = []
for(var i=0;i<4;i++) a.push(Math.floor(Math.random()*4))
504Now_loading...774KB:2005/06/21(火) 03:24:26 ID:T2fSPv74
ここに天邪鬼な俺が来ましたよ

random4 = function (){ return Math.floor(Math.random() * 4);}
a = [];
for(var i=0;i<4;i++) a.push(random4());

ほら、なんていうかこうしておけば修正が容易っていうか
可読性が上がるっていうか
あーなんか>>503と似たような気もするけどね!
505492:2005/06/21(火) 03:42:56 ID:d5Hr8cKy
>>496-504
Thxです。今回は499さんの方法を採用し、成功しました。
発端は同時に4つの乱数を得ようとしたことでしたが、皆さん助言により
簡単になりました。
506Now_loading...774KB:2005/06/21(火) 03:55:31 ID:y5XB/pM0
ほかの言語やっているとどうも

random4 = function (){ ・・・・・・

とかの表現に抵抗を感じるんだけどそんな人ほかにいない?
507Now_loading...774KB:2005/06/21(火) 04:49:19 ID:T2fSPv74
Function型の扱いには慣れちゃったからなぁ。
むしろほかの言語でできたら便利とか思う。
508Now_loading...774KB:2005/06/21(火) 07:37:38 ID:vpF2csdR
漏れも499ベスト解答だと思う。4つぐらいならループ処理いらんし、
なにしろ、行コピペでのエディット簡単。しかも見やすい。
if文を一行にしたがるというか、一行にするのがカッコイイと思ってる
様な人が居るけど、後々の修正を考えると、お勧めできないなあ。
あ、業務でいじってる(他言語だけど)人の独り言ですた。
509Now_loading...774KB:2005/06/21(火) 07:58:16 ID:T2fSPv74
いや、1行にするのがかっこいいんじゃなくて
メンテナンスの速度性でしょ?
例えば急に0〜4にしたくなった時に、どれくらい変える必要があるかとか。
行コピペは配列作るのにエクセル使うようなもんだよ。
510Now_loading...774KB:2005/06/21(火) 08:02:49 ID:vpF2csdR
>>509
いやいや、if文が1行だと中身を増やす修正の時に改行を入れて、
{}つけて。。ってやらないとならないので、ってことです。
if(){

}
511Now_loading...774KB:2005/06/21(火) 08:04:01 ID:vpF2csdR
失礼、続きです。の形で統一しておかないと、効率悪いのです。
512Now_loading...774KB:2005/06/21(火) 08:04:50 ID:T2fSPv74
ifの中身が1つで決まっている時はそれでいいと思うよ。
意味的なコーディングっていうことで。
513Now_loading...774KB:2005/06/21(火) 11:21:26 ID:blJgimsy
>>510
それはエディタの機能で補完されるべきじゃないかと。
ifの省略形は有効であるってことはかなり言われてる。

4つの処理に対してコピペして並べるのは
理解はしやすいけど一般的に美しいとは言われないね。
バグの元になりやすい部分。
一長一短だけどな。
514Now_loading...774KB:2005/06/21(火) 11:35:17 ID:vpF2csdR
>>513
システムを組むときにコーディング規約を作るわけですよ。
1人1人が勝手なことをされると直す方が大変なので。
そのことを言っています。

4つは私も微妙な線ですね、forつかうかベタにするか^^
515Now_loading...774KB:2005/06/21(火) 12:12:24 ID:g+bK4RFr
functionのパラメータにムービークリップ名(my_mc)を代入するにはどう書けばよいのでしょうか?
これだと動かない…

kansuu(my_mc);
function kansuu(target_mc:String) {
var my_color:Color = new Color(target_mc);

}

var my_color:Color = new Color(target_mc);が
var my_color:Color = new Color("my_mc");になってしまってるのかな。
「""」を外したい。
516Now_loading...774KB:2005/06/21(火) 13:38:12 ID:EoPdTLmE
>>515
式が今一わからないけど

//my_mc 上のAS
onClipEvent (mouseUp) {
kansuu(this);
}

//1フレーム目
function kansuu(hogehoge) {
var my_color:Color = new Color(hogehoge);
}

とか というかストリングにしたらそりゃ "" 付くよ
517515:2005/06/21(火) 14:00:02 ID:g+bK4RFr
あっ。
function kansuu(target_mc:MovieClip){
にすればいいみたいですね。
今度はこの関数をsetIntervalから呼び出すことができない・・・

パラメータをなしにして
function kansuu(){
 …
}
呼び出す方は
setInterval(kansuu,1000);
とすると一定時間ごとに処理してくれるんですが、

パラメータがある場合、
setInterval(kansuu(my_mc),1000);
にすると一度しか実行されなくなりました。
どう修正したらよいのでしょう・・・
518Now_loading...774KB:2005/06/21(火) 14:06:42 ID:blJgimsy
setInterval(kansuu, 1000, my_mc);
すぐ聞かずにヘルプを読んでから。
519515:2005/06/21(火) 14:23:26 ID:g+bK4RFr
すみません。
でもありがとうございます!
書籍のリファレンス読んでて、そっちには載ってませんでした。
ちゃんとMacromediaのほうを読むべきでした。
無事動作しました。おさわがせしました。
520Now_loading...774KB:2005/06/21(火) 16:34:33 ID:EoPdTLmE
>>519
確かにリファレンス系の本って誤植とか説明漏らしとか多いよな。
ガンバレー
521Now_loading...774KB:2005/06/21(火) 18:28:05 ID:rUO1H2oo
初めて投稿します。どなたかどうかご助力ください。

・PHPでDBから取得したテキストをブラウザ上で表示できています。
<?php echo $name_sei; ?><?php echo $name_mei; ?>

これをフラッシュ上のダイナミックテキストで表示したいのですがどのように記述したらいいでしょうか?
PHPの知識は無いに等しいので既にあるこの状態を利用してフラッシュ上での表示を果たしたいのですが…
522Now_loading...774KB:2005/06/21(火) 18:47:44 ID:yLQVX1dn
>>521
_rootにダイナミックテキストを配置して、その変数にstrTextと設定。

そして↓これ。

objText = new XML();
objText.onLoad = function(success) { _root.strText = this.toString() };
objText.load("test.php"); // ←ここをPHPのURLに

ただし、日本語を使っているテキストの場合は
出力がUTF-8じゃないと上手くいかないでしょう。
523521:2005/06/21(火) 19:34:23 ID:rUO1H2oo
>522
早速の返答ありがとうございます。
組み込んでみようと作業中なのですが
$name_sei
$name_mei
をどのように関連付ければいいのでしょうか?
…絶対的にスクリプトスキルが足りてない状態で申し訳ないです。

もうすこし現状の詳細を書きます。
・xxx.php?e="登録されたのメアド"
 にアクセスするとDBからそのメアド対応する姓名を持ってきている
・それをphpファイル内html部分の記述
 <?php echo $name_sei; ?><?php echo $name_mei; ?>
 でブラウザ上にテキストで表示されている

今は教えてもらった通り_rootにダイナミックテキストを置いてstrText設定し
フレームスクリプトにobjTextの3行を入れたところで詰まってます。

根本的に理解させるのは叶わないと思ったら投げ出しちゃってくださいm(__)m
まずは化けた状態でもいいのでとりあえず読み込ませて文字コードは次のステップにしたいです。
524521:2005/06/21(火) 20:00:35 ID:rUO1H2oo
あ。
phpに文字列だけ出させる処理をさせて
別HTML上のSWFでそのphpを指定して呼び出してくる仕様、
を教えてくださった気が。。
詳細書かないとそうなってしまいますね すいません。

メアド付きのphpでそれぞれ対応する文字列を表示したいので
php内でswfも配置したいのです。
525Now_loading...774KB:2005/06/21(火) 20:17:49 ID:yLQVX1dn
>>524
おっと。なるほど。テキストだけ出力するPHPがあるのかと思っていました。

そういうことなら、PHP内でswfを出力するタグがあるかと思うので、
そこにクエリー文字列としてつけて渡すのが一番簡単ですな。

<PARAM NAME=movie VALUE="test.swf">
<EMBED src="test.swf" ・・・・

↑これを↓このように

<PARAM NAME=movie VALUE="test.swf<?php echo urlencode($name_sei);?>&mei=<?php echo urlencode($name_mei);?>">
<EMBED src="test.swf?sei=<?php echo urlencode($name_sei);?>&mei=<?php echo urlencode($name_mei);?>" ・・・・

こうすれば、swfの_root.seiと_root.meiにそれぞれ値が入ります。
文字コードの問題は、やはり残りますが。

とりあえず_root にseiとmeiの変数を割り当てた
ダイナミックテキストを配置しておけば、これで表示されるかと。
526Now_loading...774KB:2005/06/21(火) 20:20:29 ID:yLQVX1dn
>>525
重要なところで一箇所ミスしたので訂正。
                          ↓ココ
<PARAM NAME=movie VALUE="test.swf?<?php echo urlencode($name_sei);?>&mei=<?php echo urlencode($name_mei);?>">
<EMBED src="test.swf?sei=<?php echo urlencode($name_sei);?>&mei=<?php echo urlencode($name_mei);?>" ・・

これでOkayな筈。
527Now_loading...774KB:2005/06/21(火) 20:25:15 ID:yLQVX1dn
申し訳ない。>>526でも、まだ間違っていました。。。

すっきり書く改良も加え最終的には↓これでお願いします。

<?php $swfURL = sprintf("test.swf?sei=%s&mei=%s", urlencode($name_sei), urlencode($name_mei)); ?>

<PARAM NAME=movie VALUE="<?php echo $swfURL ?>">
<EMBED src="<?php echo $swfURL ?>" ・・
528521:2005/06/21(火) 20:41:16 ID:rUO1H2oo
対応ありがとうございます!
えぇと、swf内のActionScriptでいろいろ行なうのではなく
クエリー文字列というものを使えば
swf配置のタグ部分で文字列の代入ができる、ということですね。
文字コードの問題も合わせていろいろ試してみます!

529Now_loading...774KB:2005/06/22(水) 08:08:30 ID:m6Z9fJa7
質問です。
たくさん生成された物同士で当たり判定を取るにはどうすればいいですか?
530Now_loading...774KB:2005/06/22(水) 08:23:31 ID:NDNuzfCV
>>529
一つ一つ判定して行くしかないんじゃないか?
531Now_loading...774KB:2005/06/22(水) 16:49:08 ID:lF4GT2gL
識別子のタイプ(型)ってどう定義するのでしょうか?
:Numberでもないし、:MovieClipでもないし。
タイプを判別してくれるプログラムとかあったらいいんですけどね。
エラーで「型が一致しません」ってしかでないのは不便。
532Now_loading...774KB:2005/06/22(水) 16:54:06 ID:JrD1XeOu
>>531
今ひとつ言わんとしようとしている内容が良く分からないけど

typeof( ) ではなくて?
533Now_loading...774KB:2005/06/22(水) 17:06:52 ID:LtlxV1Iy
というかどういう状況で型が推測できなくなるのかワカンネ。
>:Numberでもないし、:MovieClipでもないし。
どんなアバウトさだよw
なんでNumberとMovieClipで迷うような代入式が発生するんだよ。
534531:2005/06/22(水) 17:22:30 ID:lF4GT2gL
typeof()で判別できました。
こんな便利なのあるのは知りませんでした。
ありがとうございます。
535Now_loading...774KB:2005/06/22(水) 19:00:29 ID:NsVDETzD
変数宣言の var を記述した場合としない場合の詳細な違いを教えてください。
536Now_loading...774KB:2005/06/22(水) 19:10:33 ID:Olvyfg5f
>>535
varアリはfunctionの外から読めないし、
functionが終了すれば消去されるよ。
537Now_loading...774KB:2005/06/22(水) 19:22:18 ID:pr053B6F
(´-`).。oO(なんでHelp見ないんだろう?)
538Now_loading...774KB:2005/06/22(水) 20:34:20 ID:wxjGyNzr
(´∀`).。oO(なんでリファレンス買わないんだろう?)
539Now_loading...774KB:2005/06/22(水) 20:35:40 ID:NDNuzfCV
('A`).。oO(あれ? 昨日の夕飯もカレーじゃ、、、)
540Now_loading...774KB:2005/06/22(水) 21:05:56 ID:izfpjCKd
(´-`).。oO(マルチするようなやつだから見ないんだろうなぁ)
541Now_loading...774KB:2005/06/22(水) 21:12:20 ID:wxjGyNzr
(´д`).。oO(このカレー三日目だけど大丈夫かな・・・)
542Now_loading...774KB:2005/06/22(水) 21:48:14 ID:TWISNVEO
(・∀・).。oO(カレーと熟女は腐りかけが一番ウマイ)
543Now_loading...774KB:2005/06/22(水) 22:20:31 ID:NDNuzfCV
>>542
不覚にもワロタ orz
544Now_loading...774KB:2005/06/23(木) 00:15:11 ID:clBZG3PH
WinXp Flash Pro 2004を使用しています。
クラスについて質問させてください。
クラスというのはパブリッシュする際にswfファイルに組み込まれる(?)感じなんですか?

パブリッシュしたswfを見るのにもぅクラスファイルはいらないんですよね?
545Now_loading...774KB:2005/06/23(木) 00:22:34 ID:hiKr393C
いらんちん

(´-`).。oO(試してみればいいのに)
546Now_loading...774KB:2005/06/23(木) 03:53:10 ID:xi5ym3w5
onClipEvent(load) {
function zoom(){
_xscale +=20;
_yscale +=20;
}
}
これをメインタイムラインの1フレーム目に記述する場合、どう書き換えればいいんでしょうか。
あとユーザー定義関数って言うのは定義したオブジェクトに対してのみ有効?
547Now_loading...774KB:2005/06/23(木) 04:38:29 ID:hkL4JkD2
MC.zoom = function (){
_xscale +=20;
_yscale +=20;
}

後半の質問は質問の意味がわからないので
定義関数の概念がわかってないと思われ。
Flashの関数は、一連の処理を保存する変数みたいなものだと思えばよし。
548Now_loading...774KB:2005/06/23(木) 04:50:44 ID:vJL6yXrI
ソフト:MX2004

MCの変形について質問です。長方形の左下の角を基準にして
斜めに歪ませるにはどうしたらいいでしょいうか?
つまり
   
 _       /|
|_| → |/   な感じです。
549Now_loading...774KB:2005/06/23(木) 04:57:56 ID:hkL4JkD2
ASでやるにはかなり複雑な計算が必要だと思われる。
最初に3角形で考えて

/\ ←このような図形をたてよこに変形させると頂点の角度が変化することと
 ̄ ̄
|\
|  \ ←このような図形をたてよこに変形させると辺の長さが変化すること
 ̄ ̄

これらを利用する。
っていうかぶっちゃけトップレベルの技術。
ttp://www.vas-animatum.net/
ここの人が得意。
550Now_loading...774KB:2005/06/23(木) 06:01:28 ID:7dqXr6Pv
>>549
これ、すごいねー。フニャフニャのシャッフルとかすげー。
551Now_loading...774KB:2005/06/23(木) 15:14:17 ID:kyiVFLiM
ちょっとした質問なんですが、
(MX2004 Win)

・複数行のコードに一度にコメントする方法

・ヘルプの文字が小さくて読めないので大きくする方法

どなたか、ご存知の方がいたら教えてください。
552Now_loading...774KB:2005/06/23(木) 15:43:57 ID:Ba89PzFh
>>551
・ヘルプの文字が小さくて読めないので大きくする方法

Ctrl+マウスホイールぐりぐり
553Now_loading...774KB:2005/06/23(木) 15:53:22 ID:CahebHY8
>>551
/*
コメント
コメント
コメント
ああああああああああ
おおおおおおお
ええええええええええええええええええ
*/
554548:2005/06/23(木) 16:47:36 ID:bqApNO9H
(長方形の左下の角を基準にして斜めに歪ませるMC)

>>549
有難うございます。
元々は別スレでご紹介頂いた、「本や雑誌のページがめくられていく
ムービー」の実例 ttp://www.curtainshop.co.jp/ariatop.html
を再現することが目的です。

このサイトのムービーもそのようなトップレベルの技術に基づいて
いるのでしょうか?
555Now_loading...774KB:2005/06/23(木) 17:39:02 ID:hkL4JkD2
>>554
そういう目的なら話は別。
精密に動かす必要がないのならASじゃなくてトゥイーンを使うんだな。
その中にページを読み込むなり、フレームごとにページを入れておくかする。
556Now_loading...774KB:2005/06/23(木) 21:13:46 ID:7dh+XKnx
初心者です。
Win2000でflaMXを使っています。

ttp://www12.plala.or.jp/nextframe/flash/meiro.htmlみたいに
正方形のムービークリップが他のムービークリップに衝突したときに壊れるアクションを作ってみたいのですが、

シーン1に置いた壁の部分に
 onClipEvent (enterFrame) {
if (this.hitTest(_root.sikaku_mc)==true) {
_root.sikaku_mc.gotoAndPlay(2);
}
}

と書き、正方形のムービークリップの2フレーム目に壊れたときの絵を書いてもうまくいきません。

説明が下手で申し訳ないのですが、どう直せばいいか頂けないでしょうか?
557Now_loading...774KB:2005/06/23(木) 21:20:18 ID:hkL4JkD2
どう「うまくいかない」のかの情報を。
558Now_loading...774KB:2005/06/23(木) 21:51:29 ID:6U9X8uaA
>>551
メモ帳にコピペしてる
559Now_loading...774KB:2005/06/23(木) 23:05:04 ID:VMsHY8xS
>>551
ヘルプはHTMLだからCTRL+ホイールでかわんじゃね?
複数行のコードに〜ってのは意味がわかんね。
単純に置換でもすれば?
560Now_loading...774KB:2005/06/24(金) 15:30:04 ID:P0w60XgR
>>552
>>553
ありがとうございます。
無事解決しました!

ヘルプの文字、今までメモ帳にコピペしてみてたので・・・

助かりました。
561Now_loading...774KB:2005/06/24(金) 16:25:10 ID:ZkpeSs35
・環境
WindowsXP
FlashMX 2004

アクションスクリプトによってswfの張られているサーバの情報は取得できるのでしょうか?
例えば http://yahoo.co.jp にtest.swfが張られているとしてtest.swfに張られているドメイン名
を表示させたいのです。

よろしくお願いします
   
562Now_loading...774KB:2005/06/24(金) 17:30:14 ID:4jVvuvVD
>>561
_urlプロパティ。
563Now_loading...774KB:2005/06/24(金) 18:38:34 ID:ZkpeSs35
>>562
ありがとうございます。

しかし,、urlプロパティはファイルの置かれた場所を表します。

例えば
ファイルの置いている場所が http://foo/test.swf
それを http://bar/test.htm l内で下記のように呼び出した場合に
<param name="movie" value="http://foo/test.swf" />
呼び出している側の http://bat/test.html の情報を取得したいのです。
564Now_loading...774KB:2005/06/24(金) 18:45:47 ID:4jVvuvVD
それはどういう目的で?
自分で外部呼出しするならHTMLで渡してあげればいいし。
565Now_loading...774KB:2005/06/24(金) 19:39:16 ID:ZkpeSs35
>>564
考えていた用途は二つ。
用途はまったく逆ですが

1、
自分の張られている、URLが取得できれば特定のサーバに
置かなければ動作しないFLASHを作成することができる。
他人に勝手に呼ばれることをされない。

2、
自分の張られているサーバのURLをテキストにして電光掲示板
のように流す演出ができる。
566Now_loading...774KB:2005/06/24(金) 20:05:14 ID:4jVvuvVD
1、ならばswfの呼び出しに?マークのパスをかけるとか。
トリッキーな方法になるから分かる人には普通に破られるけど。
後はサーバーの設定でswfファイルへの外部からの直リンを弾くって感じかな。
どこからか勝手に呼び出されるのが嫌ならば、Flashの最後に自分のページへリンクするボタンを作っておくと
何人かに1人はそこへアクセスするのでアクセス解析と併用して見つけるってのはよくやる作戦。

2、はメリットあるのかな?実現も難しそうだし実用には向かないと思う。
567Now_loading...774KB:2005/06/24(金) 20:05:50 ID:G9JXrJnt
リファ知りたいんでネ〜の?
568さちこ:2005/06/24(金) 21:25:12 ID:LlvZsXYh
FLASH MX 2004のgetURL()メソッドを利用して
アプリケーションにパラメーターを投げる仕組みを
作成したのですが、WindowsでのIEだけが正しい処理
を行ってくれません。
WindowsのNS、firefox、Operaでは動作しました。
Macでは、Sfari、MacIEで動作確認ができました。
----------------------------------------------
on(rollOver){
 ※テキストボックスにメッセージを表示
}
on(rollOut){
 ※テキストボックスにデフォルト文字を表示
}
on(release){
this.getURL("パラメータを送信するるファイルをを指定","_self","GET");
}
----------------------------------------------
以上のような処理をしています。
ご教授頂けると光栄です
569556:2005/06/24(金) 22:37:21 ID:gTwCHvFQ
>>557
言葉足らずですいません。

壁にぶつかった後、MCの2フレーム目以降が再生されない、
要するにスクリプトを書いていない状態と変わらないという事です。
570Now_loading...774KB:2005/06/24(金) 22:44:59 ID:5yYr1acO
functionで飛ばすとか
571Now_loading...774KB:2005/06/24(金) 23:06:23 ID:karF5bEB
>>569
その程度の情報じゃ憶測で言うしかないけど
もしかして1フレーム目にthis.stop();ってかいて、2フレーム目には何も書いてないんじゃない?
だからgotoAndPlay(2);で2フレーム目にとばしても、すぐに1フレーム目に流れてそこで「this.stop();」されてるんじゃ?
572Now_loading...774KB:2005/06/25(土) 08:08:55 ID:xxtoKdyx
ソフト:FlashMX2004

ムービーの逆再生法について聞きます。
例として、Startボタンを押すとバナナ(←バナナレイヤー)が左から右に
モーショントゥイーンで動くムービー
 http://oekaki.s56.xrea.com/x/uploader/src/oe1460.swf
で逆再生用のClearボタン(バナナ移動後に出現)を用意し、下記の
ASを組みましたが逆再生できません。
間違いを指摘して下さい。

<Startボタン Actionレイヤーのフレーム1>
on (release) {
this.play();
}

<Clearボタン Actionレイヤーのフレーム20>
on (release) {
this.onEnterFrame = function() {
this._currentframe -= 1;
if (this._currentframe == 1) {
this.stop();
}
};
}
573572:2005/06/25(土) 09:13:48 ID:L5W95k1b
間違い分かりました。
 this._currentframe -= 1;
→ _root.prevFrame();

でした。
574Now_loading...774KB:2005/06/25(土) 10:03:47 ID:nxk6iN/P
質問です。
シューティングゲームの弾のように自分の方向に
弾を飛ばすにはどうすればいいですか?
575Now_loading...774KB:2005/06/25(土) 10:05:58 ID:TMu3kpLf
シューティングゲームを作ってるんですが、自機が左上に移動中はミサイル攻撃ができず
攻撃しながらだと左上に進めないんです。
どなたか教えてくれませんでしょうか?
ちなみに下が自機のスクリプトです

onClipEvent (enterFrame) {
if (Key.isDown(Key.RIGHT) and Key.isDown(Key.UP) and (_x<600 and _y>0)) {
_x += 10;
_y -= 10;
} else if (Key.isDown(Key.RIGHT) and Key.isDown(Key.DOWN) and (_x<600 and _y<450)) {
_x += 10;
_y += 10;
} else if (Key.isDown(Key.LEFT) and Key.isDown(Key.UP) and (_x>0 and _y>0)) {
_x -= 10;
_y -= 10;
} else if (Key.isDown(Key.LEFT) and Key.isDown(Key.DOWN) and (_x>0 and _y<450)) {
_x -= 10;
_y += 10;
} else if (Key.isDown(Key.RIGHT) and _x<600) {
_x += 10;
} else if (Key.isDown(Key.LEFT) and _x>0) {
_x -= 10;
} else if (Key.isDown(Key.DOWN) and _y<450) {
_y += 10;
} else if (Key.isDown(Key.UP) and _y>0) {
_y -= 10;
}
if (Key.isDown(Key.SPACE)) {
_root.attachMovie("fire", "fire", 100);
}
}
576Now_loading...774KB:2005/06/25(土) 10:10:52 ID:Y4WApiaN
and よりも、&& の方がいいよ。
577Now_loading...774KB:2005/06/25(土) 11:06:56 ID:BWiTXvmp
>>575
スクリプトちゃんと見てないけど、
キーボードによって同時入力の認識に違いがあるからチェックしてみたら?

とりあえず試すとするなら、Key.SPACEを別のキーに変える
578575:2005/06/25(土) 11:17:06 ID:TMu3kpLf
>>576
そうなんですか、変更しておきますね。

>>577
とりあえずENTERにしてみたら動きました、ありがとうございました。

攻撃キーを「z」にしたいんですけど、この場合どうしたらよろしいでしょうか?
579Now_loading...774KB:2005/06/25(土) 11:28:02 ID:PRwHLnAH
境界条件にキーのifっているの?無条件に壁に戻せばいいかと。
580Now_loading...774KB:2005/06/25(土) 16:17:41 ID:S0S69llq
>>576
何が違うの?
581Now_loading...774KB:2005/06/25(土) 16:19:49 ID:i/HmKY0l
andは推奨されない表記。
国際基準の何かで&&にしようってことになってるのでFlashもそれに準じてる。
582Now_loading...774KB:2005/06/25(土) 18:27:17 ID:eztwcF5H
外人のソースってその辺結構アバウトな傾向あるよね。
and add あたりも良く使われるし、
new Arrayは = []
Math.random()*?もrandom(?)を使ってたり。
ソースの見た目が(視覚的に)綺麗になるからなのかな。
583Now_loading...774KB:2005/06/25(土) 20:13:35 ID:i/HmKY0l
andはまだいいけどaddはさすがにダメでしょ。
外国のソースじゃなくてflash4の時代のソースなんじゃないの?
その頃はandとadd使われていたから。

ソースの見た目で行ったら
"a" add hoge add 0
こんなのより
"a" + hoge + 0
こっちのほうがよっぽどわかりやすいし。

if (abc == 0 and hoge_flag and tmp_flag)

これなんか分けワカンネ。&&で表記すれば

if (abc == 0 && hoge_flag && tmp_flag)

よっぽど区切りがしっかりすると思うんだが。
584Now_loading...774KB:2005/06/25(土) 20:44:07 ID:PRwHLnAH
>>583
いつからadd加算演算子とand条件演算子が一緒になったのだ?
585Now_loading...774KB:2005/06/25(土) 20:46:01 ID:PRwHLnAH
あ、ごめん別々のはなしだったねorz...
586580:2005/06/26(日) 00:21:44 ID:6hjw369e
andと&&は、動作的には差は無いって事ですね。
推奨されてるかそうでないかの違いですね。了解〜
587Now_loading...774KB:2005/06/26(日) 00:29:59 ID:cwYUgirZ
<div align="center">
<center>

これらの違いみたいなものだな。
588Now_loading...774KB:2005/06/26(日) 01:07:06 ID:XFCHLdmA
小数点第○位までの値を表示するにはどうすればいいでしょう?

例えば
onClipEvent (load){
startTime = getTimer();
}
onClipEvent (enterFrame){
nowTime = getTimer();
passTime = nowTime-startTime;
keika = passTime/1000;
}
みたいにした時に0.1秒までの時間を表示したいのです
589Now_loading...774KB:2005/06/26(日) 01:26:02 ID:cwYUgirZ
Math.floor(a * 10) / 10;
590Now_loading...774KB:2005/06/26(日) 01:35:49 ID:XFCHLdmA
>>589
ありがとうございます!
591Now_loading...774KB:2005/06/26(日) 02:39:08 ID:vtxEgZPH

っ Math.floor(keika) + "." + (Math.floor(keika * 10) % 10);
592Now_loading...774KB:2005/06/26(日) 09:36:57 ID:fmtHlkS0
質問です
flashMX使用

6個のインスタンスがフィールド上にあって
それを 円柱に沿うような回転をさせるにはどうしたらいいでしょうか?
奥に行くほど色も薄くして奥行き感を出したいのですが
593Now_loading...774KB:2005/06/26(日) 09:59:23 ID:6oiTWVsJ
モーショントゥイーンとガイド
594Now_loading...774KB:2005/06/26(日) 10:30:42 ID:fmtHlkS0
>>593

後で円周の大きさ スピード等変えたいので
actionscriptでやりたいんですけど・・・
595Now_loading...774KB:2005/06/26(日) 10:57:39 ID:Y3BLJLgU
prototypeで記述してきたものをclassでの記述に移行しようと思っているのですが、
thisの参照先をMovieClipにする方法がわからなくて質問にきました。

mcという名前のムービークリップがあるとして、

MovieClip.prototype.showProp(property){
return this[property]
}
trace( mc.showProp("x") ) //mcの_xが表示される

というような動作をclassで作成する事は出来ますでしょうか?
596Now_loading...774KB:2005/06/26(日) 11:03:44 ID:6oiTWVsJ
>>594
Math.sin()とMath.cos()で位置を出して
_widthと_heightまたは、_xscaleと_yscaleで距離から大きさ変更。
swapDepthes()で重なり順を変える。
colorオブジェクトで色変更。

それらをonEnterFrameで実行する。
597588:2005/06/26(日) 17:46:43 ID:aoK7kPi/
>>591さんもありがとうございました
表示がスムーズなのでこちらを採用させていただきます
598Now_loading...774KB:2005/06/26(日) 18:15:47 ID:Zpuk2eX1
基本的な質問すみません。


http://ponk.jp/flash_game/index.php?page=2


上のページで、tno とtcntという変数が出てきますが、


tnoが1づつ増えるとかtcntが増えていくとかいう記述はどこにあたるのでしょうか???

599Now_loading...774KB:2005/06/26(日) 19:00:46 ID:HNroTOhC
>>598
検索って知ってる?
600Now_loading...774KB:2005/06/26(日) 20:48:56 ID:Zpuk2eX1
>>599
何て検索したらよいか分かりません。
601Now_loading...774KB:2005/06/26(日) 20:50:16 ID:WYSCXU+5
>>599
そうは言うがな、少佐。

>>598
すごく良いページだな、そこ。

お礼に
>>tcntが1づつ増えるとか
「// 弾の処理」の1行下の「if (++tcnt > tint)」
>>tnoが1づつ増えるとか
その6行下にある「if (++tno > 1000) tno = 0;」

ポイントは「++」演算子ね。
「++a;」は「a = a + 1;」と全く同じ意味になるの。
602Now_loading...774KB:2005/06/26(日) 21:12:19 ID:Zpuk2eX1
>>601
ありがとうございます。インクリメントは理解したんですが、
if文の中にあるので、よく分からないんです。
意味は、”もし、tcntにプラス1してがtintより大きければ、〜〜”ってことですよね??
++tcntはif文の外で記述しないとおかしくなるような気がしてますが。。。



tnoも,



++tno
if(tno > 1000) tno=0;



としなくてもよい理由がつかめないんです。。。
603Now_loading...774KB:2005/06/26(日) 21:12:59 ID:1Lo1udzg
怪しまれないように簡単な質問を書き添えて
URLを貼るとは、上手い宣伝方法ですこと。

同じようなことやってる馬鹿がこれまでにも多数。
604Now_loading...774KB:2005/06/26(日) 22:25:25 ID:cwYUgirZ
インクリメントは個人的に
a++;と書きたいのだが、まあそれはおいといて。

a = 1;
trace(++a);
trace(a);

これをFlashで実行するとわかるかも。
++aとa+=1とは、厳密には違うんだよ。
605Now_loading...774KB:2005/06/26(日) 23:16:44 ID:WYSCXU+5
>>604
ん?まじで!知らなかった_| ̄|○
厳密にどう違うんです?
606Now_loading...774KB:2005/06/26(日) 23:22:30 ID:Hi6u/5pD
俺は、
a++;
と単独行に1つだけ書きたい派だな。別の式と混ぜるのキライ。
607Now_loading...774KB:2005/06/26(日) 23:25:06 ID:qoGeUs3B
trace(a++); はaを表示してから1足す
608Now_loading...774KB:2005/06/26(日) 23:26:09 ID:qoGeUs3B
trace(++a); はaに1足してからしてから表示

ごめん書いてる途中で送信押しちゃった
609604:2005/06/26(日) 23:34:09 ID:WYSCXU+5
>>607
ん?なら
 「a++」 != 「a += 1」

 「++a」 == 「a += 1」
じゃないの?

>>606
んでも、(設計ミスで)閾値が1変わるなんてことは良くあるから(よくあっちゃいけないんだけど)
++を前置にするか後置にするかだけで換えられるのは便利だよ。
610×604 ○605:2005/06/26(日) 23:35:22 ID:WYSCXU+5
ゴメン間違えた…IDで判断してくだちぃ。
611595:2005/06/26(日) 23:57:30 ID:Y3BLJLgU
595です。
相変わらずまだやり方がわからないまま調べてる所なのですが、
どなたかわかる方いらっしゃらないでしょうか?
612Now_loading...774KB:2005/06/27(月) 00:36:39 ID:T8MYms8A
>>611
(`・ω・)オレは分からんが、地道にがんがれ。
613Now_loading...774KB:2005/06/27(月) 01:24:05 ID:UdIxaRha
//Hoge.as
class Hoge extends MovieClip {
function Hoge() {
}
function showProp(property:String) {
return this[property];
}
}

//mcのリンケージ AS 2.0 クラス
Hoge

//トレース
trace(mc.showProp("_x"));

ってこと?
614Now_loading...774KB:2005/06/27(月) 08:52:49 ID:0F5dCpZM
>>613
レスありがとうございます。
そういう形だと思ってたのですが、exetndsで継承しても
thisでの参照先がobjectになってしまい(MovieClipになってない)、
MovieClipから値が取得出来ないんです。
615質問です:2005/06/28(火) 01:21:08 ID:K4L/j9Mv
環境はWinXP MXです。
超初心者なのですが仕事で作っています。

今、3D画像がマウス追従してくるくる回るものを作りたいのですが
ASに関しては全く分かりません。
シンタックスエラーが消えません…。
パッと見て明らかにおかしいところとかありますか?
意味不明な質問でごめんさい。
どうかお願いします…

onClipEvent (load) {
StageWidth=550;
thePress = false;
}
onClipEvent(mouseDown){
thePress = true;
}
onClipEvent(mouseUp) {
thePress = false;
}
onClipEvent (mouseMove) {
if(thePress){
frameNum = Math.round(_root._xmouse*3/StageWidth)+1;
     this.gotoAndStop(frameNum);
   }
}

616Now_loading...774KB:2005/06/28(火) 01:28:17 ID:iDI1rAHl
どんなシンタックスエラーが出るのかを書いてもらわない事には・・・
617615:2005/06/28(火) 01:37:13 ID:K4L/j9Mv
ごめんなさい!今出てるのはこれです。
シーン = シーン 1, レイヤー = レイヤー 2, フレーム = 1 : 行 14:シンタックスエラー
     this.gotoAndStop(frameNum);
シーン = シーン 1, レイヤー = レイヤー 2, フレーム = 1 : 行 15:シンタックスエラー
   }
シーン = シーン 1, レイヤー = レイヤー 2, フレーム = 1 : 行 16:予期しない '}' があります。
}
618Now_loading...774KB:2005/06/28(火) 01:43:46 ID:XaM0IVGa
あのさ、コンパイルエラー見てもらうような恥ずかしいことするなよ
619615:2005/06/28(火) 01:59:09 ID:K4L/j9Mv
もう訳が分からなくて…。
何時間かけても進まないし恥ずかしいことかどうかも分かりませんでした。
スレ汚しスイマセンでした。
620Now_loading...774KB:2005/06/28(火) 02:18:38 ID:iDI1rAHl
えっとつまりね、onClipEventはフレームに書く命令じゃないのよ。
AS初めて?
onClipEventはMCの上に書かないといけないのよ。
621Now_loading...774KB:2005/06/28(火) 02:23:26 ID:59r7BNIX
シンタックスさんの言う様に
14行目と、15行目の空白部分を省いて
this.gotoAndStop(frameNum);
}
としる!

見易くするために、空白を入れたければ、
全角スペースじゃなくて、tabを使う様に。
しる!
622Now_loading...774KB:2005/06/28(火) 02:23:39 ID:wmTV5Les
>>617
onClipEvent (mouseMove) {
if (thePress) {
frameNum = Math.round(_root._xmouse*3/StageWidth)+1;
this.gotoAndStop(frameNum);
}
}

>>620
コンパイルエラー見てから言ってるのか?
623615:2005/06/28(火) 02:27:50 ID:K4L/j9Mv
>>620
ありがとうございます…
初めてではないのですが…
超簡単でシンプルなやつしかやったことないですorz
MCに中の空のフレームでも間違いですか?


624Now_loading...774KB:2005/06/28(火) 02:33:59 ID:6fkReoER
すみませんFLASH初心者です。
iモード用ページを作成しており、Flashで”インタラクティブ再生”をさせる様な
コンテンツを作りたいのですが、携帯端末の”上”キー操作を判別するASの書き方がわかりません。

”下”キーの場合は
on (keyPress "<Tab>")  で動きますが、
”上”キーの場合、仕様書などを読むと
『PC向けFlashプレイヤでのコンテンツ再生時のShift + Tabキーに対応しており』
とあるだけで、具体的な記述がありません。
Googleで関連用語などを調べても該当する内容が見つけられません。
やっと見つけたKey.isDownメソッドは、Flash5以降でしか使えないようです。
(i-mode用のFlashLiteはFlash4相当らしいです)

分かる方から見たらくだらない質問かもしれないですが、教えてください。
(これだけの為に1週間以上作業が滞ってます…)
625615:2005/06/28(火) 03:14:48 ID:K4L/j9Mv
>>621,>>622
本当にありがとうございます!
とても参考になります!!!感謝です。
626Now_loading...774KB:2005/06/28(火) 03:24:05 ID:wmTV5Les
627Now_loading...774KB:2005/06/28(火) 05:53:46 ID:eDgFxjv9
環境はMX2004、AS2.0です。
MovieClipを継承し拡張したサブクラスがOutside.asにまとめてあり
その同階層のmain.flaにおいて次のように、attachMovieで
動的にOutsideクラスのインスタンスを作成したいのですが
attachMovie時のリンケージIDをどう指定していいのかわかりません。

createEmptyMovieClip("dummy",1);
dummy.attachMovie("Outside", "extendMC", 0);

とClass名なぞいれてみてもだめで、とんちんかんにも
Outside.asのコンストラクタにてObject.registerClass()で明示してもだめでした。
いろいろやっても最終的に回避できなかったため
Helpに従って、main.flaに対してシンボルをあらかじめ作成しておき
そのリンケージにOutsideクラスをくっつけてやればうまくいったのですが・・・

これは結局、外部MC継承クラスのインスタンスを作成するためにはいちいち
リンク用シンボルをFLA内部にあらかじめ持たないといけないことになりますよね?
できればシンボルを作らせず、外部クラスと動的にattachMovieしたいの
ですがこれは無理な話でしょうか?
どうも仕様っぽいので少しあきらめモードですがよろしくおねがいします(´・ω・`)
628Now_loading...774KB:2005/06/28(火) 06:01:55 ID:/ng56A7k
>>627
無理。
どうしても嫌なら
dummy.prototype = new Outside()
629627:2005/06/28(火) 06:31:18 ID:eDgFxjv9
>>628
無理ですか・・・
頂いたコードを、ちょっと試してみたのですがやはり
回避行動には副作用的な記述が増えてしまいますね。
外部リンク用シンボルをなんとかとりまとめる方向で設計することに決めました。
ありがとうございました。
630Now_loading...774KB:2005/06/28(火) 13:10:58 ID:m6a/Rz4M
>>596

そこまでは何とかできたんですけど

円柱にそう 感じが出せません

どこかにサンプルがあったのですが。。。


どなたかご存知ないでしょうか?
631Now_loading...774KB:2005/06/28(火) 13:39:39 ID:dxE/EJMP
myXML.load("aaa.csv"); では問題ないけど
myXML.load("http://www.xxxxx.co.jp/aaa.csv");
のようにするとCPU負荷が異常に高くなるけど
どうすればよいでしょうか?
632Now_loading...774KB:2005/06/28(火) 14:52:22 ID:4+v4ya4Y
WInXP FLASHMX2004

変数をダンプする。関数はあるのでしょうか?
PHPでのvar_dumpやprint_rみたいなもの

よろしくお願いします
633Now_loading...774KB:2005/06/28(火) 20:31:25 ID:7GeHDTgW
>>632
object 以外はtraceでOKだったかな
634Now_loading...774KB:2005/06/28(火) 22:07:49 ID:BUEI8FGy
いろんなところを見てみてもわからなかったので質問させていただきます。

Flash内の色を判別できることはできますか?
マウスのところの色は#00ffffだ…とか。
お願いします。
635Now_loading...774KB:2005/06/28(火) 22:30:42 ID:EzYsQnsm
>>631
仕様だからサブドメイン内にファイル置いとけ。
636Now_loading...774KB:2005/06/28(火) 22:50:25 ID:Yb1NH6kk
>>634
できません。
みんな次期バージョンでできるようになればいいなとワクワクテカテカ待ってます。
637Now_loading...774KB:2005/06/28(火) 22:54:48 ID:BUEI8FGy
>>636
そうなんですか…ありがとうございます。
638Now_loading...774KB:2005/06/29(水) 01:18:31 ID:hqAtf9WF

createTextField()で動的に生み出したテキストフィールドの
embedFontsにtrueフラグを立てて埋め込みフォントを利用するように設定したのですが、
テキストフィールドのプロパティパネルで提供されてるような、
英数字のみや指定文字だけの指定はどうやればいいのでしょうか?
639Now_loading...774KB:2005/06/29(水) 03:38:25 ID:XG14bJTI
早く、マウスのポイントの色を判別できるようにならないかなぁ、、、
(・∀・)ワクワク、テカテカ
640Now_loading...774KB:2005/06/29(水) 07:22:02 ID:+eVeb/Ha
>>638
ダミーのテキストフィールドをつくり、プロパティパネルで埋め込みたいフォントを指定。
createしたテキストフィールドのテキストフォーマットにそのフォーマットをセットする。
641Now_loading...774KB:2005/06/29(水) 08:06:40 ID:xog6jaXQ
>>638
TextField.restrict = "a-Z 0-9"
642Now_loading...774KB:2005/06/29(水) 08:09:55 ID:xiNXD/zd
>これはユーザーの操作のみを制限します。
>このプロパティはプロパティインスペクタの
>[フォントのアウトラインの埋め込み] チェックボックスと同期しません。
643631:2005/06/29(水) 08:16:28 ID:c4UQMs4x
>>635
では、データを全部読み終わった後にmyXML.loadを無効にするには
どうすればよいでしょうか。
お願いします。
644Now_loading...774KB:2005/06/29(水) 10:55:44 ID:R28/PSqX
質問です。
ASでMCを決められた角度を斜め移動するにはどうすればいいでしょうか。
645Now_loading...774KB:2005/06/29(水) 12:40:04 ID:XG14bJTI
↑文章へんだよ
646Now_loading...774KB:2005/06/29(水) 13:54:28 ID:045mxqYb
>>644
ASでMCを斜めにできる?
ASでMCを移動できる?
647Now_loading...774KB:2005/06/29(水) 13:58:50 ID:XBTfxLcp
「〜という動きはどうゆうASを組めばいいでしょう」
っていう人間は説明下手糞なんだからせめてモーショントゥイーンで動きのサンプル作って貼れよ・・・
648Now_loading...774KB:2005/06/29(水) 14:03:55 ID:JlKFdM0M
>>644 ヒント:三角関数
649638:2005/06/29(水) 14:21:45 ID:nVpMWj1q
>>640
やっぱりそれしかないですかね。
ひな型的なシンボルをFLA内に作らずに、AS処理のみだけで
フォント埋め込みーの、アウトライン表示ーの、を完結したかったのですが。

>>641
入力ワードの制限でなく、ASの処理のみだけで
埋め込みの実装まで完結したいとの意味でした。
書き方が悪かったですね・・・スンマセン
650Now_loading...774KB:2005/06/30(木) 13:58:21 ID:UfrkaDd0
WINXP + MX2004

FLASHでチャットソフトのようなものを作っています。
テキストフィールドに文字を入力したときに、行頭に「。」や行末に「\」などが
入力されると禁則処理が自動で行われしまいます。
これを回避する方法はどうしたらよろしいでしょうか?

よろしくお願いします。
651Now_loading...774KB:2005/06/30(木) 14:05:18 ID:3C1VtUid
>>650
一文字づつばらして置き換える
652Now_loading...774KB:2005/06/30(木) 15:56:33 ID:3C1VtUid
せんせー質問

returnで複数の値を返したい時は、
配列に入れたりして返さないとダメですか?
もうちょっとスマートなやり方がありそうな気がするのですが
653Now_loading...774KB:2005/06/30(木) 16:11:05 ID:ZCS1sfrX
>>652
複数の値を一気に返す意味は知ったことでは無いが簡単なサンプル書いておく

function hoge(){
return ["あ","か","さ","た"]
}

a = hoge()[2]
trace(a);//"さ"を表示
654Now_loading...774KB:2005/06/30(木) 16:17:21 ID:3C1VtUid
>>653
即答ありがとうございます。
エスパーな勘に感謝
655Now_loading...774KB:2005/06/30(木) 16:52:07 ID:5/LQU1rm
>>653
知らなかった。便利。(・∀・)マリガトウ、センセィ
656Now_loading...774KB:2005/06/30(木) 17:07:49 ID:n4/VgPPh
>>653
俺もこれ知らんかった。こんな使い方できるんか!
657Now_loading...774KB:2005/06/30(木) 17:44:18 ID:ZCS1sfrX
>>654
エスパーって呼ばれると嬉しいです


難しいサンプル書いておく

kansu = new Array(function () {
return [function () { return ["あ", "い", "う"];}, function () { return ["か", "き", "く"];}, function () { return ["さ", "し", "す"];}];
}, function () {
return [function () { return ["ア", "イ", "ウ"];}, function () { return ["カ", "キ", "ク"];}, function () { return ["サ", "シ", "ス"];}];
});

hira = kansu[0]()[1]()[2];
kata = kansu[1]()[1]()[2];
trace([hira, kata]);

変数kansuの配列に関数定義をして返される配列に関数定義された配列を返す
"く"を表示するにはkansu[0]()[1]()[2]と書く
こんなことをするなら普通に3次元配列したほうが簡単だ
658Now_loading...774KB:2005/06/30(木) 17:45:00 ID:ZCS1sfrX
もう一つ

kansu = function () {
return function () { return "あああ";};
};
trace(kansu()());

変数kansuに普通に関数定義して返される関数で文字を返す
文字を表示するにはkansu()()と、2重に関数呼び出し演算子を書かなくてはいけない


 ∧||∧
(  ⌒ ヽ
 ∪゚Д゚ノ 技術スレ逝ってきます
  ∪∪
659Now_loading...774KB:2005/06/30(木) 20:05:07 ID:giC1U7Xr
ほかの言語と違うところやねー。
()をつけた回数だけ実行なんだけど、逆に()がなければ変数として扱えるんよ。
aaa = function(){
trace("あ");
}
bbb = aaa;
bbb(); // 「あ」を表示。
660Now_loading...774KB:2005/06/30(木) 20:09:13 ID:giC1U7Xr
実用例はこう

onPress = function (){
startDrag(this);
}
onRelease = function (){
stopDrag();
}
onReleaseOutside = onRelease;

マウスカーソルが画面外で離されたときもドラッグを解除するために
ReleaseとReleaseOutsideを同じ内容に合わせるという処理だよ。
ここら辺は慣れるといろいろ便利かも。
661Now_loading...774KB:2005/06/30(木) 21:43:23 ID:0BninwTg
onReleaseOutside=onRelease=function(){
 stopDrag();
}
でもいいのかな。
662Now_loading...774KB:2005/06/30(木) 22:05:36 ID:ZCS1sfrX
a=b=c;は
b=cが先に実行されて次にa=bの部分を実行する
つまりcの内容がaとbに全く同じく代入されるね
663Now_loading...774KB:2005/06/30(木) 22:09:52 ID:giC1U7Xr
>>661
OK。
664Now_loading...774KB:2005/06/30(木) 22:29:55 ID:NCbqDNuQ
for...inで取り出される順序って、通常めちゃくちゃだと思いますが
何を基準に順番定められてるんですか?メモリに並べられてる順序?
また、これをコントロールして順序立ててアクセスすることは可能ですか?
665Now_loading...774KB:2005/06/30(木) 23:18:43 ID:ygOaCpP5
>>664
基本的に登録を逆順で辿ってるっぽいよ。
arrayをfor...inで回すと最後から0に向っていくし。
順序立てて並べるんだったら配列に一旦入れてsortOnしてから入れなおすとか。

var a = new Array()
for(var name in object) a.push({v:object[name],name:name})//配列にオブジェクトの内容(名前入り)を突っ込む
a.sortOn("name",Array.CASEINSENSITIVE)//オブジェクトの値の名前でソート
object = new Object()//前のプロパティがあると順序が保持されるので初期化
for(var i=0 ; i<a.length ; i++) object[a[i].name] = a[i].v //配列の内容を逆順で入れなおし

for(var name in object) trace(name+" ::: "+object[name]) //トレースで確認

ってとこ?もっとシンプルな方法あるかもしれんけど。
666Now_loading...774KB:2005/07/01(金) 01:17:24 ID:6rdc9fAR
>>665
ということは、登録の流れをコントロールすれば
for...inによるアクセス順序も操れるってことですね。

配列格納にしてforで回すよりも、オブジェクト格納して
for...inアクセスのほうが処理が早いらしいので、
どうにかfor...inで順序を保てないものかと方法を探していたのですが。
これで本格的に実装できそうです。
ありがとうございました!
667Now_loading...774KB:2005/07/01(金) 01:56:37 ID:NrcP9+m7
いや、オブジェクトに対しては保障できない。
というよりfor in の順序制限は「すべきじゃない」「しちゃいけない」処理。
668666:2005/07/01(金) 02:07:31 ID:6rdc9fAR
ありゃ、そうなんですか。うーん。
しょうがないので順序立てが必要だった列要素は1桁で足りる量なので、
直接、処理を順序立てて書くことにしました。
669Now_loading...774KB:2005/07/01(金) 03:10:57 ID:NrcP9+m7
いやいや、その程度の量でfor inとforの計算速度を気にするようなシビアな処理は無いだろう。
違いがあるとはいえ本当に小さいし、状況によっては逆転する程度。
たまにそういうの気にしすぎる人がいるけど、実際実験しないとわからんし
気にしすぎて変なコード書いて重くする場合もある。
素直に普通の処理を使いなよ。
670666:2005/07/01(金) 07:21:47 ID:Y8MbJYu+
>>669
実は、この小さい処理を60fpsで毎フレーム実行するMCが沢山あるんです。
だいたい50〜100程度。なので、チリも積もればでやってます。
いずれ処理速度の最適化はしないとと思ってるので、その時いろいろ実験してみます。
671Now_loading...774KB:2005/07/01(金) 08:25:35 ID:NrcP9+m7
列挙したほうが動作が重くなったりしないかなぁ・・・。
672Now_loading...774KB:2005/07/01(金) 20:13:44 ID:J62ibeE1
質問というより、自身のレベルが知りたいだけなのですが。

テキストノベル風の一文字づつ表示するのを作っているのですが、

表示する文字列を一文字づつ調べていって、
<>の間は、画像変更等の特殊命令としています。
<が見つかったら、>が見つかるまで、whileでループして、
>が出てきたところで、命令として送るというのを作りました。
(後から、indexOf使ったほうが簡単だったかもと思いましたが。

String.slice()を使って文字のある部分を抜き出すようなときに、
forループが関わってくると、まず一回では成功しません。
何度もプレビューしながら、trace()やデバッガを見つつ、
トライ&エラーでうまくいくまで修正をして子一時間かけて
その一部分を完成させていますが、
慣れてくると、そんなことせずにすらすら書けるのでしょうか?

その程度のことで手間取っているようだと、まだ中級者とは言えないのでしょうか?
673Now_loading...774KB:2005/07/01(金) 20:29:59 ID:aRl6tGRO
>>672
そんな質問してる時点である意味初心者だとおもうよ
自分で中級者になれたと判断できた時に中級者になるんじゃない?
もちろん中級者の基準なんてないけど
674Now_loading...774KB:2005/07/01(金) 20:35:42 ID:9oyYR33U
>>672
慣れというかまず一度ヘルプ読み倒してみたらどうかな。
どういう動作をしてどういう戻り値を返すか、とかそういうの曖昧だと変なミス起こしちゃうし。

例としてあげてるの自体はこのスレ的には簡単な部類かも。
675Now_loading...774KB:2005/07/01(金) 21:38:09 ID:kfAUe80R
きっと、「そこまで出来れば立派な中級者〜上級者だよ」って言ってもらえると思ったんだろうな
676Now_loading...774KB:2005/07/01(金) 21:45:47 ID:mfu8JOMT
一文字ずつ表示するというのは、需要があるのかな?
ウザイと思う人が多くないかな。
映画の字幕とかって、パッと出るし。
677Now_loading...774KB:2005/07/01(金) 22:09:47 ID:QEortDvS
>>676
でもゲームの字幕は一文字ずつ表示するのがあるよな
678Now_loading...774KB:2005/07/01(金) 22:30:55 ID:dLtHIHhS
野球ゲームを作っています。


for(n=1; n<=8; ++n){
if(this.hitTest(_root.a_mc + n)){
this.removeMovieClip();
}
}


これのどこがおかしいか教えれ。


あと、球をピッチャーの上で一秒くらい表示させてから飛ばすのはどうしたらよいでしょうか??
679Now_loading...774KB:2005/07/01(金) 22:33:14 ID:mfu8JOMT
よく読まずにカキコ
_root["a_mc"+n]
680Now_loading...774KB:2005/07/01(金) 22:34:25 ID:251hgzO0
>>678
>球をピッチャーの上で一秒くらい表示させてから飛ばすのはどうしたらよいでしょうか??
一秒くらい表示させてから飛ばせばよかろう
頭を使えばいいと思う
681672:2005/07/01(金) 23:24:02 ID:J62ibeE1
返答ありがとうございます
質問が幼稚ですみませんでした。
もっと精進します。
682Now_loading...774KB:2005/07/02(土) 06:41:44 ID:gHLM6lSW
Mac OS X10.4 & MX で IQ63 です。
諸先輩方に質問があります。
ASで空のMCを作って、外から取ってきた座標情報で◯やら□やらを書いた後に、
それらをまとめてモーションツィーンっぽくクルクル&ピョーン(回転&移動)
てな感じで動かしたいのですが、_x,_yを繰り返し(for)でずらしても
(当然?)最終的な値のところに移動するだけで、想定している中間の動きは
全く描画されたように見えません。。。
また、回転の中心点もこれらの図形全体の真ん中にしたいのですが、
全体の右下で固定されてしまっています。
サンプルを探しましたが、スクリプトで描画した図形をアニメートするものを見つけレズ。
まず、これが可能なのかどうか、もしも可能であるなら、単純に□が横ずれするだけのような
サンプルを拝見出来ませんでしょうか。(自分のコードは見せられたもんではなく。。。ハァ)
どうぞ宜しく御願いします。
683Now_loading...774KB:2005/07/02(土) 08:15:47 ID:9B6SuWAU
>>682
var f = 50 //移動にかかるフレーム数
var st = {x:40 , y:50 , rotation:10} //移動前の位置
var ed = {x:200 , y:50 , rotation:10} //移動後の位置

var v = {x:(ed.x-st.x)/f , y:(ed.y-st.y)/f , r:(ed.r-st.r)/f} //移動量の計算
with(createEmptyMovieClip("mc",0)){
beginFill(0xff0000,100)
moveTo(-50,-50)
lineTo(-50,50)
lineTo(50,50)
lineTo(50,-50)
lineTo(-50,-50)
}
function onEnterFrame(){
for(var name in st){
st[name] += v[name]
this.mc["_"+name] = st[name]
}
}

こういうこと?
684Now_loading...774KB:2005/07/02(土) 09:46:28 ID:tI5pPqfT
>>682
これ、他スレでうpしたやつだけど
http://pukapuka.s1.x-beat.com/img-box/img20050628005458.txt
メインのタイムラインの第一フレームにコピペして使ってみそ
685Now_loading...774KB:2005/07/02(土) 10:44:04 ID:qWUu+W5B
ソフト:FlashMX2004(7.2)
あるMC(名前A)の色のパラメーターcolorIを、onClipEvent (enterFrame) で変化させ、
同時に他のMC(名前B)の色も(同期して)同じ色に変化させるASを書いています。
onClipEvent (load) {
my_color = new Color(this);   //thisはMCのA
_root.B.my_colorB = new Color(_root.B);
colorI = 255;
_root.ok._visible = false;
this._alpha=50;
_root.B._alpha=50;
}
onClipEvent (enterFrame) {
my_color.setRGB(colorI*256*256+255); 
_root.B.my_colorB = my_color;
if (colorI<129) {
colorI = 128;
_root.ok._visible = true; //RGBが(128,0,255)でMCのOKが出現
}
colorI -- ;
}
Aの色は変化するのですが、Bの色が変化しません。また、Aのアルファを50に設定しているのですが、
実際は100のままです。色とアルファの変化法を教えて下さい。
また、ある色:RGB(255,0,255)とRGBが(0,0,255)の中間色の出し方(計算法)
を教えて下さい。
以上、宜しくお願いします。
686Now_loading...774KB:2005/07/02(土) 10:56:59 ID:tI5pPqfT
>>685
>_root.B.my_colorB = my_color;
ここを
_root.B.my_colorB = my_color.getRGB();
にするとどうかな
あと、動的に作成した色に対してアルファを設定するのは
setTransform()が必要かも。これはヘルプ読んでね
687685:2005/07/02(土) 12:24:50 ID:qWUu+W5B
>>686
Thxです。まずは、色変化 
 _root.B.my_colorB = my_color.getRGB();
をやってみましたが、変わりませんでした。
しかし
 trace("colorB= "+_root.B.my_colorB);
で見ると確かに数値は変わっています。他のチェック点
を教えて下さい。

あと、中間色の計算方法もよろ。
688Now_loading...774KB:2005/07/02(土) 14:15:38 ID:Ga8Oq0Ty
マウスホイールでMCを拡大縮小させたいのですがどうしたらよいでしょうか
689Now_loading...774KB:2005/07/02(土) 17:34:32 ID:c6G7H1p9
>>688
ヘルプで「マウスホイール」を検索
690Now_loading...774KB:2005/07/02(土) 17:39:33 ID:oXYEcJ4W
球をピッチャーの上で一秒くらい表示させてから飛ばすのはどうしたらよいでしょうか?
691Now_loading...774KB:2005/07/02(土) 17:44:22 ID:HhV/hBsT
>>690
それ、ボークです
692Now_loading...774KB:2005/07/02(土) 17:50:15 ID:Z4L5kQoN
>>687
ノークレームノーリターンで
function aidanoRGBha(sColor, eColor, totalTime, time) {
if (time == 1) {
return sColor;
break;
}
if (time == totalTime) {
return eColor;
break;
}
var sArr = osieteRGB(sColor);
var eArr = osieteRGB(eColor);
var ansArr = new Array();
var answer = 0;
for (var i = 0; i<3; i++) {
var sA = sArr[i];
var eA = eArr[i];
ansArr[i] = (eA-sA)*(time-1)/(totalTime-1)+sA;
answer += ansArr[i] << 4*(4-i*2);
}
return answer;
}
function osieteRGB(rgb) {
var R = rgb >> 4*4;
var G = (rgb-(R << 4*4)) >> 4*2;
var B = rgb-(R << 4*4)-(G << 4*2);
return ([R, G, B]);
}
//aidanoRGBha(0x000000, 0xffffff, 20, 12)
//の場合、黒から白へ。20分割の12回目の色返す。
693685&687:2005/07/02(土) 17:59:45 ID:WbLL0jyE
>>692
うあああああ・・・とりあえずThx。
694Now_loading...774KB:2005/07/02(土) 18:05:45 ID:HhV/hBsT
2で割ってるだけじゃん、、、拡張してるかと思ったのに。。。
695Now_loading...774KB:2005/07/02(土) 19:49:40 ID:zYUTT9mg
>>689
漏れの検索のしかたが悪かったかもしれないけど、マウスホイールでは出てこなかったです。
もしご存じでしたらお教えください。
696Now_loading...774KB:2005/07/02(土) 20:06:50 ID:gHLM6lSW
>683,684様

今、戻って見ました!
早速、試してみます!
本当にどうもありがとうございます!!!
697Now_loading...774KB:2005/07/02(土) 20:45:55 ID:gDeorHjr
>695
onMouseWheel
使えばいいんでないの?
698Now_loading...774KB:2005/07/02(土) 22:11:40 ID:pzqxereO
INPUTタグのTYPE=FILEのようにファイルのアップロードを考えています。
INPUTタグだとダイアログからファイルを選択することになりますが、
これをドラッグ&ドロップでやろうとしています。

JavaScriptでなんとかならんか?と思ったのですが、
使えそうなondragdropイベントってブラウザによってあったりなかったり。

ActiveXドキュメントでは?とも思ったけど、
現行のMicrosoft系だと.Net Frameworkが入ってないとだめっぽい。

JavaAppletではどうか?とも考えたのですが、
ローカル資源にアクセスできないっぽい。

ということで、FLASHでなんとかならんか?と調べているのですが、
このようなことを実際にやったことある方や、
なにかヒントになるような情報をお持ちの方はいらっしゃいませんか?
699Now_loading...774KB:2005/07/02(土) 22:18:54 ID:IQaShAlk
質問ッす。
どうやってFLASHに音楽のせるんですか?
FLASH MX 2004ってのを使ってます。
700Now_loading...774KB:2005/07/02(土) 22:28:03 ID:PBlFFA1q
>>698
フラッシュにドロップは意味が無い
ドロップされたソフトウェアはドロップされたファイルを開く
ondragdropはマックだけ
私は不可能だと考える
ダイアログを開くにはFlashとJavaScriptの連携が必要だと思う

>>699
Ctrl+R
701Now_loading...774KB:2005/07/03(日) 10:07:06 ID:IK3SF8/I
上の質問でも書きましたが、2種類の色:例えばRGB(255,0,255)と
RGB(0,0,255)の中間色の出し方(2進法の計算式?)を教えて
下さい。
ググりましたが見つかりませんでした。
702Now_loading...774KB:2005/07/03(日) 12:53:02 ID:bZy4mdQj
>>701
function colormix(r1, g1, b1, r2, g2, b2) {
r = Math.floor((r1+r2)/2)*256*256;
g = Math.floor((g1+g2)/2)*256;
b = Math.floor((b1+b2)/2);
color = r+g+b;
return color.toString(16);
}
trace(colormix(255,0,255,0,0,255));
703Now_loading...774KB:2005/07/03(日) 13:01:50 ID:PMWdF0D7
>>701
うは、また2でわるだけか。。。
ちなみに、中間値ってどういう意味で言ってますか?
704Now_loading...774KB:2005/07/03(日) 13:19:03 ID:EFX2Eqor
中間値と平均値を混同?
普通は平均値のことかと思うよなぁ。
705Now_loading...774KB:2005/07/03(日) 13:41:43 ID:Zv8fUrwg
RGB<->HSV相互変換とかあってまんどくさそうだね。
タダでやってくれるステキな人がいたら
漏れもおこぼれに預かりたい(w
706695:2005/07/03(日) 14:24:37 ID:mCntyae8
すみません。やっぱりやり方わからないです。

onClipEvent (mouseDown) {
this.startDrag();
}
onClipEvent (mouseUp) {
this.stopDrag();
}
onClipEvent (keyDown) {
if (Key.getCode() == Key.UP) {
this._width += 55;
this._height += 40;
} else if (Key.getCode() == Key.DOWN) {
this._width += -55;
this._height += -40;
}
}

ここのKeyDownのところをマウスホイールでやりたいのですが
onClipEventではmouseWheel使えないと言うことでしょうか?
707Now_loading...774KB:2005/07/03(日) 15:10:38 ID:DOXbj9QM
>>706
ヘルプでonMouseWheelは検索してみた?
onClipEventじゃなく、listenerを使ってホイール操作をキャッチして、
それを割り当てないとダメだよ。
708Now_loading...774KB:2005/07/03(日) 15:14:26 ID:Z7yevDAz
サウンドのループ回数を指定する際
例えば100万回みたいなアホみたいな値を指定したとして
プログラムの動作に何か影響与えるようなことってありますか?
709Now_loading...774KB:2005/07/03(日) 17:12:44 ID:bZy4mdQj
>>705
簡単だ
あんただけが「まんどくさそうだね」って思ってるだけ
ただそれだけで自分で作ろうとしないのは人間として最低だと思う

などと釣られる
710Now_loading...774KB:2005/07/03(日) 20:05:58 ID:mCntyae8
>>707
ありがとうございました!
これで拡大縮小できましたが、
現在だとMCの中心を中心に拡大されてしまうのでマウスの位置を中心に拡大縮小させたいのです。

onClipEvent (load) {
_root.kurukuru = 0;
_root.MC1 = new Object ();
_width = 550;
_height = 400;
_root.MC1.onMouseWheel = function (delta) {
_root.kurukuru += delta;
}
Mouse.addListener (_root.MC1);
}
onClipEvent (enterFrame) {

_width =_width + (_root.kurukuru/3)*22
_height = _height + (_root.kurukuru/3)*16;
_root.kurukuru = 0;

}

どうしたらマウスを中心に拡大できるのでしょうか。
宜しければご教授ください。
711Now_loading...774KB:2005/07/03(日) 20:16:27 ID:VR659NVa
ヒント
MCの中心の座標
マウスについてくる。
712701:2005/07/03(日) 20:19:23 ID:iCOg5t/D
>>702
Thxです。使わせてもらいます。
713Now_loading...774KB:2005/07/03(日) 22:35:39 ID:J7pg4Car
何フレームだけmcを表示するとか、何秒間だけmcを表示するとかいった動きは
どう対処したらよいか教えてもらえませんか???
714Now_loading...774KB:2005/07/03(日) 22:43:28 ID:vET/R3rb
>>713
setInterval
715698:2005/07/04(月) 01:30:11 ID:wp6L2ISu
>>700
FLASHにドロップしてもブラウザが先(?)に処理するということでしょうか?
FLASHでは外部からドロップ出来ないのかぁ。手詰まり (><)
716Now_loading...774KB:2005/07/04(月) 02:41:14 ID:btG6mOns
Flashでスコープを作りたいんですけど、どんなASを書けばいいですか?
717Now_loading...774KB:2005/07/04(月) 07:52:53 ID:cAe0nHKA
private var a;
public var b;
718Now_loading...774KB:2005/07/04(月) 13:37:05 ID:1XJ1RwQx
当たり判定について質問です。
rootにAとB(kabe_mc)の二つのMCがあり、AのMCの中には、さらに4つのMCを配置してモーショントゥイーンで移動させています。
その4つのMCとBとの当たり判定をさせたいのですが、どうしてもうまくいきません。

4つのMCに

onClipEvent(enterFrame) {

if (this.hitTest(_root.kabe_mc)) {
Mouse.show();
_root.gotoAndStop(3);
}

}

と記述するとうまくいくのですが

onClipEvent(enterFrame) {

if (_root.kabe_mc.hitTest(_x, _y, true)) {
Mouse.show();
_root.gotoAndStop(3);
   }

}

とするとうまくいきません。
どうにかして後者のような点とインスタンスでの当たり判定をとることはできないでしょうか?
よろしくお願いします。
719Now_loading...774KB:2005/07/04(月) 13:59:27 ID:1XJ1RwQx
補足です。
4つのMCを小さな移動する点として当たり判定を行いたいのです。
720Now_loading...774KB:2005/07/04(月) 14:13:35 ID:PaMmEztW
>>718
座標系(x,y)合ってるか確認して見れば?
721Now_loading...774KB:2005/07/04(月) 14:14:21 ID:ftDfrYcq
>>718
_x, _yがローカル座標(Aの)になっているのでグローバルに変換してやる。
コードはテストしてないので間違ってたらHelpのlocalToGlobalを参照。

var p= new Object();
p.x = this._x;
p.y = this._y;
localToGlobal(p);

if (_root.kabe_mc.hitTest(p.x, p.y, true)) {
722718:2005/07/04(月) 15:19:34 ID:1XJ1RwQx
>>720
>>721
回答ありがとうございます。
早速試してみたいと思います。
723Now_loading...774KB:2005/07/04(月) 23:14:13 ID:XDe/j+8r
すいません質問です。
MCをマスクしてドラッグした部分だけマスクが解除されていく、という事がしたいのですが
そういう風にマスクを制御することはできるんでしょうか。
724Now_loading...774KB:2005/07/04(月) 23:15:09 ID:pWAMb69/
>>723 できます
725Now_loading...774KB:2005/07/04(月) 23:19:32 ID:XDe/j+8r
うーん、できるんですか・・・。
マスクに関するイベントとかが見つからなかったのでちょっとくじけそうだったのですが。
わかりましたー、もう少しがんばってみます。
726Now_loading...774KB:2005/07/04(月) 23:47:30 ID:e1vdtINK
>>725
往生際が良くて不覚にもワラタ
727Now_loading...774KB:2005/07/04(月) 23:58:51 ID:PaMmEztW
犬の糞避けてるだけだろ。
728Now_loading...774KB:2005/07/06(水) 12:05:40 ID:IQq2t5Cq
MX2004でxpです。
3つの変数a,b,cが渡されて、その中の最大と最小を求めたいです。
いずれの変数も0<=a<=255の範囲内の整数です。
シンプルに
tMax=a;
if(tMax<b)tMax=b;
if(tMax<c)tMax=c;
tMin=.......も同様。
とか、考えたのですが別のやりかたとかで良い方法があれば
ご教授ください。
729Now_loading...774KB:2005/07/06(水) 12:15:31 ID:9BO68z7a
tMax = Math.max(a, Math.max(b, c));

最小はMath.minで同じように。
Math.maxの詳細はヘルプでどうぞ。
730Now_loading...774KB:2005/07/06(水) 12:25:49 ID:SYzX2H2i
3つ以上の数の最大出すときはmax()にmax()内包させればよかったのか・・・気付かなかった。俺頭固いな。
tempNum=Math.max(a,b);
maxNum=Math.max(tempNum,c);

とかやってたよ・・・
731Now_loading...774KB:2005/07/06(水) 12:33:23 ID:9BO68z7a
個人的にmaxが複数の値を取ってほしいのですが。
もし多用するならそう改造しちゃいますね。
732Now_loading...774KB:2005/07/06(水) 14:04:42 ID:4lT02lzW
フラッシュに音楽を同調させたいんですがどうすればいいですか?><
733728:2005/07/06(水) 15:30:06 ID:IQq2t5Cq
>>729
なるほど、Mathメソッドを2重にするというわけですね。
勉強になりました。ありがとうございます。
>>731
ごめんなさい、複数の値というのが分かりません。
a=b=cで最大値という意味でしょうか?
今回のは、最大値と最小値が知りたく、それがaでもbでも
かまわないということで。
734Now_loading...774KB:2005/07/06(水) 15:54:14 ID:VrjUsnlM
>>732
同調って? 詳しく。
735Now_loading...774KB:2005/07/06(水) 16:05:19 ID:SIhwJB2Y
>>732
まずは日本語の勉強からだな
736Now_loading...774KB:2005/07/06(水) 16:46:41 ID:I/xz7Roe
>>733
>>731>>730に対する雑談
737728:2005/07/06(水) 18:09:17 ID:IQq2t5Cq
複数指定かあ、とヒントもらったので作ってみました。
ヘルプのサンプルをちょっと変えただけで、
やってることは変わりませんがOrz....

function listMax():Number{
var tMax:Number=0;
for (var i:Number=0;i<arguments.length;i++){
if (!isNaN(Number(arguments[i]))){
if(tMax<arguments[i]){
tMax=arguments[i];
}
}
}
return tMax;
}
trace(listMax(5,"ギコ",8,30,mona,30.5,9,5));
738732:2005/07/06(水) 18:11:17 ID:4lT02lzW
735すいません動揺してます
えーといいたいことはFLASH再生中にスクロールバーを動かすと音楽も進むSWFを目にしますが
自分が作るとうまくいきません。要はシーンとBGMのタイムを合わせたいっす
やっぱり日本語へんかも
739Now_loading...774KB:2005/07/06(水) 18:40:29 ID:+0dUPgzh
>>738
それなら、サウンドをイベントじゃなく
ストリーミングにすればオッケーだと思うぜ。

今度はちゃんとわかりやすかったからどんまい。
740Now_loading...774KB:2005/07/06(水) 18:43:53 ID:EdwwMDxH
>>738
MXや2004とかなら
下のプロパティの同期ってとこをストリーミングにしてみるといいとおもうお
741Now_loading...774KB:2005/07/06(水) 19:13:23 ID:I/xz7Roe
>>737
それこそmaxを使えば

function listMax():Number{
var tMax:Number = -Infinity;
for (var i:Number=0; i<arguments.length; i++){
if (!isNaN(Number(arguments[i]))){
tMax = Math.max(tMax, arguments[i]);
}
}
return tMax;
}

ちょっとだけスキーリ。
個人的にこういう処理は再帰呼び出ししたいとこだけど。
あとtMaxの初期値は-Infinityにしておかないと、マイナスを比較できないかも。
742Now_loading...774KB:2005/07/06(水) 21:38:50 ID:+FrGbFRE
listMax("a", "b", "c")
の場合に戻り値がNumber型ってなんか違和感
743Now_loading...774KB:2005/07/06(水) 22:30:06 ID:I/xz7Roe
Cの人?
744Now_loading...774KB:2005/07/06(水) 23:11:57 ID:Tp9WsSB3
if(a&&b)

if(a)if(b)
ではどっちが処理軽いと思います?
745Now_loading...774KB:2005/07/07(木) 00:58:49 ID:OXT7XwNZ
if(a&&b) じゃね??

つーか自分ではかってみろよ。
746Now_loading...774KB:2005/07/07(木) 04:20:15 ID:ycLAwInw
>>744
ふつうに後者
前者は余計なbの判定まで毎回(勝手に妄想)する必要が出てくる
でもaに毎回Trueが入ってればどちらでも関係ない。
747Now_loading...774KB:2005/07/07(木) 07:25:29 ID:EtAwNHYv
同じじゃないの?
&&ってaがfalseだったらそこで計算やめるから。
748Now_loading...774KB:2005/07/07(木) 07:27:43 ID:EtAwNHYv
いや、っていうかそんなとこで処理の軽さを気にするようじゃいいAS書けんぞ。
可読性を優先しなよ。
if (a && b)にしとくべき。
&&使わずに全部ifで繋げたコードなんて見たくないよ。
749Now_loading...774KB:2005/07/07(木) 09:14:11 ID:J8qkg/OA
>>747
気になったから実験してしまったよ。その通りだな。

a=1;
b=2;
if( a!=1 && ++b==3 ) trace("if_true");
trace(b);

出力
2

a=1;
b=2;
if( a==1 && ++b==3 ) trace("if_true");
trace(b);

出力
if_true
3
750737:2005/07/07(木) 09:43:19 ID:oIgR3UMG
>>741
レスありがとうございます。
確かに全部の引数がマイナスのときはダメダメですね
実はRGB->HSV変換の部分のなので、条件が0<=a<=255と限定で、
かつ、同じクラス内で使うつもりでして、汎用性とかは全く考えてませんでした。
同じ理由で、Math.max関数を呼ぶオーバーヘッドが嫌だったりして
(エラーチェックとかの部分が冗長な気がして)使ってませんでした。
不定な数の引数を取る時点で色々な場合を考えてあげないといけないのですね。
勉強になりました。ありがとうございました。
751Now_loading...774KB:2005/07/07(木) 10:28:06 ID:g3eQTEFj
if(論理式){
var = m;
}else{
var = n;
}

と、

var = 論理式 ? var = m: var = n;

だと速さって変わるかな?
後者が劇的に速いなら使いたいんだが、三項演算子なんて普段使わないからなぁ。
752Now_loading...774KB:2005/07/07(木) 11:26:38 ID:EtuRKn41
自分で試せ
753Now_loading...774KB:2005/07/07(木) 12:25:26 ID:8dfJ242Q
>>751
下のほうのテートメントサポートされてましたっけ?AS
754Now_loading...774KB:2005/07/07(木) 12:36:08 ID:uyc/5ZWK
>>753
されてるからヘルプ見な
755751:2005/07/07(木) 12:58:45 ID:g3eQTEFj
間違えた。
var = 論理式? m: n;
だ。
携帯で式書くもんじゃないな。
外で急に思い付いて、ここに書いてみたんだが、帰宅したら試してみよう。

見る人によったら可読性はウンコだけど、使いようでは便利よね。軽いならなおさら。
756Now_loading...774KB:2005/07/07(木) 13:30:59 ID:pHlhS5uq
それよりもさっきから「var = 」ってのがすごく気になるお年頃。
757Now_loading...774KB:2005/07/07(木) 13:34:20 ID:D3DQa6sy
まあ言いたいことはわかる。
でも軽さよりも可読性のほうがずっと重要だと思うぞ。
? a: bはまだいいけど。
758Now_loading...774KB:2005/07/07(木) 13:50:02 ID:g3eQTEFj
要するにCとかの解説によくあるフーゥバァーみたいなヤツだよ。
ASだとvarが予約語なの忘れてたんすよ。
お察しくださいな。
759Now_loading...774KB:2005/07/07(木) 15:41:32 ID:J8qkg/OA
>>751
で、どっちが早いかの実験結果の報告はまだ?
760744:2005/07/07(木) 16:42:48 ID:uyc/5ZWK
つーか技術スレでやろうよ
761751:2005/07/07(木) 17:48:51 ID:xroWIz1a
自己解決しました。


試行回数 1000000回ずつ。
空のfor文を回す。
4125 msec.
if(0){a = b;}else{a = c}の場合。
5985 msec.
if(1){a = b;}else{a = c}の場合。
5969 msec.
a = 0 ? b: c;の場合。
6344 msec.
a = 1 ? b: c;の場合。
6328 msec.

三項演算子の方が6%くらい遅いんだ…。
もう使う必要ないかも。
762Now_loading...774KB:2005/07/07(木) 17:56:29 ID:EtAwNHYv
なんだ、あれだ。
trueとfalseを0、1で表現されると
なんだか違和感がある。

それはいいとして ? のほうが遅いのは意外だな。
763Now_loading...774KB:2005/07/07(木) 18:14:58 ID:/jSOsia6
ソフト:FlashMX2004

MCのa1をstartDrag()で移動させ、MCのa2とhitTest()でヒットしたらa2と、
隣接させ(くっ付けて)、同様にMCのb1はb2と隣接させるASを書いています。
つまり化学反応みたいに、a1+ a2 →a1a2 , b1+ b2 → b1b2。
このとき全てのMCは、移動中も含めブルブルと振動しています。

あるMC(例えばa1)をドラッグ→移動→隣接させることは可能なのですが、
一方が成功すると、他方(b1)のドラッグ→移動が出来ません。

a1+ a2 →a1a2 の動作は1レイヤー毎に必要かと思い、a と bでレイヤー
を分けましたが効果がありません。
原因は何でしょうか?
764Now_loading...774KB:2005/07/07(木) 18:33:40 ID:EtAwNHYv
全部話されるとわけわかんないんだよなぁ。
えっと、2個以上のMCを同時にドラッグできないってことかな?
それならflashの仕様だけど。
765744:2005/07/07(木) 20:00:46 ID:uyc/5ZWK
え?
同時にドラッグすればいいでしょ
766Now_loading...774KB:2005/07/07(木) 20:10:44 ID:EtAwNHYv
ヘルプより

startDrag() を実行した後は、stopDrag() によって明示的に停止するか、他のムービークリップに対して startDrag() アクションが呼び出されるまで、ムービークリップはドラッグ可能なままになります。

ほかのMCをドラッグしようとすると前のやつが止まる。
767Now_loading...774KB:2005/07/07(木) 20:29:49 ID:uyc/5ZWK
startDrag関数使わないで自分でやればいい
これをムービークリップに貼り付けるとドラッグできます
onClipEvent (mouseDown) {
if (hitTest(_parent._xmouse, _parent._ymouse, true)) {
mouseon = true;
tx = _parent._xmouse-_x;
ty = _parent._ymouse-_y;
}
}
onClipEvent (mouseUp) {
mouseon = false;
}
onClipEvent (enterFrame) {
if (mouseon) {
_x = _parent._xmouse-tx;
_y = _parent._ymouse-ty;
}
}
768Now_loading...774KB:2005/07/07(木) 20:35:04 ID:EtAwNHYv
うん、だからバグの原因は2つstartDragしたんじゃないの?っていう話。
769763:2005/07/07(木) 20:49:02 ID:XSo93nPK
>>764-767
Thxです。同時ドラッグではなく、a1+ a2 →a1a2 ならばa1はstopDragで
ドラッグ解除し、b1を先に移動させればb1が先にstopDragするようにしています。

しかし結果的にソフトの方で「同時ドラッグ」と解釈されている可能性が
あります。←これを確かめる方法はありますか?

hitTestでstopDragになるようにしていますので、767さんの方法は改造
して利用したいと思います。
770Now_loading...774KB:2005/07/07(木) 20:51:52 ID:EtAwNHYv
っていうか、普通にどこか凡ミスしてると思うんだけど。
そういう質問の仕方をする人は大抵そうだよ。
ドラッグ命令の直前にtrace()入れてそこへ処理が来てるか試した?
771Now_loading...774KB:2005/07/07(木) 23:20:51 ID:zynoGEf/
>>761
ウチは三項の方が誤差分くらい早かった
同時に、処理速度が遅いのが解った

ちなみに98SEでMX
772751:2005/07/07(木) 23:39:29 ID:xroWIz1a
>>771
100万回1セットを10回以上試して、>>761のはそのうちの1つなんだが、
うち2,3回はif文と三項演算子がほとんど変わらない回があったのよ。
ただ、三項がif文を抜くことは1度もなかったな。

ほとんどが6%くらいの差なので、これを貼ったんだが、
当たり前だけどプロンプトとかサーバーでCとか走らすのと違って結構誤差が激しいのね。
flash初心者なので勉強になりました。

あと、環境はXPでMX。
773763&769:2005/07/08(金) 00:52:41 ID:g4JM0Y2y
>>770
trace()をやってみましたが、ちゃんときていました。
774Now_loading...774KB:2005/07/09(土) 09:08:18 ID:iA4+zmkb
20フレーム目に下記スクリプトを書いて50フレーム目にstop();を書いても
フラッシュが止まりません。
どうすればよいでしょうか。

this.onEnterFrame=function () {
中略
}
775axa:2005/07/09(土) 09:24:19 ID:bxRcBKqo
ho-///
776Now_loading...774KB:2005/07/09(土) 09:31:54 ID:v/Y6orme
オブジェクトを null するのが JAVA っぽいんかな。
分からんならフラグでも立てれば。
777Now_loading...774KB:2005/07/09(土) 09:58:15 ID:xxs5gUrp
>>774
onEnterFrameは、同一キーフレーム内に再生ヘッダがあるときのみ処理を回すイベント。
新しくキーフレームが打たれればその前のフレームに乗ってたスクリプトは関係なくなる。
20フレーム目にスクリプト書いてるレイヤーと50フレームに書いてる
レイヤー分かれてるんじゃないの?
778774:2005/07/09(土) 10:22:42 ID:iA4+zmkb
>>777
返事ありがとうございます。
20フレームと50フレームに書いてあるのは同一レイヤーです。
ためしにこんなのを書いてみましたが駄目でした。
解決に繋がる助言お願いいたします。

g=0;
this.onEnterFrame=function () {
g+=1;
//trace(g);
if (g>=50){
stop();
}
my_mc._x=my_mc._x-1;
}
779Now_loading...774KB:2005/07/09(土) 10:37:39 ID:xxs5gUrp
>>778
おかしいなぁ。
まぁその方法だとしてカウントしなくても
this._currentframeに現在の再生ヘッダのある
フレーム数が入ってるのでそれを判定に使える。
詳しくはヘルプを。

それとstop()は再生ヘッダを止める命令であって
onEnterFrameのイベントを止めるものじゃないので注意。
780Now_loading...774KB:2005/07/09(土) 10:38:35 ID:6FwQ8roB
this.stop();
781774:2005/07/09(土) 11:09:59 ID:iA4+zmkb
>>779-780
ありがとうございます。

this.onEnterFrame=function () { から抜け出すには、どうすればよいでしょうか。
782Now_loading...774KB:2005/07/09(土) 11:41:18 ID:xxs5gUrp
>>781
onEnterFrameの中の処理の先頭に

if(this._currentframe == 50){
this.stop();
return;
}

をいれればとりあえず処理はされない。
783Now_loading...774KB:2005/07/09(土) 11:58:22 ID:44L18a90
aa=0;
this.onEnterFrame=function(){
aa++;
trace(aa);
if(aa>10){
//delete this.onEnterFrame;
//this.onEnterFrame=undefined;
this.onEnterFrame=null;
}
}
好きなのを。
784774:2005/07/09(土) 12:15:28 ID:iA4+zmkb
>>782-783
解決できました、ありがとうございました。
this.onEnterFrame=null; で完成しました。
785763&769:2005/07/09(土) 12:29:24 ID:c2BgzqDp
hitTest判定でドラッグを解除する質問しましたが、状況は改善 されません。
767さんのASはその後の作業を考えて保留しました。

最初の質問では、a1+ a2 →a1a2 , b1+ b2 → b1b2 と、2組について聞き
ましたが、1組に絞って検証したところ、hitTestでドラッグが解除出来ていない
ことが判明しました。

(続く)
786763&769:2005/07/09(土) 12:32:04 ID:c2BgzqDp
(上の続き。a1+ a2 →a1a2 のAS)
on (press) { //ここからMC:a1
trace("Drag1");
this.startDrag(); //ドラッグ開始
_root.flag1 = true;
}
onClipEvent (load) { //ここからMC:a2
xa2 = this._x; //a2の初期座標
ya2 = this._y;
}
onClipEvent (enterFrame) {
power = _root.Temp; //振動幅。これはボリューム型MCで与えられる。
function shake() {
return (Math.floor(Math.random()*power)-power/2);
}
this._x = xa2+this.shake(); //a2を振動させる
this._y = ya2+this.shake();
if (_root.flag1 == true) {
_root.a1._x = _root.a1._x+this.shake(); //a1をドラッグすると振動開始
_root.a1._y = _root.a1._y+this.shake();
}
if (this.hitTest(_root.a1) == true) {
_root.a1._x = this._x;
_root.a1._y = this._y-10; //a1はa2の上に固定
_root.a1.stopDrag();
if (root.a1.stopDrag() == true) {  //ドラッグ解除の判定 ←※
trace("Stop1");
}
}
}
※の所でドラッグが解除できない(Stop1が出ない)原因は何でしょうか?
787Now_loading...774KB:2005/07/09(土) 12:56:17 ID:44L18a90
_
788Now_loading...774KB:2005/07/09(土) 13:02:04 ID:uTTFvCiG
>>787
ワロタ
789Now_loading...774KB:2005/07/09(土) 17:07:15 ID:duV/z9Dv
>>786
なんつーかもう
読むのも嫌になるソースだな。
このスレで自分だけ質問に答えられてない理由を考えてみな。

質問は丸投げだし、問題の切り分けはしないし。
まず振動とか余計な機能を切り取って検証しろよ。
790763&769:2005/07/09(土) 18:37:36 ID:HCm6wIqR
>>789
そうですね。見苦しいです。

その後の経過を書きますと、hitTestでドラッグを解除するのではなく、
a1,a2の座標関係に細工をして、on (press) の後にon (release) を置き、
ここでドラッグ解除することにより上手くいきました。

ご迷惑をおかけしました。
791Now_loading...774KB:2005/07/10(日) 06:25:43 ID:FO2GFRMQ
答え>>787にレスされてんじゃん。
的確でステキな解答じゃん。
792Now_loading...774KB:2005/07/10(日) 12:08:17 ID:i7414Idx
確かに>>791の言う通りだな。
793Now_loading...774KB:2005/07/10(日) 12:43:28 ID:+EkzO3zR
eval関数と、[ ](カギ括弧?)の使い分けの質問です。

本を読みますと
「eval関数は引数として渡した文字列を参照として解釈し、その文字列で
表されるインスタンスやプロパティ,メソッドが存在すれば、その参照を
返します。」とありますが、例えば、kazuを1〜10まで変化させるとして

A) _root["Neme"+kazu]._x;
  と
B) _root.eval("Neme"+kazu)._x;

にはアルゴリズムの処理にどのような違いが現れるのでしょうか?
同時にこれらの使い分けはどのようになりますでしょうか?
(あと、ASでの[ ]の正式名称を教えて下さい)
794Now_loading...774KB:2005/07/10(日) 13:41:43 ID:DWMCh2TH
基本的に全部[ ]を使って間違いないと思う。
2つの違いは変数へのアクセス。

_root.hogeMC["_x"] = 10;

これは可能だけど

_root.hogeMC.eval("_x") = 10;

これはPlayer5以上でエラーを起こす。
基本的にPlayer5以上ではevalではなく[]を使うことを推奨されているし
すべての機能は[]でまかなえるのでevalは必要ない。
携帯電話用のFlashを作るときは逆に[]が使えないのでevalを使う。

[]の名前は配列アクセス。
795Now_loading...774KB:2005/07/10(日) 18:03:42 ID:NeCQHtbE
質問です
時間の経過をあらわしたいのですが
getTimer()を使うとファイルを開いたときからの時間の経過が表示されてしまいます
そうではなくて指定の指定のフレームからの時間の経過を知りたいのですが
どうしたらよいですか?
796Now_loading...774KB:2005/07/10(日) 18:16:49 ID:9QhzoAha
>>795
指定のフレームで一旦時間を取得してから経過時間を知りたいフレームで差分を算出。

開始フレームにて
startTime = getTimer()

経過チェックフレームにて
trace(getTimer() - startTime)
797793:2005/07/10(日) 20:59:36 ID:Ax08LhDr
>>794 すべての機能は[]でまかなえるのでevalは必要ない。

なるほど、Thxです。
798Now_loading...774KB:2005/07/10(日) 22:09:23 ID:agyU4XpP
MX,Winxpの環境で
シューティングゲームを作っています。
自機の移動・玉の発射までは出来たのですが、敵機の攻撃のスクリプトを組むところで行き詰ってしまいました。
敵機が自機の方向に弾を発射してくるスクリプトを書こうと思ってテンプレのサイトのサンプルファイルを加工
ようとしたのですが、どうしても出来ませんでした。
799Now_loading...774KB:2005/07/11(月) 00:40:50 ID:6Gy8hv0y
>>798
そっかぁ、どうしても出来なかったんだ。でも少し休んで
気持ちを切り替え、少しずつがんばれよ。あるときひらめくよ。
800Now_loading...774KB:2005/07/11(月) 07:02:10 ID:9QM3WXL8
質問です
ttp://www12.plala.or.jp/nextframe/flash/bs.html
これみたいなオートセーブ機能をつけるにはどうすれば良いですか?
801Now_loading...774KB:2005/07/11(月) 07:27:06 ID:qGbHHOkt
SharedObject
802Now_loading...774KB:2005/07/11(月) 09:59:21 ID:n6h+2i6d
次スレのテンプラにshareObject入れようぜ
803Now_loading...774KB:2005/07/11(月) 12:57:51 ID:/YBJ8F3F
804Now_loading...774KB:2005/07/11(月) 13:26:07 ID:MovARINh
塗りは空白で、線のみのデカイ円を描いてムービークリップにして、円の中にムービークリップを入れ、
円の中の入れたムービークリップと円の外周の線との当たり判定が取れないんですが、
どうしたらよいでしょうか??
805804:2005/07/11(月) 13:31:43 ID:MovARINh
追加:
円はいびつな楕円です
806Now_loading...774KB:2005/07/11(月) 15:30:25 ID:qGbHHOkt
いびつな楕円ってなんだよ
807Now_loading...774KB:2005/07/11(月) 15:41:28 ID:/YBJ8F3F
>>804
っていうかそれは取れない。
808Now_loading...774KB:2005/07/11(月) 18:47:52 ID:9xEVEw7q
こんばんは
クリップボードの内容を取得するにはどうしたらよいでしょう
809Now_loading...774KB:2005/07/11(月) 20:43:28 ID:Xru2Atdk
無理
810Now_loading...774KB:2005/07/11(月) 20:52:22 ID:9xEVEw7q
そうですか
ご回答いただきましてありがとうございます
811Now_loading...774KB:2005/07/11(月) 22:42:18 ID:HISjky/6
>>810
javascriptと組み合わせれば可能。
ttp://members9.tsukaeru.net/daina_k/tips/flash/flashtip02.html
812811:2005/07/11(月) 22:46:47 ID:HISjky/6
>>810
これも参考に ttp://www.kojikoji.net/pso/javascript.asp
「クリップボード」で検索。
813Now_loading...774KB:2005/07/11(月) 23:06:27 ID:9xEVEw7q
>>811
できました
ありがとうございました
814Now_loading...774KB:2005/07/11(月) 23:07:17 ID:Xru2Atdk
よく考えるとアクセスした瞬間にクリップボードのデータをどっかに送られる可能性があるわけだが
これって脆弱性?
815Now_loading...774KB:2005/07/11(月) 23:14:54 ID:/TQTatUm
javascriptのclipboardData.getDataがWindowsのIE限定な事を考えると、
実際に使えるかというと無理だと思う。

それとActionScriptにSystem.setClipboardがあって
getClipboardが無いのはセキュリティ上の仕様でしょ
816Now_loading...774KB:2005/07/12(火) 01:03:41 ID:iL00LBJa
>>814
Microsoftが意図して用意した機能らしい。
ttp://java-house.jp/~takagi/security/misc/jscript-clipboard/test.html
817Now_loading...774KB:2005/07/12(火) 02:39:41 ID:qayowqt6
スレ違いですがMSのキチガイ仕様には呆れかえるばかりですね
しかもActiveXで処理してるのかと思ったらJScript実装だとは。
818Now_loading...774KB:2005/07/12(火) 08:15:04 ID:9IXl6G+8
フラッシュ上でmp3やaviを呼び出すのと同じように
exeや別の形式も呼び出すことは可能でしょうか・・?
FlashMX2004ProのWindowsXP環境です。
819Now_loading...774KB:2005/07/12(火) 08:45:58 ID:l+kqKvCe
無理
820Now_loading...774KB:2005/07/12(火) 16:17:14 ID:f1dA7oMD
>>818
ローカルコンテンツで同階層におくならね。
821Now_loading...774KB:2005/07/12(火) 20:49:09 ID:Ap4i3RjU
マルウエアでも作るのか?
822Now_loading...774KB:2005/07/13(水) 11:03:00 ID:F6NfZQSl
Microphone.getで入力した音って、全部モノラルになっちゃうんですか?
再生すると見事にモノラルになってしまうんですが・・・
823Now_loading...774KB:2005/07/13(水) 11:45:38 ID:mm44ZV4Z
マイクは普通モノラルだろうに。
ステレオのLINEとは違う。
824Now_loading...774KB:2005/07/13(水) 14:05:07 ID:ROEilV2C
ワロタ
825Now_loading...774KB:2005/07/13(水) 15:58:21 ID:TSfIRK2E
ステレオのマイクとかカコイイ!
826Now_loading...774KB:2005/07/13(水) 16:08:17 ID:pgU9hVHm
まあ、ステレオのマイクは存在するが・・・・w
827Now_loading...774KB:2005/07/13(水) 16:54:44 ID:r+mJHnTG
家庭用ムービーカメラにも普通に付いているのに
PC用のマイクはモノラルだけ?
828Now_loading...774KB:2005/07/13(水) 17:19:30 ID:pgU9hVHm
PCにステレオマイクなんて付けても意味無いでしょ、基本的に。
829Now_loading...774KB:2005/07/13(水) 17:21:12 ID:v1DC/Rau
ムービークリップのフレーム数を取得するにはどうすればいいんでしょうか
830Now_loading...774KB:2005/07/13(水) 17:24:55 ID:pgU9hVHm
MovieClip._totalframes
831Now_loading...774KB:2005/07/13(水) 17:32:02 ID:AzE6JTul
ソフト=FlashMX2004

あっちこっちに動いた複数のMCを、あるボタン(例:クリアボタン)を押すと、
全部のMCが一斉に元の場所に戻る(初期状態になる)常套手段or定石にはどの
ようなものがありますでしょうか?

考えられるのは
 1)1フレーム目を初期状態として、gotoAndStopで戻る
 2)onClipEvent(load)で各MCの初期位置を記録し、クリアボタンで戻す。
がありますが、いかがでしょうか?
832Now_loading...774KB:2005/07/13(水) 17:36:55 ID:pgU9hVHm
>>831
MovieClipのorototypeに初期位置を記憶して、ある一定の命令で元の位置に戻るようにしておく。
まあ考えとしては2)と同じようなものですね。
833Now_loading...774KB:2005/07/13(水) 17:38:05 ID:pgU9hVHm
なんかおかしいことになってしまった。
prototypeに初期位置を記憶して、元の位置に戻るようなfunctionを書いておく、でした。
834Now_loading...774KB:2005/07/13(水) 17:38:53 ID:k8Y/50KK
>>831
for(idx in)とか

1は、enterFrameかunload使ってると、
誤動作起こす可能性あるから、2かな。
835Now_loading...774KB:2005/07/13(水) 18:03:18 ID:v1DC/Rau
>>830
ありがとうございます
もっと難しいのかとおもってました
よく調べてから質問するべきでした
失礼します
836831:2005/07/13(水) 21:54:28 ID:AzE6JTul
>>832-834
・うーん。prototypeを使うと結局、あらかじめ記憶した初期値を使う
 ことになり、(832のように)特にメリットが無いような気がします。

・for(idx in)の文例を教えて下さい。
837Now_loading...774KB:2005/07/13(水) 22:02:25 ID:eQ7aTJq/
watch使うとか。
838Now_loading...774KB:2005/07/13(水) 22:47:57 ID:FPfS3Q+B
>>836
(´-`).。oO(なんでHelpみないんだ?)
839Now_loading...774KB:2005/07/14(木) 00:07:15 ID:nDI4Hebd
>>836
定石を教えてくれというから定石を教えたら
「特にメリットがない」って喧嘩売ってるの?
840Now_loading...774KB:2005/07/14(木) 00:18:42 ID:rKsA1ch8
>>839
きっと正規ライセンスじゃないんだよ
841Now_loading...774KB:2005/07/14(木) 00:19:07 ID:7jZPPpz6
もの凄い勢いで答えるだけじゃなく、無視することも重要
842Now_loading...774KB:2005/07/14(木) 00:25:01 ID:xZ9ssGMQ
ストップウオッチのASで質問。(FlashMX2004使用)

 time = new Date();
でtimeオブジェクトを作成し、スタートボタン(startB)で開始時間を
 start_t=_root.time.getTime();
取得し、停止ボタン(endB)に下のASを書き、経過時間(spend_t)
 end_t = _root.time.getTime();
 _root.spend_t = end_t-_root.start_t;

を求めるとゼロ(0)になります。実際、traceで start_t と end_t を
見ると、同じ値になります。
どのように改善すればいいでしょうか?
843842:2005/07/14(木) 00:28:38 ID:xZ9ssGMQ
(補足)
time = new Date(); はフレームのASで、スタートボタンと
停止ボタンのASは、on(press)内に書いてます。
844831&836:2005/07/14(木) 00:54:27 ID:rMibDN3d
>>837-841 複数のMCを元に戻す件
お答え頂いた方々へ。
836であのような表現になったのは、FlashMXの逆引き大全での実際の
prototypeの使い方を、今の自分のレベルで見て(解釈した)ためです。
言い訳と取られるかも知れませんが、経緯の説明としてこのように
書いています。

しかし、初心者のレベルで皆さんの意見に文句を付けたのは紛れもない
事実です。この点に関し、自分の浅はかさを認め、お詫びします。

大変申し訳ございませんでした。
845Now_loading...774KB:2005/07/14(木) 01:33:02 ID:nDI4Hebd
>>842
getTime()はDateオブジェクトが生成された時間を取得するから
同じになって当然。

都度オブジェクトを生成して下さい。
846Now_loading...774KB:2005/07/14(木) 01:45:53 ID:7jZPPpz6
getTimer()使ったほうがスマートでねーのけ?
まぁ設計によりけりだけど。
847Now_loading...774KB:2005/07/14(木) 02:10:20 ID:5ErnX/ve
842です。アドバイスThxです。
今回は設計の都合上、getTime()を使いました。なのでgetTimer()は
別の機会に。
848Now_loading...774KB:2005/07/14(木) 18:05:33 ID:BZteuFUk
ボタン型MCの消し方(FlashMX2004使用)

最初、ok._visible=false; で消えているMC(ok)が、ある処理により
現れたとき、これを押すことにより、これ自身を消すにはどうすれば
いいでしょうか?

on (press) {
this._visible = false;
}

とすると、ステージ全体が消えてしまいます。
対策を教えて下さい。
849Now_loading...774KB:2005/07/14(木) 18:14:57 ID:ageBd/Ql
ボタンに名前をつける。

this.ボタン名._visible = false;
850Now_loading...774KB:2005/07/14(木) 18:18:43 ID:m0zfjDDk
いやいや・・・。
>>848
ボタンをムービークリップにくるんで処理して。
つか、最初よく消えたな。

ちなみにボタンオブジェクトでtrace(this)すれば
何故そうなるかすぐわかるかと。
851848:2005/07/14(木) 18:30:32 ID:BZteuFUk
話を整理したいのですが、ここでのボタンとは「ボタン型MC」で、
ボタンシンボルではないです(平たく言えばただのMC)。

849,850さんのアドバイス参考にさせて頂きます。849さんの
「ボタンに名前をつける」とはインスタンス名を付けるという
ことでしょうか?
852849:2005/07/14(木) 18:40:34 ID:ageBd/Ql
あ、MCにしてて最初に消せたのか。
そうするとインスタンス名関係ない。
853Now_loading...774KB:2005/07/14(木) 20:08:35 ID:LJymnXS9
いろんな所にtrace(this)かいて実験してみれば、
色々原因もわかるしパスの勉強になるかもわからん
854848:2005/07/14(木) 20:53:53 ID:jE/RA7b5
>>853

やっぱ、trace(this)ですか。やって見ます。
855Now_loading...774KB:2005/07/14(木) 20:59:03 ID:T8uAkpeU
つーか on(press) 使ってるから訳分からない事になってる。

onPress = function(){
  this._visible = false;
}

これでやってみ
856Now_loading...774KB:2005/07/14(木) 21:40:18 ID:m0zfjDDk
なんつーか・・・随分不安にさせてくれるスクリプトだなw
857Now_loading...774KB:2005/07/14(木) 22:11:09 ID:Df9mt6lQ
もしもし。


for(n=1; n<=8; ++n){
  if(this.hitTest(_root["hosyu_mc" + n])){
    this.removeMovieClip();
  }
}


ではOKなのに、

hitTestが、

_root["hosyu_mc" + n].hitTest(this._x, this._y, true)


だと、動かないんですが、何故でしょうか???
皆目検討がつきませぬ。
858Now_loading...774KB:2005/07/14(木) 22:34:36 ID:UPsuC4Bb
>>857
まず何やりたいか書こうよ。
859Now_loading...774KB:2005/07/14(木) 22:47:19 ID:Rst8yt+O
>>857
thisがローカル座標
860848:2005/07/14(木) 23:47:14 ID:shV1WcFZ
>>855
onPress = function() で上手くイキました。
Thxでごわす。
861Now_loading...774KB:2005/07/14(木) 23:59:08 ID:ftvlC86W
onPress = function()
とかの文法が分からないのだがどう使うの?
862Now_loading...774KB:2005/07/15(金) 00:11:20 ID:4c4jkD5G
>>861
見たまんまだけど。
イベントハンドラーの設定をしてるだけ。
863Now_loading...774KB:2005/07/15(金) 01:20:22 ID:heKurirJ
>>861
心の底から疑問なんだけど、自分で調べようとか思わない?
864Now_loading...774KB:2005/07/15(金) 03:55:56 ID:s8fe04zt
いや、そこを知ってて当然みたいな反応するのはどうよ?
普通の人間はonPress = function()なんて使わなくね?
俺は使うけど。
865Now_loading...774KB:2005/07/15(金) 05:42:12 ID:YF+yJ+TJ
そこらへんのコーディングノウハウは
ヘルプでも使われはしてるけど、
説明はあんまりしてないからなぁ。
とっかかりの人はよくわからなくても仕方ないかも。
866Now_loading...774KB:2005/07/15(金) 19:23:51 ID:Mf7rk0c8
ヘルプで検索してみりゃ誰でもわかるだけに・・
867Now_loading...774KB:2005/07/15(金) 19:45:12 ID:s8fe04zt
いやわからんて。
ヘルプには匿名関数とかどうのとか言ってるもんだから。
俺はリアルでAS教えることがあるからわかるんだが
結構そこら辺は引っかかるぞ。
868Now_loading...774KB:2005/07/15(金) 20:51:02 ID:Mf7rk0c8
>>867
はぁ?わからんて…無能の馬鹿が教えてりゃ世話ないね。

Button.onPress
Player
Flash Player 6。

シンタックス
my_btn.onPress = function() {
// ここにステートメントを記述
}

パラメータ
なし。

戻り値
なし。

説明
イベントハンドラ; ボタンを押すと、呼び出されます。このイベントハンドラが呼び出されたときに実行される関数を定義する必要があります。


次の例では、onPress ハンドラに対して、trace() アクションを [出力] パネルに送る関数を定義します。

my_btn.onPress = function () {
trace ("onPress called");
};

869Now_loading...774KB:2005/07/15(金) 20:57:50 ID:s8fe04zt
なんつか、言ってることが伝わらない相手は疲れるからもういいよ。
870Now_loading...774KB:2005/07/15(金) 21:53:04 ID:arom1OHb
>>869
そりゃあんただ
871Now_loading...774KB:2005/07/15(金) 21:56:00 ID:Y60Q8ZGq
ヘルプなんかコピペされて
あ!わかったーなるほどねーなんてなるかっての。
ヘルプを見ても初心者にはわかりにくい内容を
さも知ってて当然のように扱うってのはどうか?って話をしてるんだろ?
872Now_loading...774KB:2005/07/15(金) 22:32:59 ID:HXsLw3uT
子供が主題を踏み外すことはよくあることです。
生暖かい目で見守りましょう。
873trace():2005/07/15(金) 23:05:10 ID:/dMHDNDU
MX2004+WinXPSP2使ってます。
.asファイルをエディタ(Meadow)で編集+保存後、
MX2004でパブリッシュしても、asファイルの変更が
反映されない...
MX2004を一度終了、もう一回起動してパブリッシュすると
反映される。どーいうこと?
874Now_loading...774KB:2005/07/15(金) 23:26:19 ID:arom1OHb
ヘルプ読んで解んないってちょっとオカシイよ
日本語の勉強から始めれば?
875Now_loading...774KB:2005/07/15(金) 23:27:17 ID:s8fe04zt
だからヘルプはもうわかってるんだってば。
876Now_loading...774KB:2005/07/15(金) 23:30:21 ID:reobfwnq
>>875
例貼り付けて動作検証すりゃすぐわかるだろ。
877Now_loading...774KB:2005/07/15(金) 23:32:46 ID:reobfwnq
>>873
それは外部ASにアクション書いたswfが反映されないって事だよね。
外部ASはパブリッシュ時に内包されるから外部変えてもパブリッシュしないと意味ないよ。
ためしにそのasファイル消すなり移動するなりしてからswf起動してみー
878trace():2005/07/15(金) 23:46:45 ID:/dMHDNDU
>>877
いや、外置きasを変えてから、パブリッシュし直ししてます。
それでも、変更が反映されなくて、悲しい。
879Now_loading...774KB:2005/07/15(金) 23:53:08 ID:8UJALO+k
>>878
asファイルがちゃんと保存されていないのでしょう。
flaファイルと同じフォルダに同名のasがあって、editorで他の、ファオルダ
をeditしてるとかありませんか?
簡単なASを作ってみて実験してみれば?
880Now_loading...774KB:2005/07/16(土) 00:04:24 ID:+aEVaP5B
>>876
だーかーらー!俺はヘルプはわかってるんだってば。
初心者にいきなり検証してみろなんて言うやつは
教えるのに向いてないっての。
881Now_loading...774KB:2005/07/16(土) 00:23:23 ID:Y0Pj+KLu
検証って言うのは、出来る限り単純にしたサンプルを作って実験するってことで、
初心者にはオススメのはずだが。
882Now_loading...774KB:2005/07/16(土) 01:08:38 ID:R3Bs5YBK
873じゃないけど、asの内容を反映しないケースってあるよ。

 1)as編集→2)swf作成→3)asの編集ミス発覚→
 4)バックアップフォルダにあるasを、当該フォルダにコピー(失敗したasに上書き)→
 5)swf作成→6)3)のミスした状態のswfのまま

でも、以下のように1ステップ追加すると正常なswfができる。

 4)→5)上書きしたasをエディタに読み込んで、何もせずに保存→
 6)swf作成→7)swfが正常に戻る

swf作成時に2004はタイプスタンプも保持してるんかね。
asのタイムスタンプが古いと内容を反映しないっぽい。
883Now_loading...774KB:2005/07/16(土) 01:46:26 ID:cgiAf1SH
>>881
もうスルーで良いんじゃないかな。呆れる。
884Now_loading...774KB:2005/07/16(土) 05:33:57 ID:NWxy3HC0
>>890
お前がずっと何を切れてるのかわからんが
質問者がヘルプを読んだとも思えなかったが?
しかもみんな、そういいながらきちんと説明してるだろ?

説明しながら
ヘルプをきちんと読んで簡易なサンプルを作って試せと
アドバイスするのがそんなに不満なことか?
885Now_loading...774KB:2005/07/16(土) 10:07:47 ID:Ta9fE23j
onPressなんて書いた俺が悪かったよwww
886Now_loading...774KB:2005/07/16(土) 13:51:54 ID:Mi9aSkGp
質問です
変数で例えば、1,2,3,4,5とあったとすると、
このうちのどれかをランダムで実行するってのはどんな風に記述すればいいですか?
Flash MX 2004です。
887Now_loading...774KB:2005/07/16(土) 14:01:17 ID:DN6hgUjK
var i_array = new Array( 1,2,3,4,5 );
trace( i_array[ Math.floor( Math.random() * i_array.length) ] );
888Now_loading...774KB:2005/07/16(土) 14:04:55 ID:s+nC84Yn
>>886
変数を実行?
ちょっと意味がわかりかねるけど、
5種類の変数のうちひとつの値をランダムで返すって事かな?
それならごく単純に配列で出来るけど…そういう事?

var hensu = [1,2,3,4,5] //配列に5種類値を入れる
trace(hensu[Math.floor(Math.random()*hensu.length)]) //配列の幅分のランダムで配列位置決定

こんな風に。
889Now_loading...774KB:2005/07/16(土) 14:09:08 ID:Mi9aSkGp
>>887-888
ありがとうございます。ちょっと言い方が悪かったようでorz
890Now_loading...774KB:2005/07/16(土) 20:04:57 ID:hk4BE2WR
loadVariablesで読み込んだテキストってそのまま計算したり比較したりできますか?
変数がtxtならtxt = txt + 1とか txt > txt2とか
確か文字列から数値に変換しなくちゃいけなかったと思うんですけど…
891Now_loading...774KB:2005/07/16(土) 20:17:23 ID:uReMZhrd
>>890
何故自分で試さないのか
892Now_loading...774KB:2005/07/17(日) 15:28:27 ID:mNhggyMq
質問です
ASで画像の一部分だけ透過処理とかできますか?
893Now_loading...774KB:2005/07/17(日) 16:52:17 ID:RPsLQw4e
>>892
できません。
894Now_loading...774KB:2005/07/17(日) 17:06:28 ID:e/bQDedX
>>892
動的マスクでMCシェイプを使うとかである程度はできるけど、
ASでpngやgifみたいにと言うのは無理だねぇ。
895Now_loading...774KB:2005/07/17(日) 18:16:20 ID:nzJyoK1s
すいません、ここで言われているASとはActionScriptのことですよね。
MCというのは何の略でしょうか?
896Now_loading...774KB:2005/07/17(日) 18:35:01 ID:PwHqa7Wb
>>895
何故自分で調べないのか

ムービークリップ
897895:2005/07/17(日) 18:56:07 ID:nzJyoK1s
>>896
すいません、次は調べてから質問します。
どうもありがとうございました。

898Now_loading...774KB:2005/07/17(日) 20:49:14 ID:FaeUw5A3
この手の「***ってなんですか?」って思うものは、一旦googleで
「***って何?」「***ってなんですか?」
の形で調べてみると良いよ。

何だろう?って思う場合、大抵同じ事を疑問に思う人がいるので、
そういった質問事例が大抵あるから。


http://www.google.co.jp/search?hl=ja&c2coff=1&q=flash+mc%E3%81%A3%E3%81%A6%E4%BD%95%EF%BC%9F&lr=lang_ja
899Now_loading...774KB:2005/07/18(月) 17:44:06 ID:T2+NA7Ae
最近googleとかヘルプとか使えない可哀想な子ばっかだな
900Now_loading...774KB:2005/07/18(月) 18:32:03 ID:exc23aQg
>>899
そういうお前も嫌みな言い回しでしか
誘導レスが出来ない可愛そうなやつ
901Now_loading...774KB:2005/07/18(月) 20:25:27 ID:5zU8vsa0
俺はgoogleで商品検索する時必ず「円」をキーワードにする
902Now_loading...774KB:2005/07/19(火) 10:23:37 ID:EgYpvOyB
ヘルプ見ろって言ってるやつ教える気ないだろw
ヘルプには全部書いてあるんだから、それがわかるやつはここには質問に来ない。
そんなこともわからないのか
903Now_loading...774KB:2005/07/19(火) 10:27:56 ID:6huun7o2
で、お前はどのくらい役に立つわけ?
904Now_loading...774KB:2005/07/19(火) 10:32:11 ID:D2tawlm1
>>902
全部書いてあるわけじゃないよ。
間違ったことが書いてある場合もあるし。
905Now_loading...774KB:2005/07/19(火) 14:17:32 ID:IHgFGsqQ
ヘルプ見ろってのはヘルプの例文を見ろってことだろう。
大抵のことは解決する。
906Now_loading...774KB:2005/07/19(火) 14:39:42 ID:mKgOG6o7
なんだ、ヘルプにかこつけたアラシか。
907Now_loading...774KB:2005/07/19(火) 16:33:47 ID:/sV3eDwu
そもそもそんなこと言ってたらこのスレの存在が意味ないっていうか。
908Now_loading...774KB:2005/07/19(火) 17:08:48 ID:D2tawlm1
いくらこのスレが「物凄い勢い」でも、
問題解決速度はヘルプやgoogleには勝てないからね。

問題解決までゆっくり待つことが出来る人だけ質問すればいい。
せっかちな人はヘルプを見るか、googleを使えってことだわな。
909Now_loading...774KB:2005/07/19(火) 17:55:36 ID:o8g5Ea7w
this[]の使い方間違ってたときとか、
ここにAS書けば数分で答え出たりして、
検索よりもずっと早い罠

あと読み方とか呼び方分からないことだと
調べようがなかったりする。そういうときこそここ

最初から調べたり学ぶ気がない、丸投げするつもりの奴を
ヘルプ嫁って追い出しているだけでそ
910Now_loading...774KB:2005/07/19(火) 18:53:01 ID:8OCVUBcn
タイピングソフトを作成しようとしています。
以下のスプリクトはランダムで問題を出題するものですが、
順番どおりに表示させて、繰り返さずに文章が終わったら終了するにはどうしたらよろしいでしょうか?


onClipEvent (load) {

saidaimondaisuu=10;//出題数
mondaisuu=0;//出した問題数

//出力する日本語の一覧作成
nihongoword=new Array("テスト","赤ちゃん","僕");
//出力するローマ字の一覧作成
word=new Array("TESUTO","AKACYANN","BOKU");
// テキストボックスを初期化する関数

function empty(){
this.nihongo="";
this.rouma = "";//問題のローマ字を入れるテキストボックスを初期化
this.input="";//キーボードから打ったキーが正解だった時入れるテキストボックスを初期化
}

function wordput(){
empty();//テキストボックスを空にしてくれる関数empty()の呼び出し
i=0;//文字列の何文字目を指しているかを表す変数、初期位置は最初の文字に設定
randomchi=Math.floor(Math.random()*word.length);
this.rouma=word[randomchi];
this.nihongo=nihongoword[randomchi];
}
function check(){
if(String.fromCharCode(Key.getAscii()).toUpperCase()==this.rouma.charAt(i)){
911Now_loading...774KB:2005/07/19(火) 18:53:49 ID:8OCVUBcn

root.param.seikaihenkou();//正解数を増やす関数seikaihenkou()の呼び出し
this.input=this.input+this.rouma.charAt(i);
i++;

//最後の文字まで打ち終わったらテキストボックスを空にして新しい文字列を入れる
//関数wordput()を呼び出す
if(i==this.rouma.length){
i=0;
mondaisuu++;
if(mondaisuu>=saidaimondaisuu){
_root.param.end();//結果表示に行く前にパラメータを変数に入れる関数end()の呼び出し
_root.mondaisuu=saidaimondaisuu;
_root.gotoAndStop("result");
}
wordput();
}

}else{
_root.param.machigaihenkou();//間違い数を増やす関数machigaihenkou()の呼び出し
}
}
wordput();
}
onClipEvent(keyDown){
check();
}
912Now_loading...774KB:2005/07/19(火) 20:14:28 ID:Uie+KfI0
>>910
質問の意味がよくわからないけど、ランダムで出題される問題を、
テスト → 赤ちゃん → 僕
の順番で出題させて終了したい、って事かな?

だとしたら、最初の4行を

nihongoword=new Array("テスト","赤ちゃん","僕");
word=new Array("TESUTO","AKACYANN","BOKU");
saidaimondaisuu=word.length;
mondaisuu=0;

wordput()を

function wordput(){
  empty();
  i=0;

  this.rouma=word[mondaisuu];
  this.nihongo=nihongoword[mondaisuu];
}
に修正してみたらうまくいくかも

質問している内容が違う意味だったらスマン
913Now_loading...774KB:2005/07/19(火) 23:02:42 ID:8OCVUBcn
>>912
質問の意味はその通りでございます。
ありがとうございます。

ただ、指摘の通り入力してみたところ、

シーン = シーン 1, レイヤー = レイヤー 3, フレーム = 7 : 行 16:シンタックスエラー
  empty();

シーン = シーン 1, レイヤー = レイヤー 3, フレーム = 7 : 行 17:シンタックスエラー
  i=0;

シーン = シーン 1, レイヤー = レイヤー 3, フレーム = 7 : 行 19:シンタックスエラー
  this.rouma=word[mondaisuu];

と、エラーを吐き出してしまいました。

何か改善策はありますでしょうか?
914Now_loading...774KB:2005/07/19(火) 23:27:52 ID:6huun7o2
>>913
その前に最大問題数を10にしてるけど3にしたら正常に動くの?
915Now_loading...774KB:2005/07/19(火) 23:31:25 ID:Uie+KfI0
>>913
おれの書き方が悪かった

912のwordput()を...と書いたのは、正確には

↓910で書いてあるこの部分を
function wordput(){
empty();//テキストボックスを空にしてくれる関数empty()の呼び出し
i=0;//文字列の何文字目を指しているかを表す変数、初期位置は最初の文字に設定
randomchi=Math.floor(Math.random()*word.length);
this.rouma=word[randomchi];
this.nihongo=nihongoword[randomchi];
}


↓このように修正してほしい、ってこと
function wordput(){
empty();//テキストボックスを空にしてくれる関数empty()の呼び出し
i=0;//文字列の何文字目を指しているかを表す変数、初期位置は最初の文字に設定

this.rouma=word[mondaisuu];
this.nihongo=nihongoword[mondaisuu];
}
916Now_loading...774KB:2005/07/19(火) 23:38:45 ID:8OCVUBcn
>>915
出来ました!ありがとうございます!!!
917Now_loading...774KB:2005/07/20(水) 08:09:24 ID:ri+UweyS
オブジェクトの重ね順(FlashMX2004使用)

球体オブジェクトの後ろで、背景が上方向にスクロールして
いくASを書いています。球体のレイヤーは1番上に置き、背景は
元のbackAを
 backA.duplicateMovieClip("backA1", -1);
で複製し、
 backA1._xscale = -100; 
で左右反転させたものが交互に流れていくものです。
最初のbackAでは、球体は前面にありますが、次のbackA1ではこの
背後に隠れてしまします。

対応として、duplicateMovieClipの深度を1→-1に変更しましたが
効果はありませんでした。
 swfは http://oekaki.s56.xrea.com/x/uploader/src/oe1805.swf
です。
どうしたものでしょうか?
918Now_loading...774KB:2005/07/20(水) 08:31:52 ID:iNXA9zg/
>>917
球体オブジェクトを普通に配置しただけだと、-の深い深度に自動で作られるよ。
919Now_loading...774KB:2005/07/20(水) 08:34:48 ID:DmWe5RZD
trace( backA1.getDepth() );
trace( 球体のMC.getDepth() );
backA1.swapDepths(深度);
球体のMC.swapDepths(深度);
このあたりの関数を使って調整してみては?
920FCS:2005/07/20(水) 11:11:46 ID:eScWyow8
FlashCommunicationServer(以下FCS)のActionScriptについて分かる方がいらっしゃいましたら教えて下さい。

FlashMXのActionScriptでは、下記の様なコードにてPHPと連携をはかっておりますが、FCSではLoadVarsが使用できません。
FCSでは、どのようにしてPHP等と連携を行えば良いかお教え下さい。
また不可能であれば、その旨お教えいただきますようお願いします。

SendLoadVars = new LoadVars();
LoadLoadVars = new LoadVars();
SendLoadVars.UserID = "*****";
SendLoadVars.SendAndLoad("xxx.php",LoadLoadVars);
LoadLoadVars.onLoad = function() {
………
}

乱文にて申し訳ありませんが、宜しくお願いいたします。
921917:2005/07/20(水) 16:32:49 ID:MTWjUNve
>>918, 919
書きそびれましたが、球体オブジェクトはただのJPG画像で、
上のレイヤーにただ置いてある状態です。
919さんの指摘にあるように、MC化して深度を調整してみます。
922917:2005/07/20(水) 17:43:54 ID:0NSQmPbC
球体のMC.swapDepths(深度)で調整できました。
ありがとうございます。

追加の質問)swapDepths()が無い場合、球体の深度Ball_Dが -16381 
と表示されました。-16381は最低深度ですが、指定が無い場合は必ず
これになるのでしょうか?
923Now_loading...774KB:2005/07/21(木) 03:53:33 ID:hagKd0Po
変数の扱いについて(FlashMX2004使用)

テキストフィールド入力欄(変数:sp)を用意し、
 sp = "";
 unit = _root.sp;
 i += unit;
として、spに1を入れると
  i= 011111111111111111111111111111111・・・・ ←@
となります。一方unitを
 unit = (_root.sp/10)*10;
に定義して、spに同じく1を入れると
 i= 74 ←A
のようになります。

数学的にはsp=unit=1ですが、@とAの違いは
何に由来するものでしょうか?
924Now_loading...774KB:2005/07/21(木) 04:02:33 ID:E7dSv4ay
string文字列の代入かな?
925Now_loading...774KB:2005/07/21(木) 04:20:38 ID:Mw98hBbL
>>923
AS1.0には型の扱いが厳密じゃないからわかりにくいけど
spがstring型になってるので文字としての「1」が追加されていくので
最初の0に加えて1の文字(string)が後ろに続く。
一方後者はnumberとして扱われるので計算撮りの結果になる。

・・・という結果だと思うけど、その実験がどうやったのかよくわからん。
926Now_loading...774KB:2005/07/21(木) 04:29:38 ID:sGXs7R0K
>>922
Flashの編集画面で設置されたMCなら-16381から配置されます

ってかその質問は必要なの?
自分で調べたらどうだった?
927Now_loading...774KB:2005/07/21(木) 19:19:16 ID:+DuOAJrH
swfが貼られているURLによってフレームを変える事ってできませんか?


aaa.htmlに貼られていたらフレームラベルaaaに移動
bbb.htmlに貼られていたらフレームラベルbbbに移動
928Now_loading...774KB:2005/07/21(木) 19:24:17 ID:eqqMGsX7
>>927
htmlからの呼び出しの時に、?labelname=aaa
とか付けて呼び出して、labelnameの内容によって飛び先を変えれば出来る。
929923:2005/07/21(木) 20:04:45 ID:js/u5Apv
>>924, 925
Thx。
「spがstring型になってるので文字としての「1」が追加されていく」って
ことは最初に型宣言した方がよいのかなあ?(つうか、型指定出来たっけ?)

それか、怪しいものはtypeofで型を調べてみます。


>>926
(調べました)基本的にレイヤー上に置いたオブジェクトは一番下の
深度(-16384) から置かれますね。
ttp://www.gac.jp/article/index.php?stats=question&category=19&id=14967&command=msg

930Now_loading...774KB:2005/07/21(木) 20:31:37 ID:E7dSv4ay
外部テキスコ入力は、
hoge=Number(gaibuNyuryoku)って感じで数字にしてやらないと。

厳密にやるなら数字以外のNaNかを調べて
NaNを加算や代入して
ASがそこで止まらないようにする工夫もいる
931Now_loading...774KB:2005/07/21(木) 20:43:50 ID:+DuOAJrH
>>927
すいません。調べてみましたが、よくわかりません。
?labelnameの取得ってどうやるのですか。

環境はMX OSはXPです。
932Now_loading...774KB:2005/07/21(木) 20:52:57 ID:eqqMGsX7
>>931
"hoge.swf?labelname=aaa"
とか
"hoge.swf?labelname=bbb"
で呼び出して、

_root.gotoAndPlay( _root.labelname );
で実験してみて。
933Now_loading...774KB:2005/07/21(木) 20:56:45 ID:+DuOAJrH
>>932
ありがとうございます。
その呼び出し方がわかりません。
934Now_loading...774KB:2005/07/21(木) 21:00:32 ID:eqqMGsX7
>>933
いや、なんか、俺の方が質問の解釈を間違っていたような気がする。
スマン。
935Now_loading...774KB:2005/07/21(木) 21:01:44 ID:+DuOAJrH
>>934
あ、すいませんできました。
ありがとうございました。
936Now_loading...774KB:2005/07/21(木) 23:23:41 ID:+DuOAJrH
あ、すいませんASと関係ないけどもう一つ
hoge.swf?labelname=aaa
のlabelって変数と同じ扱いでいいのでしょうか?
937Now_loading...774KB:2005/07/21(木) 23:25:43 ID:+DuOAJrH
あ、すいません
×label
○labelname
です。
938Now_loading...774KB:2005/07/22(金) 00:16:18 ID:8BhxotGm
>>937
そうです。
_root.labelnameというString型の変数です。
この場合 "aaa"が入ってます。
939Now_loading...774KB:2005/07/22(金) 00:21:12 ID:fLIshPXo
>>938
ありがとうございました。
勉強になりました。
940Now_loading...774KB:2005/07/22(金) 17:43:20 ID:fitpmGxI
ttp://read.kir.jp/file/read11977.swf
こんなメニューを作ろうと思うのですが、なかなかうまくいきません。
ASを使わないと出来ないと思うのですが、どんな手法があるでしょうか?
お願いします。
941Now_loading...774KB:2005/07/22(金) 17:48:30 ID:hTDWzpFh
・・・これを一から教えて欲しいと?
942940:2005/07/22(金) 19:19:44 ID:mbGDuIC5
確かに、むしのよすぎる質問でした。
難しいASはよく分からないので、ボタンオブジェクトと
タイムラインを移動させるASを組み合わせて作っていて、
具体的には、第一階層のメニューボタンにrollOver(rollOut)
するとgotoAndPlayで第二階層のメニューボタンが出てくる(閉じる)
アニメーションのフレームに飛ばすってやり方で、第二階層の
メニューボタンが開く(閉じる)ところまでは出来たんですけど、
そこから、第二階層のメニューを開いたまま操作するってとこで
つまづいてるんです。
で、こんな変な力技使わなくてももっとスマートに出来るんじゃ
ないのかと思い書き込みました。
上記方法の続きでも、まったく別の方法でもヒントいただければ
勉強しますので、いただけたら幸いです。
943Now_loading...774KB:2005/07/22(金) 19:24:58 ID:hTDWzpFh
>>942
そのやり方を徐々に効率化していけば出来ると思うけど。
基本的にはその方法がある意味普通だよ。

一応、参考になりそうなのがあったからこれを解析してみたら?
ttp://studio-lovers.net/material/index.html#p3
944940:2005/07/22(金) 19:35:33 ID:mbGDuIC5
>>943
>そのやり方を徐々に効率化していけば出来ると思うけど。
>基本的にはその方法がある意味普通だよ。
そーなんだ。参考サイトまで教えてくれてありがとうございます。
ちょっと色々実験してみようと思います。
ほんとに感謝!!
945Now_loading...774KB:2005/07/22(金) 21:21:34 ID:zwHA/dfJ
2005という文字列から05を抜き出す為にはどうすればいいんでしょうか?
(これは例で、2005という数字も変数とお考え下さい)
三桁目と四桁目という感じで、上二桁を省略した数字を抜き出したいんです。
どなたかご回答お願い致します。
946Now_loading...774KB:2005/07/22(金) 21:30:04 ID:fygRp2gD
String.substr
String.substring
947Now_loading...774KB:2005/07/22(金) 21:33:33 ID:M7IroDDH
>>945
2005が数字なら
y = 2005;
trace(y-Math.floor(y/100)*100);

2005が文字列なら
y = "2005";
trace(y.substr(2,2))

ヘルプでStringクラス見れ
948Now_loading...774KB:2005/07/22(金) 21:34:30 ID:/Inwogkw
str="2005";
strArr=str.slice("");
trace(strArr[2]+strArr[3]);
とか
949Now_loading...774KB:2005/07/22(金) 21:40:01 ID:zwHA/dfJ
文字列と申しましたが、数字の間違いでした。
丁寧なご返答ありがとうございました。
950Now_loading...774KB:2005/07/23(土) 02:15:50 ID:DuZvu8zG
onClipEvent (load) {
_diary_mc.getURL("http:**************);
}

これで
diary_mc内にhttp://***********を表示する
に ならないでsu

どこが間違っているんでしょうか。
951Now_loading...774KB:2005/07/23(土) 02:27:27 ID:zKpamawf
>>950
どこというか、根本的にそんな機能ないです
952Now_loading...774KB:2005/07/23(土) 02:46:53 ID:DuZvu8zG

onClipEvent (load) {
_diary_mc.getURL("http:**************);
}

これで
diary_mc内にhttp://***********を表示する
に ならないでsu

どこが間違っているんでしょうか。
953Now_loading...774KB:2005/07/23(土) 02:49:45 ID:NLw25AOD
>>952
次スレ立てたら教えてあげなくもない
954951:2005/07/23(土) 02:52:29 ID:DuZvu8zG
やってみます!
955951:2005/07/23(土) 02:59:02 ID:DuZvu8zG
すいません 
ageちゃいました
956Now_loading...774KB:2005/07/23(土) 03:00:38 ID:zKpamawf
それ以前に人の回答を無視したあげく、
人のレス番を詐称するなw
957952:2005/07/23(土) 03:02:09 ID:DuZvu8zG
そして私は952でした。
cocomonarだと951なのに。why
生まれて初めてスレ立てました。ちょっとどきどきしたっす。
958952:2005/07/23(土) 03:04:37 ID:DuZvu8zG

ごめんなさい。
なんかへんになってる書き込めたり込めなかったり
俺が変なのか そーかそーか
959Now_loading...774KB:2005/07/23(土) 03:08:42 ID:BsXkzVvP
>>952
いろいろ間違ってます。
>_diary_mc.getURL("http:**************);
http://***********を表示したいのであれば
getURL("http://***********")です。getURL( 文字列 )です。
diary_mc内には表示できません。

乙です。
リンクはってください。
ttp://pc8.2ch.net/test/read.cgi/swf/1122055022/
960952:2005/07/23(土) 03:13:18 ID:DuZvu8zG
959さんありがとうございました。
もっぺんでなおしてきます。


次スレ
ActionScript 誰かが物凄い勢いで解答するスレ 8
http://pc8.2ch.net/test/read.cgi/swf/1122055022/
961Now_loading...774KB:2005/07/23(土) 03:34:04 ID:NLw25AOD
スレ立ておつってことで一応対応
>>952はMC内にhtmlを表示したいってことなんじゃないの?

getURL("url")は、無理矢理ページ開くだけの機能しかありません

MC.loadMovie("〜.swf")でswfやjpegのみMCの中に開く機能があります。

何がしたいかによって解答が異なります。
962952:2005/07/23(土) 03:39:13 ID:DuZvu8zG
どーもすいません
掲示板を開きたいんです。そういうのできないんですかね。
たとえばこのサイトのbbsみたいに。
ttp://www.wyolica.net/
963Now_loading...774KB:2005/07/23(土) 03:46:20 ID:NLw25AOD
普通にhtml側でフレーム使って、BBS開いているように見えるのだが

swfの中のMCに掲示板開きたいってわけじゃないのね
964Now_loading...774KB:2005/07/23(土) 03:48:03 ID:BsXkzVvP
iframeだね。
965952:2005/07/23(土) 04:06:53 ID:DuZvu8zG
ありがとございますがしかし
すいません意味わからないんで勉強してきます。

movieclipの中に掲示板てこともできるんですか?!
966Now_loading...774KB:2005/07/23(土) 04:11:04 ID:BsXkzVvP
そこのBBSはFlash使ってない。
967Now_loading...774KB:2005/07/23(土) 10:31:21 ID:K2crdWtm
無料でAS2使って組めるFlash用のIDEってありますか?
968Now_loading...774KB:2005/07/23(土) 12:09:07 ID:YxZiXgUc
ActionScript 誰かが物凄い勢いで解答するスレ 8
http://pc8.2ch.net/test/read.cgi/swf/1122055022/
969Now_loading...774KB:2005/07/23(土) 17:30:23 ID:40u6JJDI
FLASH内のボタンをクリックすると別のウインドウでFLASHを開くようにしたいのですが
どのようにすればよいのでしょうか?
970Now_loading...774KB:2005/07/23(土) 19:00:55 ID:oWg3csfw
>>969
getURLで調べろ
971Now_loading...774KB:2005/07/23(土) 19:29:09 ID:40u6JJDI
>>970さんありがとうございます!
972Now_loading...774KB:2005/07/24(日) 02:15:51 ID:sNLwlE4k
flashMX にて ドラクエとかのエンディングででてくる
手書き風の THE ENDをアクションで作りたいのですが
どうしたらいいでしょうか?

一応構想では THE ENDに沿って動くムービークリップを
つくり(モーションガイドで)
それを複製して文字を書いてるように見せたいのですが
それだと 書いた文字がある程度すると消えていってしまいます
重くなるし
描画APIの方が良さそうですけど どうやって使うものなんでしょうか?
973Now_loading...774KB:2005/07/24(日) 03:18:03 ID:j/+Ui8CT
FLASH MX
レイヤ1にボタンを配置、レイヤ2にムービークリップsampleを配置し、
sampleを開いた1フレーム目に
function test() {
  this.gotoAndPlay(_currentframe + 1);
  (中略)
}
とフレームアクションでメソッドを定義しました。
レイヤ1のボタンからtest()メソッドを呼び出してsampleを再生させようとしたのですが、ボタンに
on(press) {
  _root.sample.test();
}
と書き込み、パブリッシュしたファイル上にてボタンをクリックしても動作しません。
test()にtrace("ok");を追加してみましたが、文字が表示されない為ボタンからの命令が伝わっていない様です。
何処が間違っているのか教えていただけませんでしょうか。
974Now_loading...774KB:2005/07/24(日) 03:34:08 ID:4oVsTSun
>>972
後から消してフレームのリバースしとけ
AS関係なし

flash linetoあたりで検索すれば
ASで描画は分かるだろうけど、その目的じゃ使う意味がない

>>973
sampleの1フレにtrace(this)書いてみてパス確認。
traceすら表示されない場合、グラフィックになっている疑いがある
975973:2005/07/24(日) 04:11:08 ID:7vGfbwzW
>>974
ボタン(クリップ名button、enterFrameに記述)とsampleの1フレーム目にtrace(this);を入れてみたところ、以下の様に出ました。

_level0.instance5.sample
_level0.instance5.button

instance5は両方を入れている上位のムービークリップだと思います。
なのでbuttonからは_root or _parent.buttonで指定出来ると思うのですが、試しにbuttonに
on(press) {
  _root.button.gotoAndPlay(2);
}
と書いてみても、やはり動作しません(_parentも同様)。
sampleはムービークリップになっており、クリップ名も本体とAS記述共に間違っていませんでした。
976Now_loading...774KB:2005/07/24(日) 04:43:08 ID:4oVsTSun
button押されたら、
trace(this)するようにしてみると分かる

ボタンのthisは特殊で、置かれているMC、
その場合instance5を示す。
んだから、_parentいらない。

_root.instance5.sample.play();
もしくは、
this.sample.play();
で動くはず
977Now_loading...774KB:2005/07/24(日) 05:26:18 ID:BOn5379S
質問です。
競馬ゲームを作りたいのですが、
ゲーム本体はCGIでレースを実行させ
その結果をASに読み込んでFlashで動かしたいのですが可能でしょうか?
ASに送るデータはスピードや座標を考えています。
978Now_loading...774KB:2005/07/24(日) 05:37:59 ID:lcuzYRU1
>>977
LoadVars クラス
979Now_loading...774KB:2005/07/24(日) 05:52:35 ID:BOn5379S
>>978さんありがとうございます。
がんばって作ってみます
980Now_loading...774KB
>>973
ファンクション内でthisを使うとややこしいのでthisを渡す方法がいいかも。
function test( thismc ) {
  thismc.gotoAndPlay(thismc._currentframe + 1);
  (中略) 以下 this や this省略形を thismc に置き換える
}

on(press) {
  _root.sample.test(this);
}