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

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

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

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

過去スレ
ActionScript 誰かが物凄い勢いで貝等するスレ 7
http://pc8.2ch.net/test/read.cgi/swf/1115819973/
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/07/23(土) 02:57:54 ID:DuZvu8zG
関連スレ
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/07/23(土) 03:05:05 ID:t9n0GuFN
                ,-、
                (  ) 今世紀最大のAS職人、まっつんが2Getだぜ!
____  '、;:;:;;;;:;;゙i__゙i \
        i'゙i;====ヨ    ,!  |>>3 スキマ産業 サイト閉鎖したんじゃなかったの(プ   
、       ! ''゙i;:;:;:;:;;! ,r‐'゙゙'' ,/ >>4 wosa せっかく建てた会社も倒産寸前ですか(プ
ー‐-、,,;---、ゞ ゙''''''i'/   / >>5 のし いい歳してポケモンですかそうですか(プ
       ゙     ゙`   ,ノ>>6 512kb お前の得意分野は黒作品だったよな(プ 
  ゙___       ,;. 、 ,ソ>>7 monochrome 最悪アンチは常に監視してますってか(プ  
    ゙i`    ,:;'' i; ヾi>>8 哭蔵 お前一生Fラジやってろよ同人部とかどうでもいいから(プ  
    |    '"  ;:  ゙|>>9 OoOoO いきなりbbs荒らされて哀れですね(プ 
    |      ;:   !>>10 2501  男声の幼女って珍しいよね(プ    
   |       ;;! ,!>11 G-style 小遣い稼ぎもほどほどにな(プ   
   i'^ゝ    _゙__,,!、 >12 神倉みゆ 鋼の錬金術師って面白くないよね(プ
  F、;ニニニニ、゙;‐''ヾ' >13 つかはら  ウシガエルとかいい加減飽きたから(プ
‐'′     ゙i i  i >14 青池良輔 CATMAN必死だな(プ
        ,!,!  ,!、>15 かーず エロ広告って恥ずかしいよな(プ 
      _,,ノノ   ; >16 すなふえ いい加減イベントの主催困らせるのやめとけ(プ
     ,;-‐''′`ヽ、  >17 シネマ野 軍人オタ必死だな(プ
  ,;-‐''′     ゙:、    ゙i >18蛙男商会 中の人一人じゃないのバレバレですから(プ
`i           ゙:、   ;゙ヽ lヽ,,lヽ >19 エジエレキ つーかお前目立たないよね(プ
  |            `゙ヾ、 (    )
  ,!               ゙:、と、  ゙i >20以下の三流職人はGIFアニメからやり直してください(プププ
4>>2の訂正:2005/07/23(土) 03:07:03 ID:zKpamawf
関連スレ
actionscriptに行き詰まった厨が語り合うスレ2
http://pc8.2ch.net/test/read.cgi/swf/1059977784/
【AS】ActionScript技術交換スレ Part2 (ASを完全に組める人向け
http://pc8.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/
5Now_loading...774KB:2005/07/23(土) 03:08:04 ID:zKpamawf
>>3
・・・よかった、名前出なくてw
6テンプレ:2005/07/23(土) 07:38:54 ID:LFQ0mWC5
>>
正規ライセンスじゃないからだと思います。
プロテクトがかかるはずです。登録はしましたか?
7Now_loading...774KB:2005/07/23(土) 09:05:50 ID:Ji2XDXFc
>>6
ワレ本人
8Now_loading...774KB:2005/07/23(土) 14:04:39 ID:6FT6imhI
>>5
>>3はスキマ氏本人だよ
自分でレス番かいてるじゃないか

>>7
テンプレも知らんのか
9Now_loading...774KB:2005/07/26(火) 16:47:50 ID:NQQKm9+q
さいきん、アクションスクリプトをかじり始めた新米です。
よろしくお願いします。

ボタンがあり、そのボタンを押すと、それに関連するムービクリップ
などが再生するようにつくってます。

以下、ボタンのASです。

---
on (press) {
gotoAndPlay("play");//タイムライン上が再生
tellTarget ("aaa") {
gotoAndPlay(2);
}
}
---

これを、ボタンを押すと、2回目は押せないようにすることは
できないでしょうか?(一回動作すると、それ以降無効になる。)
初歩的だと思いますが、よろしくお願いします
10Now_loading...774KB:2005/07/26(火) 16:59:41 ID:pLD+hE8W
>>9
ボタンが押されたらフレーム進めてボタンを消すとか。
ActionScriptでやるなら、ボタンクリップではなくムービークリップに変更して、
onClipEvent(load){
this.onPress = function(){this._parent.aaa.gotoAndPlay(2);}
this.onRollOver = function(){this.gotoAndPlay(1);}
this.onRollOut = function(){this.gotoAndPlay(2);}
}
とか。
でもTellTarget使ってるから4かLiteなのかな?
だとしたら前者のパターンで良いんじゃないかな。
11Now_loading...774KB:2005/07/26(火) 17:00:14 ID:kyHEOaUc
>>9
on (press) {
gotoAndPlay("play");//タイムライン上が再生
aaa.gotoAndPlay(2);
ボタンのターゲット._visibility = false;
}

129:2005/07/26(火) 20:15:45 ID:NQQKm9+q
ありがとうございます。
いろいろ試行錯誤しながら、みなさんの方法を試していたのですが
11さんの

ボタンのターゲット._visibility = false;

の部分がどうしても意味がわかりませんでした。
よろしければ解説願いませんでしょうか。
13Now_loading...774KB:2005/07/26(火) 20:19:33 ID:WFDBwnTs
>>9
Flash4? 携帯電話用のFlashを作っているの?
14Now_loading...774KB:2005/07/26(火) 20:20:38 ID:kyHEOaUc
>>12
ターゲットパスの意味がわからないならボタンじゃなくてムービークリップにしたほうがいいかも
on (press) {
_parent.gotoAndPlay("play");//タイムライン上が再生
_parent.aaa.gotoAndPlay(2);
this._visibility = false;
}
159:2005/07/26(火) 20:35:37 ID:NQQKm9+q
携帯用です。 ターゲットパスだったんですね。
それでパスを割り当て直すと、Flash4でサポートされていないといわれて
エラーがでますね。 ムービクリップでないと無理そうですね。
16Now_loading...774KB:2005/07/26(火) 21:10:31 ID:WFDBwnTs
Flash4のスクリプトは覚えるだけ無駄で邪魔なものなんだけど、
携帯用なら仕方ないなぁ。
苦労すると思うけど、がんばってね。
17Now_loading...774KB:2005/07/27(水) 21:50:37 ID:bGGTp5ON
こんにちは、宇宙船が着陸するゲームを作ってみようかと
ASと格闘していたのですが、詰まってしまいました。
どなたか知恵をお貸しいただけないでしょうか?

ttp://www.geocities.jp/heizouflash/astest.html

これが、ASのテキストと現在の状況のフラッシュです。
18Now_loading...774KB:2005/07/27(水) 21:55:26 ID:WNfuhulF
こんばんわ。

ASでのランダム値について質問なのですが、

現在、フレームアクションに
以下のように乱数を与えて、それぞれ、あるフレームに分岐するようにしています。

gotoAndStop("a" add (random(3)+1));


分岐するフレームは、
以下の3つに分かれて、分岐します。

a1(フレームラベル)
a2(フレームラベル)
a3(フレームラベル)

これをたとえば、a3のみの確率を操作するようにできないでしょうか?

いまの状態だと、a1,a2,a3はそれぞれ、3×3×3で1/18の確率ずつになります。
これをa3のみを1/3に、というふうな感じです。それにしたがって、a1,a2の確率は、自動的に操作されることになると
思うのですけども。。
ご指南お願いします。
19Now_loading...774KB:2005/07/27(水) 22:14:45 ID:NJAa/QV3
>>18
言ってること良くわかんないけど、考え方としては
乱数で1〜10の数をだして
1のときはa1
2のときはa2
3〜10のときはa3
ってするとa3の確立が大きくなる。
20Now_loading...774KB:2005/07/27(水) 22:31:44 ID:7ORZ7phM
>>18
小学校とか卒業できた?
21Now_loading...774KB:2005/07/27(水) 22:33:46 ID:WNfuhulF
ご回答ありがとうございます。

>1のときはa1
>2のときはa2
>3〜10のときはa3
>ってするとa3の確立が大きくなる。

考え方としては、その通りなのですが、a1〜a(番号)は増やさずに、
(a3〜a10は、フレーム制御は同じ。)

乱数は、今のままで(1〜3)、乱数にロジックを組むことはできないでしょうか?
22Now_loading...774KB:2005/07/27(水) 22:50:59 ID:C/xvtLp/
>>21
>a1〜a(番号)は増やさずに、

誰もそれを増やせとは言っていないでしょ。
意地でもif文を使いたくないのかな?
23Now_loading...774KB:2005/07/27(水) 22:55:54 ID:WNfuhulF
21 : 2005/07/27(水) 22:56

if文ですか?

根本的にアルゴリズムが理解できていないようです。
if文を利用するのと、乱数との絡みは、具体的にはどのように関係してくるのでしょうか?
はじめたばかりで、わからないことが多く、意味がわかりづらいことが
あるかと思いますが、ご勘弁ください。


24Now_loading...774KB:2005/07/27(水) 23:56:29 ID:d9dBV/Py
>>17
やりたいのはこんな感じ?
onClipEvent (load) {
sokudo = 0;
}
onClipEvent (enterFrame) {
if (Key.isDown(Key.DOWN)) sokudo += 1;
if (Key.isDown(Key.RIGHT)) _rotation += 4;
if (Key.isDown(Key.LEFT))_rotation -= 4;
velX = sokudo*Math.cos(_rotation*Math.PI/180);
velY = sokudo*Math.sin(_rotation*Math.PI/180);
_x += velX;_y += velY;
sokudo -= .5;
if (sokudo<0)sokudo = 0;
if (_x<-10)_x += 400;if (_x>410) _x -= 400;if (_y<-10) _y += 300;if (_y>310) _y -= 300;
}
25Now_loading...774KB:2005/07/28(木) 00:37:40 ID:UT+EHULS
>>23
どうしてもラベル文字列を作成しなきゃ気が済まないのかもしれないが、
まあ根本的にアルゴリズムうんぬん以前の問題
プログラミング関係の理解が足りない気がする

乱数とIfで分岐ってのは、まあ例えば

var rnd = Math.random() * 10;
if(rnd < 1){
this.gotoAndStop("A1");
} else if(rnd < 2){
this.gotoAndStop("A2");
} else {
this.gotoAndStop(("A3");
}

みたいな感じ
これみても意味わからないなら、もっと初歩的な本買って勉強したほうがいいよ
26Now_loading...774KB:2005/07/28(木) 01:02:50 ID:GMEiHo7o
>>24
どうもありがとうございます。

やりたいことですが、

例えると(カーソル左右キーで宇宙船の向きを、下キーで加速)
宇宙船をX軸のプラス方向に加速(このとき、下キーは押している、機体の向きはX軸プラス方向)
そのときのスピードが毎フレーム3だとすると、
下キーを放しても、宇宙空間のようにずっとX軸プラス方向に毎フレーム3づつ進みつづける。、

左右キーで機体の向きをY軸プラス方向に向け(このときも宇宙船はX軸プラス方向に動き続けている)
下キーを押し加速して毎フレーム3、Y軸プラス方向に動くようにした場合、
機体は毎フレームX軸プラス方向に3、Y軸プラス方向に3進む

って感じです。
説明が下手ですみませんです。

2つの違うベクトルを足す式が知りたかったのです。
27Now_loading...774KB:2005/07/28(木) 01:20:21 ID:f5yqUn27
>>26
で、お前はこの1時間で何を調べて、どういう成果があったんだ?
28Now_loading...774KB:2005/07/28(木) 01:29:32 ID:AV/gmmzI
>>26
onClipEvent (load) {
var sp , rad , vx , vy
sp = rad = vx = vy = 0
}
onClipEvent (enterFrame) {
if(Key.isDown(Key.DOWN)) sp=0.1
else sp=0
if (Key.isDown(Key.RIGHT)) _rotation += 4;
else if (Key.isDown(Key.LEFT)) _rotation -= 4;
var rad = _rotation*Math.PI/180
vx += sp*Math.cos(rad);
vy += sp*Math.sin(rad);
_x += vx;
_y += vy;
}

こういう事かな?
29Now_loading...774KB:2005/07/28(木) 01:39:15 ID:KhYYuX09
>>26
なるほど じゃあこうか。
xとyは別々に制御することになるから足してはいないよ

onClipEvent (load) {sokudo = 3;velX = 0;velY = 0;}
onClipEvent (enterFrame) {
if (Key.isDown(Key.DOWN)) {
velX += sokudo*Math.cos(_rotation*Math.PI/180);
velY += sokudo*Math.sin(_rotation*Math.PI/180);
}
if (Key.isDown(Key.RIGHT)) _rotation += 8;
if (Key.isDown(Key.LEFT)) _rotation -= 8;
_x += velX;_y += velY;
if (_x<-10)_x += 400;if (_x>410)_x -= 400;if (_y<-10)_y += 300;if (_y>310)_y -= 300}

ちなみにこれを見て理解できると思うから書いてる。見やすいように自動フォーマットかけてね
3024:2005/07/28(木) 01:40:25 ID:KhYYuX09
うほ すでに親切なひとが
31Now_loading...774KB:2005/07/28(木) 13:26:46 ID:9o6A7H8K
最近ASに手を出し始めた若輩者です
現在携帯用(Lite1)で
全4ジャンル各15問の中から5問選び出すクイズを作ろうとしているのですが途中で行き詰まりました
問題点はなぜか必ず19行目に飛んでしまうことです
本来は1問もといてなければ4〜18に飛ぶはずなのですが
ちなみに原因と考えられるのは3行目
その部分にあるスクリプトがこれです
GF=Math.floo(Math.random()*15)+1;
if (QA=5){gotoAndPlay(19);
}else{if(GF=A){gotoAndPlay(3);
}else{if(GF=B){gotoAndPlay(3);
}else{if(GF=C){gotoAndPlay(3);
}else{if(GF=D){gotoAndPlay(3);
}else{gotoAndStop(GF);}}

}
}}
やりたい処理としては
飛ぶ問題を指定
既にこのジャンルを5問やっていたら次のジャンルへ
で、既にやった問題かどうか確かめて
まだやってないならその問題へ飛ぶ
原因がわかる方がいれば教えていただけませんか?
32Now_loading...774KB:2005/07/28(木) 13:52:43 ID:f5yqUn27
>>32
いきなり何かを作ろうとせずに基本からやった方がいいと思う。
全然意味分かっていない気がする・・・。

まあ、どうにか予想すると・・・・
gotoAndPlayを大昔のBASICのように扱っている気がする。
33Now_loading...774KB:2005/07/28(木) 14:20:21 ID:tzArS0oS
>>31
=
34Now_loading...774KB:2005/07/28(木) 14:41:32 ID:aMTZOkhm
>>31
(QA=5) → (QA==5)
35Now_loading...774KB:2005/07/28(木) 14:56:20 ID:9o6A7H8K
BASIC時代の癖で=を1つにしてしまったのが原因ですかorz
おそらくそれだと思うので後日試してみます
初歩の初歩のような質問すみませんでした
36Now_loading...774KB:2005/07/28(木) 17:02:29 ID:nF++Cj0y
>>35
その他もいろいろとあやしいので基礎から頑張ろう。
37Now_loading...774KB:2005/07/28(木) 17:09:26 ID:+o1gPQBa
>>32
自分にきびしいヤシだな。
3832:2005/07/28(木) 17:14:43 ID:f5yqUn27
>>37 _| ̄|○

>>35
確かに俺もASPやPHPやPerl,ASなどいろいろやるから、
とく混同することがある。
でも、>>31は今のBASICじゃなくて 20〜15年前のBASICを引きずっている希ガス

行番号は気にスンナ。
39Now_loading...774KB:2005/07/28(木) 19:03:13 ID:GMEiHo7o
>>28
>>29
どうもありがとうございます!
まさにその動きです。
やっと理解できました。
助かりました。

ttp://www.geocities.jp/heizouflash/astest.html

このようになりました。
40Now_loading...774KB:2005/07/28(木) 21:25:55 ID:lIEutMrQ
MXでattachSoundで鳴らした音をstopで止めた時に音がピタッと止まるのですが
フェードアウトして止まるようには出来ないのでしょうか?
曲を最後まで聞く場合は設定出来るのですが・・・
41Now_loading...774KB:2005/07/28(木) 22:04:31 ID:JF6DksDF
>>40
音量を少しずつ下げていけばいい
音量に関するメソッド調べてみること
4235:2005/07/29(金) 08:09:11 ID:KAqWECmx
ご名答
少し前まで年代物のPCでBASICやってましたよ

とりあえずASの本をもう一度基礎から読み直してきますよ
4340:2005/07/29(金) 12:56:21 ID:LNHJS2Qn
>>41さん
レス遅れて申し訳ございません
ありがとうございました!!
44Now_loading...774KB:2005/07/29(金) 17:04:43 ID:NTaFKOGA
Stageクラスについて(FlashMX2004)

ブラウザ内で、swfを適切なサイズ(設計通りのサイズ)で表示させる
ため、元の 
 http://oekaki.s56.xrea.com/x/uploader/src/oe2124.gif 
のフレームに Stage.scaleMode = "noScale"; の一文を足したところ、
は正しいサイズになったのですが、上に浮き上がるランダム発生の
泡が左上に偏って表示されます。
 http://oekaki.s56.xrea.com/x/uploader/src/oe2125.gif

原因と対策を教えて下さい。
45Now_loading...774KB:2005/07/29(金) 20:48:41 ID:fgn3Tsf0
>>44
情報少な杉。泡の位置を決めてるスクリプトくらい書かないと誰もわかりません。
左上に偏ってるということは計算の結果が0になってるということで、そこから自分で推測できることがあるでしょう?

たぶん、泡の位置決めにStage.width,height使ってるから。
そのままStageの大きさを基準にしてやるんだったら(画面全体に泡を表示するんだったら)
listenerで監視して、widthとheightを更新してやらないと。
でも、おそらく時計の周辺だけに発生させたいんだろうから、
その場合は普通に_rootの座標でやってください。
46Now_loading...774KB:2005/07/29(金) 22:29:09 ID:1ll8c9Qb
_global.aという、[0,1,2,3,4]←のような配列があったとしたら、
これをランダムに並べ替えるには、どんなASを記述すればいいんだ?
環境はFlash MX 2004
47Now_loading...774KB:2005/07/29(金) 22:35:21 ID:Zd59t+Fh
>>46
ならべかえのアルゴリズムを考えてみるといいよ
48はは:2005/07/29(金) 22:59:39 ID:/2TrspDz
4944:2005/07/29(金) 23:08:17 ID:x4jEl6h6
>>45
お世話になります。泡の位置決めには、やはりStage.width,heightを使っており、
これでStage.scaleMode = "noScale"; とすると、泡がステージ原点付近で動く
ことになります。
対策として、ステージの大きさの数値をそのまま使いました。
50Now_loading...774KB:2005/07/30(土) 03:02:42 ID:jhgmUvje
>>44
どうやってるのか全然わからないけど・・
Stage.width,heightの値は
表示指定しないとき(ShowAll)だと、FLASHで指定したデフォルトのサイズ
noScaleだと、変更したウィンドウの表示サイズ
が入る。

>>46
Math.random()、Array.splice()、Array.push()とか
5146:2005/07/30(土) 09:42:12 ID:pskicNKW
>>47
並べ替えのアルゴリズムって・・・orz
ちゃんと教えてくださいorz
52Now_loading...774KB:2005/07/30(土) 10:06:55 ID:Pn6Dxslk
>>51
>>50がヒントくれてるんだからとりあえず
それらのスクリプトの例をみたら?すぐわかると思うよ。
53Now_loading...774KB:2005/07/30(土) 10:45:00 ID:pskicNKW
>>52
スクリプトの例見てきました。
すぐに分かるとのことでしたが、漏れには分かりませんでしたorz
54Now_loading...774KB:2005/07/30(土) 10:47:59 ID:lQ7tbJ8E
>>53 じゃあ、あきらめろ。
ここは、質問に答えるところで、かわりに作ってあげるところではない。
55Now_loading...774KB:2005/07/30(土) 10:50:55 ID:pskicNKW
>>54
了解
じゃあ諦めるよ
56Now_loading...774KB:2005/07/30(土) 12:13:49 ID:Dm0Z1d7y
質問です。
ある数字を小数点一位まで表示させたいのですが、
どうやるんですか?
57Now_loading...774KB:2005/07/30(土) 12:44:17 ID:RZ+qkyY1
すみません土曜日ですが質問させてください。

外部テキストを読み込んで、
loadVariablesで表示し
そのテキストの中に書かれているURLに飛ぶ(URLは表示されない)ような
リンクボタンを創りたいのですが
なんと書けばよいでしょうか。
こういったものです
http://www.procreo.jp/material/materials01.html
素材いただくのはくやしくて
でもわかんなくて すいません
58Now_loading...774KB:2005/07/30(土) 13:10:01 ID:YruBFBiG
59Now_loading...774KB:2005/07/30(土) 13:16:47 ID:xzouS8RT
>>56
ある数字ってどういう数字?

>>57
getURL()
60Now_loading...774KB:2005/07/30(土) 13:23:31 ID:YruBFBiG
>>57
とりあえず、手っ取り早い方法としては、
【アイテムの動作設置絵】
1. 外部テキストにタイトルとリンクのリストを作り、
2. Flash側にはテキストフィールドをムービークリップ化してリンゲージ識別子付けておく。
3. 2.のMC内部にタイトル、URLの変数があればテキストをタイトルに変更し、URIをgetURL()に設定する処理をつけておく。
4. 外部テキストの読み込み処理後、タイトル&リンクのリスト分2.のMCをattachMovieで配置
5. attachMovieで配置するさいについでに2.のMC内にタイトルとURLを適当な変数で渡しておく。
【MCの座標設定】
6. 5.のMCは3.の処理によって勝手に自分のタイトルとURLを設定するので、設定位置をランダムで指定
7. 目的位置に向って慣性で移動する計算を毎フレーム行い、結果をMCの座標に代入

ってとこが楽じゃないかな。1〜5はcreateTextFieldとcreateEmptyMovieClipを使って親側で行ってもいい。

必要な関数等は、
loadVariables , attachMovie , for , getURL あたりか。
61Now_loading...774KB:2005/07/30(土) 13:24:18 ID:YruBFBiG
>>56
ある数字 = Math.round(ある数字 * 10) / 10
62Now_loading...774KB:2005/07/30(土) 13:36:03 ID:RZ+qkyY1
>>60>>57
ありがとうございます。

>URIをgetURL()に設定する処理
はどうやったら良いんでしょうか。
63Now_loading...774KB:2005/07/30(土) 14:11:40 ID:Wh9zmQkf
>>62
おまいにはまだ難しすぎたんだよ。もっと簡単なのから作れ。
ネット上や本屋に色んなスクリプトがあるから、
まずそれを見ながら勉強するんだ。
何回読んでも分からない箇所が出てきたら、ここで質問すればいいんだよ。
64Now_loading...774KB:2005/07/30(土) 14:15:05 ID:YruBFBiG
>>62
じゃ、その部分だけまんま書いとく。
テキストフィールドのインスタンス名が txt
タイトル用変数が title
getURLに渡すアドレスが url
だったという過程で、

if(title && url && txt.text==undefined){
txt.text = title
this.onRelease = function(){ getURL(url) }
this.onRollOver = function(){ this.gotoAndStop(2) }
this.onRollOut = function(){ this.gotoAndStop(1) }
}

これでtitleとurlがあってtxtのtextがまだ代入されてなければ実行される。
※値はattachMovie直後に入れる。attach直後の値の代入はattachしたMCの1フレより前に行われるので。
ロールオーバーすると2フレに飛ぶので
2フレーム目はテキストフィールドの色でも変えておけばOK。
65Now_loading...774KB:2005/07/30(土) 18:58:23 ID:JuSswXn4
現在FLASHMX2004で初めてチャット機能を作ったのですが、
ENTERキーを押してメッセージを送信させるようにしたのですが、
メッセージ入力時に漢字変換等でENTERを押しても反応しちゃいます。
これをなんとかしようと思って、本を参考に見てるのですが、
どこにどのようなスクリプトを記述したら良いかがわかりません。
参考になるような事がありましたら、ご教授お願い致します。
66Now_loading...774KB:2005/07/30(土) 19:17:19 ID:xzouS8RT
>>65
var temp_str:String="";
key_down.onKeyDown = function() {
if (Key.isDown(Key.ENTER)) {
if (temp_str != chat_txt) { 
//送る処理
}
}
//すべてのキーを押したときに通る
temp_str = chat_txt; //変換し終わった文字が入る。
};
//ここまで
//chat_txtはチャット入力するとこ。
67Now_loading...774KB:2005/07/30(土) 20:49:33 ID:JuSswXn4
var temp_str:String="";
key_down.onKeyDown = function() {
if (Key.isDown(Key.ENTER)) {
if (temp_str != MessageTxt) {  ←ココ4行目
userName = UserNameTxt.text;
msg = MessageTxt.text;
so.send("sendMsg", userName, msg);
MessageTxt.text = "";
so.sendMsg = function(userName, msg) {
ChatTxt.text += userName + " : " + msg + "n ";
ChatTxt.scroll = ChatTxt.maxscroll;
}
}
};
temp_str = MessageTxt; //変換し終わった文字が入る。
};

こんな感じでやったのですが、4行目の所でシンタックスエラー
が出てきます。もう少しアドバイスお願いできないでしょうか?
ほんとうに申し訳御座いません。
68Now_loading...774KB:2005/07/30(土) 21:17:21 ID:mlIbXBvN
var temp_str:String="";
key_down.onKeyDown = function() {
if (Key.isDown(Key.ENTER)) {
if (temp_str != MessageTxt) {//  ←ココ4行目
userName = UserNameTxt.text;
msg = MessageTxt.text;
so.send("sendMsg", userName, msg);
MessageTxt.text = "";
so.sendMsg = function(userName, msg) {
ChatTxt.text += userName + " : " + msg + "n ";
ChatTxt.scroll = ChatTxt.maxscroll;
}
}
};
temp_str = MessageTxt; //変換し終わった文字が入る。
};


  ←ココ4行目 という文字をコメントアウトするだけ
69Now_loading...774KB:2005/07/30(土) 22:22:19 ID:JuSswXn4
>>68
大変親切なご指導有難う御座います。
何度も申し訳ありませんが一度見てもらえますか?
FCSへの接続より下のスクリプトをコピーします。(フレームアクションです)
function initSO() {
so = SharedObject.getRemote("chat", nc.uri);
so.connect(nc);
};
var temp_str:String="";
key_down.onKeyDown = function() {
if (Key.isDown(Key.ENTER)) {
if (temp_str != MessageTxt) {// 
userName = UserNameTxt.text;
msg = MessageTxt.text;
so.send("sendMsg", userName, msg);
MessageTxt.text = "";
so.sendMsg = function(userName, msg) {
ChatTxt.text += userName + " : " + msg + "n ";
ChatTxt.scroll = ChatTxt.maxscroll;
}
}
};
temp_str != MessageTxt;
};

何か間違ってると思うのですがどうでしょうか?
チャットネームのTextインスタンスはUserNameTxtです。
メッセージ入力欄のインスタンスはMessageTxtです。
あとメインのウィンドゥのインスタンスがChatTxtになってます。
長い文章で申し訳ありません。宜しくお願いします。
70Now_loading...774KB:2005/07/30(土) 23:35:28 ID:q2stZBuB
ASの文法そのものではないのですが、海外のFlashのMLに参加して、
英語でのASの議論に加わりたいと思っています。

どなたか、英語版のML(出来ればアメリカが中心)を紹介頂けないでしょうか?
71Now_loading...774KB:2005/07/30(土) 23:45:53 ID:xzouS8RT
>>69
したから2行め。
temp_str != MessageTxt; の
「!=」を「=」に。

72Now_loading...774KB:2005/07/31(日) 14:02:03 ID:vbhHPp/F
string.charAt()のようなカンジで、行を抜き出すことはASで可能でしょうか?
具体的には、TextInputコンポーネントに入力した3行のテキストを、
ボタンを押すことによって1行ずつ、別々のダイナミックテキストに振り分けたいのです。
アドバイスよろしくお願いいたします。
73Now_loading...774KB:2005/07/31(日) 16:21:47 ID:j1l0qli+
>>72
複数行ならTextArea。
行の取得方法は、
var textarea_str:String = _root.textarea.text; //TextArea入力文字取得
var textarea_array:Array = textarea_str.split("\r"); //改行コードで分割
trace(textarea_array[0]); //一行目取得
trace(textarea_array[1]); //二行目
749:2005/07/31(日) 19:28:19 ID:v71vChN+
25さん レスおくれてすいません。

なんとか理解して、組み込むことができました。
しかし、25さんの関数はFlash5専用のようですね。
私は、環境が携帯用のコンテンツなので、エラーが発生するようです。
Flash4では、ランダム値を発生させる関数はないのでしょうか。
もしくは、代用できるテクニックなどあれば教えてください。

75Now_loading...774KB:2005/07/31(日) 20:11:08 ID:ElSkOXmR
以前から幾度と無くチャットのメッセージ送信をキーボードの
ENTERキーで送信したくて、今日も本を2冊買ってみてますが、
全然解りません。漢字変換し終わってからENTERキーで送信が
出来るようにするには、どうしたら良いでしょうか???
下が現在のスクリプトです。これのどこにアクションを記述
したら良いか、どなたか付け足して教えて頂けないでしょうか?
お願い致します。
nc = new NetConnection();
nc.onStatus = function(res){
if (res.code == "NetConnection.Connect.Success"){
initSO();
trace("接続しました");
} else {
trace("接続に失敗しました");
}
};
nc.connect("rtmp://FCSのIPアドレス/livechat");
function initSO() {
so = SharedObject.getRemote("chat", nc.uri);
so.connect(nc);
SendButton.onPress = function() {
userName = UserNameTxt.text;
msg = MessageTxt.text;
so.send("sendMsg", userName, msg);
MessageTxt.text = "";
};
so.sendMsg = function(userName, msg) {
ChatTxt.text += userName + " : " + msg + "n";
ChatTxt.scroll = ChatTxt.maxscroll;
};
}
76Now_loading...774KB:2005/07/31(日) 20:50:13 ID:vbhHPp/F
>>73
ありがd。
やってみます。
77Now_loading...774KB:2005/07/31(日) 21:36:02 ID:j1l0qli+
>>75
>>66
どの部分がどううまくいかないのか
書いてくれないとわからない。
78Now_loading...774KB:2005/07/31(日) 21:57:53 ID:j1l0qli+
>>75
ttp://oekaki.s56.xrea.com/x/uploader/oe2178.zip
こういうことじゃないの?
79Now_loading...774KB:2005/07/31(日) 22:26:19 ID:gs6JqHpS
今シューティングゲームを作っているのですが、
_root上に置かれたMCに書かれたASを
MCの中のMCにASを書きたいのですが、
どうすればいいでしょうか。

onClipEvent (enterFrame) {
_x = Math.floor(Math.random()*300);
_y = Math.floor(Math.random()*300);
point = {x:this._parent.aaa._x, y:this._parent.aaa._y};
_parent.globalToLocal(point);
xdis = point.x-_x;
ydis = point.y-_y;
radian = Math.atan2(ydis, xdis);
kakudo = radian/(Math.PI/180)-90;
}
80Now_loading...774KB:2005/07/31(日) 23:41:36 ID:ElSkOXmR
>>77
どの部分がと言う事なんですが・・・
今はボタンを配置してメッセージをChatフィールドに送るという
事は出来てます。しかし、ENTERキーを押す事でメッセージを、
送ることが出来ないです。親切な方がスクリプトの例を教えて
くれたのですが、漢字に変換するときにENTERを押しても、送信
してしまうので、それをなんとか解決したいのですが、
どこにどう記述したらいいかがわからなくなって
しまって、なんとかこれだけの説明でご理解頂けないでしょうか??
まだ初心者なもんで、ほんとうにすいません。
8177:2005/08/01(月) 00:19:58 ID:rk5Kao2a
>>80
>>66でできなかった?
とりあえずflaファイルを作ったので>>78を見てみて。
8277:2005/08/01(月) 00:24:18 ID:rk5Kao2a
と、思ったらアクセスできなかった。
ttp://oekaki.s56.xrea.com/x/uploader/の
oe2178.zip ってファイル。
83kyou:2005/08/01(月) 01:01:45 ID:vgFGO+r2
>>81
>>82
お〜〜〜〜〜〜!!できましたよぉ〜
私が思ってた通りのサンプルでした。素晴らしい!!
本当に有難う御座いました。感謝しております。。。
ちなみに今日、アクションスクリプトポケットリファレンスと、
フラッシュアクションスクリプト逆引き大全550の極意って本を
買ってず〜〜〜と見てましたが・・・まだまだ勉強不足すぎました。
今度は、送信側と受信側のテキストのColorを変更出来るように、
努力してみます。この場合はテキストフォーマットクラスで指定
したらいいんですかね??本当にこの度は有難う御座いました。
またヨロシクお願い致します。
84Now_loading...774KB:2005/08/01(月) 02:29:32 ID:3S8AarxY
>>83
お勧めの本

「Flash MX ActionScript ほぼ10行道場」(外間かおり、佐藤信正 著)毎日コミュニケーションズ
「Flash便利帖」(インフォメディア 著)毎日コミュニケーションズ
「Flash MX ActionScript 実践技&ウラ技大全」(C&R研究所)ナツメ社
「Flash ActionScript 逆引き大全550」(ITフロンティア 著)秀和システム
「ActionScriptポケットリファレンス」(馬場ぎんが 著)技術評論社

操作関係は、
「Flash MX MENU MASTER for Windows」 エクスメディア 
85Now_loading...774KB:2005/08/01(月) 02:44:45 ID:vgFGO+r2
>>84
こんなに遅い時間にわざわざご返事頂いて、
本当に有難う御座いました。
是非そのような本を参考に努力して行きます。
86Now_loading...774KB:2005/08/01(月) 17:23:08 ID:bt8L1Dao
テレビの左上の時計のように、文字の周りに黒い枠を付ける方法ってありますか?
4つのテキストをずらして配置するしかないんですかね。
87Now_loading...774KB:2005/08/01(月) 17:29:27 ID:nzteM9tL
1-0までしか使わないなら、
そういう画像として作ってgotoすりゃいいかと。
88Now_loading...774KB:2005/08/01(月) 17:33:03 ID:bt8L1Dao
たまたま例に挙げたのが、今見てたニュースからだっただけです。
実際には日本語扱おうと考えてます。
89Now_loading...774KB:2005/08/01(月) 17:36:01 ID:5iCOV6w4
じゃあ、方法ないね。
90Now_loading...774KB:2005/08/01(月) 17:37:50 ID:bt8L1Dao
ないんかい!!  ('A`)
91Now_loading...774KB:2005/08/01(月) 17:40:16 ID:nzteM9tL
フォントの形を取得したり
画像をASで解釈したりできないから無理そ。
92Now_loading...774KB:2005/08/01(月) 17:41:36 ID:5iCOV6w4
まあ、次のバージョンで近いことは出来そうだけど。

というわけで次回を待てw
9386:2005/08/01(月) 18:16:43 ID:bt8L1Dao
了解。スマートにはできないんですね。
4つ重ねてウソ枠にするやり方でやってみます。ありー('A`)ノ
94Now_loading...774KB:2005/08/01(月) 18:22:17 ID:ydYrh7NV
>86
テキスト分解してソフトエッジ、外側選択して色変更じゃダメ?
……ここで質問するってことは任意のテキストだよね
95Now_loading...774KB:2005/08/01(月) 18:35:14 ID:bt8L1Dao
ごめん…任意のテキストでした。
日本語全般を汎用的に使えればいいなと思って質問しました(つД`)
96Now_loading...774KB:2005/08/01(月) 19:41:19 ID:vgFGO+r2
昨日に続きチャットの件なんですが、1対1のチャットの場合で、
自テキストの色と相手テキストの色を分けるということをしたいのですが、
テキストフォーマットのスクリプトを記述すればいいんでしょうか?
具体的には、どのような方法での記述のしかたがあるか、何かヒント
みたいになるような事を教えて頂けないでしょうか?
お願い致します。
97Now_loading...774KB:2005/08/01(月) 19:44:39 ID:nzteM9tL
ヘルプ嫁
98Now_loading...774KB:2005/08/01(月) 20:29:04 ID:hY2ybTqN
ドラマ電車男のOP動画うpしてほしいです。
お願いします。
99Now_loading...774KB:2005/08/01(月) 21:55:18 ID:/HR4qtLA
>>98
【ドラマOP】 電車男 第01話 (640x480 XviD 30fps #アニメ部分のみ).avi CFrgFJ3wPc 16,668,672 34f7314413e97a15e2f9f40145b1d19e
100 ◆n3e/TUG6A2 :2005/08/01(月) 23:15:20 ID:aUFfa6B3
突然すいません。
FLASH超初心者なのですが、どうしても作りたいものがあったので、とりあえず環境だけは整えた状態なのですが…
実は、携帯用FLASHで、メトロノームが作りたいのです。
自分の考えとしては、テキストボックスがあり、そこに入力した値で60を割ったもの(秒)間隔でビートを刻む音声ファイルを再生するものを考えており、
将来的には八分や3連符なども例えば
八分は2キーでボリュームアップ5キーでボリュームダウン、3連符は3キーでボリュームアップ6キーでボリュームダウン 、などにもしたいと考えています。
そこで質問なのですが、こういったものを作るのに必要な知識(ActionScriptというものが必要なのか)や、またそれに関しての解説サイトなどを教えていただけませんか…?
できれば自分で勉強して作りたいのですが、FLASHやActionScript系のサイトや本を立ち読みしても、全然わからず困っていました。
ちなみに、perlとJavaScriptの経験が少しあります。

どうかよろしくお願いしますm(_ _)m


長文失礼しましたm(_ _)m
101Now_loading...774KB:2005/08/02(火) 00:21:44 ID:HbqzYEGX
>>100
超初心者には厳しい。
基礎から勉強して、自分で作ってみてわからなかったところを聞きましょう。
書き込む前に>>1を読みましょう。
102Now_loading...774KB:2005/08/02(火) 07:32:22 ID:zpJlQ9Mv
リプレイに使うAS教えて下さい。
103Now_loading...774KB:2005/08/02(火) 08:03:52 ID:TfZVcBHu
>>100
Sound クラス
Key.addListener
onEnterFrame(もしくはsetInterval)

このあたりをヘルプで検索してみるといいかも。
104Now_loading...774KB:2005/08/02(火) 09:34:14 ID:Di7Oha4L
携帯だとAS4で、リスナーとsetInteval使えないような。
105Now_loading...774KB:2005/08/02(火) 11:21:59 ID:+FQqd473
>>102
on(release){gotoAndPlay(1)}
106Now_loading...774KB:2005/08/02(火) 15:29:23 ID:vSpaFayK
>>96についてどなた様かヒント頂けないでしょうか??
107Now_loading...774KB:2005/08/02(火) 16:01:13 ID:0EsfTb5J
>>106
>>97
ヘルプのサンプルは読んでみた?
108Now_loading...774KB:2005/08/02(火) 16:22:34 ID:3dMJNdnH
>>106
テキストフィールドをいじるんだから、ヘルプのテキストフィールドの所に
載ってるんじゃない?
109Now_loading...774KB:2005/08/02(火) 17:51:15 ID:vSpaFayK
>>107
>>108
やっぱりヘルプを見てもうまくいきません・・・
何か良い方法無いでしょうか??
すいませんがお願いします。
110Now_loading...774KB:2005/08/02(火) 18:15:13 ID:3dMJNdnH
>>109
「TextField クラス」の項目の所にありそうじゃない?
111Now_loading...774KB:2005/08/02(火) 19:03:51 ID:0EsfTb5J
>>109
ソース貼れ
112Now_loading...774KB:2005/08/02(火) 19:49:38 ID:vSpaFayK
>>111
FCSへの接続より下のスクリプトです。見て頂けますか。
見にくいかもしれませんがすいません。

function initSO() {
so = SharedObject.getRemote("chat", nc.uri);
so.connect(nc);
var temp_str:String = "";
var key_down:Object = new Object();
Key.addListener(key_down);
key_down.onKeyDown = function() {
if (Key.isDown(Key.ENTER)) {
if (temp_str != MessageTxt.text) {
fun_release();
}
}
temp_str = MessageTxt.text;
};
     _root.SendButton.onRelease = fun_release;
     function fun_release() {
 userName = UserNameTxt.text;
msg = MessageTxt.text;
so.send("sendMsg", userName, msg);
MessageTxt.text = "";
};
      so.sendMsg = function(userName, msg) {
ChatTxt.text += userName + " >> " + msg + "\n";
ChatTxt.scroll = ChatTxt.maxscroll;
};
}
113Now_loading...774KB:2005/08/02(火) 19:56:03 ID:jsphsOuH
変数textに「あああ」が含まれていたら2フレーム目、
「いいい」が含まれていたら3フレーム目に飛ばしたいのですが、どうすればいいか教えてください。
114Now_loading...774KB:2005/08/02(火) 20:08:18 ID:HbqzYEGX
>>112
ん?どこで色変えようとしてる?

>>113
if (text.indexOf("あああ") != -1) {
this.gotoAndStop(2);
}
飛ばすときはフレーム番号よりフレームラベルを指定したほうがあとで編集しやすい。
115Now_loading...774KB:2005/08/02(火) 20:23:19 ID:jsphsOuH
>>114
ありがとうございます。
もうひとつ聞きたいのですが、
あああ以外に
いいいが含まれていたらフレーム3
それ以外はフレーム4に飛ばすようにはどうしたらいいのでしょうか。

if (text.indexOf("あああ") != -1) {
this.gotoAndStop(2);
}
if else{
if (text.indexOf("いいい") != -1) {←ここらへんがよくわかりません。
this.gotoAndStop(3);
}
else{
 gotoAndPlay(4);
}
116Now_loading...774KB:2005/08/02(火) 20:28:26 ID:HbqzYEGX
>>115
if文のヘルプみようよ。
if ( あああ が含まれてる ) {
処理1
} else if ( いいい が含まれてる ) {
処理2
} else { //それ以外
処理3
}
117Now_loading...774KB:2005/08/02(火) 20:30:32 ID:jsphsOuH
>>116
ありがとうございます。
ちょっとヘルプみに逝ってきます
118Now_loading...774KB:2005/08/02(火) 20:37:39 ID:PCvmaMeM
ほんとにヘルプ見ないやつ多いんだな、と思う今日この頃
質問して解答まつより早く解決する事も多いのにな

>>112
なんか張ってるソースと質問内容がかみ合わん気がするのは気のせいか
119Now_loading...774KB:2005/08/02(火) 21:48:25 ID:TfZVcBHu
>>118
コピペして使おうとしてるだけじゃ?
120Now_loading...774KB:2005/08/03(水) 12:42:50 ID:ljj/H9g8
>>114
どこで色を変えたいかと言うと、
要は、(自分側)MessageTxtで入力した文字をChatTxtで赤に表示したくて、
(相手側)からの入力文字は青みたいにしたいのですが、
HTMLに変換したり、テキストフォーマットクラスを使ってもうまく行きません
多分自分では、スクリプトを記述する場所が悪いのかなぁと思ってるんですが
すいませんが、ご教授お願い致します。
121Now_loading...774KB:2005/08/03(水) 12:58:53 ID:c6rZ/4eY
>>120
チャット云々その他の機能は別にして純粋にテキストの色を自由に変えることは出来る?
122Now_loading...774KB:2005/08/03(水) 17:00:28 ID:ljj/H9g8
>>121
はい普通に色を変えるぐらいならできます。
しかしまだまだ初心者なもので・・・
ほんとうにすいません。
123Now_loading...774KB:2005/08/03(水) 17:23:13 ID:ujGLCMZ4
>>122
とりあえず、ASを使ってtext_field1というテキストフィールドの色を変える
スクリプトを書いて、それをここに貼ってみるんだ。
そしたら、次の段階に進む事ができるはずだ。
124Now_loading...774KB:2005/08/03(水) 17:53:35 ID:ljj/H9g8
>>123
text_field1.textColor=0x0000ff
これで色は青に変わりますよね??
125Now_loading...774KB:2005/08/03(水) 18:03:26 ID:Sx4m9iNn
自分でやってみれ
126Now_loading...774KB:2005/08/03(水) 18:04:12 ID:F5NC9/1g
それ全体変わるっしょ。
textformat使って一部だけ変えてみ。
127Now_loading...774KB:2005/08/03(水) 18:06:41 ID:c6rZ/4eY
>>124
今度はヘルプのTextField.setTextFormatとTextFormatクラスあたりを良く読んで
TextFormatを使った色の変更に挑戦しる
128Now_loading...774KB:2005/08/03(水) 18:12:22 ID:ujGLCMZ4
>>124
それで、OKだ。次は、>>126の言う事を>>127を参考にやってみるんだ。
129114:2005/08/03(水) 18:32:36 ID:EbS/oAFq
>>120
俺が聞きたかったことはそういうことじゃなくて、
色を変えたいけどうまくいきませんっていってたから
そのうまくいかないコードはどこってこと。
130Now_loading...774KB:2005/08/03(水) 22:48:16 ID:78GmIUwg
はじめまして。

質問なのですけど、

ムービクリップをアニメーションさせる場合は、
キーフレームやトィーンアニメーションなどさせるとおもうのですが、
それをアクションスクリプトで動かすことはできるのでしょうか?

たとえば、
y軸に-20動くアニメーションを、永遠とループしつづけるといった具合です。
131Now_loading...774KB:2005/08/03(水) 23:07:42 ID:ovRZvQqd
>>130
動かすだけなら簡単にできる
132130:2005/08/03(水) 23:11:29 ID:78GmIUwg
レス有難うございます

例えば、どのようにしたら動かすことができるのでしょうか。
アドバイス頂けないでしょうか。
133Now_loading...774KB:2005/08/03(水) 23:13:35 ID:EroSgvVE
ところでなんでASでやろうと?
134130:2005/08/03(水) 23:16:42 ID:78GmIUwg
描画スピードが遅くて、
もしかすると、ASでアニメーションさせると、
早くなるのでは?という推測のもとに、はじめての挑戦をしています。
135Now_loading...774KB:2005/08/03(水) 23:22:58 ID:EroSgvVE
なりません。むしろ遅いかもしれない。
むしろアルファとか使ってるならそっちを考え直すべき。
136Now_loading...774KB:2005/08/03(水) 23:24:10 ID:PsEQN/k+
>>134
無理
137Now_loading...774KB:2005/08/03(水) 23:38:34 ID:78GmIUwg
アルファとかグラデとかトゥィーンアニメーションなどは全て見直しています。
今以上早くならないのでしょうか。
138Now_loading...774KB:2005/08/03(水) 23:42:21 ID:EroSgvVE
知らんよ。他の要因かもしれないし。
全てって書いてるけど多分全てじゃないし。
139Now_loading...774KB:2005/08/03(水) 23:44:05 ID:P/7ACdZe
>>137
単純にフレームレートが12のままとかって事は無いよね?
140Now_loading...774KB:2005/08/03(水) 23:46:03 ID:FI6a6Eof
まさかフレームレートそのままじゃないよね?
141130:2005/08/03(水) 23:59:40 ID:78GmIUwg
フレームレートは、60まであげています。
これ以上あげても、あまり効果がないようです。
携帯でみてます。
142Now_loading...774KB:2005/08/04(木) 00:00:19 ID:qIc+cZzL
・・・
143Now_loading...774KB:2005/08/04(木) 00:09:20 ID:bapoYdBB
>>134
描画スピードが遅いってかくかくするってことだよね?
now loadingつけた?
144Now_loading...774KB:2005/08/04(木) 00:11:31 ID:jB/9loFM
☆☆☆携帯用Flashスッドレ☆☆☆
http://pc8.2ch.net/test/read.cgi/swf/1104098955/
145Now_loading...774KB:2005/08/04(木) 00:31:09 ID:5K9yEj9d
143>ナウローディングはつけていますよ。
カクカクというより、全体的にスピードを向上させたいと思ってます。
146Now_loading...774KB:2005/08/04(木) 00:34:40 ID:qIc+cZzL
もう、そのコンテンツのURLを晒して
147Now_loading...774KB:2005/08/04(木) 01:10:44 ID:4em33VlX
質問なんですが、
ムービークリップaを、マウスカーソルのある方向にまっすぐに移動させるには、
Math.cos()とMath.sin()をどのように使えばいいんでしょうか。
ご教授お願い致します。
148Now_loading...774KB:2005/08/04(木) 01:14:41 ID:qIc+cZzL
>>147
別にそうしなくても
aのxとyをそれぞれマウスカーソルのxとyの距離を1/n(nは任意の正の数。速度が変わる、大きいほど遅い)
移動させるようにすればいい。
149Now_loading...774KB:2005/08/04(木) 01:19:36 ID:qIc+cZzL
>>147
要するにaにオブジェクトアクションとして書くなら
onClipEvent(enterFrame){
this._x += this,_xmouse/5;
this._y += this._ymouse/5;
}
みたいな感じね
150Now_loading...774KB:2005/08/04(木) 01:42:50 ID:4em33VlX
>>148->>149
すみません。肝心な所を忘れていました。
マウスクリックすると、ムービークリップaをマウスカーソルのある位置に一定の速さで移動させるような
スクリプトを教えて欲しかったんです。
151Now_loading...774KB:2005/08/04(木) 01:55:06 ID:4MZxsYUA
イベントの条件変えるだけだろ
画面全体にボタンかムービークリップ置いてオブジェクト動かせばいい
これでわからないなら本買って来い
152Now_loading...774KB:2005/08/04(木) 01:56:42 ID:4MZxsYUA
スマン、一定の速度なのか
じゃ高校の数学の教科書買って来い
153Now_loading...774KB:2005/08/04(木) 03:43:55 ID:T/BoGByy
154Now_loading...774KB:2005/08/04(木) 16:07:52 ID:SiNv3Q5r
ActionScript v2.0 のコンポーネント開発を日本語で説明してくれてるとこないかのう?
155130:2005/08/04(木) 16:17:46 ID:5K9yEj9d
146>urlは流せませんが、ファイルをどこかにアップすることはできます。確か、2chでアップローダとかありましたよね?
156130:2005/08/04(木) 16:21:55 ID:5K9yEj9d
http://up.isp.2ch.net/up/4e86cc9718a8.zip

見つけました。ここにUpしました。
このファイルのスピードを、携帯でみたときに
もっと早くしたいと考えています。
157Now_loading...774KB:2005/08/04(木) 17:44:50 ID:bapoYdBB
>>156
モーショントゥイーンの幅を狭くするとか
回転してるように見えるぱらぱらまんがにするとかは?
158Now_loading...774KB:2005/08/04(木) 20:09:41 ID:9DlbNrYT
>>154
Flash OOPくらいかなぁ
159さよ:2005/08/04(木) 20:51:50 ID:5K9yEj9d
こんにちわ。
分からないことがあって質問をしにきました。
よろしくお願いします。

シーンに、シーン1とシーン2があり、シーン1には、
ムービクリップA(インスタンス名a)、ボタンAがあり、

ボタンAのASは、

on (press){
a.gotoAndPlay(1);
}


ボタンAをおすと、
ムービクリップAの再生がはじまり、最後のフレームの
フレームASは、

_root.gotoAndPlay("シーン2",1);

です。

しかし、ムービクリップAの再生が終了しても、シーン2に飛びません。
なにか記述が間違っているのでしょうか? 

#ムービクリップ内ではなく、レベル0の階層内であれば、うまくいくのに。。


160Now_loading...774KB:2005/08/04(木) 21:10:21 ID:YpetMp7t
>>159
シーンを分けずに作りましょう。
161Now_loading...774KB:2005/08/04(木) 21:26:41 ID:Fh+Uo5PO
>>159
シーン使ったこと無いからわからないけど
_root.gotoAndPlay(2,1);
でどうですか
162Now_loading...774KB:2005/08/04(木) 21:35:26 ID:qIc+cZzL
>>159>>161
メソッドのgotoAndPlayはシーンの指定は出来ません。
ですのでgotoAndPlay("シーン2",1); と書きましょう。
163Now_loading...774KB:2005/08/04(木) 21:41:55 ID:qIc+cZzL
どうしてもメソッドで使いたければ
ラベルを使って例えば"シーン2"と名前を付けて
_root.gotoAndPlay("シーン2");
の様に記述するとかいう手もありますけど。
164Now_loading...774KB:2005/08/04(木) 23:08:46 ID:4em33VlX
>>151->>153
参考にしてみます。ありがとうございました。
165Now_loading...774KB:2005/08/05(金) 00:08:27 ID:e43+wRVm
しかし最も有効で、今後の為になる解決方法は、
シーンを使うのをやめる、ということ
166Now_loading...774KB:2005/08/05(金) 01:12:02 ID:ARiV524N
シーン使ってる人って結構いるみたいだけど、どこでかで勧めてんのか?
167Now_loading...774KB:2005/08/05(金) 01:35:48 ID:W3dmDlTK
>>166
ヘルプ嫁
ナウロの作り方とかで、ナウロ、本編でシーン分けると便利とかやってる

実際は、ASのないムービーで、
時間をつかさどる機能として、タイムラインの次に目に付くから
そのまま持ち込んじゃうのが原因だと思うが。
168Now_loading...774KB:2005/08/05(金) 01:52:50 ID:qcMI1b0Z
シーンってスクリプトにとっては敵に等しいけど
アニメーション作る時には有効な機能だよ。
何でもかんでも否定すればいいってもんでもない。
169Now_loading...774KB:2005/08/05(金) 01:53:09 ID:dsLBGWrt
IDサイトをご覧になるには、最新のMacromedia Flash Player
「Version 7,0,19,0」以上が必要です。

って、「インストールが完了しました」って画面見た後でも
言われ続ける。
なんで?
170Now_loading...774KB:2005/08/05(金) 01:55:21 ID:qcMI1b0Z
再起動した?

・・・つか、質問するスレが違うだろw
171Now_loading...774KB:2005/08/05(金) 02:04:06 ID:dsLBGWrt
再起動したぜー!!
しかし見れん。

http://www.digi-gra.net/
の得ろ画像がみたいんだがなぁ
172166:2005/08/05(金) 05:46:20 ID:ARiV524N
>>167
ヘルプ読んだ。「シーンの使用」という所にシーンを使う事の
長短が書いてあった。
作り方は、その人がやり易い方法でやるのが一番なので
シーンを使う事を否定する事はしない。
だがおれは、

   死 ん で も 使 っ て や ら ん !

ナウロって言葉初めて聞いたから何の事か分からなかったよ。
173Now_loading...774KB:2005/08/05(金) 07:37:23 ID:ZLtCEfNO
>>168
俺も同意見だ。
アクションスクリプトを使わないなら、シーンを分けても構わない。
アクションスクリプトを使うなら、シーンは絶対に分けるな。

Flashのヘルプは糞。(でも、読もうね)
174Now_loading...774KB:2005/08/05(金) 07:54:25 ID:W3dmDlTK
マクロメディアも、シーン使ってる人には、
ウィザード入力方式のgotoしか使えないようにしてくれりゃいいのに。
ノーマルモード廃止する前に。
175Now_loading...774KB:2005/08/05(金) 08:19:19 ID:MPRe/Wlo
やれやれ、これだからAS厨と呼ばれるんだよな
176Now_loading...774KB:2005/08/05(金) 13:17:34 ID:bzm8N6CT
すいません、質問させてください。
Flash MX 2004で外部のファイルを読み込み、
グローバル変数として使いたいのですが上手くいきません。
以下のようなスクリプトを試してみましたが、"Undifined"と出力されるだけです。
どうやったら上手くいきますか?

//ここから
read_aaa()

trace(bbb.ccc);
trace(_root.ccc);

//目的:aaa.txtを読み込み、変数"ccc"をグローバル変数として"test"という文字列を代入
function read_aaa(){
bbb = new LoadVars();
bbb.load("aaa.txt");
//aaa.txtの内容は"ccc=test"
bbb.onLoad = function(){
_root.hoge = this.ccc;
}

}
177176:2005/08/05(金) 13:27:23 ID:bzm8N6CT
すいません、間違えました。
一番下のが

_root.hoge = this.ccc


_root.ccc = this.ccc;

です。
失礼いたしました。
178Now_loading...774KB:2005/08/05(金) 13:30:08 ID:SKsryHhM
>>176
trace()するタイミングがちがくね?

正常に読み込みされたのを確認後、
読み込み完了時にtrace()しないと。

my_lv = new LoadVars();
my_lv.onLoad = function(success) {
if(success) {
// 読み込み成功後の処理
trace(this.ccc);
}
}
my_lv.load("aaa.txt");

//AS久しぶりだから、シンタックス間違ってるかもw
179さよ:2005/08/05(金) 13:47:01 ID:aPlYwglX
162さん

gotoAndPlay("シーン2",1);

というように記述も試してみたんですけど、
シーンに飛ばないです...

ムービクリップAは、レベル内で、最初のフレームに戻るだけです。


シーンはつかわないほうがいいんでしょうか。

180176:2005/08/05(金) 13:48:58 ID:bzm8N6CT
>>178
レスありがとうございます。
下記のように直してみましたが、上手くいきません。
functionの外で変数"ccc"を使う方法はないでしょうか?
function内でのtraceはもともと上手くいきます。

//省略
function read_aaa(){
bbb = new LoadVars();
//aaa.txtの内容は"ccc=test"
bbb.onLoad = function(success){
if(success){
_root.ccc = this.ccc;
}
}
bbb.load("test.txt");

}
181Now_loading...774KB:2005/08/05(金) 13:57:05 ID:HulFecVk
>>179
そのとおり
シーンを使わずに作り直してください
182Now_loading...774KB:2005/08/05(金) 13:59:17 ID:AiH94rYQ
質問させてください。
例えば指定のURLにアクセスしたらまずは、パスワードの入力
シーンが出てきて、パスワードが正しければメインのページに行く
と言うような事をしたいのですが、どんなASの記述方法があるか
教えて頂けないでしょうか??
183Now_loading...774KB:2005/08/05(金) 14:03:14 ID:AiH94rYQ
↑↑↑
すいませんAS教えて下さいというより
ヒントみたいな感じでも結構ですので、
勿論ASの記述方法が解れば嬉しいですが・・・
宜しくお願いします。
184Now_loading...774KB:2005/08/05(金) 14:03:25 ID:qcMI1b0Z
>>179
どうも話がおかしい気がするんだけど、
その記述で"シーン1"の最初のフレーム
(要するにムービー全体の最初のフレーム)に
戻ってると言うこと?
あり得ないことだと思うけど、シーン名はあってますか?
あと、ラベルを使う方法をお勧めしたと思いますが
そちらは試しましたか?

>>175
時々呼びたくなるw
自分もシーンは使わないけどね、滅多に。
185Now_loading...774KB:2005/08/05(金) 14:05:07 ID:qcMI1b0Z
>>182
Flashの中だけで言うならば
テキスト入力をさせて、
そのテキストがパスワードと一致するかを比較して
合ってたら次に進む・・・とするだけ。
もうちょっと頭整理して質問してくれないと。
186Now_loading...774KB:2005/08/05(金) 14:06:21 ID:SKsryHhM
>>180
>下記のように直してみましたが、上手くいきません。
うまくいかないだと、どううまくいかないのかがこっちにはまったくわかりません。
具体的に書き込みましょう。

//こっちはうまくいきます、じゃね。とかかれても困るでしょう?

で、読み込みは 正 し く 完了してますか?
さっきscriptのでtrace出力ではなんと表示されましたか?
もしくは表示さてませんでしたか?

bbb = new LoadVars();
bbb.onLoad = function(success) {
if(success) {
// 読み込み成功後の処理
trace(this.ccc);
} else {
// 読み込み失敗
trace("failed fileloading");
}
//test.txt?aaa.txtじゃなかたっけ?ま、いいや。
my_lv.load("test.txt");



187Now_loading...774KB:2005/08/05(金) 14:07:24 ID:SKsryHhM
↑あ、}閉じ忘れ。
188Now_loading...774KB:2005/08/05(金) 14:13:45 ID:SKsryHhM
>>182
パスワード入力フォーム作って、
pass文字列と入力文字列を比較して
条件分岐

でご希望なかんじのができるんじゃないかな?

if(mypass = "password") {
getURL("ひみつのぺーじ.html");
} else {
getURL("http://www.aiseikai.or.jp/");
}

189Now_loading...774KB:2005/08/05(金) 14:14:50 ID:SKsryHhM
>>188
ごめん、修正。
×=
○==

if(mypass == "password") {
getURL("ひみつのぺーじ.html");
} else {
getURL("http://www.aiseikai.or.jp/");
}
190Now_loading...774KB:2005/08/05(金) 14:18:33 ID:ARiV524N
>>180
今やってみたけど、それで大丈夫だったよ。
functionの外でcccの値をtraceできた。
191Now_loading...774KB:2005/08/05(金) 14:37:19 ID:qcMI1b0Z
それ以前に>>176はtraceするタイミングがおかしいって事ない?

読み込みが終わってないうちにtraceしようとしてるとしか思えないのだけど。
192176:2005/08/05(金) 15:03:53 ID:bzm8N6CT
>>186
失礼しました。言葉足らずですいません。 出力はUndifinedのままで状況は変わらないという意味でした。
ファイルもaaa.txtでしたね。うっかり書き間違えました。

もう一度整理すると、スクリプトは、
//ここから
read_aaa()
trace("function外1:" + bbb.ccc);
trace("function外2:" + _root.ccc);
//目的:aaa.txtを読み込み、変数"ccc"をグローバル変数として"test"という文字列を代入
function read_aaa(){
bbb = new LoadVars();
//aaa.txtの内容は"ccc=test"
bbb.onLoad = function(success){
if(success){
_root.ccc = this.ccc;
trace("function内:" + this.ccc);
}
}
bbb.load("aaa.txt");
}
//ここまで
これを実行すると出力は、
 function外1:undefined
 function外2:undefined
 function内:test
となります。
function外でtestと出力する方法を教えててください。
よろしくお願いいたします。
193176:2005/08/05(金) 15:25:03 ID:bzm8N6CT
>>190
実験していただいてありがとうございます。
こちらでは>>192のような出力のままなのですが、
他にtraceできない原因は考えられないでしょうか?

>>191
よろしかったら具体的なタイミングを教えていただければ幸いです。

補足ですが、ファイルの読み込みは成功しているようです。
>>186の読み込み失敗時の処理を付け足してもメッセージは表示されませんでした。
194Now_loading...774KB:2005/08/05(金) 15:32:15 ID:qcMI1b0Z
>>193
onLoadで読み込み完了が確認されたタイミング。

ファイルは瞬時には読めません。
195176:2005/08/05(金) 16:00:34 ID:bzm8N6CT
>>194
bbb.onLoad = function(success)のsuccessをtraceして"true"なら、
読み込みは完了しているんですよね?
その後に_root.cccにthis.cccを入れる処理をすれば、
function外でもcccがtrace出来ると思っていたのですが、
考え違いをしてるのでしょうか?
196Now_loading...774KB:2005/08/05(金) 16:21:03 ID:SKsryHhM
LoadVarsのファイル読み込み処理は 非 同 期 なので、
コードの実行順は記述順と一致しません。

**********************************
1A.read_aaa();
(1B.bbb.onLoad = function()...)
2.trace("function外1:" + bbb.ccc);
3.trace("function外2:" + _root.ccc);
***********************************
1A.read_aaa
--読み込み開始----

--まだ読み込まれてない----
2.function外1:undefined
3.function外2:undefined

---読み込み完了-----
1B.function内:test

つまり、読み込まれてないのにtrace()しても空振りなわけです。
だから最初(>>178)にtrace()のタイミングといったの。
ご理解いただけましたか?
197Now_loading...774KB:2005/08/05(金) 16:27:12 ID:qcMI1b0Z
>>195
考えは合ってるけど>>196氏の言うとおりです。
あのコードの通りだとしたら考え違いですね。
198176:2005/08/05(金) 17:00:32 ID:bzm8N6CT
分かりやすい説明で理解できました。
大きなヒントをありがとうございます。
これから解決法を見つけて後日報告いたします。
199さよ:2005/08/05(金) 17:58:18 ID:aPlYwglX
184

シーン1の最初のフレームではなくて、ムービクリップAの最初のフレームにもどっているようです。

シーンにとばすのをあきらめ、タイムライン上に飛ばすように変更しました。


ムービクリップの
オブジェクトASに以下の様に記述しても
反応しませんでした。

on (press) {
_root.gotoAndPlay(7);
}

環境は、Flash4環境です。
Flash5以上でないとダメみたいです。
4の場合は、なにか代替する方法はあるのでしょうか?
200Now_loading...774KB:2005/08/05(金) 19:55:20 ID:ZLtCEfNO
>環境は、Flash4環境です。

真っ先にそれを書きましょうね。
思いっきり無駄なレスだらけになったよ。
201Now_loading...774KB:2005/08/05(金) 20:35:26 ID:G/gblzkz
>>168>>175
BGMを流しっぱなしで、シーン移動ってのがなんかめんどうじゃなかったっけ?
やったことないから知らんけど
202Now_loading...774KB:2005/08/05(金) 20:42:17 ID:ZLtCEfNO
>>201
私もシーン分けを使ったことがありませんが、
シーンはBGMの変わり目で区切るらしいです。
203Now_loading...774KB:2005/08/06(土) 00:53:34 ID:lCSdiNDo
>>199
衝撃的な発表を今更するなw
Flash4でそのスクリプトは使えませんね。

on (press){
gotoAndPlay(7);
}

と記述して。Flash4でムービークリップに対して
on()は使えません。

おそらく参考書か何かを見ながら作ってるんだろうけど
まずはヘルプを読んでスクリプトは確認して。
4までと5以降はかなり文法が違います。
(一応別言語なのでw)
204Now_loading...774KB:2005/08/06(土) 08:37:55 ID:NEXvNVls
変な質問ですが、
if(mc._visible==true){
mc._visible=false;
}else{
mc._visible=true;
}
というのと
mc_visible^=1;
は、後者の方が速いのでしょうか?
205Now_loading...774KB:2005/08/06(土) 08:57:36 ID:3Wjx56TY
>>204
何千回か実行するベンチマークテストのようなもので実験すると良いと思います。
どのくらいのちがいがあるかというとこまで分かりますから。
mc._visible = (mc._visible) ? false : true;
これも実験して報告してくれるとうれしいです。
206Now_loading...774KB:2005/08/06(土) 09:01:10 ID:3Wjx56TY
mc_visible^=1; の方が早いと思うよ
って言うのは簡単だけど、実験すれば良いのにしないというのは愚かなことだと思ったので。
207Now_loading...774KB:2005/08/06(土) 09:41:56 ID:pOYxzXUp
>>205
mc._visible = (mc._visible) ? false : true;

この書式 気持ちが悪い。
意地でもif文にするオレはだめすくりぷたー。
208Now_loading...774KB:2005/08/06(土) 09:54:31 ID:PA3tH5uK
>>207
使いどころ多いよ。
this.gotoAndStop( flag ? 1 : 2 )
って風に()内でifしたり
a += ( a > 0 ? 1 : -1) * ( Math.abs(a) > 5 ? 1.1 : 1.5)
みたいにifを計算内に含めるし。
209Now_loading...774KB:2005/08/06(土) 14:42:19 ID:Z3evgGmc
Flash Remotingの実験をしようとしているのですが、初っぱなからつまづいています。
まず、クラスの importからできません。

import mx.remoting.Service; // Service クラスをインポート

この1行だけにしてみましたが、
'mx.remoting.Service' がロードされませんでした。
と言われてしまいます。

環境はFlashMX 2004 Professional + WindowsXP sp1。

こちらからFlash Remoting コンポーネント、ActionScript 2.0 対応版の
両方もインストールしてあります。なにが足りないのでしょうか?
ttp://www.macromedia.com/jp/software/flashremoting/downloads/components/
210209:2005/08/06(土) 15:21:26 ID:Z3evgGmc
>>209
肝心の「共通ソースコード」をインストールしていませんでした。
お騒がせしました。
211Now_loading...774KB:2005/08/06(土) 18:44:07 ID:od80+K2s
コンボBoxの値の取得(FlashMX2004)

fnameというテキストフィールドに入れた名前が、赤ボタンを押すごとに、
コンボBoxの選択項目として追加されていくASを書いています。
 http://oekaki.s56.xrea.com/x/uploader/src/oe2287.swf
f1,f2、・・・ と入力し、コンボBoxでの選択を確認するため、Box上の
Select欄(変数:fname1)に選んだものが出るよう書いたつもりですが、
「undefined」しか出ません。
<ボタン>
on (press) {
combobox1.addItemAt(n, fname, fname); //n番目の選択欄にfnameとして入る
n++;
}
on (release) {
fname = "";
}

<コンボBox>
on(change) {
_root.fname1 = combobox1.selectedIndex;
trace(combobox1.selectedIndex); //traceでもundefinedになる
trace(this);
}

この場合、コンボBoxの選択とSelectの表示を一致させるには
どうすればいいでしょうか?
212Now_loading...774KB:2005/08/06(土) 21:31:23 ID:zp1UYVZ4
>>221
パスが間違ってる。
>trace(combobox1.selectedIndex);
を trace(this.selectedIndex);
にかえる。
213212:2005/08/06(土) 21:31:53 ID:zp1UYVZ4
まちがった。
>>211
214211:2005/08/06(土) 22:26:05 ID:xJwBYMvg
>>212
ありがとうございます。
combobox1.selectedIndex → this.selectedIndexでundefinedは出なくなり
ましたが、Boxで選択すると、例えば(fname)f1→0 , f2→1f3→2 と、
_root.fname1 = this.selectedIndex の返す値が0から開始する形になります。

本当は、fnameの文字列f1, f2,f3 を返したいのですが、更にどのように変更
すればいいでしょうか?
215211&214:2005/08/06(土) 22:49:29 ID:v5aHXHcE
自己解決しました。
_root.fname1 = this.selectedIndex → _root.fname1 = this.getValue() 
でOKです。
216211:2005/08/07(日) 08:14:56 ID:BE5tQCmA
コンボBoxの値の維持(FlashMX2004)

テキストフィールドfnameに入れた名前が、保存ボタンを押すごとに、
コンボBoxの選択項目及びsolファイル(年齢データ)の名前として追加
され、swfを再起動しても項目が維持されるようなASを書いています。
単なる追加だけなら
 http://oekaki.s56.xrea.com/x/uploader/src/oe2339.swf
の通り出来るのですが、次の段階、つまり再起動&項目の維持が
できません(空になります)。 上のswfのASを抜粋すると、
<保存ボタン>
on (press) {
mySO = SharedObject.getLocal(fname, "/");
(略)
mySO.flush(); //設定した項目をローカルに保存する
combobox1.addItemAt(n, fname, fname);
n++;
}

<コンボBox>
on (change) {
_root.fname1 = this.getValue(); //fname1は欄Selectの変数
_root.fname = this.getValue();
}

ポイントは、起動時にディレクトリ "/"からsolファイルの名前を参照する
ことだと思いますが、どうでしょうか?
217Now_loading...774KB:2005/08/07(日) 08:58:02 ID:p70LfPy+
>>216
数値がきちんと保存されてないと思うけど、それはいいとして。

再起動&項目の維持っていうのは、一度コンテンツを閉じて
再度読み込んだ時の話ですか?
あと保存ボタンの一行目の
mySO = SharedObject.getLocal(fname, "/");
もなんで毎度読み込んでるのかよくわからないのだけど。
しかもこれってデータ一つにつき、一つSOつくってるの?
fnameがOSの命名規則に違反してたらそれでNGだと思うけど。
218211&216:2005/08/07(日) 09:24:16 ID:BE5tQCmA
>>217
「再起動&項目の維持っていうのは、一度コンテンツを閉じて ・・・・・」

そうです。なので、swfの再起動=再び開く、ということです。

「mySO = SharedObject.getLocal(fname, "/"); もなんで毎度・・・・」

これは、本”逆引き大全550”のNo.306をしのまま引用したもので、理由
を聞かれても答えられない状態です。

「しかもこれってデータ一つにつき、一つSOつくってるの?」

全体で1回こっきりでいいのですか?
219Now_loading...774KB:2005/08/07(日) 09:34:40 ID:p70LfPy+
>>218
もうちっと理解してから・・・。

ま、いいや。
何がしたいのかがよくわかってないのだけど
さということは再起同時にコンボボックスに
以前fnameに登録した項目・・・例えばname01、name02、name03
などがセレクトできるようにリストとして表示されて欲しいと言うこと?
220211&216:2005/08/07(日) 09:57:10 ID:BE5tQCmA
>>219
「以前fnameに登録した項目・・・例えばname01、name02、name03 」

そうです。強いて言えば、前に作製したsolファイルのリスト。
221Now_loading...774KB:2005/08/07(日) 10:34:37 ID:p70LfPy+
>>220
それなら「無理です」
ファイルのリストは取得できませんから。
なので一つのsolに登録するようにしましょう。
配列に入れていくようにすればいいでしょう。
222211&216:2005/08/07(日) 13:09:10 ID:3T5G3wm5
>>221
ありがとうございます。

「配列に入れていくようにすればいいでしょう。 」
やってみます。
223Now_loading...774KB:2005/08/07(日) 14:23:59 ID:+LKhyGCC
スクリプトの編集ボックス内では、システムで設定されたカーソルの点滅速度が
反映されないのがデフォなんでしょうか。
点滅速度が遅くてイライラしてしまいます。当方MX使用です。
224Now_loading...774KB:2005/08/07(日) 17:24:47 ID:npLmZpXL
外部xmlを読み込んで遊んでるんですが、
テキストノードの" () "半角かっこに挟まれた部分のみを消去して表示することは可能でしょうか。

具体的には、
"今日は(すばらしく)良い天気ですね。" という文章が外部テキスト内にあり、
"今日はいい天気ですね。"とダイナミックテキストに表示させたいのです。
現在、普通に全文表示させるところまでは組んであります。

使われることが無さそうな処理だと思いますが、
よろしくお願いいたします。
225Now_loading...774KB:2005/08/07(日) 17:55:05 ID:PfaHUNlZ
>>224
XMLから取得後、
@文字列の最初から "(" までを取得
A")"から文字列の最後までを取得
@+Aで可能。
226Now_loading...774KB:2005/08/07(日) 22:01:38 ID:gPdEKhh8
>>224
225さんが出した通り、テキストからindexOfを使って始めの"("と終わりの")"位置を見るて、
0から最初の"("まで、")"のひとつ先から最後までのテキストの形に書き換える
それを"("と")"が無くなるまでループで行う。
全角、半角をまとめて行う為、最初に"(",")"は全角か半角に統一しておく。

って処理でOK。
227Now_loading...774KB:2005/08/07(日) 22:16:03 ID:qt2y2xpi
str="今日は(すばらしく)良い天気ですね。"
for(var i=0;i < str.length;i++){
if(str.substr(i) =="("){
while(i < str.length){
i++;
if(str.substr(i) ==")"){

}
}
}
}
途中で飽きた
228Now_loading...774KB:2005/08/07(日) 22:25:38 ID:gPdEKhh8
単純に

word = "テキスト:(全角の括弧)&(半角の括弧)から括弧内テキストを削除"

function removeBracket (str){
str = str.split("(").join("(").split(")").join(")")
while(str.indexOf("(")!=-1 && str.indexOf(")")!=-1)
str = str.substr(0,str.indexOf("("))+str.substr(str.indexOf(")")+1)
return str
}

trace("1. "+word)
word = removeBracket(word)
trace("2. "+word)

とか。
229Now_loading...774KB:2005/08/07(日) 22:32:57 ID:npLmZpXL
わ、皆さんありがとうございます。
ひとつひとつ試してみます。
230Now_loading...774KB:2005/08/07(日) 22:40:57 ID:naiDccKZ
)や(が単独であったらどうすんだべ
231Now_loading...774KB:2005/08/07(日) 22:41:20 ID:6nwnVc08
スレの流れをあまり見ないで書いちゃうけど、
括弧が常に存在するわけではないということも考えないといけないからね。
232Now_loading...774KB:2005/08/07(日) 22:49:55 ID:gPdEKhh8
>>230
228で出した例だと()が同時に存在して初めて消すから、単独なら消されないかな。

>>231
なるほど。
そうすると
while(str.indexOf("(")!=-1 && str.indexOf(")")!=-1)

while(str.indexOf("(")!=-1 && str.indexOf(")")!=-1 && str.indexOf("(") < str.indexOf(")"))
って感じかねぇ。
233Now_loading...774KB:2005/08/07(日) 23:55:45 ID:npLmZpXL
>>228
すみません。半角かっこに挟まれた部分のみ削除するには、
どのようにスクリプトを組みなおせばよいのでしょうか。
234Now_loading...774KB:2005/08/07(日) 23:58:49 ID:hjlFnBg5
っ // str = str.split("(").join("(").split(")").join(")")
235Now_loading...774KB:2005/08/08(月) 00:05:54 ID:4fuEAf8U
>>234
ゲェー、なんじゃこりゃー。
こんな簡単に出来てしまうとは。
traceして観察しまくったのに、殆ど仕組みが分かりません。
236Now_loading...774KB:2005/08/08(月) 00:15:10 ID:UDTIinS2

っ?
237Now_loading...774KB:2005/08/08(月) 00:16:31 ID:NwQj9sIU
夏厨
238Now_loading...774KB:2005/08/08(月) 00:22:24 ID:UDTIinS2
あ、理解した。日付変わってIDが変わったから意味不明だったけど
>>235=>>233で、>>234は、一応ちゃんと通じたってことね。OK。
239Now_loading...774KB:2005/08/08(月) 00:32:01 ID:4fuEAf8U
すみません。熱中するあまり日付が変わったのに気づきませんでした。
もと ID:npLmZpXLです。
ほかの文字列に挟まれたコトバも消えるか実験してて、
<チラシの裏></チラシの裏>で組みなおしたらwhileで永久ループしたらしく、
30分ほどの作業が水泡に帰す憂き目にあいました。
240Now_loading...774KB:2005/08/08(月) 01:18:39 ID:bJmTuRpL
>>239
ああ、いじるんだったら
while(str.indexOf("(")!=-1 && str.indexOf(")")!=-1)
str = str.substr(0,str.indexOf("("))+str.substr(str.indexOf(")")+1)

while(str.indexOf("(")!=-1 && str.indexOf(")")!=-1){
str = str.substr(0,str.indexOf("("))+str.substr(str.indexOf(")")+1)
}

に変えたほうがいいかも。
{}が無いと、直後または次の一行のみ実行されるから、
ヘタにいじって上限一致するけど書き換わらない、って状態になった時無限に入るから。

とりあえず indexOf("ココ") の「ココ」の部分変えれば何でもいけんじゃないかな。
複数指定したいならこの部分のワードを配列にして、
for..inで回せばOKかな。
241Now_loading...774KB:2005/08/08(月) 01:59:06 ID:4fuEAf8U
>>240
そこは気づいて直せました。アドバイス感謝です。
いじってたら、なんとなくぼんやりと分かってきました。
始め質問させていただいた時の処理も完全にクリアできました。

str = str.split("(").join("(").split(")").join(")")
ですがこの一文が理解に苦しみます。
配列を使って何かやってる雰囲気は感じ取れるのですが、
直後にtrace(str);しても効かないため、悩んでます。
242Now_loading...774KB:2005/08/08(月) 02:07:43 ID:nvj2FkhO
str.split("(")
str.split("(").join("(")
str.split("(").join("(").split(")")…

とそれぞれtraceしてみれ
243Now_loading...774KB:2005/08/08(月) 07:14:40 ID:JHpKSTB5
正直に言いますと、ASでの配列の使い方が分かりません。
そこでどなたか、実例として、小学校の九九の計算ASを紹介して下さい。
244Now_loading...774KB:2005/08/08(月) 07:32:41 ID:d7SJSQGn
>>243
ASでのというか配列ってわかります?
グーグルで検索してみて。
245243:2005/08/08(月) 07:40:40 ID:JHpKSTB5
>>244
いやー、そういう突っ込みはくるかとw CやJavaの配列の使い方は、
理解しているのですが、ASの配列だけわかりません(本を3冊読んで
ますが分かりません)。

ASでの配列の使い方って、例えば 
 kuku = new Array();
  kuku[0] =1;
  kuku[1] =2; //あるいは、 kuku[i] =i++; とか?

これでいいんですか?
246Now_loading...774KB:2005/08/08(月) 07:44:20 ID:d7SJSQGn
>>245
そのレベルならヘルプに配列のサンプルが載っていますから、見てくださいね。
247Now_loading...774KB:2005/08/08(月) 07:46:32 ID:NwQj9sIU
kuku = new Array(1,2);
248Now_loading...774KB:2005/08/08(月) 07:59:16 ID:bJmTuRpL
>>245
配列なんてどの言語でも基本は同じだと思うけど、何が判らないの?
例えも意味がわからないし…。

配列に追加していく、って事なら

array.push()、array.unshift()、後は貴方が書いてるように
array[0] 、 array[1]と直接ナンバー指定していれてっても良いし。
とりあえず「array クラス」でヘルプを検索すると良いよ。

ちなみに九九だけなら
for(var ln=1 ; ln <=9 ; ln++)
for(var rn=1 ; rn <=9 ; rn++)
trace(ln+" * "+rn+" = "+ln*rn)
で良いんじゃない?
249Now_loading...774KB:2005/08/08(月) 08:13:31 ID:wq6bxwBF
CやJavaと何が違うのかと・・・
250Now_loading...774KB:2005/08/08(月) 08:14:39 ID:oGoqj6a8
>>243 は遠回しに何か言いたいシャイボーイ。
251243:2005/08/08(月) 09:02:15 ID:yPizTctc
最終目標は、SharedObjectのsolファイルに配列データをボタンを押す毎に
書き足しながらコンボBoxの項目も増やし、swfを一旦閉じて再度swfを開いた
時にsolファイルに記録させた配列データを再びコンボBoxに流し込む、
というものです。

「array クラス」でヘルプ見ました。しかし、このヘルプでもそうですが、kuku[n]
のように変数で要素を指定する例が少なく、大抵あらかじめ指定する形 
kuku=["1", "2", ....] となっていて、右辺を細工させた

 kuku = new Array();
  kuku[a] = i*2;
  kuku[b] = i*2-1;
kuku[a][b]=kuku[a]*kuku[b];

という形も可能かどうか分からない状態です。なので配列の一番単純な例として
九九のAS例を聞きました。
ところで上のa,bの例は可能でしょうか?
252Now_loading...774KB:2005/08/08(月) 09:05:17 ID:NwQj9sIU
聞く前にやってみればいいじゃないか
253Now_loading...774KB:2005/08/08(月) 09:07:36 ID:nvj2FkhO
多元配列って直接代入した場合
newいらなかったっけ?
254243:2005/08/08(月) 09:20:06 ID:yPizTctc
>>252
そうですが、ASの配列の扱いの根本(特にkuku[n] のように、変数で要素を
指定する場合)が分かっていないもので聞いてみました。

とりあえず、自分でなんとかやってみいます。
255Now_loading...774KB:2005/08/08(月) 09:28:37 ID:wq6bxwBF
>>243
うすうす予感はしてたが昨日のsolのやつか。
もーちょっと一人で頑張れないのか?w
256243:2005/08/08(月) 09:33:49 ID:yPizTctc
>>255
ビンゴです。

暫く山に篭らず自分でやってみます。
257Now_loading...774KB:2005/08/08(月) 12:54:36 ID:5DlMX+Ff
loadMovieで外部ファイルを読み込んだMovieClipを複製する方法ってありませんか?
外部のJpegファイルを大量に複製して使いたいのですがうまく行きません。
duplicateMovieClipが使えればこんなに悩まなくてすんだのですが・・・
258Now_loading...774KB:2005/08/08(月) 14:27:37 ID:ZOybHHfp
無い。
259Now_loading...774KB:2005/08/08(月) 14:41:00 ID:oGoqj6a8
>>257
おれもそれで悩んで、結局ダメだった。
MovieClip1の中にMovieClip2を作って、そこ(MovieClip2)に読込み
MovieClip1を複製する方法でやっている。
260Now_loading...774KB:2005/08/08(月) 15:33:58 ID:d7SJSQGn
作ってロードしてるだけだけど、こんな風にもできるよ
for(var i=0;i<10;i++){
var t_pape=this.createEmptyMovieClip("pape"+i, i);
t_pape.loadMovie("pape.jpg");
t_pape._x+=30*i;
t_pape._y+=30*i;
}

stop();
261Now_loading...774KB:2005/08/08(月) 15:53:58 ID:NzzqaM0v
質問です。

a_mc、b_mc、c_mc…z_mcとムービークリップのインスタンスを26個を作り、
さらにテキスト入力のインスタンスとボタンインスタンスをひとつ作ります。

テキスト入力に特定のインスタンス名を入力し、ボタンを押すと入力されたインスタンスに
処理を行う(たとえば、アルファ値を半分にする)というようなプログラムの場合、ボタンのASはどういう風に書けばいいのでしょうか?

つまり、テキストにa_mcと書いてボタンを押すとa_mcに対して処理が行われて、
b_mcと書いてボタンを押したらb_mcに対して処理が行われる…ということです。

分かりにくかったらすみませんが、どなたかご回答お願いします。
262Now_loading...774KB:2005/08/08(月) 16:15:07 ID:7k4ekZk9 BE:129643182-#
>>261
テキストをobjectと言う変数とすると、

on(release){
   _root[object]._alpha/=2;
}

でok
263Now_loading...774KB:2005/08/08(月) 16:16:29 ID:NzzqaM0v
>>262
なるほど。ありがとうございました。
264257:2005/08/09(火) 02:12:29 ID:8Rre6+6i
>>258-260
やっぱり無理ですか。
いま260さんの方法でやってるんですが読み込む画像が
全部で500枚くらいあるんで激重です(;´Д`)
265Now_loading...774KB:2005/08/09(火) 02:16:36 ID:Z/2mQg+s
>>264
それはそもそも何に使うのかしらないが
かなり無理があるコンテンツではないか・・・
266216&243:2005/08/09(火) 02:30:49 ID:mR90tg1m
(自己レス&現状) ・・・配列の使い方は大体分かりました

solファイルのコンボBox化リストを作成し、配列を使ったsolファイルの
選択→開くは出来るようになりましたが、ファイルの追加ができず困っ
てます。

とりあえず自分でやってみますが、分からなくなったらまた聞きに来ます。
267Now_loading...774KB:2005/08/09(火) 02:32:16 ID:Z/2mQg+s
>>266
なんか間違った方向に進んでる気がするが・・・。
結局データ(fname)ごとにsolファイル分けてるの?
268Now_loading...774KB:2005/08/09(火) 02:46:05 ID:aj9PDHMz
>>264
265に同感。
どういうものを目指してるのかわからんが、
理論上可能だからというだけで設計しないほうがいいぞ。

>>267
単にsolファイルに配列を持たせればいいだけのような気がするんだが…
SharedObject.data.fnames_arrayとか。
269216&243:2005/08/09(火) 02:48:33 ID:mR90tg1m
>>267
今やってるのはテストの奴で、実際はsolファイル毎にかなり大きな文書
データ(最大10MBくらい)を入れるつもりです。
なので、fnameとデータ(上の例では年齢:Age)という配列形式で1つの
solファイルに集約すると、配列の容量でパンクすると思い、データ名毎に
分けています。
270Now_loading...774KB:2005/08/09(火) 02:51:13 ID:Z/2mQg+s
>>269
solに10MBとはまた豪快なコンテンツで・・・。
サーバー絡むならPHP等と連携させて管理する方が良さそうな。
271216&243:2005/08/09(火) 03:05:13 ID:mR90tg1m
>>270
PHP: http://e-words.jp/w/PHP.html

う〜む、こういう技術があったとは。
でも、サーバーは絡まないので今回はナシです。
272Now_loading...774KB:2005/08/09(火) 03:26:01 ID:Z/2mQg+s
>>271
・・・お前はホントにCやJavaの配列を知ってるのか・・・
273Now_loading...774KB:2005/08/09(火) 04:21:14 ID:rSEx0H7X
だいたい記憶領域を10MBに設定してる香具師なんている?
ほとんどデフォルトか10Kだと思うんだけど。。。
274216&243:2005/08/09(火) 04:23:07 ID:mR90tg1m
>>272
(ASではないですが、念のため)Javaではこんな感じで使っています。

double[] a1 = new double[100];
double[] b1 = new double[100];

StringTokenizer st2 = new StringTokenizer(line2, ",");

a1[m] = Double.parseDouble(st2.nextToken());  //StringTokenizerで分割&配列へ挿入
b1[m] = Double.parseDouble(st2.nextToken());
275216&243:2005/08/09(火) 04:29:58 ID:mR90tg1m
>>273 だいたい記憶領域を10MBに

まあ、滅多にいないでしょうねw
276Now_loading...774KB:2005/08/09(火) 06:20:49 ID:5Xvhdniq
>>271
スタンドアローンならsolに10MBのデータなんて必要ないじゃん
仕様が明確でないから、どういう手法が良いよとかアドバイスできないよ
277Now_loading...774KB:2005/08/09(火) 08:25:34 ID:Z/2mQg+s
>>273
警告ダイアログが出て、設定するようにメッセージが出るはず。
複数のsolファイルがその大きさになった時の警告の出方は知らないけどw

>>274
不思議な進化を・・・
278Now_loading...774KB:2005/08/09(火) 08:39:34 ID:5rSQNCWh
文字列の分解&格納の質問
ソフト:FlashMX2004 です。

テキストフィールド(txt)に例えば、data1,data2,data3 と入力し、
ボタンを押して配列myList[i]に格納するASを書いています。

myList= new Array();

on (press) {
str = new String(txt);
for(i=0; i<=2; i++){
myList[i] = str.split(",");
trace(myList[i]);
}
}

これで実行すると、
 data1,data2,data3
 data1,data2,data3
 data1,data2,data3

分割されず、3つ出て来ます。どう修正すべきでしょうか?
279278:2005/08/09(火) 08:44:28 ID:5rSQNCWh
あー、すいません。理想の出力は、myList[i]が3段になって
 data1
 data2
 data3
です。
280Now_loading...774KB:2005/08/09(火) 09:02:43 ID:5Xvhdniq
myList = str.split(",");
281278:2005/08/09(火) 09:12:03 ID:5rSQNCWh
>>280
Thxです。

ASとは関係ありませんが、ちなみに今日は、黒柳徹子とインザーギの誕生日
だそうです。
282Now_loading...774KB:2005/08/09(火) 09:13:30 ID:Z/2mQg+s
別にfor文で回さなくても
>>280氏が書いてあるようにすれば
一発で配列に格納されます。
283Now_loading...774KB:2005/08/09(火) 16:25:33 ID:6CII+kV2
すいません質問させてください。
FCSに置いてあるアプリケーションにアクセスするのを
アクセス制限できるんでしょうか??
例えばhttp://○○○.com/game.html にアクセスしてる人がすでに
1人いる場合2人目はアクセス出来ないようにしたいのですが、
これってASで制限出来るんですか??
すいませんがご教授御願いいたします。
284Now_loading...774KB:2005/08/09(火) 17:10:39 ID:aYPkPdmI
不可能
285Now_loading...774KB:2005/08/09(火) 17:14:20 ID:zGW0Tw2t
《TAT》
286Now_loading...774KB:2005/08/09(火) 17:15:00 ID:Z/2mQg+s
>>283
接続中のクライアント数をapplication.clients.lengthでチェックすればいいでしょう。
接続拒否はapplication.rejectConnection()でできます。
287Now_loading...774KB:2005/08/09(火) 17:59:58 ID:6CII+kV2
>>286
わざわざ有難う御座います。
一度やってみます。
またどうなったか報告させて
頂きますので!!
288Now_loading...774KB:2005/08/09(火) 18:28:17 ID:6CII+kV2
>>286
すいません
初心者なもんでお聞きしたいのですが??
例えばアプリケーション「game]に接続している人数を確認
する場合、text1にその人数を表示さすには、どうしたら
良いですか??宜しくお願いします。
289Now_loading...774KB:2005/08/09(火) 18:41:43 ID:aYPkPdmI
text1 = application.clients.length;
290Now_loading...774KB:2005/08/09(火) 18:43:31 ID:pbUQKeT/
初心者ですがは免罪符にならない
291Now_loading...774KB:2005/08/09(火) 22:06:25 ID:6CII+kV2
>>289
その前後は特になにかASの記述はあるんですか??
292Now_loading...774KB:2005/08/09(火) 22:30:39 ID:Z/2mQg+s
>>288
その前に確認だけどFCSの開発するのはいいけど
通常のASの知識はどの程度あるのですか?
FCSとのやり取りに関してどこまでは自分で書けるのですか?

今の質問を真に受けるとそれを全部教えないといけない気がして
遠大なお話になるのだけど。これらのスクリプトについてヘルプは確認した?
293Now_loading...774KB:2005/08/09(火) 23:25:20 ID:J9AyyN12
>>288 FCSの正規ライセンスはお持ちですか??
294Now_loading...774KB:2005/08/10(水) 00:33:22 ID:g0UYuFEy
>>292
>>293
はっきり言って知識はありません。
何か1つでも完成させて、それを参考にこれから色々勉強して行く
つもりなんですが・・・
FCSへの接続に関してはアクセスさせる事ぐらいしかできません。
サーバーも一応ホスティングサービスをうけてるのですが・・・
時間をかけてでもいいんで、少しずつ勉強して行きたいのですが、
なんとか皆さんのご協力で成長できたらと思ってます。
私の質問に何か問題があるようでしたら質問も控えさせて頂きますので
色々とご迷惑おかけして本当にすいませんでした。
あとソフトも購入してライセンスも取得しました。
295Now_loading...774KB:2005/08/10(水) 00:40:08 ID:77mrwot+
>>294
例えばアクセスまで出来るなら、そこからわかる範囲で自分で書いてみて
その上で質問して欲しいなと。
どのファンクションを使うかは書いたんだから、それを辞書なりで調べてみて
まずは見よう見まねで書いてみたら何か見えてくるはずだし。
そうしないとどこから説明したらいいのか考えたら、きりがないので。
>>283の様にある程度絞られていれば答えられるけど。
というわけで、迷惑とか気にしなくていいので
まず自分で質問範囲を絞って。
296Now_loading...774KB:2005/08/10(水) 00:44:19 ID:jMiveYqQ
テキストフィールド操作の質問
ソフト:FlashMX2004 です。

テキストフィールド(txt)の内容が変更されたか、否かの監視を行う
ASを書いてます。内容がそのままなら目印nはそのままで、変更
されたらn+1(1だけ足す)とします。

str = new String(txt); //元の文字列をオブジェクト化

this.onEnterFrame = function() {
if (txt == str) {
n = n+0;
trace("same name");
} else {
trace("Other name");
n=n+1;
break;
}
break;
};

これでやると、nが延々と足されてしまします。どう改善すべきでしょうか?
297Now_loading...774KB:2005/08/10(水) 00:57:05 ID:FcEwMT/F
>>296
とりあえずelse句の中で、strに現在のtxtを代入しる
298Now_loading...774KB:2005/08/10(水) 01:16:22 ID:g0UYuFEy
>>295
遅い時間なのに
嬉しいお返事有難う御座います。
今日は遅いので明日朝からやってみます。
本当に有難う御座いました。
299Now_loading...774KB:2005/08/10(水) 02:12:13 ID:atS3goaq
>>296
変更の監視ならonEnterFrame使わないで
キーリスナー使ってキーボードが押されたとき
比較したほうがよさげ。

300296:2005/08/10(水) 02:31:05 ID:0tSBQhCe
>>299
やってみます。


>>297 とりあえずelse句の中で、strに現在のtxtを代入しる

代入の仕方がよく分からないのですが、最初の文字列を a として、

n = 0;
txt="a";
this.onEnterFrame = function() {
str = new String(txt);
if (txt == str) {
n = n+0;
trace("same name");
trace(n);
} else {
n = n+1;
str=txt;     //現在のtxtを代入?
trace("Other name");
trace(n);
break;
}
break;
};

これだと、 same name,0 が連続して出てます。
301296:2005/08/10(水) 03:19:03 ID:aU0ErvSi
>>299
キーリスナーではないのですが、「逆引き大全550」のNo.203に「テキストフィールド
の変化を通知する」というのがあり、これを改造して

n = 0;
myL = new Object();
myL.onChanged = function() {
n = n++;
trace(n); //変化の様子を見る
};
waku.addListener(myL); //wakuはテキストフィールドのインスタンス名

としました。変化は感じているようですが、nがゼロのままです。
どうしたものでしょう?

※ String()方式ではなく、こっちの方が簡単そうなので、このリスナー
方式で今後は進みます。
302Now_loading...774KB:2005/08/10(水) 03:50:52 ID:77mrwot+
>>301
よくそれでエラーが出ないな。

n = 0;
waku.onChanged = function() {
n++;
trace(n); //変化の様子を見る
};

これで動くはずだが。
303296:2005/08/10(水) 04:24:18 ID:aU0ErvSi
>>302
ダメです。
反応はしますが、nが変化しません。
304Now_loading...774KB:2005/08/10(水) 04:30:29 ID:77mrwot+
>>303
じゃ、そっちのムービーの構造が間違ってるとしか思えないけど。
このスクリプトどこに書いてるの?
305296:2005/08/10(水) 04:31:18 ID:aU0ErvSi
フレーム内です
306Now_loading...774KB:2005/08/10(水) 04:34:32 ID:77mrwot+
どこのフレームよ。

毎度毎度情報小出しにするのやめてくれ。もう答えないよ。
307296:2005/08/10(水) 04:41:41 ID:aU0ErvSi
>>306
すみません。
Flashのボキャブラリが貧しいので、別の表現としては、「フレームアクションの
フレーム」とか、「メインのタイムラインのフレーム」という言い回ししか思いつき
ません。

どうしましょう。。。。 

Flash MXのスクリーンショットをUpしてもいいですか?
308Now_loading...774KB:2005/08/10(水) 07:14:58 ID:77mrwot+
>>307
Flashの簿キャブラリが貧しくても、伝えようとする努力は出来るでしょ。
いくら、大変です、うまくいきませんと叫んだって、あなたがどこで転けてるかは
魔法使いでもないのでわかりません。
少なくとも、Flashのオブジェクトの位置関係(スクリプトも含む)を意識して
作業しましょう。いくら本をたくさん買ってきて、つぎはぎをしてもそれがわかってないと
コンテンツは完成しませんよ。

で、今回はメインのタイムフレームですか。だとしたら動作するはず。
trace結果までは表示できてるのですよね?

それで考えられるとしたら「n=0」が再帰的に呼び出されているか、
(もっともそれでもtrace結果はn=1になるはずだけど)
書いている場所がメインのタイムラインじゃないかでしょう。

とりあえず、このヒントでわからなければオーサリング画面を
スクリーンショットとって見せて。
309296:2005/08/10(水) 09:10:55 ID:De4MVd1c
>>308
有難うございます。再度、AS他を見ましたが原因は分かりません。

スクリーンショットUpしました(GIF)。教えてもらった方、
TextField-1)http://oekaki.s56.xrea.com/x/uploader/src/oe2435.gif

と、「逆引き大全550」のNo.200(No.203よりも目的に近い)
を利用した方、
TextField-2)http://oekaki.s56.xrea.com/x/uploader/src/oe2436.gif
です。(両方とも120kbくらいあります)。

共に出力欄に、0だけが出ます。
ご指摘願います。
310Now_loading...774KB:2005/08/10(水) 10:14:40 ID:gFvLPbPl
n++;
311Now_loading...774KB:2005/08/10(水) 10:17:21 ID:xC4JNm9V
>>309
教えたとおりに書いてないじゃん。
n = n++;
をn++;に変更。
312296:2005/08/10(水) 10:58:38 ID:vKE0hBWp

あ〜恥ずかしい。。。。  n = n++; なんて。。。。

大変ご迷惑おかけしました。
暫くの間、このスレには立ち寄らないようにします。
313Now_loading...774KB:2005/08/10(水) 11:53:41 ID:D/TF5esB

 ヽ(・ω・)/   ズコー
\(.\ ノ
314Now_loading...774KB:2005/08/10(水) 23:06:45 ID:gLQ1ZxYy
誘導されたのでこちらへ。
画面左端にある回転砲台を操作して弾を発射するゲームを作っているのですが、
スペースキーを押すと砲台に当たるMC(Houdai)がMC(Tama)を向いている方向に16の速さで撃つように
onClipEvent(load){
tno=0;
}
onClipEvent(enterFrame){
・・・・(砲台の操作)・・・・
if(Key.isDown(Key.SPACE)){
attachMovie("Tama","tama"+tno,tno);
eval("tama"+tno)._x=_x;
eval("tama"+tno)._y=_y;
}
eval("tama"+tno).dx=Math.cos(_rotation*Math.PI/180)*16;
eval("tama"+tno).dy=Math.sin(_rotation*Math.PI/180)*16;
eval("tama"+tno)._x+=eval("tama"+tno).dx;
eval("tama"+tno)._y+=eval("tama"+tno).dy;
if(this._x<0||this._x>Stage.Width||this._y<0||this._y>Stage.Length||_root._currentframe==2){
this.removeMovieClip();
}
}
というASをHoudaiに入力したんですが、これを実行した所スペースキーを押しても砲台の向いている向きの左のあたりに
動かない弾(砲台を回転させると弾もそれにつられて動く)が表示されるだけで上手く動作しません。
どこに問題があるのでしょうか。指南お願いします。
315Now_loading...774KB:2005/08/11(木) 00:32:51 ID:bn/POjGR
>>314
砲台MCの子として弾MCを作るつもりなら、
弾の始点は(0, 0)、飛ばすのは、_xだけを
操作するようになるんじゃないのかな?相対座標なので。

ただ、それだと発射後に砲台を回転させると
発射後の弾道も一緒に曲がってしまうことになり、
おそらく望むカタチではないのだと思うので、
もう一つ上の階層に弾MCをattachするようにするのが良いような。

あと、eval("tama"+tno)使うよりは、
this["tama" + tno]と書いた方がCOOL。
316Now_loading...774KB:2005/08/11(木) 00:40:00 ID:KkG1zFD8
>>314
よくエラーでなかったね。
コメント行はいいとして、
if文のところ 
>Stage.Width
wは小文字。
>Stage.Length
これはなんでしょう。
とりあえずこの3点を直したらtama動きましたよ。
317314:2005/08/11(木) 02:40:38 ID:08AeH1OF
>>315-316
物凄く苦戦してやっと成功しました。助言感謝します。
318Now_loading...774KB:2005/08/11(木) 03:44:17 ID:D7ucLiRQ
>>314
eval使いすぎ。
var t_tama=attachMovie("Tama","tama"+tno,tno);
t_tama._x=_x;
......
と書けることも参考までにどぞ。
319Now_loading...774KB:2005/08/11(木) 12:13:20 ID:+BChKQ8b
attachMovieで作り出した番号付きインスタンスに、
ASからアクセスする方法ってありませんか、と聞きに来たんですが…、

this["objName" + i]
objName = attachMovie("class", "instance" + i, i);

リアルタイムに答えが書かれてましたね…。
あと100レス来るのが遅れてたら「ログ嫁!」とか罵倒されてるところだった('A`)
320Now_loading...774KB:2005/08/11(木) 15:03:16 ID:yr7WzqrK
ライブラリに登録してあるJpegファイルを動的にロードする方法ってないですか?
今は画像一つ一つにMovieClipを作ってattachMovieで読み込んでるんですが
画像の枚数が何千枚もあるんで手動でこんなことやってたらきりがありません。
loadMovieで外部から読み込むみたいにライブラリから読めるといいんですが。
321Now_loading...774KB:2005/08/11(木) 15:10:05 ID:ICHCgDR4
>>320
attachMovieでいいじゃん
まあ、こんなヴァカな方法はやめたほうがいいと思うよ。
322Now_loading...774KB:2005/08/11(木) 15:13:20 ID:X8OLj7jM
>>320
動的に読むのなら最初から外部ファイルにしておけばいいような気がするが
323Now_loading...774KB:2005/08/11(木) 15:46:36 ID:U9sAOJ/Z
>>320
動的にロードって意味がよくわからんな。
flaファイルのライブラリに読み込むんじゃなくて、外部ファイルにしといて、
swfに読み込みたいってことか?
だったら>>322の方法でいいような。
構成を知らんから、そもそもなぜattachMovieにしてるのかもよくわからんのだが。
しかし何千枚って…
324Now_loading...774KB:2005/08/11(木) 16:12:43 ID:bn/POjGR
共有じゃないライブラリで良いなら
単に1つのMCのフレーム毎に
違う画像を読み込んだのを用意しといて
gotoAndStopで表示変えれば良いやね。
325320:2005/08/11(木) 16:34:07 ID:yr7WzqrK
>>321
自分でもそう思います(;´Д`)
>>322-323
swf内にjpegファイルを埋め込んで一度に必要なファイルを
ダウンロードさせたいんですよ。
>>324
キタ━━━━━(゚∀゚)━━━━━ !!!!!
おかげさまで何とかなるかもしれません。
ありがとうございました。
326Now_loading...774KB:2005/08/11(木) 16:35:43 ID:X8OLj7jM
>>325
それなら動的とは言わないw

つか、何千枚もあったら一枚のサイズ知らないけど
メモリーが持たない気がする。
327Now_loading...774KB:2005/08/11(木) 23:43:06 ID:X93oyQZH
質問です。a_mcというムービークリップに
onClipEvent(load) と書いたときは動作するのに
フレームにa_mc.onLoad = function()は動作しないのですが
これは仕様なんですか?回避策あるんでしょうか?
おねがいします
328Now_loading...774KB:2005/08/11(木) 23:46:35 ID:G4nUorV9
>324
何千枚もおててで放り込むの?

ライブラリに読み込んだ複数の画像のリンゲージを、
画像ファイル名と同じ名前に1発で設定する方法ってないですか?
今回の例のように何千枚と言わず、2〜30枚設定するときでも、
現状1つずつ設定してまして、けっこうメンドくさいんですが…。
329Now_loading...774KB:2005/08/11(木) 23:49:49 ID:D7ucLiRQ
>>327
a_mcクリップの中のa_mcを指定してるから。
330Now_loading...774KB:2005/08/12(金) 00:03:14 ID:9SGURDEl
>>327
a_mcのフレームにかいてるならthis.onLoad = function()
331Now_loading...774KB:2005/08/12(金) 00:05:56 ID:3Fvwog1A
>>328
JSFLでぐぐる
332327:2005/08/12(金) 00:11:02 ID:yOUxk5pQ
>329-330
すみません、説明不足でした。
_rootにa_mcを配置してあるんです。
で、a_mcには何も書かず、_rootのフレームアクションに

a_mc.onLoad = function() {
trace("ok");
}
と書いてあるんですが、traceの画面もでません。a_mcに

onClipEvent(load) {
trace("ok");
}
と書けばtrace画面でokと出力されるんです。
onLoadとloadは違うのでしょうか。
333Now_loading...774KB:2005/08/12(金) 00:13:22 ID:LlS2o2nK
>>328
一連のファイルのフレームへの読み込むのは
ファイル名を連番にしておいてシーケンスとして読み込めば
一発で出来るわな。
どうしても個々にリンケージを設定したい場合は
基本的に手動でやるしかないだろうけど。

それを回避するのが、>>324の一つのMCで
フレームで分ける方法なんだと思うが。
334Now_loading...774KB:2005/08/12(金) 00:18:11 ID:vkao72+X
>>331
さっそくググってきました('A`)
何ヵ所か見たんですが「FlashMXをバッチで操作する」感じなんですかね。
“使いこなせれば”便利そうです…。

ともかくもうちょっと調べてみます。サンクス。
335Now_loading...774KB:2005/08/12(金) 00:29:59 ID:3Fvwog1A
>>332
ソースを書く場所間違ってない?
336Now_loading...774KB:2005/08/12(金) 00:34:56 ID:3Fvwog1A
てか、onLoadじゃなくonEnterFrameでやってみ
337Now_loading...774KB:2005/08/12(金) 00:35:27 ID:PzuonKi6
338Now_loading...774KB:2005/08/12(金) 00:48:49 ID:zYF1yyWx
複数の箇所の文字列を変換する方法(Player6以上で)
ソフトはFlashMX2004

テキスト(strABC.txt)の中身が、txt1を変数として、
 txt1=abcdefg abcdefg ABCDEFG ABCDEFG 0123456789 0123456789
であったとき、この任意の複数の文字列を、同時に他の文字列に
変換する方法を知りたく思います(Player6以上)。

馬場ぎんがさんの「ActionScriptポケットリファレンス p196」によれば、

 textのインスタンス名.replaceSel("変換");

で可能とのことですが、これではswf実行画面で1箇所を指定して
その1箇所しか変えられず、同時に複数の箇所を変換できません。
(例えば、2つのabc →xxx など)

Player7以上ならば、replaceText()で可能ですが、下位バージョン
での実行を可能にしたいので、出来るだけ使いたくありません。

アドバイスを願います。
339Now_loading...774KB:2005/08/12(金) 00:56:24 ID:yOUxk5pQ
>>336
onEnterFrameでは動作するんです。

>>337
「イベントハンドラを設定するには、インスタンス(タイムライン)が
存在しなければならず、すでに存在するということはロードが
済んでいると考えられるからです。」

という部分があるんですが_rootの1フレーム目にa_mc.onLoadと
書いても、a_mcがその時点でロードが済んでおらず、onLoadが
呼び出されない、という意味でしょうか。
onClipEvent(load)の場合はa_mcはロード済だから動くと。


難しそうなのでonClipEvent(load)でやります。ありがとうございました。
340Now_loading...774KB:2005/08/12(金) 00:58:51 ID:qdXMRgOk
ずっと人大杉なんですが
解決方法ありませんか?
341Now_loading...774KB:2005/08/12(金) 01:20:09 ID:zYF1yyWx
>>340
夏休みが終わるまで無理かも。
大学によっては、9月の中旬まで夏休みだし。

2chビューアーの使用をお勧めします。
342341:2005/08/12(金) 01:20:59 ID:zYF1yyWx
すみません。ageてしましいました。
343Now_loading...774KB:2005/08/12(金) 01:25:45 ID:qdXMRgOk
>>341
ありがとうございます。
それって有料なんですか?
344Now_loading...774KB:2005/08/12(金) 01:32:47 ID:9SGURDEl
>>338
つまりPlayer6で実行したいってこと?

//ABCをXXに置換
var arr = new Array();
arr = txt1.split("ABC");
trace(arr.join("XX"));

//一行で済ませるならこっち
trace(txt1.split("ABC").join("XX"))

>>343
ageるのも2chビューアーも無料です。
345Now_loading...774KB:2005/08/12(金) 01:37:21 ID:qdXMRgOk
>>344
ありがとうございます。
いま調べたらusd550って書いてあったのですが
346338:2005/08/12(金) 01:38:10 ID:zYF1yyWx
>>344
なるほど、splitですか。
やってみます。

>>343
ソフトウエア板にビューアーの比較があった。。。。 ←ココも人大杉だったw
347338:2005/08/12(金) 02:33:49 ID:vhXYTmuU
>>344
有難うございます。出来ました。

文字変換の応用で、2つの改行を1つに減らすASを書いています。
344さんのアドバイスから、

rep = new Array(); //フレームアクション

on (press) { //ボタンに記述
rep = txt1.split("\n"+"\n");
txt1 = rep.join("\n");
trace(txt1);
}

としましたが、変化がありません。また("\n"+"\n")→("\n\n")と
しましたが、ダメでした。

どう改善すべきでしょうか?
348Now_loading...774KB:2005/08/12(金) 02:48:32 ID:6ehhowuS
>>347
場当たり的に解決するのが大好きな俺が適当にアドバイスするよ

rep = new Array(); //フレームアクション

on (press) { //ボタンに記述
rep = txt1.split("\n");
for(i=0;i<rep.length;i++){
tmpTxt+=rep[i];
if(0==i%2){
tmpTxt+="\n";
}
}
trace(tmpTxt);
}
349Now_loading...774KB:2005/08/12(金) 02:55:43 ID:6ehhowuS
自分で試してみて解ったことを修正

rep = new Array(); //フレームアクション
tmpTxt="";//これやらないと最初に「undefined」が入っちゃう(イヤン)

on (press) { //ボタンに記述
rep = txt1.split("\n");
for(i=0;i<rep.length;i++){
tmpTxt+=rep[i];
if(1==i%2){//0だと0の時に0になるから最初のrep[0]の後に改行が入っちゃって(以下略
tmpTxt+="\n";
}
}
trace(tmpTxt);
}
350338&347:2005/08/12(金) 03:00:16 ID:vhXYTmuU
>>349
有難うございます、というかご苦労様ですw
351338&347:2005/08/12(金) 06:17:20 ID:qq4b4lCK
>>349
ASを組んで実行しました。tmpTxt+="\n"; だとうまくいきませんが、
tmpTxt+=""; でOKでした。
352Now_loading...774KB:2005/08/12(金) 13:08:50 ID:MsqVVh9n
最近良く見かけるけど流石フラ板だな
いつもに増して新参が多い
専ブラ入れた方が見やすいし、人大杉なんてことはないし、鯖に負荷もかけづらい。
353Now_loading...774KB:2005/08/12(金) 16:11:00 ID:aQM128p3
xml連携についての質問です。よろしくお願いします。

<member name="john" age="25" eye="brown"></member>
この場合はxml.firstChild.attributes.age;で"25"が返ってくると思うのですが、

<member>
 <name>john</name>
 <age>25</age>
 <eye>brown</eye>
</member>
こういうxmlの場合、25を導き出そうと思ったら、
xml.firstChild.childNodes[1].firstChild.nodeValue;
と書くしかないのでしょうか?
もし後々xmlファイルの構造に手を加えた場合(ageの上に新しいノードを付け加えたり)
またasコードを書き直さなければならず、困ってしまうと思います。

何かスマートな方法はあるのでしょうか。よろしくお願いします。
354Now_loading...774KB:2005/08/12(金) 17:16:20 ID:McDS4mic
>>353
childNodes[1]って決め打ちするから困るのでは?
手を加える可能性がある部分は、変数で管理するなど工夫しないと。
あとはnodeNameでいろいろやるとか。
355Now_loading...774KB:2005/08/12(金) 18:09:13 ID:ZFTzgMUR
>>353
mx.xpath.XPathAPI使えば
356Now_loading...774KB:2005/08/12(金) 23:14:45 ID:sM0kXycf
文中の選択位置の取得
ソフトはFlashMX2004

テキストフィールド(インスタンス名:txtIns、変数:txt1)中の文字列を
選択したときの開始位置と終止位置の取得を試みています。

 txt1=abcdefg abcdefg ABCDEFG ABCDEFG 0123456789 0123456789

ここでASを

on (press) { //ボタンアクション
Selection.setFocus("txt1");
mark_begin = Selection.getBeginIndex();
mark_end= Selection.getEndIndex();
trace(mark_begin);
trace(mark_end);
}

として、仮にABCを選択すると、trace出力が(0,52)というように、txt1
全部が選択されます。

どう改善すべきでしょうか?
357Now_loading...774KB:2005/08/12(金) 23:58:42 ID:nu0xfJE2
>>347
trace(txt1.split("\r\r").join("\r"));

>>356
>Selection.setFocus("txt1");
この瞬間にtxt1の内容が全部選択されてる状態になるッぽい。
on (rollOver)にしてみるとか。
358357:2005/08/13(土) 03:20:23 ID:IqF1V8qN
>>347
\nでなく、\rですか?
359本物357:2005/08/13(土) 04:35:39 ID:cRHXHXI+
>>358
できなかった?
詳しいことは知らないけど\rも改行コード
360347&356:2005/08/13(土) 04:36:26 ID:cMDqzYtc
間違えてた。
358は357さんへの返事。


>>357
確かにon (rollOver)でtraceできますが、on (rollOver, release)では
ダメでした(-1,-1になった)。そこで

on (rollOver) {
mark_begin = Selection.getBeginIndex();
mark_end = Selection.getEndIndex();
}
on(release){
trace(mark_begin);
trace(mark_end);
}

と2つに分けたらOKでした。

有難うございます。
361347&356:2005/08/13(土) 04:38:40 ID:cMDqzYtc
>>359
すみません。まだ試してません。
362347&356:2005/08/13(土) 06:51:42 ID:GbjT2ChW
>>359 trace(txt1.split("\r\r").join("\r"));

traceには出力されますが、1行減っただけです。
またテキストフィールド内は全く変化しませんでした。
今のところ、349さんの方法でやっています。


(他の質問)
他のflaファイルよりコンボBoxをコピーし、その設定(値など)を変えて
プレビューしようとしたところ、次のエラーメッセージが出ます。
 **エラー** シーン = シーン 1, レイヤー = レイヤー 1, フレーム = 1 :行 23:無効な
 マウスイベントが指定されました。
on (change) {

on (change)を書いているのはコンボBoxのスクリプトで、23行では無く
1行目です(23行も書いた部分はありません)。しかもプレビューでは、
コンボBoxのプルダウンの矢印が消えています。

考えられる対処法は何でしょうか?
363Now_loading...774KB:2005/08/13(土) 17:58:10 ID:ra3thNxx
loadingのAS
364Now_loading...774KB:2005/08/13(土) 18:01:11 ID:ra3thNxx
loading用のASがイマイチ調べても分からないのです。教えて下さい。
365Now_loading...774KB:2005/08/13(土) 18:22:58 ID:QZzLxqaD
>>364
こんな感じ。
var per_num:Number = 0;
_root.onEnterFrame = function() {
this.per_num = this.getBytesLoaded()/this.getBytesTotal()*100; //読み込み率
if (this.per_num>=100) { //読み込み完了時。
this.onEnterFrame = null;
this.gotoAndPlay(2);
}
};
366364 :2005/08/13(土) 19:11:58 ID:jAHOgFq/
ありがとうございます。
もうちょっとがんばってみます。
367347&356:2005/08/13(土) 22:08:36 ID:2S1z/Bk4
(コンボBoxのエラー表示)

自己解決しました。
というより、本のCDにあるFlaデータを流用し、1から作り直しました。
368Now_loading...774KB:2005/08/14(日) 11:21:21 ID:3uQZUeaj
質問させて下さい。
MX2004で、ボタンにfor文のアクションを設定しました。

on (release) {
for (i=0; i<10; ++i) {
}
trace(i);
}

この状態でボタンを押すと、結果は10です。
しかし、

on (release) {
for (i=0; i<10; ++i) {
a = i;
}
trace(a);
}

間に変数aを混ぜると、結果は9でした。
何故変数が増えただけで結果が違うのか教えてください。
369Now_loading...774KB:2005/08/14(日) 11:24:45 ID:zz/r7rKF
2番目のfor分の中でiをtraceしてみれば?
ちなみにfor(i=0;i<10;i++){....}が定型。
370368:2005/08/14(日) 11:33:56 ID:3uQZUeaj
>>369
即レスありがとうございます。

on (release) {
for (i=0; i<10; i++) {
}
a = i;
trace(i);
}

こうすると結果は10でした。
for文のなかでaに代入したのがマズかったようです。
ご教授ありがとうございました。
371Now_loading...774KB:2005/08/14(日) 11:46:06 ID:RBAlkkqc
for文の処理の厳密な順番忘れちゃったよ…。

for(i=0; i<1; i++){
 処理。
}

のとき、流れは、

1. iに0をぶち込む
2. i<1かな? → i==0なので処理続行
3. 「処理。」
4. i++。i==1に。
5. i<1かな? → i==1なので処理抜ける
6. 終わり。

これで合ってるよね…?

で、++iの場合、iをインクリメントする場所が前倒しされたりするの?
j = ++i; と j = i++; の違いみたいに。
372Now_loading...774KB:2005/08/14(日) 11:51:36 ID:9Xp68XH5
++iにするとポスト処理だからaに最後入る値は9になってただけだよ。
373Now_loading...774KB:2005/08/14(日) 13:52:04 ID:hbex0xLQ
>>372
何言ってんだこのバカ
374Now_loading...774KB:2005/08/14(日) 16:49:53 ID:CvAQFvp1
バカ言ってるだけだろ
375Now_loading...774KB:2005/08/14(日) 17:42:55 ID:lmpBV7SY
Q)インスタンス名のルールについて

本やGoogleで調べますと、インスタンス名として認識できる文字は
「半角英数字で、先頭は数字でない。また記号は、_と$。」 と書い
てあります。しかし、Selectionクラスで、あるインスタンス名を持つ
TextFieldを認識させようとすると

 Selection.setFocus("txt1_ins"); ←OK

 Selection.setFocus("txtIns"); ←不可

です。下の方は上の規則に反していないのにも関わらず、ダメな
のは何故でしょうか? 大文字が入っていますが、例えば
 swIns.メソッド 
はOKです。

物凄く基本的な質問ですが、よろしくお願いします。
376Now_loading...774KB:2005/08/14(日) 17:49:52 ID:zz/r7rKF
AS2.0?
377375  :2005/08/14(日) 18:23:32 ID:lmpBV7SY

すいませーん。ソフトは、FlashMX2004_ver7.2 です。


>>376
特にASのバージョンを指定せず、そのまま使っています。
(ということは、AS1.0ですかね?)
378Now_loading...774KB:2005/08/14(日) 19:53:51 ID:gzoMwTXK
>>377
2.0
379375  :2005/08/14(日) 22:42:48 ID:s+fBC5Dp
>>378
ありがとうございます。

AS2.0でのインスタンス名の規則を知るため、GoogleとMXのヘルプで
調べましたが、該当するサイト(項目)がありませんでした。

どなたかインスタンス名のルールを記載したサイト等をご紹介ください。
380Now_loading...774KB:2005/08/14(日) 22:48:07 ID:gzoMwTXK
>>379
ttp://homepage3.nifty.com/ginga-b/MX/variables.html
Flash 変数名でググると3番目
381Now_loading...774KB:2005/08/15(月) 00:31:16 ID:YDFWCn2F
インスタンスのローカル座標を配列で取得するASを書いています
(FlashMX2004使用)

id = 0; //クリックカウント用
xAdr = new Array();  //座標の配列
yAdr = new Array();
this.onEnterFrame = function() {
divs = 0;
XY.onPress = function() { //インスタンスXYを押すとき
point = {x:_root._xmouse, y:_root._ymouse};
_root.XY.globalToLocal(point);
xAdr[divs][id] = point.x; //ローカル座標が配列に入る
yAdr[divs][id] = -point.y;
trace("x= "+xAdr[divs][id]);
id++;
}
};
};

これだと、trace("x= "+xAdr[divs][id]); でxが何も得られません(空白です)。
原因は何でしょうか? ちなみに、point.xの値は得られます。
382Now_loading...774KB:2005/08/15(月) 00:34:32 ID:Z5xrCybr
>>379
ダメなのは本当に識別子のせいなのか?
とりあえず、MX2004pro、AS2.0で作ってみたが問題ない。
どうダメなのか書いてみれば解決するかもよ。
383379:2005/08/15(月) 00:46:05 ID:B3Es1u94
>>382
「ダメなのは本当に識別子のせいなのか?」
・・・・ そうですね。名前を変えただけでうまくいきました。

「どうダメなのか書いてみれば解決するかもよ。 」
・・・ 不可だったファイルは消してしまいました。
384Now_loading...774KB:2005/08/15(月) 01:33:20 ID:tSiRJl4Q
先生!
変数に代入した関数名を、関数として使うことは出来るのでしょうか?
385Now_loading...774KB:2005/08/15(月) 03:32:33 ID:abcGi00T
attachMovieで複製したインスタンスを一気に消す方法
(FlashMX2004)

下の様に、MCのXY内にballAを複製し、
newMark = "ballA"+id;
_root.XY.attachMovie("ballA", newMark, id, prop);

次のfor文で全て消したいのですが、消えません。
for (i=0; i<id; i++) {
temp = "ballA"+id;
_root.XY[temp].removeMovieClip();
}

インスタンスのディレクトリ指定に問題があるのでしょうか?
386Now_loading...774KB:2005/08/15(月) 03:50:11 ID:uRFllBb5
>>384
自分で試すことをお勧めする
387384:2005/08/15(月) 04:49:31 ID:tSiRJl4Q
失礼、自己解決。
オマケに説明不足。
外部ファイルからテキストとして引っ張ってきたファンクション名を使うっていう事だったんですけども。
hoge = "abcd";
hoge = eval(hoge);

hoge();

にて解決しました事をお伝え。
388Now_loading...774KB:2005/08/15(月) 04:49:33 ID:p8fRk6TQ
>>385
for (i=0; i<id; i++) {
temp = "ballA"+i;
_root.XY[temp].removeMovieClip();
}
こうでは?
389Now_loading...774KB:2005/08/15(月) 05:24:01 ID:nuilPo+v
//シーン1の1フレーム目
var m:MyClass =new MyClass(this);

//外部ファイル MyClass.as
class MyClass{
private var x:Number = 0;
public function MyClass(mc:MovieClip){
x = 100;
mc.onEnterFrame =Move;
trace(x);
}
private function Move():Void{
trace(x);//xがundefinedになる
}
}

onEnterFrameなどのイベントハンドラにクラスメソッドを渡すと
Moveメソッド自体は呼んでくれるのですが、メンバが未定義になってしまいます。

同様にLoadVarsインスタンスを自作クラス内メソッドで作製してテキスト読み込みをしても
LoadVars.onLoad時にLoadVarsインスタンスがnullになってしまいます。
クラス内ではイベントハンドラに何か制限があるのでしょうか?
390Now_loading...774KB:2005/08/15(月) 05:24:36 ID:tPBcAxT1
>>387
this[hoge]();
これで十分だけどね。

>>385
XYにそのattachしたMCしかないのならば
for (i in _root.XY){
_root.XY[i].removeMovieClip();
}
391Now_loading...774KB:2005/08/15(月) 06:00:35 ID:KzCtqdFf
ボタンを押す毎にテキストフィールド内(複数行、変数txt)で改行される
ASはどんな感じになりますでしょうか? 当方では試しに

on(press){
rnd = Math.random()*10;
txt = rnd+"\n";
}

としましたが、1番上の行が変わるだけでした。
392385:2005/08/15(月) 06:18:01 ID:dyecdS25
>>388
あーそうだ。idでなく、iだった。

>>390
for (i in _root.XY) ですか。なるほど。


今回は390さん方式を採用し、OKでした。
393Now_loading...774KB:2005/08/15(月) 06:57:57 ID:xmfTpbU/
391です。平たく言うと、テキストフィールドの表示がtraceによる出力のように
(1行づつに)したいと思っています。
394Now_loading...774KB:2005/08/15(月) 07:09:55 ID:2+X1b2Pk
txt = rnd+"<BR>";
395Now_loading...774KB:2005/08/15(月) 07:25:39 ID:VHZy2Ui9
+=
396Now_loading...774KB:2005/08/15(月) 08:30:52 ID:2+X1b2Pk
ねーよwwwwwww
397381&393:2005/08/15(月) 10:53:09 ID:ixZSp84l

今、気付いたのですが、ASは2次元配列が不可なのですか?


>>394,395
txt += rnd+"\n"; でOKでした。
398Now_loading...774KB:2005/08/15(月) 12:10:48 ID:3oxzmDGx
>>397
可能
399Now_loading...774KB:2005/08/16(火) 18:12:48 ID:cceORB+r
>>391
txt=

txt+=
400Now_loading...774KB:2005/08/16(火) 23:21:00 ID:NqtwIEa9
読み込んだ画像をクリックして、拡大ドラックでき、ボタンをクリックすると縮小させたいのですが…、縮小ボタンが作れません。

var loadListener:Object = new Object();
で読み込んだボタンに縮小させることは可能でしょうか?

環境はwindows Flash2004MX

ちなみに、スクリプトはプログラマーに書いてもらいましたのでさっぱりです。
結構長いし(−−;一回で入りきらなかったです。

神様、先生、悪魔なんでもいいです。誰か分かる人いたら少しでもいいので教えてください(;_;)

401Now_loading...774KB:2005/08/17(水) 00:04:20 ID:bTxVVHbI
そのプログラマに聞けば
402Now_loading...774KB:2005/08/17(水) 00:11:05 ID:4IJB9PNB
はい、次の方どうぞー
403Now_loading...774KB:2005/08/17(水) 00:42:46 ID:o6MlOAZo
ここはとても優しいインターネットですね。
404Now_loading...774KB:2005/08/17(水) 00:46:56 ID:iltCCire
>>400
ASがサッパリなのに聞いてわかるのでしょうか?

とりあえず縮小の仕方。
例えば、_rootにあるs_mcというインスタンス名のMCを
ボタンを押すたびに90%ずつ縮小したいのなら、
on (press) {
_root.s_mc._xscale = _root.s_mc._xscale*0.9;
_root.s_mc._yscale = _root.s_mc._yscale*0.9;

//まとめて書くならこっち
//_root.s_mc._xscale = _root.s_mc._yscale *= 0.9;
}

拡大ができているのならその逆をやればできると思うのですが、
何か自分でやってみましたか?
405Now_loading...774KB:2005/08/17(水) 02:40:07 ID:DgNpvNBk
特定の桁の数字の格納(FlashMX2004)

有る数字の上2桁を、ボタンを押して格納するASについて質問です。

on (press) { //ボタンアクション
for (snP=0; snP<snL; snP++) { //snPは数字の文字列の番号。snLはその長さ
snN[snP] = sn.charAt(snP); //1文字づつ格納
}
for (snP=0; snP<=snL; snP++) {
if (snN[snP]>=1) { //1以上であれば(1-9であれば)
sn1 = snN[snP];
sn2 = snN[snP+1]; //有効な上2桁を格納
trace("sn1="+snN[snP]);
trace("sn2="+snN[snP+1]);
break; //3桁以降は無視
}
}

}

で、数字を -0.54321 とすると、sn1= -,sn2=0 になります。目標としては、
上2桁で sn1=5,sn2=4 としたいところですが、うまくいきません。
どうしたらいいでしょうか?
406405:2005/08/17(水) 05:59:43 ID:26lWYg+c
自己解決しました。不格好ですが
 if (snN[snP]>=1) を if (snN[snP]!=0 && snN[snP]!="." && snN[snP]!="-")
としました。


(新しい質問) 文字列と計算の関係
文字列から得た数値を計算した場合について質問です。

snAHe = snHead+snA; //文字列の合成 snHeadは「-0.」 snAは「60」 つまり-0.60
snBHe = snHead+snB; //文字列の合成 snHeadは「-0.」 snBは「48」 つまり-0.48
snRateN = Math.abs(snA-snB); //60-48=12
trace(" snRatN="+snRateN);
snRate = Math.abs(snAHe-snBHe)/snRateN; //本来は0.12/12=0.01になるべき
trace(" snRate="+snRate);

としたところ、出力で

snAHe=-0.60
snBHe=-0.48
snRatN=12
snRate=0.0099999999999999 ←

と、本来は0.01になるところで矢印のようになりました。
どう改善すればよろしいでしょうか?
407Now_loading...774KB:2005/08/17(水) 06:01:13 ID:RtADS6AN
str="-";

if(str<"1" || str>"9"){
trace("err retry");
}else{
trace("okey")
}
408Now_loading...774KB:2005/08/17(水) 06:18:54 ID:RtADS6AN
parseFloat
409405:2005/08/17(水) 07:05:25 ID:7gHaE9d6
>>407
どうも。「1以上であれば(1-9であれば)」は if (snN[snP] >= "1")
でOKでした。


しかし一方の、文字列から得た数値を計算した場合は、parseFloat を使って
snAHe = snHead+snA;
snBHe = snHead+snB;
snAHe1 = parseFloat(snAHe); //実数化
snBHe1 = parseFloat(snBHe);
snRateN = Math.abs(snA-snB);
snRateN1 = parseFloat(snRateN); //実数化
snRate = Math.abs(snAHe1-snBHe1)/snRateN1;
snRate1 = parseFloat(snRate); //実数化
trace(" snRate1="+snRate1);
としましたが、

snRate1=0.00999999999999999

のままです。ただし、snAHe=-0.60 → snAHe1=-0.6 になったので、
途中までは確かに実数化されているとは思うのですが・・・・
410Now_loading...774KB:2005/08/17(水) 07:11:58 ID:RtADS6AN
近似計算されちゃってるのかもね。
小数部以下を10のN倍して整数部のみにして演算。その後元に戻す。
これならいけると思うよ。
411405:2005/08/17(水) 07:23:22 ID:7gHaE9d6
>>410
なるほど。やってみます。
412405:2005/08/17(水) 09:24:53 ID:rUNjR2EK
と、書きましたが add = 0.00000000000000001 として
0.00999999999999999 に加えました。

こっちの方が簡単で、他の場合もうまくいきました。
413Now_loading...774KB:2005/08/17(水) 21:43:42 ID:oWm7KKqL
そんなの許されるなら
何だって良いんじゃないか・・・
414Now_loading...774KB:2005/08/18(木) 23:10:14 ID:j42YUsFI
>>412
ゆとり教育
415Now_loading...774KB:2005/08/19(金) 01:25:33 ID:bsS9pp5t
ここで答えてくれる人たちって、相当な知識があるんだな。
俺もここで手を差し伸べる側になれるようがんばろう。
416Now_loading...774KB:2005/08/19(金) 10:12:17 ID:Y82eQihw
質問です。
ボタンを作って、そこに動的なラベル
(使う所によってラベルを変更できるもの)
をつけようと思い、

ボタンの中でレイヤーを追加して、
テキストツールでダイナミックテキストを追加して、
そのインスタンス名を labelButton としました。
(ラベルはとりあえず、 "hogehoge" にしておきました。)

そこで、_root レベル(?)にボタンをはりつけました。
(インスタンス名は button1 )
_root.button1 で、ボタンの参照になっているようで、
_root.button1.labelButton = "変更したいラベル";
とすれば、変更できると思ったんですが、
これではできませんでした。

どのようにすれば良いのでしょうか、
また、もっと良い方法があれば教えてください。お願いします。
417Now_loading...774KB:2005/08/19(金) 10:16:55 ID:q8/3BocS
>>416
_root.button1.labelButton.txt = "変更したいラベル";
418間違った:2005/08/19(金) 10:18:22 ID:q8/3BocS
>>416
_root.button1.labelButton.text
419416:2005/08/19(金) 10:31:55 ID:Y82eQihw
えっと、どうも
_root.button1.labelButton 自体の参照がとれていないようでした TT

どうして参照がとれないのかわかりません。
サンプルの fla ファイルを作ったので、ソースを見ていただけると助かりますm(_ _)m
ttp://www.geocities.jp/ultimate_shogi/buttonTest.fla
ttp://www.geocities.jp/ultimate_shogi/buttonTest.swf
420Now_loading...774KB:2005/08/19(金) 11:00:43 ID:DDOAxwMi
見てないけどボタンオブジェクト置いてるんじゃないの?
いったん、MCでくるまなきゃ。
421416:2005/08/19(金) 11:49:31 ID:Y82eQihw
ダイナミックテキストまで到達できなかったので、
createTextField で代用することにしました。ありがとうございました。
422Now_loading...774KB:2005/08/19(金) 12:10:03 ID:QWQdSyOx
>>421
>>420が正解。
ボタンのなかみはASで制御できないよ。
動的に制御したいなら、ムービークリップにしなくちゃ。
他の方法に頼る前に、今の失敗の原因を理解してくれ。
423Now_loading...774KB:2005/08/19(金) 12:38:24 ID:BWgKJpBw
お前らって「動的」って言葉好きだよな
424Now_loading...774KB:2005/08/19(金) 12:48:43 ID:6YcjuMzu
分からなかったら、とりあえず「動的」って付けとけばいいんだよ。
425416:2005/08/19(金) 14:03:09 ID:Y82eQihw
>>422
>ボタンのなかみはASで制御できないよ。
おお、なるほど・・・そうだったんですね。
ありがとうございました。
426416:2005/08/19(金) 21:58:33 ID:1PE3lUTa
すいません間違えました。
動的にありがとうございました。
427Now_loading...774KB:2005/08/19(金) 23:26:31 ID:F2wJJRP9
誰が童貞だって!!!ウルセーバカ!!
428Now_loading...774KB:2005/08/20(土) 12:19:12 ID:Yi57GIAQ
>>427
童貞(´・ω・`)カワイソス
429Now_loading...774KB:2005/08/20(土) 20:16:40 ID:rw4H9czP
わかる方、教えてください。
外部のxmlファイルに記述してある画像ファイルを、AS
obj_xml.load("*****.xml");
で読み込むようにしているのですが、FLASH上で読み込まれている
その画像ファイルをクリックすると、FLASHを置いてあるhtmlの中の
インフレームのファイルを切り替えられるようにしたいのです。
そういうASってありますか?
430補足説明:2005/08/20(土) 20:20:27 ID:rw4H9czP
*****.xmlには、1.jpeg、2.jpeg・・・のように複数の画像ファイルが記述して
あります。
431Now_loading...774KB:2005/08/20(土) 20:38:31 ID:kYyDsOKp
>>430
インラインフレームの中の画像かなんかを切り替えたいの?
getURLでできそうな予感。
432Now_loading...774KB:2005/08/20(土) 21:01:52 ID:rw4H9czP
>>431
getURLを、どこにどう入れたらいいのかわからないのです・・・
433Now_loading...774KB:2005/08/20(土) 21:38:32 ID:kYyDsOKp
>>432
やりたいことは>>431であってるの?
Flashに画像を読み込むとこは関係あるの?

あなたのやりたいことが良くわかりません。
434Now_loading...774KB:2005/08/20(土) 22:01:28 ID:WTsMFBEb

っ fscommand + JavaScript
435Now_loading...774KB:2005/08/20(土) 22:51:56 ID:L69dLZGl
getURLの第二引数にインラインフレームのname入れたら良いと思う
436Now_loading...774KB:2005/08/21(日) 13:31:47 ID:q9IufF77
こんにちは。ぜひともご教授お願いいたします。
いくつかあるBGMをランダム再生で、無限に続く(ランダムが)アクションスクリプトを教えてほしいです。(ライブラリにある音楽ファイルをランダムで再生する)
僕はアクションスクリプトのことがぜんぜんわからなくて困っていますorz
ていうかわからないなら勉強しろって話なんですけど、すいません。ヒントだけでもいいので、教えてください。すいませんよろしくお願いします。

使っているソフトはflash mxです。osはwindows xpです。
437Now_loading...774KB:2005/08/21(日) 13:46:28 ID:Yf1IbeUz
>>436
アクションスクリプトの事が全然分からなかったら、やろうとしている事は
かなり難しいと思うよ。
Sound、Math.random()をヘルプで見て、簡単なものから作って行くしかない。
・ランダムで0〜4の数字を選ぶ
・ボタンを押すと、音が再生される
とか。
http://hakuhin.hp.infoseek.co.jp/main/as.html
↑ここは分かり易くて勉強するにはいいと思う。
438Now_loading...774KB:2005/08/21(日) 13:55:38 ID:LlROWenY
>>436
var my_sound = new Sound();
my_sound.attachSound("sound" + rand_num);  //rand_numはランダム数
my_sound.start();

リンケージ識別子にsound1,sound2・・・ってつける
439Now_loading...774KB:2005/08/21(日) 14:11:24 ID:aRaF7sDa
>>437
ありがとうございますですー!!
サイトの紹介どうもです。いつも見てる本とかよりぜんぜんわかりやすくていいサイトですね。ネット上にこんなわかりやすところがあるとは思いませんでした。。。。がんばって勉強してみます。
>>438
ありがとうございますですー!!まさか答えをのっけてくれる人がいるとは思いませんでしたw
ではでは、早速これを使って作りますね!!

まさかこんな質問を受け付けてくれるとは思いませんでした。437さん、438さん、どうもありがとうございました!!
440Now_loading...774KB:2005/08/21(日) 18:44:37 ID:wdBYf5HI
質問させて頂きます。
画質についてなのですが、_root._quality等の
ボタンで設定するのではなく、
movieが読み込まれた直後からmidiumに設定する方法はないでしょうか。
441Now_loading...774KB:2005/08/21(日) 19:01:01 ID:fbET6fkV
1フレーム目に
_quality="midium"
442Now_loading...774KB:2005/08/21(日) 19:28:53 ID:V3+Pd442
>>404
かなり遅れましたがありがとうございます。
そのような方式で導入したら成功しました。助かりました!
443Now_loading...774KB:2005/08/21(日) 19:33:33 ID:V3+Pd442
質問です。

var myMC:MovieClip = _root.createEmptyMovieClip("test", _root.getNextHighestDepth());
var myMCL:MovieClipLoader = new MovieClipLoader();
myMCL.loadClip("○○.jpg", myMC);
var loadListener:Object = new Object();

で生成したムービークリップ(さらに外部読み込みで画像を読み込んで)に中心点を真中にすることって出来るんでしょうか?
444Now_loading...774KB:2005/08/21(日) 19:37:45 ID:Ws3BtILw
>>443 できる
445Now_loading...774KB:2005/08/21(日) 19:45:01 ID:V3+Pd442
444>>

ど、どうやるんですか先生教えてください。お願いします!
446Now_loading...774KB:2005/08/21(日) 20:50:53 ID:O+aGh8g/
>>443
中心点って言うのは主にトゥイーン等で使うもので、
ASでは関係なかったはず。(ASでは基準点を使う)
MCを入れ子にして親から子の座標を幅と高さの半分ずつずらすのが一般的じゃないかな。
447436:2005/08/22(月) 00:23:33 ID:IYwcwSzh
何度もすいませんですorz
先ほど質問させていただいた436です。
438さんの通りにやってみたのですが、どうもうまくいきません。そのあと一人で試行錯誤を繰り返したんですけどだめでした。
識別子もリンケージプロパティでsound1・・・というふうにひとつずつつけていきました。アクションスクリプトに書き出しっていうのにもチェックを入れました。
なのになぜかうまくいきませんorz 何度もすみませんがどうかご教授お願いいたします。

以下試したこと。
とりあえず"sound"の部分が間違っているのかと思い"sound1,sound2"という風に入力してみました。
+rand_numのnumの部分に数字を入れるのかと思い試してみました。
my_sound.start();の()の部分に何か入れるのかと思って入れてみました。例(0,1)
my_soundというのが間違っているのかと思いファイル名のbgm_0(ファイル名の共通の部分)を入力してみました。
それぞれの組み合わせを確かめました。

結果だめでしたorz どうしたらいいんでしょうか。ご教授お願いいたします。
ちなみに音楽のファイル名はbgm_001・・・。リンケージプロパティの識別子はsound1,sound2・・・です。
448Now_loading...774KB:2005/08/22(月) 00:32:11 ID:TO63zOrx
どうせrand_numを定義してないんだろ
449Now_loading...774KB:2005/08/22(月) 00:41:19 ID:IYwcwSzh
>>448
!!
多分それですorz rand_numの定義してきますです。
448さんどうもありがとうございました&すみませんでしたorz
450Now_loading...774KB:2005/08/22(月) 01:02:15 ID:xEZo6eev
>>449
rand_numの_numは 接尾辞 です。
接尾辞をつけるとAS書くときコードヒントがでたり、
他の人が見ても変数の型がわかり便利です。

例)
var rand_num:Number;
rand_num = Math.floor(Math.random()*10); // 0〜9のランダム数取得

my_soundは変数なので間違えません。
451Now_loading...774KB:2005/08/22(月) 03:21:30 ID:JZm60ilu
>>441
有難う御座います。解決いたしました。
452Now_loading...774KB:2005/08/22(月) 20:20:17 ID:a8SKYmEi
教えて下さい。
フラ職人さんの400km-hのホームページのダイアリーの
スクロールバーってどーやってやるんですか?ASのscrollでやるんですか?
453Now_loading...774KB:2005/08/22(月) 20:42:28 ID:ddBPdus5
はいそうです
454Now_loading...774KB:2005/08/22(月) 21:16:51 ID:h1NV6h4d
教えて下さい……(MX、XP使用)

風船のヒモが電柱に触れるとひっかかった状態の
絵になっているフレームへ飛ばしたいのです。
風船(hb)MCのヒモの部分にBhitareaというMCを入れ、
電柱の画像の上にMhitareaというMCを作りました。
でMhitareaに

onClipEvent (load) {
if(_root.Mhitarea.hitTest(_root.hb.Bhitarea)) {
gotoAndStop(5);
}
}

というASを書きました。
5フレーム目にはStop()のASを書いています。

しかし、動作してくれません…… _| ̄|○、;'.・
どこが悪いのでしょうか?
よろしくお願いいたします。

455Now_loading...774KB:2005/08/22(月) 21:30:37 ID:TO63zOrx
enterframeに
456Now_loading...774KB:2005/08/22(月) 21:42:40 ID:SsNbOsEN
AS2.0でのClass記述方法で質問します。
変数として関数を引き渡す記述についてです。

指定の動作をさせるmotion.asというカスタムクラスを作りました。
動作トリガーはfunction trigger()です。
このClassはリンケージプロパティのAS2.0クラス欄を使ってMCに関連づけています。
そして、ルートタイムラインに記述したスクリプトでそのMCをattachMovie()して、複数個のインスタンスを生成、動作させています。
今の状態ですとインスタンスは全部同時に動き出しますが、これを指定時間置きに次々に動き出すようにするために、時限装置Classを作成、適用しました。

 ●時限装置Class
 class timingDevice {
  var $intervalID:Number;  //interval識別子
  var $clip:MovieClip;  //対象MC

  //コンストラクタ
  function timingDevice( MC:MovieClip , TIMER:Number ) {
   $clip = MC;
   $intervalID = setInterval( this , "timeOut" , TIMER );
  };

  //時限後の動作
  private function timeOut() {
   clearInterval( $intervalID );
(1)   $clip.trigger();
  };
 }

 ●ルートタイムラインでの時限装置Class登録記述。
 var classObj:timingDevice; //時限装置Class
 対象インスタンス[ "classObj" ] = new timingDevice( 対象インスタンス , 待ち時間 );
457Now_loading...774KB:2005/08/22(月) 21:44:41 ID:SsNbOsEN
(続き)
所定の目的はこれで果たしているんですが、timingDeviceに汎用性を持たせたいと考えています。
その際に問題になるのはclass timingDeviceの(1)の部分です。
motion.asとは違うclassをMCに適用し、そのClassの動作トリガーがtrigger()でなかった場合、このclass timingDeviceは使えません。
よって動作トリガーもtimingDeviceのコンストラクタで、外部変数として取り込むようにしたいのですが、その場合、どういう記述をすればよいのでしょう。
とりあえず以下のような記述に変更してみました。

 ●時限装置Classの追加部分
 class timingDevice {
  var $function:String;

  function timingDevice( MC:MovieClip , FUNCTOIN:String , TIMER:Number ) {
   ……
   $function = FUNCTION; 追加部分
   ……
   ……
  }

 ●ルートタイムラインの記述変更部分

 対象インスタンス[ "classObj" ] = new timingDevice( 対象インスタンス , "trigger" , 待ち時間 );

肝心のclass timingDeviceのtimeOut()関数で$functionをどのように記述すればよいのか分かりません。
$clip.$function;、$clip[ $function ];、$clip[ $function+"()" ];などはやはりというか当然というかダメでした。
458Now_loading...774KB:2005/08/22(月) 22:03:27 ID:h1NV6h4d
>>455様ありがとうございます。

load を enterFrameに変更してみましたが
やっぱり、移動しません……orz

風船(hb)をASで風に吹かれてるように動かしているんですが、
それが問題? そんなことはないですよね……
ちなみに以下のASです。(設置したhbではなくライブラリ内のhbに記述)

init();
function init() {
this._alpha = 100;
}
this.onEnterFrame = function() {
this._y -= (1-Math.random());//縦揺れ下降
this._y += (1-Math.random()*1);//縦揺れ上昇
this._x -= 0.8;//流れ(右から左)
if (this._x<-10) {
this._x = 214;
this._y = Math.floor(Math.random()*49)+1;//風船の出現場所
}
};

459Now_loading...774KB:2005/08/22(月) 22:45:48 ID:krKfn4Wd
>>458
そのASは関係ないと思いますが、
ライブラリ内のムービークリップに記述ってなに?

問題のASですがMCにインスタンス名はつけてます?
trace(_root.Mhitarea);
trace(_root.hb.Bhitarea);
で確認してみてください。

460Now_loading...774KB:2005/08/22(月) 22:55:03 ID:Wn//O9+G
MX使用ですが
タイムラインで設定したサウンドの音量を
ASから設定することは可能ですか?
461Now_loading...774KB:2005/08/22(月) 23:00:52 ID:pCDq8p1/
>>457
$clip[ $function]();
で実行されるんじゃない?
462Now_loading...774KB:2005/08/22(月) 23:27:08 ID:x5jXmfY5
>>460 出来る。Sound
463Now_loading...774KB:2005/08/22(月) 23:33:02 ID:ddBPdus5
セットボリュームメソッド
464Now_loading...774KB:2005/08/22(月) 23:59:41 ID:Wn//O9+G
>>462-463
あ・・・サウンドオブジェクトの使い方勘違いしてましたorz
有難うございます
465Now_loading...774KB:2005/08/23(火) 00:27:42 ID:0paO3rqz
>>453
押す長さによってスクロールする値を調整するにはどうすればいいんですか?
400km-hのサイトのは押す長さが長いほど多くスクロールして、
逆に押す長さが少ないほど少ししかスクロールしません。
466Now_loading...774KB:2005/08/23(火) 01:12:59 ID:azoRzlVz
>>465
よく知らんけど、ボタンなり押した時に移動幅をセットして離したときにクリア。
あとは、enterFrameでスクロールさせるようにすれば良いだろ。
467454:2005/08/23(火) 01:54:18 ID:DmxzC7Ip
>>459
ありがとうございます!
traceしたところBhitareaがundifinedとなりました。
これが原因のようです。

なので、自分で理解するために一から衝突判定のMC(Bhitarea)を作り
風船のMC(hb)の中に配置し、
hb内に入れたBhitareaにBhitarea02というインスタンス名を付けました。
その後にtraceで確認してもundifinedとなります。。。

もう一度よーく見てみるとフレームに配置したhbにインスタンス名を
付けていないことに気づき、そこにhb02と名前を付けるとtraceでBhitarea02を確認できました。
電柱側の衝突判定MCにもMhitarea02とインスタンス名を付け、
traceすると表示され、これで完璧!とMhitarea02に以下のASを書きました。

onClipEvent (enterFrame) {
if(_root.Mhitarea02.hitTest(_root.hb2.Bhitarea02)) {
gotoAndStop(5);
}
}

しかしフレーム5に飛ばないorz
くぅぅ どこが間違っていますか?
468Now_loading...774KB:2005/08/23(火) 03:25:07 ID:qKc68QVc
if(_root.Mhitarea02.hitTest(_root.hb02.Bhitarea02)) {
                      ↑
469Now_loading...774KB:2005/08/23(火) 06:02:17 ID:qUyjlXA/
2次元配列への値の代入(ソフトはFlashMX2004ですう)

フレームアクションで dataIdx1 = new Array(); 
として、ボタン内に
 dataIdx1[data_gyou][data_retu] = dataP1;
と定義したとき、例えば[3][3]でdataP1を100とするならば
 trace("dataP1="+dataP1); ←(ボタン内で)
 trace("dataIdx1="+dataIdx1[data_gyou][data_retu]); ←(ボタン内で)
は、(100,100)になるはずですが、これだと(100,undefined)
と表示されます。

原因は何でしょうか?

ちなみに、一次元配列でのこのような代入をしても問題は
ありません。
470Now_loading...774KB:2005/08/23(火) 07:07:20 ID:7UZEirPN
var my_array:Array = new Array();

for(var i=0;i<10;i++){
my_array[i]=new Array();
for(var j=0;j<10;j++){
my_array[i][j]=i+j*100;
}
}

trace(my_array);
trace(my_array[1][1]);
471469:2005/08/23(火) 07:20:04 ID:8gwGIfnC
>>470
Thxです。つまり、厳密に型指定をしろ、ということですか?

あと、trace(my_array); → trace(my_array[1]); では?
472469:2005/08/23(火) 07:41:19 ID:PFVqoZrf
(スミマセン確かめてから返事をすべきでした)

>>470
var dataIdx1:Array = new Array(); ←varをつけないと文法エラーになります
では、  
 trace("dataP1="+dataP1); 
 trace("dataIdx1="+dataIdx1[data_gyou][data_retu]); 
まだ(100,undefined) です。

他の方法はありませんか?
473Now_loading...774KB:2005/08/23(火) 09:50:38 ID:qKc68QVc
ASに2次元配列は存在しない。
配列内に配列を入れるだけだ。
474Now_loading...774KB:2005/08/23(火) 10:48:55 ID:vIb0FY2l
>>469
dataIdx1[なんか1] = new Array();
dataIdx1[なんか2] = new Array();
という作業はどこかでやってるの?
475454:2005/08/23(火) 12:41:51 ID:DmxzC7Ip
>>468
ご指摘ありがとうございます。
眠い状態で書いたので、文章ミスでした。
実際はインスタンス名をhb2としています。
traceで確認できたので……でも、反応しない……orz
476469:2005/08/23(火) 14:47:17 ID:0qL/++If
>>473 ASに2次元配列は存在しない。

  397 381&393 sage 2005/08/15(月) 10:53:09 ID:ixZSp84l
  今、気付いたのですが、ASは2次元配列が不可なのですか?

  398 Now_loading...774KB sage 2005/08/15(月) 12:10:48 ID:3oxzmDGx
  >>397
  可能

ウソを教えられた。。。。


>>474
やっぱ2段に分けないとダメなのですか?
477Now_loading...774KB:2005/08/23(火) 14:58:26 ID:kxJqOHxd
なんですぐ嘘とか教えてもらっていうかなあ・・・。
とりあえず何も言わずに下のコードを実行してからどうぞ。

dataIdx1 = new Array();
dataIdx1[3] = new Array();
dataP1=100;
dataIdx1[3][3] = dataP1;
trace("dataP1="+dataP1);
trace("dataIdx1="+dataIdx1[3][3]);
478Now_loading...774KB:2005/08/23(火) 15:03:16 ID:yBh0uZgY
後に言った人は全て真実で先に言った人は常に嘘になるのか
479470:2005/08/23(火) 15:03:23 ID:7UZEirPN
ソース見て解らなかった?
ASでの配列の実装なんだけどな。
他の言語とか学んだことありますか?
480Now_loading...774KB:2005/08/23(火) 15:08:00 ID:US0JuULd
>>476
そういうクラスがあるわけじゃないが、配列に配列を入れれば多次元配列を実現することはできるってことだろ。
ウソとか軽々しく言うなよ。
481Now_loading...774KB:2005/08/23(火) 15:11:31 ID:kxJqOHxd
>>479
AS2での実装サンプルとしては適切だと思ったけど。
そもそも質問者が2.0で書いてるようには見えないが。

それにしてもあそこまでソース書いてれば大丈夫だと思うんだけどね。
482469:2005/08/23(火) 15:49:01 ID:/DwWhDD4
先ず、軽軽しくウソと言ったことをお詫びします。


>>477
ありがとうございます。でも相変わらずundefinedです。


>>474
dataIdx1[なんか1] = new Array();
dataIdx1[なんか2] = new Array();

これをやるとエラーになりますが。。。。


それと、
ttp://www.gac.jp/article/index.php?stats=question&category=19&id=15488&command=msg
 「1次元目も空なので、2次元目になる配列を追加する必要があります。」
 friendList = [];
 friendList.push([]);
 friendList[0][0] = "abc";

を参考にして
 dataIdx1 = new Array();
 dataIdx1.push([]);
では、1行目の[0][0]〜[0][7]はOKですが、2行目以降([1][0]〜)は不可でした。


>>470
もう一度この方法でやってみます。
483470:2005/08/23(火) 15:56:12 ID:7UZEirPN
>>482
ソースが解らなかったら、そういってくれ。
そうすればみんなも解説するレベルがわかるから。
484469&482:2005/08/23(火) 16:58:54 ID:AgjYhPM2
470さんの方法で再チェックしたところ、配列の変数に間違い
があり、これを正して成功しました。(お騒がせしました)

ASの2次元配列って、配列の入れ子なんですね。
485Now_loading...774KB:2005/08/23(火) 17:24:45 ID:XOW5648G
>>483
ほかの言語でもそうなんじゃないのか
486Now_loading...774KB:2005/08/23(火) 17:31:19 ID:kxJqOHxd
やっぱりAS1.0の本か何かを見ながらAS2.0モードでスクリプト書いてる気がする。
487Now_loading...774KB:2005/08/23(火) 18:36:59 ID:vIb0FY2l

 ヽ(・ω・)/   ズコー
\(.\ ノ
488Now_loading...774KB:2005/08/23(火) 18:59:49 ID:sEJUMgq2
489Now_loading...774KB:2005/08/23(火) 19:48:53 ID:+xY2C8Y4
なんかあれだ
はたからみてると、理解してないのをひた隠しにしてるようにしかみえなくてワラタ
そもそも最小構成でテストとかしてないっぽいし
490456-7:2005/08/23(火) 20:10:01 ID:c/4u3GIT
>>461さんありがとうございました。動きました。
MovieClip[ String ]();という記述方法があるとは。
また一つ知恵がつきました。ありがとうございました。
491Now_loading...774KB:2005/08/23(火) 21:44:54 ID:PYUaMcra BE:603661199-
最近Flashを触り始めたんですが
インスタンスのシンボルの入れ替えをActionScriptでランダムに
出来るようにしたいのですが、そういうことは不可能なんでしょうか
492Now_loading...774KB:2005/08/23(火) 21:58:46 ID:TJ2NrAJa
>>491
できる。
ヘルプのMovieClip.attachMovieをよく見るよろし。
493Now_loading...774KB:2005/08/24(水) 01:48:11 ID:DJr1U00P
>>492
ありがとうございます。
FlashLiteで使用するので出来るか分かりませんが
一応探して試してみます
494Now_loading...774KB:2005/08/24(水) 01:48:11 ID:Rag0+Jf7
すみません質問です。
ムービークリックのプロパティで
深度を調べることってできないんでしょうか?

_depthみたいなのがあったような気がしたんですけど・・・
495Now_loading...774KB:2005/08/24(水) 02:03:18 ID:XGSsLH/b
メソッドだな。getDepth
496Now_loading...774KB:2005/08/24(水) 02:09:14 ID:Rag0+Jf7
>>495
こんな時間に即レスありがとうございます。
そうか、getか。・・・ずっと悩んでましたw
497Now_loading...774KB:2005/08/24(水) 15:41:03 ID:BKc20Lrn
使用ソフト:FlashMX

MCの何フレーム目を表示しているかを取得して
変数に入れたいのですがどうしたらよいでしょうか。
すべてのフレームに変数++ではちょっときついですし、
prevFrameで戻ると数値があわなくなってしまいます。
いい方法を教えて下さい。
498Now_loading...774KB:2005/08/24(水) 15:42:21 ID:LD7/3Hmx
currentframe
499Now_loading...774KB:2005/08/24(水) 15:59:25 ID:BKc20Lrn
>>498
素早いレス感謝です。
ありがとうございました。
500Now_loading...774KB:2005/08/24(水) 21:35:13 ID:pHjNckz8
例えばビリヤードの玉のような、同じような物同士の衝突判定は、
やっぱインスタンス総当たりしか方法はないんですかね。
10個くらいならともかく100個、200個と増えてくると
パフォーマンスにも響いてきそうなんですが。
501Now_loading...774KB:2005/08/24(水) 22:20:40 ID:yPlgZ5eG
http://www.javac.jp/flash/flashlab/graph/
↑このサイトで勉強させてもらってます。

しかしこのサイト、どうもイベントリスナの概念が混乱します。
上のサイトでは、以下のようなコードが頻出します。

listener = new Object();
EventDispatcher.initialize(listener);
listener.hoge = function (){
  trace("hoge");
};
listener.addEventListener("hoge", this);

ここで listener と宣言されているオブジェクトはリスナではなく
ObservableというかSubjectというか、状態が変化する側であり
イベントリスナにあたるのは上の例では this ではないでしょうか?
502Now_loading...774KB:2005/08/24(水) 23:00:13 ID:53C6K+6N
>>501
なんかぐちゃぐちゃになってるけど
thisはリスナーオブジェクト、listenerはEventDispatcherクラスだから
リスナーそのものではなく、Dispatchするためのもの。
だからそういう意味ではその通りだけど、わかりやすいようにlistnerとしてるんでしょ。
多いのはloってすることが多いと思うけど。
503Now_loading...774KB:2005/08/24(水) 23:54:20 ID:yPlgZ5eG
>>502
変数名を listener とすると分かりやすいですかね?
Teacher クラスのインスタンスを student にするくらい分かりづらいと思いました。
504Now_loading...774KB:2005/08/25(木) 00:28:09 ID:qLZbG62j
2004MX使っています。
メソッドを変数付きで参照することは可能ですか?
例えば method123(Object); で参照可能なメソッドを
    method+"変数(=123)"(Object);のように変数を組み合わせて参照したいんです。

    a=123;
    method+a(Object);
でやってみましたがダメでした・・・
505Now_loading...774KB:2005/08/25(木) 00:39:58 ID:5XWIcNGs
↓よくわからんけど、こういうこと?

function method123(o) {
trace(o);
}
a = 123;
param = "hoge";
this["method"+a].call(this, param);

//出力:hoge
506505:2005/08/25(木) 00:41:25 ID:5XWIcNGs
↓これでもいい

this["method"+a](param);
507Now_loading...774KB:2005/08/25(木) 00:48:07 ID:qLZbG62j
>>505
出来ました!
説明が分かりにくかったにもかかわらずありがとうございました。
508Now_loading...774KB:2005/08/25(木) 07:17:43 ID:gLlG1MmV
>>503
今朝になって改めて>>501のソース、とんでもないなと思って
そのサイト見に行ったんだけど、勘違いしてない?
俺もぼーっと回答しちゃったけど。

>listener.addEventListener("hoge", this);
この行が勘違いでしょ。
targetMc.addEventListener("hoge",this);
みたいなサンプルになってる。

で、このサンプルで誤解したのはおそらく、
targetMC.onPressでlistnerを設定するようにしているからでしょ。
509Now_loading...774KB:2005/08/25(木) 16:52:06 ID:E2mPw4pY
FLASHMXを使っていて質問です。

this.onMouseDown = this.aaa;
function aaa(){
   trace("hoge");
}

のように、フレーム内にマウスのクリックに対応する
関数を作った場合には反応するんですが

this.onKeyDown = this.aaa;
function aaa(){
   trace("hoge");
}

のように、キーに反応するように変更した場合
起動しなくなるんですが、どこが間違っているんでしょうか?
510Now_loading...774KB:2005/08/25(木) 17:57:12 ID:71yHXyML
>>509
MX2004のヘルプから引用

onKeyDown イベントハンドラを実行するには、ムービークリップに
フォーカスがあることが必要です。 次の ActionScript を追加して入力
フォーカスを設定します。
this.tabEnabled = true;
this.focusEnabled = true;
Selection.setFocus(this);

これやれば動く。
ただ、_rootではうまくいかないな。詳しい人フォロー頼む。
どういうことやりたいのかわからんが、onKeyDownを使うのはあんまり
向いてないんじゃないか?
511Now_loading...774KB:2005/08/25(木) 18:05:51 ID:LBBQB6A1
ヘルプの「Key.onKeyDown」の項目にそのまんまコピペして使える例文が出てるよ。
512509:2005/08/25(木) 18:51:36 ID:E2mPw4pY
>>510
やろうとしていたのは、キー入力に反応するタイピングゲームのようなものです。
普段は各ムービークリップ内などに、スクリプトを書いていたんですが
バラバラになって見難いと思い、今回フレーム上で全部の動作を
操作しようかなとチャレンジしてました。

>>511
ありがとうございます。
そのページを参考に

this.onKeyDown = this.aaa;
Key.addListener(this);
function aaa(){
trace("agege");
}

としたら、反応しました。
Key.addListener(this);
が、カギみたいですがよく理解できてません・・・・
513Now_loading...774KB:2005/08/25(木) 20:23:49 ID:LBBQB6A1
>>512
Key.addListener()以外にも、○○.addListener()があるから
いくつか見れば、分かるかもよ。
クラスで検索して、Key クラス、とか○○ クラス、ってのが出てくるから、
その中を見る。するとその中に他の○○.addListener()があって、
簡単な説明がのってるよ。
514Now_loading...774KB:2005/08/25(木) 22:42:15 ID:49Qk1G4s
>>508
確認してくださってありがとうございます。
そのサイトのEventDispatcherの解説のところでは targetMC になってますが、
それ他の色々なところで hogeListener.addListener() というような
コードが出てくるのですよ。↓このへんとか。
http://www.javac.jp/flash/flashlab/graph/pageA_2.html
http://www.javac.jp/flash/flashlab/graph/pageA_3.html
http://www.javac.jp/flash/flashlab/graph/pageA_5.html

"Listener.addEventListener"で検索すると見つかります。

でもそのサイトの方がおかしそうだ、ということで納得できそうです。
どうもありがとうございました。
515Now_loading...774KB:2005/08/25(木) 23:08:41 ID:kK4paa0b
糞サイトは潰しとけ
516Now_loading...774KB:2005/08/25(木) 23:11:27 ID:8XJ75NNN
糞は黙っとけ
517Now_loading...774KB:2005/08/25(木) 23:30:37 ID:kK4paa0b
>>452にも似たような奴がいるけど、
>>501なんて「thisじゃないですか?」なんて自分で最初から答えが
分かっているのに質問してるワザとらしさ。
URL貼って宣伝するためだけのダミーの書き込み。

しかも、そのあとは、一生懸命に自己レスですか?
バレバレなんだから、そんな恥ずかしいことは止めた方が良いですよ。
やたらレスにサイト名を入れるとか、ムダにURLを貼るとかネ。

糞サイトの管理者さん。
518Now_loading...774KB:2005/08/25(木) 23:31:31 ID:j32MfZ0H
変数名が分かりづらいからおかしいとか
519Now_loading...774KB:2005/08/26(金) 03:54:34 ID:vNSGmtBL
ソフトはFlashMX2004です

ダブルクオーテーション「 " 」を文字列として扱う場合にはどう書けば
いいでしょうか? 例えば、txt.charAt(""")と書くと、その後のASの文字が
全部青色になります。
520Now_loading...774KB:2005/08/26(金) 04:50:06 ID:5EvEHHbs
例えば、例えのような、そんな場面あるんですか?
521Now_loading...774KB:2005/08/26(金) 04:53:56 ID:TlsfCNa7
メソッドのオーバーライドについて(FlashMX2004)

メソッドをオーバーライドすることにより、連続で異なる変数(パラメーター)
での結果を得ようとしています。下は、pのidが0〜3まで変化することにより
kazu 0,kazu 1,・・・・ を出力しようとしたものですが、全てundefindになり
ます。

on (press) { //ボタンアクション
p0.kazu = "kazu 0";
p1.kazu = "kazu 1";
p2.kazu = "kazu 2";
p3.kazu = "kazu 3";
function kazuSelect() {
}
for (id=0; id<4; id++) { //idによる繰り返し
this["p"+id] = new kazuSelect();
kazuSelect.prototype.kazu = this["p"+id].kazu;
trace(kazuSelect.prototype.kazu);
}
trace("------"); //ただの区切りです。
}

どう改善すべきでしょうか?
522519:2005/08/26(金) 05:39:18 ID:aIXrCzSa
(スミマセン。メソッドを間違えたので再質問します)

ダブルクオーテーション「 " 」を文字列として扱う場合にはどう書けば
いいでしょうか? 例えば、txt.indexOf(""") と書くと、その後のASの
文字が 全部青色になります。

※charAt() じゃなく、indexOf()でした


>>520
元の質問(519)のような例は無いですよね。
523Now_loading...774KB:2005/08/26(金) 05:53:04 ID:MW9HNJ78
trace("\"");
trace('"');
524Now_loading...774KB:2005/08/26(金) 05:58:04 ID:MW9HNJ78
>>521
関数とクラスについて勉強する。
525Now_loading...774KB:2005/08/26(金) 06:38:19 ID:5EvEHHbs
>>522
indexOf("\"");
で行けると思ったが無理だったので、
indexOf('"');

indexOf(unescape("%22"));
526519:2005/08/26(金) 07:49:07 ID:z9C/w7Be
>>523, 525
ありがとうございます。


投稿後、文字コードを使う方法を思いつき、FlashPlayer6以上の使用
を前提に、馬場ぎんがさんの本で「"」のUnicodeを調べたところ「0022」
でした。

ところが、0022でエラーだったのでcharCodeAt()で調べると 34 でした。
indexOf('"'); か indexOf(unescape("%22")); を使いたいと思いますが、
(後学のため)charCodeAt()で34のものが何故「%22」になるのでしょうか?
527Now_loading...774KB:2005/08/26(金) 08:29:31 ID:5EvEHHbs
>>526
文字コードでは34にしましょう。
URLエンコードすると、%22にしましょう。
って誰かが決めたからそうなってる。
全然別ものだからあまり不思議ではないんじゃない?
528521:2005/08/26(金) 08:31:32 ID:+aBWp9WX
>>524
これは、大まかには
class kazuClass{
function kazuSelect() {
trace(kazuSelect.prototype.kazu);
}
}
といったクラスを作って、for文内で関数kazuSelect()を
呼び出すという流れでいいでしょうか?
529Now_loading...774KB:2005/08/26(金) 08:38:40 ID:5EvEHHbs
>>526
indexOf(""")
↑ごめん、これでできる。「\」円記号だとだめだったけど、
「」バックスラッシュで。キーボードででないから、文字パレットで
入れなきゃダメみたい。
530Now_loading...774KB:2005/08/26(金) 09:34:07 ID:/xgUmF+M
0022は16進数で、10進数に直すと34。
531Now_loading...774KB:2005/08/26(金) 13:06:02 ID:Au+t1VFp
こんどはせっせとID変えて>>517のログ流しか。
1人で何やってるんでしょね。このヴぁかは。
532Now_loading...774KB:2005/08/26(金) 13:40:10 ID:mPq9E677
MC(子)のなかにあるボタンを押すと親階層にある別のMC(子)のなかのラベルに飛ぶという風にしたいのですが。
actionscriptの記述がいまいちわかりません。
どうか教えてやってください。
533Now_loading...774KB:2005/08/26(金) 13:55:10 ID:gNCdZAD8
ターゲットパスを挿入ボタンでパス確認してgotoAndStop(ラベル名)でいいんじゃね?
534スルスル:2005/08/26(金) 14:03:58 ID:goNk1Vp1
この2ちゃんねるの入り口のボタンを押すとスルスル横線が
出るあのやり方を、どなたか教えていただけませんか?
535Now_loading...774KB:2005/08/26(金) 14:08:13 ID:oIjbm1hI
>>534
スレ違い



パラパラマンガ描く
536Now_loading...774KB:2005/08/26(金) 14:34:28 ID:WS6p+PhR
何故2chのtopでbombの宣伝をするのだろう
537532:2005/08/26(金) 15:32:40 ID:mPq9E677
>>533
それはそうなんですがroot上にはさらにラベルがあって
飛びたい
MCは同じラベル内にはないのでまずはroot上でラベル移動した上で
さらにそこに置いてあるMCの中のラベルに飛ぶ…
という風にしたいんです
すいませんやり方がちょっとわかりません
538Now_loading...774KB:2005/08/26(金) 15:54:16 ID:gNCdZAD8
じゃあワンテンポずらして移動させればいいんじゃね?

_root.gotoAndStop(_rootで移動したいラベル名)
var m = _root.createEmptyMovieClip("agentMC",0721)
m.onEnterFrame=function(){_root.フレーム移動したいMC.gotoAndStop(MC内のラベル名);removeMovieClip(this);}

それかどっかにフラグ用の変数作って、移動先のMCのonLoadで判定して移動とか。
あとはいろいろ試してみて。
539Now_loading...774KB:2005/08/27(土) 20:35:50 ID:vFC4JQ6k
文字列の置換(特定の文字列の消去) FlashMX2004使用

おおもとのテキストから
 txt_sub = txt1.substring(p1, p2);

で抜き出したtxt_subが下のようになったとき
 Alpha -- -18.61934 -18.61775 -9.90678 -1.03157 -1.00392
 Alpha -- -0.43660 -0.42485 -0.42485 -0.40002 -0.27514
 Alpha -- -0.27514
 Beta -- 0.02065 0.02065 0.08522 0.49889 0.61597
 Beta -- 0.61597 0.80850 0.98583 1.31915 1.31915

この中から、「Alpha --」を1文字のスペースに変えるため、
フレームアクションで rep=new Array(); として
 rep = txt_sub.split("Alpha --");
 txt_sub = rep.join(" ");
 trace("Del / txt1_sub= "+txt_sub);

と書きましたが、出力は
-0.27514
 Beta -- 0.02065 0.02065 0.08522 0.49889 0.61597
 Beta -- 0.61597 0.80850 0.98583 1.31915 1.31915

1文字のスペースに変わらず、「Alpha --」で囲まれた部分が
消えてしまいました。 どうすればいいでしょうか? 
540539:2005/08/27(土) 20:38:16 ID:vFC4JQ6k
スミマセン。
上はボタンアクションで、正しくは

on(press){
 rep = txt_sub.split("Alpha --");
 txt_sub = rep.join(" ");
 trace("Del / txt1_sub= "+txt_sub);
}

です。
541Now_loading...774KB:2005/08/28(日) 00:36:17 ID:7lF6B9CD
>>540
× rep = txt_sub.split("Alpha --");
〇 rep = txt_sub.split(" --");
542539:2005/08/28(日) 09:58:42 ID:Kz+0nmu3
>>541
ありがとうございます。しかし、この方法ではうまくいかず、
別の同様のボタンアクションで最初の539を書いたところ、
うまくいきました。
原因は分かりませんが、どうやらその前の処理に問題
があるようです。
543Now_loading...774KB:2005/08/28(日) 15:50:13 ID:PEyR6kxV
こんにちは。
手持ちの資料では進めなくなってしまったので質問させていただきます。

this.onMouseMove = function (){
 mouseX =Math.round (_root._xmouse);
○○○._x = mouseX;
};

とアクションフレームに記述し、
マウスに反応して、「○○○」というMCが左右にのみスライドするように作りました。
左右にスライドするまでは問題ないのですが、スライドする幅を指定するにはどうしたらいいのでしょうか?

このままだと、画面の端から端まで着いて来てしまうので、困っています。
・マウスの座標を受け取ってもA地点までしか進まない
と言うものになると思うのですが、ASの知識が乏しくうまく行きません。
どうか、ご助力願います。
544Now_loading...774KB:2005/08/28(日) 16:01:15 ID:zi9/Rfpl
>>543
this.onMouseMove = function (){
 mouseX = Math.round (_root._xmouse);

 if(mouseX<0) mouseX = 0;
 else if(mouseX>100) mouseX = 100;

 ○○○._x = mouseX;
};

これで0から100までに制限できる
545543:2005/08/28(日) 16:09:22 ID:PEyR6kxV
>>544
こんなに早く回答をもらえると思っていませんでした。
ありがとうございます。

早速、実践して見ます。
546Now_loading...774KB:2005/08/28(日) 21:38:10 ID:yP7gZOPW
キー操作によりMCを動かすASの質問です(FlashMX2004)

名前がballのMCを↓↑キーで動かし、「*」キーと同時に押せば
3倍の速さで動かそうとしていますが、速くなりません。
(下は上方向のAS)

onClipEvent (keyDown) {
OSI = ""; //メッセージの変数
if (Key.isDown(Key.UP)) {
OSI = "UP";
_root.ball._y -= 2;
} else if (Key.isDown(Key.UP) && Key.getCode() == 106) { //「*」は106
OSI = "UP*3";
_root.ball._y -= 6;
}
_root.msg = OSI;
}

どこを変えればいいでしょうか?
547546:2005/08/28(日) 21:55:45 ID:2EXqN+ru
上は、
 else if (Key.isDown(Key.UP) == true && Key.getCode(106) == true) {
としてもダメでした。
548Now_loading...774KB:2005/08/28(日) 21:58:21 ID:wxu0VTat
Key.isDown(Key.UP)のifでelseの場合に
Key.isDown(Key.UP) && ・・・ が成立するワケない辺り
549Now_loading...774KB:2005/08/28(日) 22:01:52 ID:zi9/Rfpl
>>546
どうしてgetCode()使うの?

onClipEvent (keyDown) {
OSI = "";
if (Key.isDown(Key.UP)) {
if (Key.isDown(106)) {
OSI = "UP*3";
_root.ball._y -= 6;
} else {
OSI = "UP";
_root.ball._y -= 2;
}
}
_root.msg = OSI;
}
550546:2005/08/28(日) 23:44:33 ID:Vbpa3n+g
>>549
Thxです。上でOKでした。
551Now_loading...774KB:2005/08/29(月) 02:31:04 ID:hlYc6rEj
>>543
直接は関係無いが、
myMovieClip.startDrag([lock, [left, top, right, bottom]])

というメソッドもチェックしておくと後学の役にたつかもしれん
552Now_loading...774KB:2005/08/29(月) 03:31:02 ID:KuMXB7O3
MCによるTextFieldのアクティブ化(FlashMX2004を使用)

TextField(インスタンス:txt1_ins,変数:txt1)と、MC(インスタンス名:mark)
があったときに、hitTest()でMCがTextFieldに当たったとき、TextFieldが
アクティブ化され、ここへの入力が可能になるようにするにはどのような方法
が考えられるでしょうか?

つまり、markをマウスのポインタ代わりに用いて、本来のポインタは別に存在し、
この一連の動きには全く関与しないようにしています。

私の方では、addListenerを使ったアクティブ化を試みましたが反応がありませ
んでした。(下はそのAS。フレームアクションに記述。)

 txtL = new Object(); //リスナーオブジェクトの定義
 if (mark.hitTest(txt1_ins) == true) {
  trace("Hit");
 }
 txt1_ins.addListener(txtL);
 if (mark.hitTest(txt1_ins) == false) {
  trace("no Hit");
  txt1_ins.removeListener(txtL);
  delete txtL;
 }
};

アドバイスを願います。
553Now_loading...774KB:2005/08/29(月) 11:04:47 ID:tXDSpBx5
554Now_loading...774KB:2005/08/29(月) 11:21:04 ID:pllcuuR0
>>552
MCとテキストフィールドがhitしたときに処理を行えば良いのでは?
555Now_loading...774KB:2005/08/29(月) 18:51:16 ID:FaKMiOJ0
初歩的な質問ですいません。
シーン&MCの移動で苦戦してます。
MC内から他のシーンへの移動は
_root.gotoAndPlay("Scene3");
で出来たのですが、
MC内から他のシーン内のMCの途中にあるラベルへの移動で
アウションの指定方法に苦戦してます。
カッコ内にシーンとラベル指定してみたり(エラー出ました)とか
色々試してるのですが、判りません。
色んなサイトを見ましたが、指定方法が想像できません。
どなたか回答宜しくお願いします。
556Now_loading...774KB:2005/08/29(月) 21:24:46 ID:vzmTCPGZ
>>555
シーンを分けずに作りましょう。
または、MCでシーンを代用しましょう。

Flashの基本中の基本:「AS使うならシーンを分けるな」
557552:2005/08/29(月) 22:21:20 ID:0aovYlQ9
>>553
ありがとうございます。setFocuで成功しました。
558Now_loading...774KB:2005/08/30(火) 00:51:11 ID:Zbi1EIiV
class hogeClass {
var name:String;
function hogeClass(){
this.name = "AAAA";
}
}
クラスを複数格納する配列ってArray()でようのですか
559Now_loading...774KB:2005/08/30(火) 01:32:57 ID:MxYufRbd
楽しい○○系のフラッシュでよく使われてる、文を読み上げてくれるソフトがほしいです…
560Now_loading...774KB:2005/08/30(火) 01:36:13 ID:MxYufRbd
すいません誤爆_| ̄|○
561505:2005/08/30(火) 02:51:33 ID:hlKylvVl
>>558
>クラスを複数格納する配列ってArray()でようのですか

クラスを複数格納する?
そんなことできるの?
変数とかインスタンスじゃなくて?

質問の意味はよくわかりませんが、
答えは多分new Array()で合ってるような気がします。
562Now_loading...774KB:2005/08/30(火) 04:04:27 ID:VPD8Je7W
ムービークリップが1フレームごとに1.05倍づつ等加速運動する関数kasokumoveを作りたいのですが、動かしたいムービークリップに

onClipEvent(load){
function kasokumove(){
dx = 1;
dx *= 1.05;
_x += dx;
}}
onClipEvent(enterFrame) kasokumove();

と記述しても毎フレームdxが1になる様で 速さ1.05の等速運動しかしません。

onClipEvent(load){
dx=1;
function kasokumove(dx){
dx *= 1.05;
_x += dx;
}}
onClipEvent(enterFrame)kasokumove(dx);

等と変えてみましたが無意味でした。何か良い方法は無いでしょうか?
なお使用ソフトはMXです。
563Now_loading...774KB:2005/08/30(火) 06:22:52 ID:AuEH7fyQ
onClipEvent(load){
dx = 1;
function kasokumove(){
dx *= 1.05;
_x += dx;
}
}
onClipEvent(enterFrame){
kasokumove();
}
564558:2005/08/30(火) 08:20:01 ID:Zbi1EIiV
すいません、クラスではなくインスタンスです。
class hogeClass {
var name:String;
function hogeClass(){
this.name = "AAAA";
}
}
var myclass:hogeClass = new hogeClass();
インスタンスの参照を変数にいれる場合は上記のように型を指定して入れるじゃないですか。
(AS2.0だと)
上記のクラスのインスタンスを配列に入れる場合は下記でよいのですか?
var myclassArrey:Array = new Array();
myclassArrey[0] = new hogeClass();
myclassArrey[1] = new hogeClass();

質問
myclassArrey[0] = new hogeClass();
この時点でArrey型にhogeClassのインスタンスの参照を代入してるけど・・

var myclass:hogeClass = new hogeClass();
変数の時のように同じ型に代入しなくてもよろしいのでしょうか?
565Now_loading...774KB:2005/08/30(火) 08:52:03 ID:AuEH7fyQ
>>564
何で型指定しないと変数に入れられないの?
myclass=new hogeClass();
はエラーになるのかな。
566555:2005/08/30(火) 11:47:38 ID:ZWJonUSB
>556
MCはシーン上にないと使えないとどっかで聞いたので、
移動が必要な分シーンも必要なのかと思ったのですが…。
シーンが1つだと重ねて配置する訳にもいかないので。

シーン上にMCがなくても移動できますか?
_root.gotoAndPlay("Scene3_icyou");
でラベル指定しても移動してくれません。
567Now_loading...774KB:2005/08/30(火) 12:17:04 ID:iShFmXsA
>>566
シーンを使わなければ全てシーン1の上に乗るのだが。。。
568Now_loading...774KB:2005/08/30(火) 12:24:30 ID:AuEH7fyQ
>>566
シーンは1つで、レイヤーを使えば問題ないのでは?
ちなみに、gotoAndPlay()はルートタイムラインでのみ使用可能。
MC.gotoAndPlay()とは違うよ。
ヘルプのActionScripリファレンスガイドを読んで見ればいいよ。
569Now_loading...774KB:2005/08/30(火) 12:30:08 ID:zOgJonWo
>>566
>MCはシーン上にないと使えないとどっかで聞いたので、

MCはライブラリ内に作っておくだけで
はなくそのMCを配置しろってことでしょ。
570555:2005/08/30(火) 13:09:25 ID:ZWJonUSB
1つのシーンにレイヤーを分けて、空白キーフレームで配置場所も分けて
全部のMCを配置しましたが、始めのボタン移動すらいかなくなりました。
on (release) {
_parent.GR.gotoAndPlay("GR_01");

}
(GRはインスタンス名、GR_01はMC内のラベル名)
他所のサイトや掲示板を見ても、移動はこれか_parentが_rootに
なったりとか位しかなかったのですが、全然違いますか?
571Now_loading...774KB:2005/08/30(火) 13:24:02 ID:AuEH7fyQ
ソースが書かれているMCの親階層にある、GRというインスタンス名を持つ
MCをGR_01というラベルから開始する。
これで合ってますか?
572555:2005/08/30(火) 13:35:10 ID:ZWJonUSB
シーン上にあるGRというインスタンス名のMCのGR_01というラベルへの移動です。
こういったラベル移動を5回繰り返したいのです。
573555:2005/08/30(火) 13:38:15 ID:ZWJonUSB
あ、ラベル内からの移動が多いのですが、
シーン上からとはまた表示が違ってきますか?
574Now_loading...774KB:2005/08/30(火) 13:41:24 ID:AuEH7fyQ
>>572
メインのタイムラインの移動と混同してますね。
メインのタイムラインなら_rootとか_parentで指定すればいいと思うよ。
_parent.gotoAndPlay("GR_01");
とか。
575555:2005/08/30(火) 14:03:15 ID:ZWJonUSB
on (release) {
_parent.gotoAndPlay("GR_01");

}
でやってみましたが、飛びませんでした。
MCの配置か何かが間違ってるのでしょうか?
576Now_loading...774KB:2005/08/30(火) 15:00:15 ID:iShFmXsA
どうしてわからないのかな
flaうpしてよ
577555:2005/08/30(火) 16:51:23 ID:ZWJonUSB
on (release) {
gotoAndPlay("GR_01");

}
でシーンからMCに飛べました。
でもMC内から他のMCに飛べないでいます。
混乱します。
578Now_loading...774KB:2005/08/30(火) 17:05:05 ID:TqE7+xtH
>>577
なんつーか、AS以前に名称とかターゲットとかアクションの種類とか
おさらいしたほうがいんでない?
基本を知らないで、ちょっとずつ別の情報ひろったって理解遅くなるし
教えるほうも混乱するだけのような。
このへんとか読んでみたらどうだろ。
ttp://homepage3.nifty.com/ginga-b/
ttp://www.geocities.jp/myflashsouko/flash/index.html
579Now_loading...774KB:2005/08/30(火) 17:20:39 ID:n/NbBIRw
>>577
っていうかシーン分けして製作とか一番やってはいけない最悪パターンの典型。
個々の問題をここで解決してもまた繰り返すだけ。最初から作り直せ。
580Now_loading...774KB:2005/08/30(火) 17:27:20 ID:p7U0o5Z1
別にシーン分けること自体は罪ではないが・・・
581555:2005/08/30(火) 17:47:13 ID:ZWJonUSB
両方とも何度も見たことあるサイトです…。
シーンを沢山使うよりも、MCだけの移動がいいと上に書いてあったので、
シーンを全部消してシーン1つに他MC数個という形に変えたのですが。
なんだか余計に混乱してハマってしまったようです。
582Now_loading...774KB:2005/08/30(火) 18:15:17 ID:GaazX6s4
まず根本的に、Flashの基本的な構造を理解するのが先っぽいなー
そのへんをパスを交えつつ理解してないで色々やろうとすると混乱する一方かと

_root.MC.myFunction();
this._parent.MC.myFunction();

とか意味わかる?
583Now_loading...774KB:2005/08/30(火) 18:50:13 ID:MOQJ7HjO
>>581
まず、メインタイムライン以外からシーンへの移動はできないよ。
MCだけの移動がいいというより、MCが絡んでくると
シーンへの移動はそもそもできないことが多い。
だから、シーンへ移動するという考えは捨てる。
上記のサイトを何度も見て、かつ読んでいれば、わかっていると思うのだが
系統立てて理解できてるかい?

MCから移動できるのはラベルだけ。
だから、移動したいフレームにラベルをつける。
そのラベルをシーンのように考える。
移動したい先が配置したMCのなかのラベルなら、MCまでのターゲットパスを
正しく書いて、gotoAndPlay("ラベル")をすればいいだけだ。
ターゲットパスがわからなかったら、あらためて上記のサイトや本で勉強する。
584Now_loading...774KB:2005/08/30(火) 19:39:38 ID:Y/i4mq7Y
すいません。初歩的なミスだと思うのですが、始めたばかりなのでそのミスに気づけないようですorz

hoge.swf?name=taroならフレームラベルtaro
hoge.swf?name=jiroならフレームラベルjiro
hoge.swf?name=taroとjiro以外はフレームラベルnotに飛ばしたいのですが、よくわかりませんorz
一応、自分が試したのは
1フレーム目に
if (name == undefined) {
gotoAndPlay("not");
} else if (name == taro) {
gotoAndPlay("taro");
} else if (name == jiro) {
gotoAndPlay("jiro");
} else {
gotoAndPlay("not");
}
です。
誰か教えてくださいorz
585Now_loading...774KB:2005/08/30(火) 19:42:56 ID:p7U0o5Z1
とりあえず
name == "taro" な。
586Now_loading...774KB:2005/08/30(火) 19:49:48 ID:Y/i4mq7Y
>>585
おお、ちゃんと作動しました!
ありがとうございました。

本当に初歩的なミスだ..
勉強してきますorz
587Now_loading...774KB:2005/08/31(水) 12:55:57 ID:g3xu6f9n
質問させていただきます。

ボタンがroolOverした時にボタンの座標を、MCに与え。
そのMCがボタンの位置まで移動すると言うアクションに詰まっています。
現在、
on (rollOver) {
_root.○○._x =50;
}
で、ボタンの座標をMC「○○」に与えて一瞬で移動させていますが、
ゆっくりと「移動している事」を見せるためにはどうしたらいいでしょうか?
(今回はXのみの移動のためY方向は省いてあり、ボタンが子に当たります)

トゥーインでは、複数(多い場合)のボタン間の移動が指定できないため
ActionScriptで考えています。

マウス自身に合わせてMCを動かすことはできますが、
ボタンをポイントした時に、表現が曖昧ですが「きっちり重ねる」事ができません。
併用した場合、ボタンが隣同士に並んでいると一瞬の移動のみが発動してしまいます。

説明が長すぎましたが、一言だと
「マウスについて動くMCを、ボタン上にきっちり止める」になります。

わかり難いかもしれませんが、よろしくお願いします。
588Now_loading...774KB:2005/08/31(水) 13:22:45 ID:zRXrEbti
>>587
http://hakuhin.hp.infoseek.co.jp/main/as/mouse.html#MOUSE_06
これのマウスの座標をボタンの座標に読み替えてやれば。
589Now_loading...774KB:2005/08/31(水) 13:30:36 ID:EVwKNt3u
すみません、質問いたします。
サムネイル画像を横一列に並べたmovieclipを
ワープコマンダー風に移動(スクロール)させたいんです。
左右ボタンを押すと一定距離movieclipを移動(イージングあり)

以下のスクリプトだと、移動距離を割り当てた
複数ボタンになるのですが、
私は、左右の一対のボタン編成でやりたいのです。

検索でも過去ログでもうまく引っかからないので…
お願い致します。
----------movieclip----
onClipEvent (enterFrame) {
this._x = (this._x+a)/2;
}
---------------
-----botton-----
on (press) {
_root.all.a = -630; //←各ボタンに移動数値を入れる
}
----------------
(これだと、複数ボタン必要になります。)
590Now_loading...774KB:2005/08/31(水) 13:31:29 ID:2NSHK8W7
>>587
on(rollOver){
_root.hoge._x+=(this._x-_root.hoge._x)/10;//最後の数字が大きいほど、ゆるやかに移動。
}
591Now_loading...774KB:2005/08/31(水) 14:08:02 ID:g3xu6f9n
>>588
>>590

素早い解答、ありがとうございます。

しかし、自分の理解力、応用力が足りないのか、両方とも理想とした動きをしてくれませんでした。

>>590の方では「これなら」と思う感触はあるのですが、単独ではピクピクっと一定方向にしか動かず。
自分で手を加えると、ボタン上で止まってくれないので、
もう少し、考えて見ます。
592Now_loading...774KB:2005/08/31(水) 14:08:12 ID:QIoc454p
現在ウェブ制作する上でASを可能な限りフレームにまとめる勉強しています。

juwelry.onEnterFrame = function () {
_x += ((_root.juwelry - _x) / 5);
}
ring.onRollOver = function () {
juwelry = 200;
}

とし、BT-ringにマウスをのせるとMC-juwelyが移動するという仕組みを実現したいのですが動作しません。

MC-juwelryに

onClipEvent (enterFrame) {
_x += ((_root.juwelry - _x) / 5);
}

と書けば動きはするのですが、フレームでの完全制御は不可能でしょうか?
同様にフレームアクションからMCの_alpha操作もできません。
593Now_loading...774KB:2005/08/31(水) 14:31:47 ID:FTctc3xG
それ以前にjuwelryと言う名前が被ってる。
どっちもオブジェクトなんだからMCのjuwelyというものを
操作するための変数名を同じにしちゃダメ。
594Now_loading...774KB:2005/08/31(水) 14:43:30 ID:rF5Rsm4t
>>592
識別子が紛らわしいけど、どれがどれなの?
juwelry(jewelry?)ってのは変数?インスタンス?

> 同様にフレームアクションからMCの_alpha操作もできません。

できるよ。
やり方が間違ってるんだろうけど、それを書かないとどう間違ってるのかは
わからん。
595Now_loading...774KB:2005/08/31(水) 14:51:15 ID:QIoc454p
説明不足ですいません。
変数ではなくインスタンス名ですね。
ちょいと各所回って模索してきます。
596Now_loading...774KB:2005/08/31(水) 14:54:32 ID:FTctc3xG
説明不足じゃなくて、理解不足かな。

juwelry = 200;

って書いてる時点で、インスタンス名としてだけじゃなくて
変数名としても使ってるでしょと。
597Now_loading...774KB:2005/08/31(水) 14:56:32 ID:QIoc454p
(;´Д`)あぁぁぁ、、、おっしゃる通りです。。。
ご丁寧にありがとうございました。
598Now_loading...774KB:2005/08/31(水) 16:51:00 ID:mpj4n08F
MX2004proつかってます。
外部ASファイルにクラスを作成しているのですが
ちょっと困っています。

例えばASファイル[TestClass.AS]に[ClassVar="0.01"]というプロパティを持たせて
FLAファイルから以下のように記述します。
myClass = new TestClass();
trace(myClass.ClassVar);//結果表示[0.01]

しばらくは順調だったのですが、作業を繰り返すうちになぜか突然
最新のASファイルが反映されなくなってしまいました。

具体的には、ASファイルにはClassVar="0.05"として保存しても、どこかに
前回のASファイルで保存した"0.04"が残っているらしく、FLAで実行
したら表示は[0.04]となってしまいます。ASファイルを上書きしたり
いろいろ試してみたのですが・・・。この時点で[0.04]という記述の
ASファイルはすでに存在しません。TestClass.AS自体を削除したら
trace結果にundefinedが帰ってきたので、ファイル自体は見に行ってる
ようなのですが・・・。

作業中に、特に設定もいじっていないので、理由も分からず困っています。
どうやったら最新のASファイルを読みにいくか、原因などご存知のお方は
レスをよろしくお願いします。


599Now_loading...774KB:2005/08/31(水) 17:20:30 ID:kvf0KhR0
>>598
ASファイルのタイムスタンプが更新されているか確認。
600598:2005/08/31(水) 17:28:15 ID:mpj4n08F
レスありがとうございます。

調べたところ、
更新 2005年8月31日、17:17:12
となっていました。とりあえず更新はされているようです。
601Now_loading...774KB:2005/08/31(水) 17:48:15 ID:MCNCQ/i5
DataGridが死ぬほど遅いので投げ飛ばしていいですか
602Now_loading...774KB:2005/08/31(水) 22:01:26 ID:FTctc3xG
作り直したらいいと思うよ、自分で
603Now_loading...774KB:2005/08/31(水) 22:10:55 ID:1JxKZaH9
月末で納期前なのか、どうも微妙な
レベルの質問が沢山ですな。ハハハ。
604Now_loading...774KB:2005/08/31(水) 22:14:22 ID:1JxKZaH9
>>589 それなら単純に↓これで良いやね。
on (press) {
_root.all.a -= 630; //左にスクロールボタン
}
605Now_loading...774KB:2005/09/01(木) 13:21:54 ID:wKoW0Ekf
ムービークリップを作成して、さらにそこへテキストフィールドを作成したのですが、
そのテキストフィールドへどうやってアクセスすればいいのかわかりません。
以下のスクリプトの最後の3行で色んな方法を試みましたが、いずれも undefined でした・・・

var m_mc:MovieClip = new MovieClip();
var movieId:String = new String("hoge");
var txtId:String = new String(movieId + "_txt");

m_mc = this.createEmptyMovieClip(movieId, this.getNextHighestDepth());
m_mc.createTextField(txtId, 0, 0, 300, 400, 200);

m_mc.txtId.text = "fugafuga1"; // ダメ → "m_mc.txtId" is undefined
eval(m_mc.txtId).text = "fugafuga2"; // ダメ → "eval(m_mc.txtId)" is undefined
eval(movieId).eval(txtId).text = "fugafuga3"; // ダメ → "eval(movieId).eval(txtId)" is undefined
606598:2005/09/01(木) 13:38:21 ID:GqR02K2n
解決しました^^
クラスファイルもキャッシュしてるんですね。特殊な状況化で
最新クラスファイルを読まない状態になる場合があるそうです。
ASOファイルを探して削除することで解決できました。
公式にキャッシュクリアのExもあるそうなので、問題なさそうです。

ありがとうございました。
607Now_loading...774KB:2005/09/01(木) 13:46:13 ID:A7m7XWey
説明しにくいんだけども、よくある表現で

ボタンロールオーバー → ゆっくり色が変わる
ロールアウト → ゆっくり色が戻る

この"ゆっくり戻る"のはどうやってるんでしょう?
デフォのボタン編集ではコマぶった切りでいきなり色が戻るようにしか出来ない・・
初級レベルの事なのだとは思うけど未だにわからない
608Now_loading...774KB:2005/09/01(木) 14:01:27 ID:zcMh+PsC
ムービークリップでボタン作る
609Now_loading...774KB:2005/09/01(木) 14:09:35 ID:SeSalwDH
>>607
ボタンはムービークリップに状況を伝えるだけの役割だと思えばいい。
動きは別に作ればいい。
610Now_loading...774KB:2005/09/01(木) 14:11:40 ID:RgFbWaXJ
>>605
trace( m_mc[txtId] )は試してみましたか?
611Now_loading...774KB:2005/09/01(木) 14:44:47 ID:/TLkFOGT
>607
色の変化をフレームトゥイーンで作っていいのなら、これが一番簡単じゃない?
var lastFrame = btn_mc._totalframes;
btn_mc.onRollOver = function() {
btn_mc.onEnterFrame = function() {
if (this._currentframe == lastFrame) {
delete this.onEnterFrame;
} else {
this.nextFrame();
}
};
};
btn_mc.onRollOut = btn_mc.onDragOut=function () {
btn_mc.onEnterFrame = function() {
if (this._currentframe == 1) {
delete this.onEnterFrame;
} else {
this.prevFrame();
}
};
};
btn_mcのMC作って、フレームで色の変化(形の変化、なんでもいいが・・・)のトゥイーン作ってフレーム上にstop()かけといて、
MCと同じタイムラインに上のスクリプトコピペしてみ。試してないけど、多分動くはず。説明がわかりにくいのはご愛嬌。
仕事に戻るっぺ。
612605:2005/09/01(木) 15:39:01 ID:wKoW0Ekf
>>610
うわああ、ありがとうございます!できました!

http://livedocs.macromedia.com/flash/mx2004/main_7_2/00001158.html
によると、 m_mc[txtId] で m_mc オブジェクトの txtId プロパティという意味なんですね。
こんな使い方知らなかったので勉強になりました。
ただ >>605 の m_mc.txtId も同じく m_mc オブジェクトの txtId プロパティという意味で
使ったのですが、これはなぜダメだったのでしょう?
613Now_loading...774KB:2005/09/01(木) 15:52:49 ID:SNxnmKtY
>>612
言語によって実装方法が異なるから。ASでの実装はJAVAに準じてるけど
全くそのままではないでしょ。
614Now_loading...774KB:2005/09/01(木) 19:56:54 ID:eDHxpRLC
馬鹿ばっかだな
615Now_loading...774KB:2005/09/01(木) 20:41:21 ID:koH2eKYO
馬鹿に教えるためのスレ

でもFlashの基本をわかってないなら帰れ
616Now_loading...774KB:2005/09/02(金) 06:04:53 ID:zIjP1PWa
馬鹿が質問するのは構わんが、教えてる方が馬鹿なのが問題なんだが。
それがわからない人とじゃ話にならんね。帰るとするよ。
617Now_loading...774KB:2005/09/02(金) 06:57:43 ID:vfLN8Efr
ケンカは(・A・)イクナイ!
618Now_loading...774KB:2005/09/02(金) 08:14:58 ID:uXRn3xOv
>>616
他人から嫌われるタイプの人だね・・・
619Now_loading...774KB:2005/09/02(金) 08:19:03 ID:YvpuXSP0
煽り返すなら同レベルだと思いますよ
620Now_loading...774KB:2005/09/02(金) 12:04:18 ID:2PPuPrPx
on (press) {
MC._alpha -= 1;
}

上記ASだと1clickで_alphaが1減るのですが
1clickしただけで_alphaが流れる様に透明になっていく動作を実現するには
どうすればいいのでしょうか?ご教授お願い致します。

onClipEvent (enterFrame) {} は使用せず、BTをclickすると指定のMCを徐々に
透明にする動作を実現したいです。
621Now_loading...774KB:2005/09/02(金) 12:13:19 ID:iIwAg2r+
>onClipEvent (enterFrame) {} は使用せず
って、何のプライドなの?さっぱりわからん。
いやならsetIntervalでもつかえば?
622Now_loading...774KB:2005/09/02(金) 12:28:11 ID:JOQNezvU
>>620
ならMCの2フレ以降に_alpha変更させるアニメでもつくって
クリックで2フレに飛ばしたら?

つか、クリックとonClipEvent (enterFrame) {}の併用も不可なのか?
onEnterFrameもダメなのか?
かつASのみで_alpha変更させたいの?
そうしなくちゃいけない理由とか説明したら、解決策もみえるかもよ。
623Now_loading...774KB:2005/09/02(金) 13:47:45 ID:yDppsvSt
プライドとか理由を説明しろとか、すげえ先生たちだな。
624Now_loading...774KB:2005/09/02(金) 13:54:27 ID:FiMi1vBL
>>623
なんでそういうかが分からないなら発言しなくていいよ。
625Now_loading...774KB:2005/09/02(金) 13:59:02 ID:yDppsvSt
>>624
そうだね。じゃあ。
onEnterFrameを使用してフレームレートで繰り返し処理を行うのは
常道だけど、それ以外に>>622の提示してくれたたsetIntervalを使う方法もある。
onEnterFrameはフレームレートに左右されてしまうという弱点もあるので、
使わないでというやり方を模索するのは別に悪くないと思う。
でどうですか?
626Now_loading...774KB:2005/09/02(金) 14:04:06 ID:yDppsvSt
あ、>>621だったorz..
627Now_loading...774KB:2005/09/02(金) 14:21:52 ID:ThQtrH38
>>626
>>625のようにフレームレートに左右されたくないという理由ならわかる。
その場合ならsetInterval()が解決してくれるし、フレームアニメーションじゃ
意味ないよね。
もし他の問題とコンフリクトしているなら、それを解決することで
onEnterFrameを使ってもよくなるのかもしれないし、それを解決しないと
どんな方法でもうまくいかないって可能性もあるかもしれない。
質問者が誤解をしてる場合もあるし、回答者も誤解してるかもしれない。
何か条件があるならその理由を最初に言っておくほうが、回答するほうも
より適切な回答をしやすいと思うってことを言いたかっただけ。
628Now_loading...774KB:2005/09/02(金) 14:37:01 ID:FiMi1vBL
>>625
張り切ったところスマンが>>621書いたの俺だ。
ID変わっててスマンかったな。

で、なんでああ書くかというと少なくとも>>620
enterFrameで処理する方法が分かってるかのような書き方なのに
あえてききます、というスタンスに見える。なのになぜそうしたいのかの
意思表示が何もないから、どこを目指したいのか想像するしかない。
普通、そのレベルのスクリプトが書けるなら、他の方法も思いつきそうなものだし。
まあ>>627氏が言ってくれてるとおりです。

要するに回答者に制限を設けておきながら理由が書いてないのはおかしいだろと思ったのさ。
629620:2005/09/02(金) 15:08:08 ID:cdcD7Rra
出先から戻ってID変わりました。
何だか誤解を生むような書き方で申し訳ない。
うまく説明できないんだけど、BTをクリックしたら指定のMCのアルファが100→0に変化していくアニメーション
onClipEvent (enterFrame) {}ってのはMCに書くアクションですよね。「クリックしたら」って条件付けが分からないのです。
onClipEvent (enterFrame) {}だとBTクリックしたしてないに拘わらずアルファが変化していってしまうので。
全くマヌケな内容で申し訳ない。
ちなみにフレームアクションのonEnterFrame、on()アクションあたりは何とか勉強して少し理解した程度で
皆さんが当たり前のように言っているsetInterval()なんてのは初めて聞いたわけであります。
630620:2005/09/02(金) 15:15:14 ID:cdcD7Rra
@enterFrameは使わず云々と自身が言っていた点ですが、このイベントハンドラで「BTをクリックしたら指定したMCのアルファをアニメーションさせる」という動作は実現できないものと思い込んでのものです。
間近に解決策があるのに拘わらず別の方法を求めているわけでは決して無いので、その点だけ訂正します。
631Now_loading...774KB:2005/09/02(金) 15:28:19 ID:FiMi1vBL
>>629
そういうことならこのスレを読み返したら出てくるはずだけど
クリックした時点でonClipEvent(enterFrame)の定義をしたらいいんだよ。
で、アルファが0なった時点でそのファンクションを削除するようにしたらいい。
まったく同じ例が2週間以内くらいに上がってるはずだから探してごらん。
632620:2005/09/02(金) 16:04:32 ID:cdcD7Rra
>>クリックした時点でonClipEvent(enterFrame)の定義
そんなことできるんですかFlashは(;´Д`)
全く分からないけどとりあえずログ探してみます(`・ω・´)
そんな事できるんですか(;´Д`)便利だなぁ・・・
633Now_loading...774KB:2005/09/02(金) 16:18:43 ID:XkPadYvC
移動するとかアルファが変わるとかならmx.effects.Tween使うと簡単でenterframe使うより綺麗かも
634633:2005/09/02(金) 16:22:45 ID:XkPadYvC
ヘルプには説明無いのでググってね
635Now_loading...774KB:2005/09/02(金) 16:28:19 ID:FiMi1vBL
mx.effects.Tweenはいいよね。MXに一部を移植して使ってるけど。
636Now_loading...774KB:2005/09/02(金) 16:45:53 ID:vE5ZUQum
>>620
on(press){//ボタンが押されたら
MC.onEnterFrame=function(){//onClipEvent(enterFrame)を設定
this._alpha--;//alphaを減らす
if(this._alpha==0){//もしalphaがゼロなら
delete this.onEnterFrame;//onClipEvent(enterFrame)を削除
}
}
637Now_loading...774KB:2005/09/02(金) 17:10:49 ID:vfLN8Efr
>>636
親切。。・゚・(ノД`)・゚・。
638Now_loading...774KB:2005/09/02(金) 17:21:47 ID:F08hpeug
質問!
http://www.ourtype.be/
このかっこいいスクロールはどうやって動かす?
ヨロシク。ヘルプ。
639Now_loading...774KB:2005/09/02(金) 17:26:05 ID:vE5ZUQum
>>638
ドラッグして動かす
640Now_loading...774KB:2005/09/02(金) 17:29:04 ID:F08hpeug
>639
ActionScriptの話。。。
641Now_loading...774KB:2005/09/02(金) 19:24:27 ID:gSh8uldQ
ActionScriptして動かす
642Now_loading...774KB:2005/09/02(金) 20:18:27 ID:giTRuM99
久々覗いたら荒れ気味?

>>638
この動きなら
function onEnterFrame(){_y += (目的の座標-_y) / 10}
で出来んじゃない?

目的座標になったらonEnterFrameを解除とか、
目的座標の字毒取得とかはヘルプで
delete
if else
MovieClip クラス
とか調べて頑張れ。
643Now_loading...774KB:2005/09/02(金) 21:54:10 ID:xAsnXFBR
このスレはちょくちょく荒れるよな
まぁ教えて君スレの宿命でもある訳だからしゃあないけどな
644Now_loading...774KB:2005/09/02(金) 22:50:05 ID:F08hpeug
>638
何とか近いものができたかな。。。
イージングが効かないけど、まあ、良しとするかな。。。
FLASH ActionScriptバイブル
ほぼ10行道場などなどでがんばった。コピベ専門。

しかし、こういったScript系(cgiやJAVAやActionScriptとか)思い通りに書ける人ってすごいな〜〜〜。尊敬する。どうやって覚えたんだろ・・・。

ありがと。

その他、詳しく教えてくれる人がいたら、ヨロシク。
教えて君で御免!
645Now_loading...774KB:2005/09/02(金) 23:36:52 ID:bm4ieRF+
ScrollPaneのスクロールバーの幅を変えるには、どうすれば良いですか?
646Now_loading...774KB:2005/09/02(金) 23:57:40 ID:ajdbqy6X
WINXP MX2004
指定した座標をActionScriptで左クリックさせる事はできるのでしょうか?
板違いでしたらすみません、、、ご教示お願い致します。
647Now_loading...774KB:2005/09/03(土) 04:14:34 ID:7Y4EPp1V
>>644
Flashって他の言語だけの世界と違って、動きが視覚的にわかりやすかったりして
おもちゃ感覚で楽しめるからプログラムを勉強するのが苦痛にならない気がする、個人的にはね。
だから、まず自分で目標を造っていろいろ弄るのが覚える早道だと思う。
あとは本なり他人が作ったファイルを解析するなりして、テクニックを身につけていけば
結構早く覚えられるよ。

648Now_loading...774KB:2005/09/03(土) 11:22:40 ID:P2Z2MuA5
>>647
>>644ははなから覚える気はさらさら無いと思うよ。
文面から受け取れるのは、
「適当に誉めてうまく使えば色々サンプル出してくれんだろ」
ってとこだろね。

> コピベ専門。
> その他、詳しく教えてくれる人がいたら、ヨロシク。
> 教えて君で御免!

このあたりとかさ。
ちょっと呆れたよ。
649Now_loading...774KB:2005/09/03(土) 13:51:49 ID:HzMT6809
XMLを読み込む時に、DTDをチェックして妥当なファイルかどうかチェックする事は出来ますか?
650Now_loading...774KB:2005/09/03(土) 14:31:25 ID:P2Z2MuA5
>>649
読み込む前には無理だけど、
読み込んだ後、先頭ノード見て判断するんじゃダメなん?
651Now_loading...774KB:2005/09/03(土) 15:00:53 ID:nKGuimUL
>>648
おまえ軽い人苦手だろ。
652Now_loading...774KB:2005/09/03(土) 15:29:39 ID:P2Z2MuA5
>>651
いや特に苦手でもないよ。

上の例は余りにも幼稚なおだて方が鼻についたからさ。
653Now_loading...774KB:2005/09/03(土) 15:47:29 ID:lsDBYDnH
>>652
え!?
どこでおだててる?
654Now_loading...774KB:2005/09/03(土) 15:48:40 ID:6LACqjgC
質問です。

<?xml version="1.0" encoding="UTF-8"?>
<contents>
<subcontents>
<a>a01</a>
<b>a02</b>
<c>a03</c>
</subcontents>
<subcontents>
<a>b01</a>
<b>b02</b>
<c>b03</c>
</subcontents>
</contents>

というようなXMLファイルがあって、
次のようなコードをフレームアクションに書きましたが、
nodeValueで値がとれません。
ちなみにnodeNameだとちゃんと、a,b,cと表示されるのですが…
なにか、これが原因だろうというのが分かる方がいれば、
ヒントをいただきたいです。
655Now_loading...774KB:2005/09/03(土) 15:49:42 ID:D1HBE9rv

っ firstChild.nodeValue
656654:2005/09/03(土) 15:49:56 ID:6LACqjgC
改行が多いと怒られました。
書いたスクリプトは以下のような感じです。

xml = new XML();
xml.load("contents.xml");
xml.onLoad = parse;
xml.ignoreWhite = true;

function parse():Void {
if (this.loaded) {
var nodeList:Array = this.firstChild.childNodes;
for (var i = 0; i<nodeList.length; i++) {
a = this.firstChild.firstChild.firstChild;
b = a.nextSibling;
c = b.nextSibling;
trace(a.nodeValue);
trace(b.nodeValue);
trace(c.nodeValue);
}
}
}
657Now_loading...774KB:2005/09/03(土) 15:52:48 ID:P2Z2MuA5
>>653
> しかし、こういったScript系(cgiやJAVAやActionScriptとか)思い通りに書ける人ってすごいな〜〜〜。尊敬する。どうやって覚えたんだろ・・・。
>
> ありがと。
>
> その他、詳しく教えてくれる人がいたら、ヨロシク。
> 教えて君で御免!

で「コピベ専門。」と。

>>642に書いてあるのそのままやってみりゃ良いだけだろって思ったから、
この上何を望んでんだと思ったら「ああ、つまり、コピペで使えるコードだけくれよって事ね」
とね。

つか、そんなに盛り上がる話題でもないし、いい加減この話題終わりで良いんじゃないの?
658Now_loading...774KB:2005/09/03(土) 15:56:10 ID:P2Z2MuA5
>>656
trace(a.firstChild.nodeValue);
trace(b.firstChild.nodeValue);
trace(c.firstChild.nodeValue);
で値取れない?
659Now_loading...774KB:2005/09/03(土) 16:09:37 ID:6LACqjgC
>>658

できました!
すばやい解答ありがとうございます。

一瞬、ノードの深さに関して混乱しましたが、
書き込んでる間になんとなく分かってきました。

a = this.firstChild.firstChild.firstChild;
これで、aに<a>a01</a>が入って、
この中の『最初の子ノードである』<a></a>の値をtraceしているわけなんですね。
『』の部分の理解が抜けてました。

ありがとうございます。
660Now_loading...774KB:2005/09/03(土) 16:31:25 ID:nKGuimUL
>>657
終わりで良い。説明おつかれさんです。
661Now_loading...774KB:2005/09/04(日) 17:25:24 ID:r9ZT+9iC
ライブラリに登録したイメージの設定を
一括変換する拡張コマンドかなんかを昔どこかで見たと思うんですが、
どなたか知ってますか?
662Now_loading...774KB:2005/09/04(日) 17:46:38 ID:Ds473PPR
ムービークリップのタイムライン制御を
ステージ上に置いたボタンで行う事は可能っすか?

ステージ上に置いたボタンを押すと
MC内で今までフレーム1〜10までループ再生してたのをフレーム11に飛ばして再生
と言うのをやりたいんですが
663Now_loading...774KB:2005/09/04(日) 17:58:28 ID:yBgWfmle
>>662
on(release){
_root.○○_MC.gotoAndPlay(11);
}
664Now_loading...774KB:2005/09/04(日) 18:02:21 ID:fPnT89QW
>>661
jsfl?
665Now_loading...774KB:2005/09/04(日) 18:04:45 ID:3GWbWwYQ
>>661
FlashMX2004のヒストリからコマンド作成
666Now_loading...774KB:2005/09/04(日) 18:21:34 ID:u1ChmWMS
>>662
on (press) {
MC._gotoAndPlay (11);
}
667Now_loading...774KB:2005/09/04(日) 18:22:25 ID:u1ChmWMS
on (press) {
MC.gotoAndPlay (11);
}
668Now_loading...774KB:2005/09/04(日) 18:37:09 ID:r9ZT+9iC
>>664
ありがとうございます。まさにそれでした。
http://f-site.org/articles/2004/12/20121340.html
669Now_loading...774KB:2005/09/05(月) 00:41:50 ID:HrDbWfFh
今いるフレームから5マス進める
と言うボタンはどう作れば良いのだ
670Now_loading...774KB:2005/09/05(月) 00:59:01 ID:V8ih+wgG
>>669
MovieClip._currentframe
今いるフレームはこれでわかる。
671Now_loading...774KB:2005/09/05(月) 01:00:26 ID:Sd4B6ZGT
>>669
on(press){
this.gotoAndPlay(this._currentframe+5)
}
672Now_loading...774KB:2005/09/05(月) 01:11:17 ID:HrDbWfFh
>>670
そっから+してけばいいのか
ありがとう
673Now_loading...774KB:2005/09/05(月) 01:12:57 ID:HrDbWfFh
>>671
見逃していたすまねぇ('A`)
記述もしてくれてありがとう
674Now_loading...774KB:2005/09/05(月) 07:46:21 ID:g2pugz3W
TextAreaコンポーネントに埋め込みフォントを使用する事は出来ますか?
ヘルプを見る限り、それらしいAPIが見つからないのだが。
675Now_loading...774KB:2005/09/05(月) 10:26:12 ID:GV5lKJnO
>647
コピペというか解析までは出来るようになったけど、そこから先が難しい。
他のプログラムに比べれば、動的、視覚的、オモチャ感覚、おしゃれ感覚はあるから、覚えたいけど、function、ifとか関数とか,arrayとか、さっぱり・・・。
goto、loadMovie、play、stop、getURL(JavaScript)ばっかりで、あとはMCとかシーンをうまく利用してアイデアとパクリの勝負でお仕事しています。。。。
676Now_loading...774KB:2005/09/05(月) 10:38:54 ID:3ZtI/MLg
自分はまだ初心者でFLASH MXを使っていますが、参考書は5のものです(゜Д゜;;;)
ActionScriptの基本からやり方が違うnで
まったくわからないので、基礎おしえてくださいorz
677Now_loading...774KB:2005/09/05(月) 10:46:05 ID:QOlVaTq0
>>674
空のダイナミックテキストを配置して埋め込んでおけば、
アクセスは出来たと思う。実装できるかは知らんけど。
678Now_loading...774KB:2005/09/05(月) 10:54:48 ID:g2pugz3W
>>677
レスありがとうございます。
TextFieldとScrollBarを組み合わせた方が、確実そうですね。
679Now_loading...774KB:2005/09/05(月) 11:55:37 ID:He5YTt70
>>676
ASの本ぐらい買えよ。教科書無くて授業で質問するのは無理だろ。
680Now_loading...774KB:2005/09/05(月) 15:54:53 ID:mK4uj/g6
こんにちは。ちと質問なんですけどタイムライン上に
ムービークリップaaを置いていてそのaaの中に
ムービークリップbbを入れ子で配置しています。
aaからbbのtrace(2112)を検出したいんですけど
なぜかbbのfunctionが反応しません・・・
初心者質問で申し訳ないんですけどアドバイスよろしくお願いします。
ちなみにソースは
aa:
onClipEvent(load){  this.bb.go();}

bb:
onClipEvent(load){
function go(){ trace(2112); }
}

です。
681Now_loading...774KB:2005/09/05(月) 16:03:30 ID:jDohtkY/
定義してすぐは無理ですよ
682680:2005/09/05(月) 16:21:43 ID:mK4uj/g6
>>681
回答ありがとうございます。
定義してすぐは無理なんですね・・
こういった場合のaaの対処法はどうすればいいですかね?
683Now_loading...774KB:2005/09/05(月) 16:39:46 ID:jDohtkY/
#initClipに書くとか、フレームをずらすとか
684Now_loading...774KB:2005/09/05(月) 16:41:10 ID:i8IKO98V
>>682
aaが1フレーム進んでから呼び出すとか
aa:
onClipEvent(load){
onEnterFrame = function(){
this.bb.go();
delete onEnterFrame;
};
}
685Now_loading...774KB:2005/09/05(月) 20:28:07 ID:/ersYvPQ
>>676
やる気があるなら、チュートリアルとヘルプでなんとでもなる
回り道だけどなー

>>680
どうしてもというなら
aa
onClipEvent(load){
this.bb.go(){
trace(2112);
};
this.bb.go();
}

とか
あんまり意味無いきもするが
686Now_loading...774KB:2005/09/05(月) 20:30:05 ID:/ersYvPQ
this.bb.go = function(){

だった
687680:2005/09/06(火) 00:06:39 ID:mK4uj/g6
>>686
>>685
>>684
>>683
たくさんのアドバイスありがとうございました!
とりあえず言われた通りやってみますね。
688Now_loading...774KB:2005/09/06(火) 08:03:37 ID:PQK0+zpJ
MovieClipを継承したクラスで、RollOver等のイベントを消す方法はありますか?

委譲している場合は、delete _mc.onRollOverでいけたのですが、
継承した場合は、delete this.onRollOverとしてもイベントが消えません。
689Now_loading...774KB:2005/09/06(火) 08:22:53 ID:PQK0+zpJ
自己レスです。
MovieClip.enabledでいけました。
690Now_loading...774KB:2005/09/06(火) 15:49:04 ID:zZLnKclP
flashでゲームを作ったんですが、そのスコアを仮にtest.cgi
に送るにはどうすればいいですか?
データの受け渡しはcgi-lib.plを使用しています。
691Now_loading...774KB:2005/09/06(火) 15:58:50 ID:PLG3xbGI
>>690
ぐぐれ
692Now_loading...774KB:2005/09/06(火) 17:23:09 ID:kilU6kQe
マルチポストはよくないな
693Now_loading...774KB:2005/09/06(火) 18:13:39 ID:zZLnKclP
694Now_loading...774KB:2005/09/06(火) 18:42:49 ID:kilU6kQe
は?
695Now_loading...774KB:2005/09/06(火) 19:33:20 ID:nj10ckBq
>>693
なんにも見えない
696Now_loading...774KB:2005/09/07(水) 07:56:40 ID:7l3s9UZg
ここはコードを記述するとき
インデントしないのが常識なんですが?
697Now_loading...774KB:2005/09/07(水) 08:22:24 ID:GhDSR5kD
が?  ・・・・どうしたの?
698Now_loading...774KB:2005/09/07(水) 08:26:35 ID:i1FfYqsL
>>696
ソースUPすれば解るだろw
699Now_loading...774KB:2005/09/07(水) 13:12:33 ID:i3xu2fCZ
>>696
スレ上ではtabのインデントが使えないから詰めて書いてるだけ
そんくらい解らない?バカじゃないの
700Now_loading...774KB:2005/09/07(水) 14:38:03 ID:Eh8aKM35
>>696
HTMLくらい勉強しろ
行頭に半角スペースまたはタブ文字があると消される
二重に半角スペースまたはタブ文字があると一つとして扱われる
701Now_loading...774KB:2005/09/07(水) 15:14:01 ID:GhDSR5kD
どこかのスレで
「読みにくいからインデントくらいしろよ」
と言われて
「インデントしないのが常識なんですが? (そのくらい常識だよ)」
って言い返した誤爆のようにも見えるから「が」というのが気になった。
702Now_loading...774KB:2005/09/07(水) 20:24:28 ID:7t0RLNdP
プギャー
釣られてるしwwww
703Now_loading...774KB:2005/09/07(水) 21:46:56 ID:aY0KBY9D
obj1 = {a:10,b:5}
obj2 = obj1

上のようにobj1を定義し、
その内容を初期値としてそっくりそのままobj2にコピーしたいのですが、
この場合どうすればいいのでしょうか?

ちなみに(当たり前だと思いますが…)上のままobj2.aを変更すると、
obj1.aも変化してしまいます。

obj1 = {a:10,b:5}
obj2 = obj1
obj2.a = 2
trace(obj1.a+" , "+obj2.a)
//トレース結果
//2 , 2

※本当は 10 , 2 となって欲しい…
704Now_loading...774KB:2005/09/07(水) 22:42:42 ID:JGkP4AvS
>>703
これ、おれも分かんなくて、今やっと分かった。
for..inを使う。for..inって一回も使った事なかったけど、ここで使うのか。
705Now_loading...774KB:2005/09/07(水) 22:45:36 ID:Zg10sij3
>>703
おれはこんな感じの関数を使って対応している。
・・・なんかもっと簡単にできる方法ありそうだけどね

_global.myCopy = function( data_obj ){
var res_obj = new Object();
for( var m_name in data_obj ){
res_obj[m_name] = data_obj[m_name];
}
return res_obj;
}

obj1 = {a:10,b:5}
obj2 = _global.myCopy( obj1 );
obj2.a = 2;
trace(obj1.a+" , "+obj2.a);
706Now_loading...774KB:2005/09/07(水) 22:49:14 ID:Ccb2bgVD
JavaScript から swf の任意のメソッドを呼び出すのはどうすればいいですか?
以下のようにしてみましたが、期待した動作(ブラウザを閉じるとクリップボードに"unko"という文字列がコピーされる)になりません。

【HTML】
<html><head><title>unko</title></head>
<body onbeforeunload="document.fuga.TERMINATED();"><!-- ←ここでActionScriptのメソッド呼んでるつもり -->
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="320" height="240" id="fuga" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="fuga.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" /></object></body></html>

【SWF】(ルートの1フレーム目に以下のActionScriptを記述しています)
function TERMINATED() {
System.setClipboard("unko");
};

行儀悪くてすみませんが、HTML は IE 専用ですm(__)m
どうすれば期待通り動作するようになるでしょうか?
707Now_loading...774KB:2005/09/07(水) 23:20:26 ID:aY0KBY9D
>>704
>>705
なるほど…for...inで中身のみを写せば大丈夫なんですね。
ありがとうございます!
708Now_loading...774KB:2005/09/08(木) 00:50:06 ID:viwgooZc
  \   /   /  __    _/_ \       /
    \/     |          ./  ヽ \   /
    /      |         /   /      \
   (___   レ  \_   /   /         \
 __     __  ___ _____  _____     ___ ___    ___
 |   |    /  /  |  //       | /__  __/ [][] _| |_| |__ _| |_
 |   |.   /  /  /  / /   / ̄ ̄|. l    / /     |    _  | |_  レ'~ ̄|
 |   |  /  /  /  / /   /.  / /    |  |___      ̄|  | / / /   /| |
 |   |  /  /  /  / /    ̄ ̄ /     \__|     |  |  ̄ /_  /  | |_
 |   |. /  /  /  / /   / ̄ ̄ ̄                |_|     |__|   \/  
 |.     /  /  /  /   / 
 |    /. /   | ./   /  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
709Now_loading...774KB:2005/09/08(木) 07:15:01 ID:UDnXYtoC
>>703
参照を渡してるだけだからそりゃそうなるだろ。
同じ場所を違う呼び方で呼んでるだけだから、そうなるのは当たり前。
710Now_loading...774KB:2005/09/08(木) 11:35:02 ID:QrNZMO0U
FLVをストリーミング配信するには
FCSを使うほうが速いんですか?
お願いします。
711Now_loading...774KB:2005/09/08(木) 11:39:44 ID:hrrqlOUF
速いっつーかHTMLトンネリングしないならFCS使った方がパフォーマンスはいい
712706:2005/09/08(木) 12:07:36 ID:VqPmfeAL
すみませんがどなたか良いアイデアないでしょうか?

要は終了時にイベント拾いたいだけなんですけど、
MovieClip.onUnload って、MovieClip.unloadMovie() された時しか呼ばれないんです。
つまりユーザがブラウザを閉じたりする場合は呼ばれないんです。

なのでブラウザが閉じられるイベントをJavaScriptで拾って、Flashに投げられればいいかなと思ったんですが・・・
713710:2005/09/08(木) 12:50:42 ID:QrNZMO0U
>>711
ありがとうございます。
そのパフォーマンスの差ですが、FCSを導入するコストに見合うほどの差はあるんでしょうか?
714Now_loading...774KB:2005/09/08(木) 12:52:54 ID:hrrqlOUF
>>713
知らんよ。どうやったら、そのコンテンツの価値も分からずにコストを計算できるのか教えて欲しいわ。
715Now_loading...774KB:2005/09/08(木) 12:58:15 ID:LsQ2tVgW
ワロタ
716Now_loading...774KB:2005/09/08(木) 16:24:51 ID:lANebbAY
FLVのストリーミングの技術仕様を、Javaとか.Netに開放してほしい。
717Now_loading...774KB:2005/09/08(木) 22:38:26 ID:fbAfKci9
ムービークリップにloadMovieで画像を読み込んだ後、
アルファを段々上げていって徐々に表示していくのを作ったのですが、
その読み込まれたムービークリップを
表示する前にステージの中心に移動させるにはどうすればいいですか?

pic._alpha = 0;
pic.loadMovie("1.jpg");
this.onEnterFrame = function() {
pic._alpha += 5;
if(pic._alpha >= 100){
delete this.onEnterFrame;
}
}
ここまではなんとかなったのですが…
どなたかお願いします
718Now_loading...774KB:2005/09/08(木) 23:36:28 ID:lANebbAY
>>717
空のmcを作成して、以下のスクリプトをコピペ

//ファイルのパス指定
var picPath:String = "1.jpg";
var targetMC:MovieClip = _root.createEmptyMovieClip("targetMC", 1);
var mcl:MovieClipLoader = new MovieClipLoader();
var mclListener:Object = new Object();
mclListener.onLoadInit = function(mc:MovieClip) {
mc._x = (Stage.width - mc._width) /2;
mc._y = (Stage.height - mc._height) /2;
mc._alpha = 0;
mc.onEnterFrame = function() {
if (mc._alpha >= 100) {
delete mc.onEnterFrame;
} else {
mc._alpha += 5;
}
}
}
mcl.addListener(mclListener);
mcl.loadClip(picPath, targetMC);
719Now_loading...774KB:2005/09/09(金) 00:50:23 ID:Yvfif0SO
>>696だが、
全角スペースでインデントしたら見やすくなるかもねってことです。
ム板ではそうやってますしね。
720Now_loading...774KB:2005/09/09(金) 01:04:05 ID:177FRxUw
んなことより、コピペしてさっさと動く方がいい
721Now_loading...774KB:2005/09/09(金) 13:11:37 ID:Qiv34PC3
calender_mcをクリックすると1月から12月が表示されてその月をクリックするとtraceの内容が返されるということを試しているのですが
calender_mcをクリックした段階でtraceの内容が返されてしまいます。どうすればよいのでしょうか?
MX2004です。
var obj_array:Array = new Array();
calender_mc.onRelease = act_me;
function act_me():Void {
for (var i = 1; i<=12; i++) {
var month_str:String = "month"+i;
_root.attachMovie("txtbox_mc", month_str, i);
obj_array[i] = eval(month_str);
obj_array[i]._x = 120;
obj_array[i]._y = 70+i*20;
obj_array[i].txt = i+"月";
obj_array[i].onRelease = date_me();
}
}
function date_me() {
trace("onRelease called");
}
722Now_loading...774KB:2005/09/09(金) 13:44:10 ID:MBjSb5Do
date_me;
723Now_loading...774KB:2005/09/09(金) 14:18:30 ID:Qiv34PC3
>>722
ありがとうございました。
直りました。
724Now_loading...774KB:2005/09/09(金) 15:58:01 ID:JYH7WI95
ボタンをクリックするとオブジェクトの_y幅が1ずつ減少し25pixになったら止まるという動作の実現に悩んでいます。
「ボタンをクリックしたら」の部分を抜かせば
onClipEvent (enterFrame) {
_yscale -= 1;
}
だと思うのですが、「25pix」で止めるのと「ボタンをクリック」したらの部分がわかりません。
どうかお力添えお願いします
725Now_loading...774KB:2005/09/09(金) 16:09:36 ID:177FRxUw
on(press)とif文の使い方を調べればすぐかな
726Now_loading...774KB:2005/09/09(金) 16:12:18 ID:JYH7WI95
>>725
一応ある程度はできるつもりです。
on(press)とonClipEvent(enterFrame)って併用できませんよね?
過去ログに参考になる事例がないか探して見ます。
727Now_loading...774KB:2005/09/09(金) 16:16:32 ID:177FRxUw
なんで併用できないと思ったの?
フレームアクションのbutton.onPressじゃないとでも?
728Now_loading...774KB:2005/09/09(金) 16:30:18 ID:E9mifQNW
全然、物凄い勢いで解答するスレになってないぞ!

ボタンのインスタンス名がbutton
縮めるムービークリップ名がmcとする。

button.onPress = function(){
mc.onEnterFrame = mcOnEnterFrame;
}
function mcOnEnterFrame():Void {
//ここでスピード調整
var speed:Number = 10;
if(mc._width - speed <= 25) {
mc._width = 25;
delete mc.onEnterFrame;
} else {
mc._width -= speed
}
}
729Now_loading...774KB:2005/09/09(金) 16:33:49 ID:JYH7WI95
on (press)の中にonClipEvent (enterFrame)を書くと、onハンドラ内にネストできませんってエラーがでますよね。
そんでもってこんな感じの考えてみました。
on (press) {
mc.onEnterFrame = function () {
mc._width -= 1;
if (mc._width > 25) {
mc._width = 25;
}
}
}

エラりはしないんですけど動作しないorzヒントください
730Now_loading...774KB:2005/09/09(金) 16:35:44 ID:JYH7WI95
書いてる途中に神が。。。
オブジェクトアクションばっか使ってる私には全く未知のフレームアクションorz
これからも精進します、ありがとうございました。
731Now_loading...774KB:2005/09/09(金) 16:59:50 ID:MBjSb5Do
path合ってないと思われ
732717:2005/09/09(金) 20:56:03 ID:1qymEZ5H
>>718
試したのですが、どうしてもうまくいきませんでした。
インスタンス名がmcのムービークリップを配置すればいいだけですよね?
733Now_loading...774KB:2005/09/09(金) 21:10:13 ID:E9mifQNW
>>732
ああ、ゴメン。
「空のファイル」の打ち間違い。

レスした瞬間間違いに気付いたけど、まあ分かるかなと思ってスルーしてた。
空のファイルの1フレーム目のアクションに、それをコピペ。
ムービークリップは何もいらない。
734717:2005/09/09(金) 23:01:14 ID:1qymEZ5H
>>733
うまく動きました。ありがとうございます。
それで要求が多くて申し訳ないんですが、
この動作をアニメーション後に使うことってできますか?
735Now_loading...774KB:2005/09/10(土) 06:15:17 ID:eQ2ZJZ6R
サイズの縮小の際、下げ幅を等間隔ではなく躍動感を持った動きにするにはどういう計算式が必要だろうか。
目標値まで遠い時は早く、近づくにつれてゆっくりになる動作をさせたい。
736Now_loading...774KB:2005/09/10(土) 07:02:38 ID:ZvzOVe0i
>>735
イージングは使っていますか?
737Now_loading...774KB:2005/09/10(土) 07:19:09 ID:eQ2ZJZ6R
>>736
イージングは使っていないです。
738Now_loading...774KB:2005/09/10(土) 07:24:13 ID:eQ2ZJZ6R
移動に関して「目標値まで遠い時は早く、近づくにつれてゆっくりになる動作」は分かるんですよね。
onClipEvent(enterFrame) {
_x += ((_root.*** - _x) / *);
}
これ応用すればできるはずなのに馬鹿は俺、助言お願いします。
739Now_loading...774KB:2005/09/10(土) 08:50:17 ID:rAUjJEk+
スクリプトの意味がわかってるならそのままじゃん。_width _height スケールとかに置き換えればいい
740Now_loading...774KB:2005/09/10(土) 12:23:27 ID:gnf5gY0q
あの〜
アクションスクリプト勉強してて、
loadClipを試してて、
ttp://gals.graphis.ne.jp/graphis/main/82hime/gra_hime001.jpg
を読み込んでみたんだけど、表示されないのは、何故でつか?
HDに保存しても表示されません。
ウイソ、MX2004プロ でつ。
なんでだろ?
741Now_loading...774KB:2005/09/10(土) 13:56:37 ID:/h4UEIb2
ムービー作ってて、思ったより容量が増えてしまったため、
フレーム1にNowLoadingのスクリプトを追加したのですが、
どうも、NowLoadingより先に他のMCがダウンロードされているようで、
だいたい80%を超えたあたりで、NowLoadingのMCが表示されます。

他のMCより先に、NowLoadingMCを明示的にロードする方法ってありますか?
742Now_loading...774KB:2005/09/10(土) 13:59:07 ID:rTXaPMaX
他のMCをフレーム2以降に配置する
743Now_loading...774KB:2005/09/10(土) 14:04:09 ID:/h4UEIb2
やったやった。
他のMCロード位置をフレーム10以降にしてるんですけど、
だめみたいです。

↑ていうのはダウン速度のシミュレートでやった結果です。
試しにウェブに上げて、ダウンロードしてみたんですが、
回線が調子良すぎてテストにならない。。。
744Now_loading...774KB:2005/09/10(土) 14:17:38 ID:rTXaPMaX
できてないか画像の使いすぎ
745Now_loading...774KB:2005/09/10(土) 14:21:33 ID:/h4UEIb2
うーん…。もうちょいいじってみます。アドバイスあり。
746740:2005/09/10(土) 14:38:08 ID:gnf5gY0q
暇なんで、エロエロためしてみたら、やっぱり、
表示されるのとされないのがある。
途中でムラムラきて、抜いちゃったけど。テヘ

あ〜なにやってんだろ。
747Now_loading...774KB:2005/09/10(土) 14:44:39 ID:eeXUa/Ct
>>743
リンゲージ書き出しを行ってるインスタンスは?
デフォだと「最初のフレームに書き出し」が入ってるよ。
後、コンポーネントは基本的に最初のフレームに読まれる。
748Now_loading...774KB:2005/09/10(土) 14:46:44 ID:HdlG87jd
>>746
なにやってんた
741のアドレスクリックしてるところを母さんに見られてしまったよ
749名無しさん@そうだ選挙に行こう:2005/09/10(土) 19:44:23 ID:G8d/P8Sk
@root
 ┗AMC (ある操作がおこればBを1フレーム進める。) 
    ┗BMC (20フレーム目に達したらrootを1フレーム進める)
      ┗画 

Aには動きをつけているためループさせたいのですが、
gotoAndPlayでAを1フレーム目に戻すと
Aの操作ごとに1フレームずつ動いていたBのフレーム位置まで戻ってしまいます。
(AもBも1フレーム目に戻ってしまう状態)

これを、Bのフレーム位置はそのままにAをループさせたい場合
どのような処理を行うと良いでしょうか?
750名無しさん@そうだ選挙に行こう:2005/09/10(土) 20:07:30 ID:gGzFQpE+
3を、ちゃんと2の終わりまで続くフレームに配置し取っておく。
751名無しさん@そうだ選挙に行こう:2005/09/10(土) 20:16:25 ID:G8d/P8Sk
>>750
なるほど・・・Actionscript以前の問題だったようで・・
恥ずかしい限りです。
その通りに直したら解決しました。本当に有難うございます!
752名無しさん@そうだ選挙に行こう:2005/09/10(土) 23:00:35 ID:RDw6ykgo
得点が1000の倍数を超えると残機が1増える、って感じの処理をさせたいのですが、
for(i=0;i<100;i++){
if(_root.score==1000*i)_root.zanki++;
}
ってすると990から1010になった時とかは増えませんし、
仮に1000で止まったとしても次に点が増えるまでずっと残機が増えることになります。
何かいい処理は無いでしょうか、
753Now_loading...774KB:2005/09/10(土) 23:47:23 ID:dgd8k42W
var score:Number = 0;
var zanki:Number = 0;
var kijun:Number = 1000;
for (var i = 0 ; i < 10000; i += 99) {
var before:Number = Math.floor(score / kijun);
var after:Number = Math.floor( (score + i) / kijun);
zanki += after - before;
score += i;
trace("score = " + score);
trace("zanki = " + zanki);
}
754名無しさん@そうだ選挙に行こう:2005/09/10(土) 23:52:26 ID:m1I3idnL
>>752
スコアを加算する時に、スコアと別に1000カウントする変数を作って、
同様に加算する。1000になったら残機を増やし、カウントを0に戻すなんてのはどうかね。
差分の修正に注意だけど、forループはいらんよ。
755名無しさん@そうだ選挙に行こう:2005/09/11(日) 00:01:15 ID:HoyAcbCn
>>747
あー!「リンゲージ書き出ししてるインスタンス」あった。音声ファイルだ。
ただ、「最初のフレームに書き出し」を切ったら、
NowLoadingに関しては意図した動きをするようになったんですが、
後で、上の音声ファイルが再生できなくなってしまいました。
756Now_loading...774KB:2005/09/11(日) 00:07:31 ID:QbQMcZBu
>>755
やったことないから、未確認だけど、
そのインスタンスを書き出したいフレームに設置する。

10フレームに書き出したいのなら、10フレーム目にインスタンスを置く
757名無しさん@そうだ選挙に行こう:2005/09/11(日) 00:13:43 ID:HoyAcbCn
>>747 >>756
あーちゃんとできました。
スクリプトのsoundで鳴らすつもりだったので、
フレームにドラッグ&ドロップしてませんでした。

「最初のフレームに書き出し」を解除してから、
ヘッド(って言うんだっけ?)の行かないフレームを用意してそこにDnDしといたら、
ちゃんとswfに音声ファイルが組み込まれて、soundで再生もできました。

勉強になりました。サンクス。
758名無しさん@そうだ選挙に行こう:2005/09/11(日) 00:15:03 ID:JNorf3s7
>>752
これでどう?スコアが一気に1000以上増える状況は考慮してません。

strg = 1000;

onEnterFrame = function(){
var tmp = strg - score;
if(tmp <= 0){
zanki++;
strg += 1000;
}
};
759752:2005/09/11(日) 00:27:16 ID:jAr7X/gy
いろんなやり方があるんですね。
それぞれ試してみます。ありがとうございました。
760名無しさん@そうだ選挙に行こう:2005/09/11(日) 00:55:48 ID:XupvCKJ7
>>752
oneUpScore = 1000
if(oneUpScore && _root.score>oneUpScore){
_root.zanki++
delete oneUpScore
}
とか。単純だけど。
761名無しさん@そうだ選挙に行こう:2005/09/11(日) 01:00:06 ID:XupvCKJ7
>>752
あ、倍数か。だったら
oneUpScore = 1000
if(oneUpScore && _root.score>oneUpScore){
var tmp = Math.ceil((_root.score-oneUpScore)/1000)
_root.zanki += tmp
oneUpScore = (tmp+1)*1000
}
とかかな。
762Now_loading...774KB:2005/09/12(月) 12:23:04 ID:CGF4SMn6
SWF の URL は MovieClip._url で取れますが、
SWF が貼られている HTML の URL はどうやって取ればいいですか?
763Now_loading...774KB:2005/09/12(月) 12:36:40 ID:LgtdFsm8
>>762
flashにurl求める機能あったかなぁ
javasciprt使ってlocation.href flashにわたすとか
764Now_loading...774KB:2005/09/12(月) 12:51:23 ID:gLb0et+2
window_mcが生成されてその中にjuly_mcが更に生成されるのですがjuly_mcは縦にかなり長いのでwindow_mcからはみ出します。
それでwindow_mcにスクロールバーをつけたのですがjuly_mcのwindow_mcからはみ出した部分が見えてしまいます。
はみだした部分を見えなくするにはどうすればいいのでしょうか?
function window_me():Void {
_root.attachMovie("window_mc", window, 200);
_root[window]._x = 170;
_root[window]._y = 100;
_root[window].attachMovie("july_mc", july, 10);
_root[window][july]._x = 10;
_root[window][july]._y = 10;
}
765762:2005/09/12(月) 12:52:29 ID:CGF4SMn6
>>763
色々探しましたがそうするしかないみたいですね。
ありがとうございました。
766Now_loading...774KB:2005/09/12(月) 12:53:42 ID:79l6flP2
>>764
マスクつけちゃうのが手っ取り早いんじゃね?
767762:2005/09/12(月) 16:13:45 ID:CGF4SMn6
たびたびすみません、質問です。

Flash 側でダイナミックテキストを作成してそれの変数名を aaa とし、
JavaScript から aaa へ渡すとうまくいったのですが、
Flash 側のルートのタイムラインで aaa という変数を宣言すると
JavaScript から値がわたりません。
どうすればいいですか?
768Now_loading...774KB:2005/09/12(月) 16:52:36 ID:LgtdFsm8
>>767
SetVariableでダメ?
769Now_loading...774KB:2005/09/12(月) 17:00:10 ID:LgtdFsm8
>>767
あとSetVariableでの値の受け渡しは同期しなかったような気がするので
_level0.aaaをwatchして更新チェックしたほうがいいかも
770Now_loading...774KB:2005/09/12(月) 18:25:56 ID:5G3aubHZ
771Now_loading...774KB:2005/09/12(月) 21:58:18 ID:MxdVhE+E
XML読み込み後のノード取得についてですが、
<xml>
<node>ここに文章<br />ここで改行</node>
</xml>
のようにテキストノードがあった場合、firstChild.firstChildで値をとると
「ここに文章」までが取得出来て<br />以降が取得出来ません。

これは何か別の方法があるのでしょうか?
772Now_loading...774KB:2005/09/12(月) 22:24:56 ID:KhiI/tLX

っ &lt;br /&gt;
773Now_loading...774KB:2005/09/12(月) 23:19:07 ID:q5Tb3ch2
>>771
とりあえずXMLの基本を勉強しようぜ
774Now_loading...774KB:2005/09/12(月) 23:32:33 ID:MxdVhE+E
>>772
やってみたんですが、ダメみたいです。
なんかFlashではどうやら<br>以外はダメなようですね。
(<br />や<br>等はタグとして認識されませんでした)

で、XMLノードだと子ノードに<br>が含まれるとそこまでしか取得してくれないようで、
その先のテキストを取得してくれません。
775Now_loading...774KB:2005/09/12(月) 23:38:58 ID:iEP8v9Ho
<![CDATA[ ここに文章<br />ここで改行 ]]>
776Now_loading...774KB:2005/09/13(火) 00:15:35 ID:TJsnUS9y
>>774
> その先のテキストを取得してくれません。
そんなの当たり前。
XMLにおける<タグ></タグ>の意味を理解する必要があるのが1点。

それと、textHtml周りの確認が1点。

この2点を見直した方がいいね。
777Now_loading...774KB:2005/09/13(火) 00:32:13 ID:WlxID4GZ
みなさんありがとうございます。
色々試した結果、何とか解決しました。

xml = new XML("<xml><node>これが文章<br />これが改行</node></xml>")
txt.htmlText =xml.firstChild.firstChild.firstChild

これでテストしてずーっと失敗していたのですが、
ひとつ上の txt.htmlText =xml.firstChild.firstChild にして
<node>これが文章<br>これが改行</node>
というノードをhtmlTextとして渡す事で<node></node>が効果無効のタグとして処理され、
意図した通りに表示する事が出来ました。
※childNodesで全て拾う方法も出来ました。

>>776
そうですね、XMLについては仕様を一読した程度の知識ですので、
色々と勉強不足でした。
上記の場合、txt.htmlText =xml.firstChild.firstChild.firstChild
としていた事で、childNode[0]=これが文章 childNode[1]=<br /> childNode[2]=これが改行
となっていたようです。初歩的な質問でお手を煩わせてしまい、申し訳ありません…。
778Now_loading...774KB:2005/09/13(火) 00:45:53 ID:8OgdttIX
>>777
できたのは良かったけど俺が>>775に書いたことをなんと・・・
779Now_loading...774KB:2005/09/13(火) 08:30:13 ID:WlxID4GZ
>>778
すみません、見逃していました。
その形も今試したところ、<br />をタグとして認識してくれませんでした。

多分回避方法があると思うんですが、
FlashのtextHtmlでは<br />やCDATA内のタグを
タグではなく文字列として処理してしまうみたいです。

でもわざわざありがとうございます。
780Now_loading...774KB:2005/09/13(火) 08:58:57 ID:n7EwIMsA
>>779
下のスクリプトで、問題なく動くよ。
やはり、xmlの内容にタグを使いたい場合は、CDATAにするべき。

xml = new XML("<xml><node><![CDATA[ ここに文章<br>ここで改行 ]]></node></xml>");
txt.htmlText =xml.firstChild.firstChild.firstChild.nodeValue;
781Now_loading...774KB:2005/09/13(火) 09:44:10 ID:n7EwIMsA
780の補足。
777は偶然動いているだけで、htmlのタグが複雑になると破綻すると思う。

テストしてないけど、
"<font color='#FFCCCC' >ここに文章<br />ここで改行</font>"
こんな感じで、fontタグが付くだけで、もう上手く動かなくなると思われる。
782Now_loading...774KB:2005/09/13(火) 09:53:38 ID:eyaYyjsI
>>703
FLASHってアドレスが取れるのか?
教えてくれてありがとう。
783775:2005/09/13(火) 11:09:27 ID:8OgdttIX
>>780
その通りです、フォローどうも。
しいて言えばxmlは予約語なので避けた方が。
これはもっとも質問者の問題ですが。
784Now_loading...774KB:2005/09/13(火) 16:15:28 ID:zZa4QGlj
http://ponk.jp/flash_basic/index.php?page=1
ここにあるペンギンのシューティングを縦シューティングで作ってみようと思ってます。
弾発射のスクリプトを書く所で
onClipEvent(enterFrame) {
if (_visible) {
_y -= 16;
if (_y > Stage.height) _visible = false;
}
}
と、X座標とY座標を入れ替えてみたんですが、うまくいきません。
弾が1回だけ上方向に飛んでいって、2回目を撃つことができないのですが、何か解決方法はありますでしょうか?

785Now_loading...774KB:2005/09/13(火) 16:29:23 ID:8OgdttIX
>>784
まずおかしいと思ったらtrace入れて数値の変化を確かめようね。
そうしたら
_y > Stage.height
という条件を満たす事がないことに気づくはず。
786Now_loading...774KB:2005/09/13(火) 16:35:53 ID:1u2U8vGf
ムービークリップがマウスカーソルに遠い時は早く、近いとゆっくりと近付いてくスクリプトは分かるのですが
一定の速度でマウスカーソルに近付くようにするにはどのように書けばいいのでしょうか?
787Now_loading...774KB:2005/09/13(火) 16:47:17 ID:AGiewDiB
>>788
難しい方が解ってるのに簡単な方がなぜわからんのだ?
788784:2005/09/13(火) 16:53:09 ID:zZa4QGlj
なるほど、数値がマイナスになってるからY座標が高さより大きくなることはないですね。
_y < 0にしてみたら何とか弾を何発も発射できるようになりました。
どうもありがとうございました。
789786:2005/09/13(火) 17:22:34 ID:1u2U8vGf
>>787
すみません自己解決しました
790Now_loading...774KB:2005/09/13(火) 17:42:54 ID:2+pp6Fnm
いや、一定の速度で動かすほうが難しいと思うぞ
>>786の前者は
_x += (_parent._xmouse-_x)/5;
_y += (_parent._ymouse-_y)/5;
これだけだけど、後者の方は三角比使わなければいけない
rot = Math.atan2(_y-_parent._ymouse, _x-_parent._xmouse);
_x -= Math.cos(rot);
_y -= Math.sin(rot);
791786:2005/09/13(火) 18:04:37 ID:1u2U8vGf
>>790
三角比ですか・・
出来たと思ってやってたのはifでカーソルの位置とMCの位置を場合分けして
if (this._x <= _root._xmouse+10 && this._x >= _root._xmouse-10) {
this._x += 0;
} else if (this._x > _root._xmouse) {
this._x -= 5;
} else if (this._x < _root._xmouse) {
this._x += 5;
}
if (this._y <= _root._ymouse+10 && this._y >= _root._ymouse-10) {
this._y += 0;
} else if (this._y > _root._ymouse) {
this._y -= 5;
} else if (this._y < _root._ymouse) {
this._y += 5;
}
とかonClipEvent(enterFrame)の中でやってまして
これだと斜めは45度しか移動しないし、斜め移動のスピードがやたら早いんですが
出来た気になってました
ちょっと三角比を勉強してきます
どうもありがとうございました
792Now_loading...774KB:2005/09/13(火) 18:15:11 ID:AGiewDiB
>>429
ガイドってのがよくわからんが、普通にX軸移動なら、enterFrameでできるでしょ?
this._x=100;
this.onEnterFrame=function(){
this._x-=5;
if(a._x<0){
this.onEnterFrame=null;
}
}
な、感じで。
793Now_loading...774KB:2005/09/13(火) 18:16:29 ID:AGiewDiB
あ、if(this._x<0)ね。ルートに記述する場合はaで。
794Now_loading...774KB:2005/09/13(火) 18:58:20 ID:9Bm9RwFO
>>790-791
移動方向の単位ベクトル求めて一定速度を掛ければOKで
三角関数なんて使う必要はないやね。
onClipEvent(EnterFrame) {
norm = Math.sqrt(_xmouse * _xmouse + _ymouse * _ymouse);
if (norm > 0) {
_x += 5 * _xmouse / norm;
_y += 5 * _ymouse / norm;
}
}
795786:2005/09/13(火) 19:15:53 ID:1u2U8vGf
>>794
あーすごい 完璧に動きました
ありがとうございます
796Now_loading...774KB:2005/09/13(火) 19:25:38 ID:2+pp6Fnm
>>794
三平方の定理
797Now_loading...774KB:2005/09/13(火) 19:28:50 ID:TJsnUS9y
>>779
780さんが答えを出してくれているから、これは蛇足なんだけど、
<br />という表記は
HTMLの表記じゃなくてxHtmlの表記方法だよ。
そこんところ理解しているの?
798792:2005/09/13(火) 19:37:00 ID:AGiewDiB
792,793はスレ間違いスマン。スルーで。
799Now_loading...774KB:2005/09/13(火) 22:02:47 ID:029/s5d7
MCをonすると音が鳴る・・それだけでいいのですが教えてください。
無知なもので・・
800Now_loading...774KB:2005/09/13(火) 22:22:38 ID:2+pp6Fnm
>>799
あなたの環境が不明なので仮にWinXPのFlashMX2004とする
どこにスクリプトを書くのか不明なので仮にクリップアクションとする
onというイベントハンドラは無い。仮にonRollOverとする
サウンドオブジェクトの変数名が不明なので仮にobjとする
サウンドのリンケージ識別子が不明なので仮に"bgm"とする

onClipEvent(load){
obj=new Sound(this);
obj.attachSound("bgm");
}
on(rollOver){
obj.start();
}
//800get
801Now_loading...774KB:2005/09/14(水) 00:52:53 ID:z2u0mHEX
>//800get
ワロタ
802Now_loading...774KB:2005/09/14(水) 04:18:15 ID:7cBamx48
いいセンスだ
803Now_loading...774KB:2005/09/14(水) 11:31:14 ID:daPFquUX
あったーらしいー あーさが きたっ
804Now_loading...774KB:2005/09/14(水) 12:28:03 ID:FKHZkFb2
何これ?
805 :2005/09/14(水) 15:27:13 ID:oisBA+Yg
WindowsXP SP2 FlashMX 2004 Proの者です。
長文失礼さしてください。

UIコンポーネントのスクロールペインへ外部swfを読み込んでギャラリーページみたいなものを作ってるんですが
ScrollPaneの動作でどうもうまくいかないところがあるので質問させてください。

以下のように左側にメニューボタンが並んでいて、クリックするとスクロールペインへ外部swfを読み込むようにしています。

[メニュー1] ┌───┐
[メニュー2] │     │ ←スクロールペイン (インスタンス名: ScrollPane )
[メニュー3] │     │
[メニュー4] └───┘

読み込みは左メニューボタンへ
on (release) {
ScrollPane.contentPath = "外部.swf";
}
という風にしています、これで読み込みはできているんですが
左メニューのボタンを上から順にすばやく押したり、キャシュがない状態で何ページも見て回ったりしていると

・表示に極端に時間がかかることがある (100kぐらいのswfなのに10秒以上)
・スクロールペインの内容がペインよりも大きくてはみだしているのに、 スクロールバーが非アクティブでスクロールができない。
・表示されている内容とスクロールバーの位置が一致しない。

どうもスクロールペインに新しい内容がロードされたときに、その高さと幅が取得できておらず
たとえば、前に表示されていたページが縦にくそ長いページだったりした場合、次のページにうつってもスクロールバーの縦幅が縮まったままになる

ローカルでテストした場合はこの症状は起きませんでした、レンタルサーバーとかにアップして見た場合に出るようです。

どなたか知恵をお貸しください。
806Now_loading...774KB:2005/09/14(水) 19:01:42 ID:vzVjg+ru
>>805
ロード完了前に他のをロードしてるのかもね。ヘルプを参考にして、
ロードバイト数とを取得して見ればどうかな。
807Now_loading...774KB:2005/09/14(水) 19:42:41 ID:MsKCp/G8
ScrollPane.contentPath = "外部.swf" の後に、
ScrollPane.refreshPane() は実行した?
808Now_loading...774KB:2005/09/14(水) 20:54:49 ID:oisBA+Yg
>>806-807
ありがとう!

ScrollPane.refreshPane();
は、スクロールペインインスタンスへ
on (complete) {
  ScrollPane.refreshPane();
}
と、何も考えずに書いたら無限ループして固まってしまったので、それっきり試していませんでした・・・
どう書けばいいかな?


バイト数のモニタリング、ちょっといまからつけてきまっす。

また来ます
809Now_loading...774KB:2005/09/15(木) 19:40:10 ID:KEwBrhJZ
先生!質問です。
getNextHighestDepth();がundefinedを返すのですが整数以外を返すことはあるのですか?
またマイナス深度のMCを参照した場合戻す値は0になるのですか?
使っているのはMX2004のマック版です。
810Now_loading...774KB:2005/09/15(木) 22:58:03 ID:xO0osNve
>>809
整数以外を返すことはないよ。
負の値を返すこともないってヘルプに書いてる。
どやったらundefined返ってきた??
811Now_loading...774KB:2005/09/15(木) 23:13:28 ID:NHyIOX8e
無いMCからの深度を計ろうとしてるんじゃない?
_root.getNextHighestDepth();
で使ってみれ
812Now_loading...774KB:2005/09/15(木) 23:54:53 ID:E+vSQzpx
関係無いんだけどさ、
getNextHighestDepthってよく使う割に文字列長くて入れるの鬱陶しくない?
_global.MovieClip.prototype.gnhd = getNextHighestDepth
ってして使ってるけど、こういうの止めたほうがよさげ?
813Now_loading...774KB:2005/09/16(金) 00:14:18 ID:Mn0YpA6y
>>812
他の人と共同作業しないなら、別に問題ないんじゃない。

俺は、getNextHighestDepthってバグの関係で使ってないなあ。
814Now_loading...774KB:2005/09/16(金) 00:32:23 ID:g+pYR7cj
>>813
コンポーネント関連の奴?
あれって狂うのrootだけだからあんま気にしてなかった。
815Now_loading...774KB:2005/09/16(金) 08:44:49 ID:ZMRMqPdf
>>814
ああ、あれrootだけなんだ。
mx2004が出た当初に一回そこではまっちゃって、それ以来使ってない。
816Now_loading...774KB:2005/09/16(金) 09:51:54 ID:ryrRIrqt
//質問です。
onClipEvent(enterFrame){ //を使ってmcがマウスに近づく

this._x += (_xmouse-this._x)/n;

} //ってので

/*この計算の場合イージングアウト、すばやく近づき、ゆっくり止まるんだが、
ゆっくり近づき始め、すばやく止まるような、イーズインにしたいんですが?
何か簡単な計算式にできますか?*/
817Now_loading...774KB:2005/09/16(金) 11:11:37 ID:0OZY3VHa
少しは考えなさい
818Now_loading...774KB:2005/09/16(金) 11:28:48 ID:9LZlJuZn
基本的なことでいまいちよく解ってないんですけど

30fpsのFlashで
interval = setInterval(timer, 1000);
を使用した場合、ほぼ正確に1秒ごとになるのでしょうか。

fpsとintervalの関係が解らない
関係ないのかもしれないけど
819Now_loading...774KB:2005/09/16(金) 11:32:09 ID:xGmOvAQn
>>818
表示ラグは仕方ないけど、ほぼ正確だと思います。
820Now_loading...774KB:2005/09/16(金) 11:35:50 ID:9LZlJuZn
>>819
ありがとうございます。
とりあえず安心しました。
821Now_loading...774KB:2005/09/16(金) 14:58:25 ID:ryrRIrqt
>>817
ホントに判りません。ボスけて
822Now_loading...774KB:2005/09/16(金) 16:21:24 ID:NL5v6GAI
>>816
すばやく 止まる
っていうのが激しく矛盾してるわけだが。
だいたい、素早くなるような動きにすると、近づくMCを避けた際にMCがポインタの周りをぐるぐる回る事になるんだけど。いいの?
で、ぐるぐる回るようなのを避けると不自然な動きになるけど↓
onClipEvent(load){
kasoku = 0;
kasokuDelta=0.2;//この数字がでかいほど加速が鋭い。小さいと緩やか。
}
onClipEvent(enterFrame) {
if (this.hitTest(_root._xmouse, _root._ymouse, true) == false) {
tmp = Math.atan2(this._ymouse, this._xmouse);
this._x += Math.cos(tmp)*kasoku;
this._y += Math.sin(tmp)*kasoku;
kasoku+=kasokuDelta;
}else{
kasoku=0;
}
}
823Now_loading...774KB:2005/09/16(金) 17:10:59 ID:ryrRIrqt
>>822
サンクスコ すばやく止まるじゃないですね。近づく程すばやくなる。です
試してみます。

できなかったら呪う。
824Now_loading...774KB:2005/09/16(金) 17:36:53 ID:jKqAVXt1
円運動する直線に残像を付けたいんですけど、残像を付けるスクリプトがわかりません。

どなたか教えてください('A`)
825Now_loading...774KB:2005/09/16(金) 17:44:05 ID:NL5v6GAI
>>823
>できなかったら呪う。
ハァ?死ね

>>824
その直線はMC?それとも描画メソッド?
MCって事にして話を進めると
//その直線の名前を"line_mc"と仮定して書くね。
//このASはフレームアクションに記載してちょうだいね。
//自分で試してないです。動かなくてものろわないでね。
nN="znz"+count;
tN=line_mc.duplicateMovieClip(nN,count);
tN._rotation=line_mc;
tN._x=line_mc;
tN._y=line_mc;
tN.onEnterFrame=function(){
this._alpha-=2;//この数字は適当にかえていいよ
if(this._alpha<=0){
this.removeMovieClip();
}
}
826Now_loading...774KB:2005/09/16(金) 17:45:54 ID:NL5v6GAI
あ、間違い
↓をコピペで動く(か動かないかわかんないけど)と思う。
count=0;
_root.onEnterFrame=function(){
nN="znz"+count;
tN=line_mc.duplicateMovieClip(nN,count+1);
count++;
tN._rotation=line_mc;
tN._x=line_mc;
tN._y=line_mc;
tN.onEnterFrame=function(){
this._alpha-=2;//この数字は適当にかえていいよ
if(this._alpha<=0){
this.removeMovieClip();
}
}
}
827824:2005/09/16(金) 17:59:59 ID:jKqAVXt1
>>825-826

すいません、どこに記述するかもわかりません……
雰囲気としては、昔の映画が始まる前のカウントダウンっぽいものを作りたいです。

使おうと思っているスクリプトはこんな感じのです(某サイトからのコピペ)

clear();
frame++;
cx=160; cy=160;//
cr=60;//
speed_ctr=5; //
deg=math.PI/180; //
ncx=cx+cr*math.cos(frame*speed_ctr*deg); //
ncy=cy+cr*math.sin(frame*speed_ctr*deg); //
r=100; //
speed_line=10; //
lineStyle(5,0x000000,100);
moveTo(ncx+r*math.cos(frame*speed_line*deg),
ncy+r*math.sin(frame*speed_line*deg));
lineTo(ncx+r*math.cos((frame*speed_line+180)*deg),
ncy+r*math.sin((frame*speed_line+180)*deg));
endFill();//
828Now_loading...774KB:2005/09/16(金) 18:33:46 ID:LS/BaTGS
>>827
自分で組めないようなら本屋池
829Now_loading...774KB:2005/09/16(金) 18:52:23 ID:0Eo4/+G0
昔の映画が始まる前のカウントダウンっぽいものを作りたい

という発注をしてくれればつくりますよ。
予算はおいくら?
830Now_loading...774KB:2005/09/16(金) 19:02:47 ID:UG1wqQ4A
ttp://www.macromedia.com/devnet/flash/drawing_graphics.html
とかのASを使ってやるか、はたまた、一枚づつアニメーションする。
831827:2005/09/16(金) 19:44:51 ID:jKqAVXt1
>>828-830

うーん、まだまだ自分にはASは早かったようです。
本屋逝ってきます。みなさんありがとうございました。
832Now_loading...774KB:2005/09/16(金) 21:03:58 ID:NL5v6GAI
>>827
あのさ
>//このASはフレームアクションに記載してちょうだいね。
この一文がよめんのかお前
833Now_loading...774KB:2005/09/16(金) 21:24:08 ID:tiLsQFhb
>>832
コピペするのが目的なんだから読んでるわけないじゃん
834Now_loading...774KB:2005/09/16(金) 22:01:01 ID:m3P1gz3Q
「FLVファイルを外部から読み込んでFlashで
ストリーミング再生」というものを作っています。
で、再生、停止ボタンや一時停止ボタン、ボリュームノブまで
完成して終了!といきたかったのですが、
「now loadingも付けてほしい」と言われて苦戦しています。
もちろん普通の?Flashムービーでのnow loadingや
外部のswfを読み込んでのnow loadingは作ったこと
があるのですが、NetStreamオブジェクト関係の
ものは今回が初めてで上手くいきません。
ちなみにFCSは使っていません。どなたか教えてください!と
都合の良いことは言いませんので、これと同じ例、もしく
はかなり近いもののやり方が載っている書籍等が
ありましたら是非教えてください。よろしくお願いし
ます。


835Now_loading...774KB:2005/09/16(金) 22:17:11 ID:ZMRMqPdf
NetStream.bytesLoaded
NetStream.bytesTotal

この2つを使用して、以下の感じでできるんじゃない。
if ( bytesLoaded < bytesTotal ) {
//loadingムービー表示
} else {
//loadingムービー非表示
}
836Now_loading...774KB:2005/09/17(土) 16:22:07 ID:ijhNXzFW
ロードが終わるまで now loadingするなら
ストリーミングの意味がないんじゃない?
やるなら、バッファしてる時間だけ表示するとか。
837Now_loading...774KB:2005/09/17(土) 20:09:14 ID:BHpTkzOr
ああ、ストリーミングか。
だったら、if (bufferLength < bufferTime) という感じにやるしかないかな。
再生途中のバッファ切れでは表示させないように、条件をもっと工夫しないといけないけど。

この2年くらい、loadingムービーってつけなくなったなあ。
回線が速くなったのと、now loadingがあるとストレスを感じさせるので、
多少重くてもloadingムービーなしで、しらっと再生させちゃう。
838Now_loading...774KB:2005/09/18(日) 02:54:14 ID:Dz7CYWp4
おすすめのASエディタはありますか?
みなさん何をお使いですかね。
839Now_loading...774KB:2005/09/18(日) 03:01:55 ID:TQrzAqzx
SE|PY
840Now_loading...774KB:2005/09/18(日) 10:10:35 ID:bNFNWsK6
this.onPress = function(){
this.gotoAndPlay("move");
}

this.stop();

エラーが出ます
何故でしょうか?
841Now_loading...774KB:2005/09/18(日) 10:39:52 ID:IQfpPU2i
すみませんが、beginFill、lineToで直線ってできないんですか?
842Now_loading...774KB:2005/09/18(日) 10:43:31 ID:VEzz6Foe
いきなりthisだらけのスクリプトを書かれても何をやりたいのか分からないけど、
多分、onPress内のpathの違いかな。

_parent.gotoAndPlay("move")

で、望みの動作になる?
843Now_loading...774KB:2005/09/18(日) 10:47:46 ID:IQfpPU2i
841ですが、おかしな質問をしてしまいました。
もいっかいちゃんとへるぽ読んでみます
844Now_loading...774KB:2005/09/18(日) 10:49:57 ID:IQfpPU2i
lineStyleが足りてませんでした。
おはずかしい。
845Now_loading...774KB:2005/09/18(日) 10:50:02 ID:YLlOVALB
>>840
エラー ってことなら、オブジェクトアクションとして書いてしまっているとか?
846Now_loading...774KB:2005/09/18(日) 10:52:57 ID:VEzz6Foe
>>845
ああ、そっちか。
文法的にはあっているので、コンパイルは通るはずだと思ってしまった。
847Now_loading...774KB:2005/09/18(日) 11:19:20 ID:bNFNWsK6
function onPress(){
gotoAndPlay("move");
};

としたら直りました
>>845 >>846
ありがとうございます

理由はよく分かりません
848Now_loading...774KB:2005/09/18(日) 14:02:33 ID:uxbye8rs
>>847
まあ、そういう場当たり的な解決もいいが、
根本的に色々オカシイから、
一回勉強しなおしたほうがいいかもしれんよ
849838:2005/09/18(日) 15:02:47 ID:OUCeQc4m
>>838
早速SE|PYをダウンロードして入れてみました。
確かによさそうですねこれ。教えていただきありがとうございます。

で、文法チェックしようとしたら「mtasc」が必要だと言われたので
http://www.mtasc.org/
からダウンロードして入れてみたのですが、それでも「(unknown):type error class not found」という
エラーが出てしまいます。これは何ででしょうか? 単にSE|PYがmtascの最新ヴァージョンに
非対応とかなんですかね? 思いっきりスレ違いですが、他に質問できそうなところもないので
よろしければおせーてください。
850Now_loading...774KB:2005/09/19(月) 00:23:35 ID:WazvjKMe
>>849
AS2で書いてる?
851Now_loading...774KB:2005/09/19(月) 07:24:14 ID:ZOXTobk6
インスタンス名がa1〜a10の10こに同じ値を代入したいのですが
せっかく連番なので1度に指定できる記述の仕方があったら教えてください。
852Now_loading...774KB:2005/09/19(月) 07:45:43 ID:CBqH152E
>>851
ルートにa1,a2の2個あるとして、ルートの1フレに
for(var i=1;i<3;i++){
this["a"+i]._alpha=50;
}
とか。
853Now_loading...774KB:2005/09/19(月) 09:00:35 ID:ZOXTobk6
>>852
それでできました、ありがとうごじゃりますた。
854Now_loading...774KB:2005/09/19(月) 12:11:27 ID:gLXaFb4A
すみません。今アクションゲーム作ってて
なぜかできないことがあったので質問させていただきます。

30,20の大きさのキャラに中心点は15,20と設定して、
ステージ(stage1)との当たり判定で、反発するように設定したんですが、
for (i=0;i<=10;i++){
if (_root.stage1.hitTest(_x +"15",_y -"10",true)) {_x -= 1;}
if (_root.stage1.hitTest(_x -"15",_y -"10",true)) {_x += 1;}
if (_root.stage1.hitTest(_x, _y -"20", true)) {_y += 1;}
if (_root.stage1.hitTest(_x, _y, true)) {_y -= 1;}
}
とやるとなぜか後ろの三つはできるけど、最初のキャラの右側に当たったときの設定が
なぜか反映されずにそのまま入ってしまいます。
何回もいじってみても直りません。
ASに問題があるのでしょうか?
ちなみにParaFlaを使っています。
855Now_loading...774KB:2005/09/19(月) 12:30:15 ID:CBqH152E
>>854
パラフラはよくわからんが、座標指定するのは数値なのでは?
856Now_loading...774KB:2005/09/19(月) 12:45:44 ID:gLXaFb4A
>>855
前に”を抜かしてやってみたらいかなかったんですよ
でも今はずしてみたらできましたorz
ありがとうございました。
857Now_loading...774KB:2005/09/19(月) 17:29:34 ID:zRdt+qRv
function onLoad(){
var state = 0;
};

function onPress(){
state++;
trace(state);
};

NaNとなります
なぜでしょうか?
858Now_loading...774KB:2005/09/19(月) 17:58:01 ID:MzHmVrTl
>>857
function内でvarを使って宣言すると、「そのfunction内でのみ有効なローカル変数」になる
なので他のfunctionからも参照したいときは、単に
state=0
と書く。
859Now_loading...774KB:2005/09/19(月) 17:59:38 ID:n/gG9/th
stateの前のvarを取るか、
var stateをonLoadの外で宣言する。
860Now_loading...774KB:2005/09/19(月) 18:01:11 ID:n/gG9/th
かぶった
861Now_loading...774KB:2005/09/19(月) 18:05:01 ID:zRdt+qRv
>>858>>859
できました。ありがとうございます。
862Now_loading...774KB:2005/09/20(火) 11:23:53 ID:YtwOpg2O
環境:Windows FlashMX &FlashMX2004

btn_mc.onRelease=function(){
何か処理;
};
btn_mc.onReleaseOutside=function(){
何か処理;
};

を ボタンインスタンスに書くような

on(release, releaseOutside){
何か処理;
}

みたいな形に省略する方法はありますか?
863Now_loading...774KB:2005/09/20(火) 11:26:25 ID:tIEPkZyA
btn_mc.onRelease = btnOnRelease;
btn_mc.onReleaseOutside= btnOnRelease;
function btnOnRelease():Void {
//処理
}
864Now_loading...774KB:2005/09/20(火) 11:30:26 ID:YtwOpg2O
>>863
なるほど 一つの関数にまとめるんですね。
ありがとうございました。
865Now_loading...774KB:2005/09/21(水) 19:45:19 ID:QvH1VMqg
ifで(変数1=”なんたら”)
 変数2=処理
とするとき、変数1が例えば”なんたらかんたら”でも変数2の処理をする
ワイルドカード的なifはできるんでしょうか?まだ初めてなもんで、お願いします。
FLASHmx2004
866Now_loading...774KB:2005/09/21(水) 20:02:47 ID:Df6M9Zs8
>>865
どの程度の柔軟性を求めてるのかその例だとわかりにくいけど、その例の限りなら

if(変数1=="なんたら"||変数1=="なんたらかんたら"){//「&&」が「且つ」で、「||」が「若しくは」
処理;
}

867Now_loading...774KB:2005/09/21(水) 20:05:30 ID:Z6DC4UK8
>>865-866
ワイルドカード的にというのなら、もうちょい柔軟にこんな感じかな

//検索する文字列
var str:String = "なんたらかんたら";
//この文字列を含んでいれば、true
var condition:String = "なんたら";
if (str.indexOf(condition) != -1) {
//"なんたら"を含むので処理を実行
trace("処理を実行");
}
868Now_loading...774KB:2005/09/21(水) 20:13:00 ID:QvH1VMqg
>>866-867
ありがとうございます。試してみます。
869Now_loading...774KB:2005/09/22(木) 00:02:12 ID:ZbGdRbTz
MX2004 winXPです

あるムービークリップにマウスが乗っているときフレーム毎に横に動かしたいので

MC.onEnterFrame = function(){
MC._x += 2
}

とりあえず初めこうフレームに書きました
これでフレーム毎に横に動きました

しかしマウスが”乗っていれば”動く、という操作が出来ません
onRollOverやあifやら色々試したのですが動きません
簡単な質問でしょうがお願いします
870Now_loading...774KB:2005/09/22(木) 00:08:38 ID:JwZv7RxS
MC.onEnterFrame = function() {
if (MC.hitTest(_xmouse, _ymouse, true)) {
MC._x += 2;
}
};
871Now_loading...774KB:2005/09/22(木) 00:30:15 ID:ZbGdRbTz
ありがとうございます!
hitTest初めて見たアクションスクリプトなので勉強してきます
本当に助かりました
872Now_loading...774KB:2005/09/22(木) 04:59:34 ID:cBYLWlJW
パスが違うと思われ
873Now_loading...774KB:2005/09/22(木) 05:55:55 ID:gufafe0s
MC.onRollOver = function() {
this.onEnterFrame = function() {
this._x += 2;
};
this.onRollOut = function() {
delete this.onEnterFrame;
};
};
874Now_loading...774KB:2005/09/23(金) 00:31:46 ID:+qXr0ThA
クラスパスの設定が不足してるんじゃないの?
この、情報からじゃ、よくわからんが・・・
875Now_loading...774KB:2005/09/23(金) 18:05:18 ID:BPt0jEsF
ど素人ですみませんが、質問です。

プロフェッショナルでナウローディングの作り方がわかりません。
100%ロードしたら、指定したフラグに飛ぶスクリプトを
どなたか教えてください。

どうか宜しくお願い致します。
876Now_loading...774KB:2005/09/23(金) 18:11:24 ID:+mtQNgYd
プロVerじゃなかったら分かるのか・・・?

まあ大雑把に書くとMCに

onClipevent(enterFrame){
if( _root.getBytesLoaded() == _root.getBytesTotal() ){
_root.gotoAndPlay("移動させたいラベル");
}


ってかんじで。
877Now_loading...774KB:2005/09/23(金) 19:43:59 ID:yDll3zmh
すみません、質問です。。
多次元配列を使いたいですが、この処理の仕方だとiが0の時にしかデータが入りません。
なぜでしょうか、また他に適切なやり方などあったらご教授お願いします。
var i = 0;
var j = 0;
myArray = new Array();
myArray[i] = new Array();
for (i=0; i<100; i++) {
for (j=0; j<100; j++) {
myArray[i][j] = "hoge";
}
}
878Now_loading...774KB:2005/09/23(金) 19:50:27 ID:v/XiHB1T
順番が若干違う

var i = 0;
var j = 0;
myArray = new Array();
for (i=0; i<100; i++) {
myArray[i] = new Array();
for (j=0; j<100; j++) {
myArray[i][j] = "hoge";
}
}
879877:2005/09/23(金) 19:58:10 ID:yDll3zmh
あっ!なるほどです。
これじゃ、2次元配列が1つしかできないですよね。
理解しました、ありがとうございます。
880たけし:2005/09/23(金) 20:48:48 ID:4JB7Cfny
キーボードの矢印キーを押すと前に進むという簡単なやつを作ったんですが
ムービープレビューだと正常に動きますが バブリッシュしてIEだと動きません
どうしてか全くわからないんです どうかよろしくお願いします (TT)
ソースはここにアップしておきました↓

http://takeshin2.hp.infoseek.co.jp/game1.fla

881Now_loading...774KB:2005/09/23(金) 21:03:14 ID:2qrLVSFb
>>880
動くよ。フラッシュ内一回クリックした?
882たけし:2005/09/23(金) 21:31:27 ID:4JB7Cfny
ありがとうございます!! クリックしないとだめなんですね!! 初めて知りました・・・。
883Now_loading...774KB:2005/09/23(金) 22:53:08 ID:3G5FO4Wu
ムービークリップの配列ってできないですか?
MCList = new Array();
として、シーン上でsomeMCと名前をつけたムービークリップがあって
MCList.push(someMC);
みたいにしても、別のムービークリップの中で
for (var targetMC in _root.MCList)
とやった時、ちゃんと登録した数の分だけループするんですけど
this.hitTest(targetMC)とかが機能しません。
someMC内で宣言したメンバ変数も参照できません(undefined)。
884Now_loading...774KB:2005/09/23(金) 23:23:41 ID:v/XiHB1T
できるよ。

pushで入れた場合は、連想配列でなく普通の配列になるので、
for (var i:Number = 0; i < MCList.length; i++) {
MCList[i].hitTest(targetMC);
}
って感じに回さないとダメだと思う。
885Now_loading...774KB:2005/09/23(金) 23:28:58 ID:3G5FO4Wu
>>884
あ〜なるほど… ありがとうございました
886Now_loading...774KB:2005/09/24(土) 00:07:37 ID:qEl1+K/r

っ this.hitTest(_root.MCList[targetMC])
887Now_loading...774KB:2005/09/24(土) 09:16:35 ID:HgXK/iVT
先生、質問です。
例えばステージ上に100個のMCインスタンスを置いて1つのボタンで表示のオン&オフってどうすればよいのでしょうか?
MCインスタンス1つづつプロパティを設定しなければだめですか?
大元のMC自体のプロパティを変更すればステージ上から全部表示を消すことができると考えていたのでそれができずにちょっと困ってます。
なにかよいアドバイスをよろしくお願いします。
888Now_loading...774KB:2005/09/24(土) 09:22:09 ID:qfQy9y5o
>>887
100個分設定してください。やり方はいろいろあるよ。
889Now_loading...774KB:2005/09/24(土) 09:29:45 ID:HgXK/iVT
回答ありがとうございます。
やっぱり、そうなんですか。
FLASHの構造自体を大勘違いしてました。
ムービークリップのプロパティの設定とあるのはムービークリップインスタンスのプロパティを設定ということなんですね?

例えばなんですが100個のMCインスタンスの内容を一気に入れ替える(透明なものに)ってできるんですか?
100個が_rootにあるわけではなく、いろんなMCインスタンスに入れ子になってるものでループ組むのが面倒というか、、、。

890Now_loading...774KB:2005/09/24(土) 10:03:01 ID:qfQy9y5o
>>889
それは設計のやり方ですね。
鋳型から作られたものは、鋳型を変えても変わらないでしょ?
基本的にはインスタンスそれぞれにループ処理で値を変えてあげる。
MCに分かれてるならそのMCにそういう処理をするようにしてあげれば良いと思う。
891Now_loading...774KB:2005/09/24(土) 10:13:24 ID:9we0UGDC
>>887 >>889
基本的に部分が、抜け落ちているみたいなので、
何かチュートリアル的な本を買って、きちんと勉強した方がいいよ。
892Now_loading...774KB:2005/09/24(土) 10:14:07 ID:9we0UGDC
「基本的な」、だった。
893Now_loading...774KB:2005/09/24(土) 10:28:27 ID:HgXK/iVT
なるほど、てっきりMCインスタンスとは大元のMC(ライブラリの)をいじれば変わるものだとおもってました。
確かにMCをたどってプロパティ設定すればいいのでしょうけど処理が重くなるなぁと、、、。
入れ子にしてるMCインスタンスの中には非表示にしたくないMCインスタンスもはいってるので、、、。
設計からやりなおしたほうがいいかなぁ、、、。
894Now_loading...774KB:2005/09/24(土) 10:34:35 ID:GjpIL+AW
速度を気にしないなら、MC側がenterFrameでフラグを監視して
処理を行えばいいんじゃないかな。
895Now_loading...774KB:2005/09/24(土) 10:45:51 ID:HgXK/iVT
でも監視するMC側も結構数があるんです。
例えば10x10くらいで並べていてその中にA,B,CのMCインスタンスを入れているんですけど
ボタンでON,OFFしたい場合100個監視しなければならにですよね?
もしくは100個のMCインスタンスをパスにいれたループ組むとか。

てっきりライブラリを書き換えれば済むものだと勘違いしてまして、、、。
A,B,Cを配置するMCインスタンスを分けた場合は大元を非表示にすればすむのでしょうけど、、、

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




896Now_loading...774KB:2005/09/24(土) 10:52:38 ID:jOooNqmZ
>>895
100個程度のon/offくらい、大して重くないんじゃないの?
そのMCのフレームアクションに

if(!_root.btnAry) _root.btnAry = new Array()
_root.btnAry.push(this)

とでも入れておけば全部配列に入るから、
後はボタンアクションなり何なりで操作すればいいと思うけど。
897Now_loading...774KB:2005/09/24(土) 10:59:32 ID:HgXK/iVT
100個並べてる中にA,B,CのMCインスタンスがランダムに複数存在しているので、、、。
でもFLASH MXって1000個くらいのMCインスタンスが表示されていても結構動くものですね。
898Now_loading...774KB:2005/09/24(土) 11:36:33 ID:jOooNqmZ
>>897
そのA,B,Cに応じてifで判定させればいいんでは?
for(var i=0 , i<_root.btnAry.length ; i++){
if(btnAry[i].A && !btnAry[i].B && !btnAry[i].C) ***
else if(!btnAry[i].A && btnAry[i].B && !btnAry[i].C) ***
else if(!btnAry[i].A && !btnAry[i].B && btnAry[i].C) ***
}
//単純だけど。

そもそもどういう動作を行いたいのか、
具体的に書いてないからいまいちわからん。
899Now_loading...774KB:2005/09/24(土) 12:03:12 ID:HgXK/iVT
サンプルコード、どうもです。
動作は単純に複数MCインスタンスの表示、非表示が簡単にできないかなぁと。
ステージ上でライブラリからMCインスタンスならべてライブラリのMCをいじると変更が全て継承されますよね。
あれをスクリプトでできると思い込んでいたので、、、。
900Now_loading...774KB:2005/09/24(土) 13:46:56 ID:bcMdanmO
>>899
Flashで編集している時点では同じソースのインスタンスって扱いだけど、
パブリッシュされた後はそれぞれ別々のムービークリップに変わるから、
完全に別物だと思っていいと思うよ。

なので、一括管理をするなら、
配置自体をattachMovie使って登録しながら配置とか、
上にあげたような方法で自身を登録させて、中に判定要素を盛り込むとかだね。
901Now_loading...774KB:2005/09/24(土) 20:10:37 ID:hzFT8ViU
現在のフレームを取得するASってありますか?
いくつかサイトを探してみたんですけど、見つからなくて…
キーを押したら現在のフレーム数を表示するってやりたいのです。
902Now_loading...774KB:2005/09/24(土) 20:19:39 ID:vWqwT9jt
MovieClip._currentframe
903Now_loading...774KB:2005/09/24(土) 23:46:49 ID:RlGyUinS
(ソフトFlashMx2004 OS:Win98SE)

文字列中の数字の位置およびアルファベットの大文字の位置
で判定するASはどのようになりますでしょうか? 私の方では
例えばtxtを 1A2B3C4D として

 if(txt.charAt(0) == '"0"-"9"'){・・・・}
 if(txt.charAt(3) == '"A"-"Z"'){・・・・}

としましたが、ダメでした。
宜しくお願い致します。
904Now_loading...774KB:2005/09/25(日) 01:39:06 ID:PbSK7e0S
for(var i=0; i<txt.length; i++){
   if(48<=txt.charCodeAt(i) && txt.charCodeAt(i)<=57){ }
   if(65<=txt.charCodeAt(i) && txt.charCodeAt(i)<=90){ }
}
905Now_loading...774KB:2005/09/25(日) 02:19:36 ID:Xst9dZjY
var t;
for(var i=0; i<txt.length; i++){
t = txt.charCodeAt(i);
   if(48 <= t && t <= 57){ }
   if(65 <= t && t <= 90){ }
}

個人的にはこういうのが好き
906Now_loading...774KB:2005/09/25(日) 03:11:56 ID:bvoyojnD
http://www.geocities.co.jp/Milano-Cat/4036/bote/4_4.html
ここのぶちねこはどこだってゲームのように
1回押したボタンを他の画像に変えて押せなくするようにするにはどのようにすればいいでしょうか?

サンプルファイル見たのですが分かりませんでした・・・
907Now_loading...774KB:2005/09/25(日) 03:41:48 ID:MD5xv957
>>906
そのサンプルで説明すると、
配置されるムービークリップ内で、
1フレーム目にボタン(またはムービークリップ)
2フレーム目では1フレーム目のボタンを消して、正解、不正解のムービークリップ
という風に置いて、
1フレーム目のボタンに再生のAS、2フレーム目のフレームにstopのAS
という仕組み

まあ、ようは、ボタン押したらボタンの無いフレームに移動すればいい
908Now_loading...774KB:2005/09/25(日) 05:18:28 ID:dvTpi8d4
スクロールバーのスライドボタン(ソフトFlashMx2004 OS:Win98SE)

ダイナミックテキスト(変数:t1, インスタンス名:t1_ins)に計算結果を表示
させる際、スクロールバー(縦と横)のスライドボタンが現れず困っています。
 作製したswfは http://www.hakusi.com/up/src/up4534.swf です。
 ※スクロールさせる前提で、ダイナミックテキスは小さめに作っています。

ASとしてフレームアクションに
System.useCodepage = true;
this.onData = function() {
scr3_tate.setScrollTarget(t1_ins); //縦のインスタンス名:scr3_tate
scr3_yoko.setScrollTarget(t1_ins); //横のインスタンス名:scr3_yoko
};

と書き、ボタンアクションに
on (press) {
t1 = "";
sq1 = Math.sqrt(in1); //値1の平方根を求める
sq2 = Math.sqrt(in2); //値2の平方根を求める
//
t1 = "Input1= "+in1+", "+"Input2"+in2+"\n";
//
for (var i = 1; i<=20; i++) {
t1 = t1+" "+sq1*i+", "+sq2*i+"\n"; //t1に平方根のi倍を改行表示
}
}

としました。計算結果は現れるのですが、スライドボタンが現れません。
どうすればいいでしょうか?
909Now_loading...774KB:2005/09/25(日) 05:32:38 ID:9FgM1aBo
>>908
this.onLoad=function.........ではどうね
910903:2005/09/25(日) 05:43:14 ID:mbPfdyQ2
>>904, 905
Thx
仕様上、904さんの方を採用しました。
911908:2005/09/25(日) 06:02:00 ID:YgC/61Wv
>>909
ありがとうございます。
this.onLoad = function() {
scrl3_tate.setScrollTarget(t1_ins); //scr3を→scrl3に修正
scrl3_yoko.setScrollTarget(t1_ins);
};

うーん。出来そうな気がしたんですが、何の変化もありません。
引き続きどなたかアドバイスを願います。
912Now_loading...774KB:2005/09/25(日) 06:25:06 ID:9FgM1aBo
>>911
パスあってる?ルートにそれぞれがある時に、ルートのタイムライン(1フレームにでも)
書いてみて。
913Now_loading...774KB:2005/09/25(日) 06:43:03 ID:9FgM1aBo
>>911
つかさ、コンポーネントのスクロールバーだよね?
914908&911:2005/09/25(日) 07:30:46 ID:15nJ2HLS
>>912 ルートのタイムライン(1フレームにでも)書いてみて。

ルートとはステージ上のことでしょうか?
絶対パスで書きますと
 _root.scrl3_tate.setScrollTarget(_root.t1_ins);
 _root.scrl3_yoko.setScrollTarget(_root.t1_ins);

になります。

>>913 コンポーネントのスクロールバーだよね?

そうです。他のスクロールバーってあるのですか?
915Now_loading...774KB:2005/09/25(日) 07:38:46 ID:9FgM1aBo
t1_insって表示するターゲットのインスタンス名?
あとは、スクロールバーをテキストフィールドにドラッグしてくっつけてみて。
916908&911:2005/09/25(日) 07:49:20 ID:15nJ2HLS
>>915
t1_insは表示するターゲットのインスタンス名です。

くっつけてみましたが、変化がありません。
917Now_loading...774KB:2005/09/25(日) 08:00:20 ID:9FgM1aBo
>>916
テキストフィールドのど真ん中に、スクロールバーをドラッグドロップして、
くっつけた後、スクロールバーのプロパティパラメータでターゲットのインスタンス名を確認してみる。
とりあえず、新規で作ってみるか、単純にTextAreaコンポーネントを使うとかかな。
918908&911:2005/09/25(日) 08:21:32 ID:15nJ2HLS
>>917 スクロールバーをドラッグドロップして

プロパティパラメータは特に変化はなかったのですが・・・
こんな感じでしょうか?(オーサーリング画面。137KBあります)
 http://www.hakusi.com/up/src/up4535.gif

>>とりあえず、新規で作ってみるか、

ライブラリから作製したですが、これでも新規作成になりますか?

>>単純にTextAreaコンポーネントを使うとかかな

これは最後の手段に
919908&911:2005/09/25(日) 08:25:20 ID:15nJ2HLS
書き忘れていましたが、ダイナミックテキストの欄ではこのように
スライドボタンは現れませんが、テキスト入力では現れています(別のswf)
920Now_loading...774KB:2005/09/25(日) 08:34:27 ID:9FgM1aBo
>>918
それはくっついてないぞ。MX2004だからコンポーネントのUIScrollBarを使ってるんだよね?
サードパーティの作ったコンポーネントを使ってたらわからん。
普通に、ファイル-->新規で新しいフラッシュドキュメントを作っておくれ。
あとは、Flash自体のアップデートをしてないとか、PCの問題とか。
921Now_loading...774KB:2005/09/25(日) 08:42:49 ID:ln4XW5yu
TextAreaコンポーネントを設置すると、
TextArea外をクリックしても、TextAreaからフォーカスが切れないんだけど、
こういう仕様なの?
922Now_loading...774KB:2005/09/25(日) 09:13:07 ID:9FgM1aBo
>>921
this.onRelease
923908&911:2005/09/25(日) 13:09:54 ID:Z2VSM7O6
(スクロールバーのスライドボタン)
>>920
自己解決しました。計算ボタン部分のASの変更は無く、
フレームアクションで
System.useCodepage = true;
t1 = ""; //t1は結果の欄。初期値は空白。
this.onEnterFrame = function() {
t1 = t1;
scrl3_tate.setScrollTarget(t1_ins);
scrl3_yoko.setScrollTarget(t1_ins);
};

と、onEnterFrameによりスクロールオブジェクトを常にActiveにしつつ
t1に結果を流し込むことで実現できました。
出来たswfは http://www.hakusi.com/up/src/up4553.swf です。

有難うございました。
924Now_loading...774KB:2005/09/25(日) 14:25:17 ID:+oWLI+Yc
function dousa1(){
 (処理)
}
って書くとdousa1()を(処理)を実行するものとして定義できますよね?これに続けて
function dousa2(){
 if((条件)){
  dousa1();
 }
}
と書くと(条件)を満たすと(処理)が実行されるdousa2()が出来るはずなんですが、(条件)を満たしても実行されません。
function dousa2(){
 if((条件)){
  (処理)
 }
}
と書けばちゃんと出来るんですが、都合により前者の方で記述したいんです。
どう書けばいいでしょうか?ちなみにMX2004です。
925Now_loading...774KB:2005/09/25(日) 14:36:46 ID:P4cpQJ8t
>>924
以下のように書けば動作しますが?
パスが間違ってるとかない?
あと定義しただけで動作すると思ってるとかないよね?
a=0;
function dousa1(){
trace("dousa1");
}

function dousa2(){
if(a==0){
dousa1();
}
}

dousa2();
926Now_loading...774KB:2005/09/25(日) 14:40:16 ID:LiDlNvml
>>924
パスはあってる?それをMCのタイムラインでやってる場合、MCのパスがいるかも。解らんけど
今自分で試してみたぶんにはそれで上手く行ったよ。
↓みたいにdousa1をtraceしてみるのが一番いいと思う。
function dousa2(){
 if((条件)){
  dousa1();
  trace(dousa1);
 }
}
927Now_loading...774KB:2005/09/25(日) 14:52:59 ID:Lp5bwVTo
>>924
>(条件)を満たしても実行されません

疑って申し訳ないですが、
if( 1 ){
}
で実験してみた方がいいと思います。
928Now_loading...774KB:2005/09/25(日) 15:31:27 ID:+oWLI+Yc
どうも(処理)の内部にthisを使ってなのが駄目だったようです。
thisは関数が実行された時に定義されるんだと思ってたんですけど、関数を定義した時に一緒に決められるんですね。
function dousa1(mokuhyou){
 (処理)
}
として、実行する時に
mokuhyou=this;
dousa1(mokuhyou);
としたら上手く行きました。御指導ありがとうございます。
929Now_loading...774KB:2005/09/25(日) 18:10:27 ID:bvoyojnD
>>907
ありがとうございます。
まだ出来ませんがどんな感じかはつかめました
930Now_loading...774KB:2005/09/25(日) 20:18:24 ID:cHNESve4
質問させていただきます。
ターゲットパスの指定ミスだと思うのですが、
_root ―― A(インスタンス名「A」のMC)
     |
      ― B(MC) ―― C(MC)

この時、Cと言うMCに「ボタン」を配置し、

on (release) {
       this._parent._parent.A.gotoAndPlay(15);
}

と記述しましたが、MC「A」は動いてくれません。

on (release) {
       this._parent._parent.A_mc.gotoAndPlay(15);
}                   ~~~~~

でも同様です。
何がおかしいのでしょうか?

(_root.A_mc.gotoAndPlay(15);  もやってみましたがだめでした。)
931Now_loading...774KB:2005/09/25(日) 20:26:25 ID:Lp5bwVTo
>>930
_root.A.gotoAndPlay(15);
じゃないのかな? 1文字のインスタンス名が嫌だけど。
932Now_loading...774KB:2005/09/25(日) 20:29:33 ID:Gm7YbaDC
>>930
最初のthisはCのことです。
次の_parentはB、
その次の_parentはAのことですから
そのパスですとAのMCのなかのAを指定したことになります(ないので当然うごきません)。
ですので相対パスで書くなら this._parent.A.gotoAndPlay(15);
933932:2005/09/25(日) 20:34:19 ID:Gm7YbaDC
>>930
すいません。まちがえました
this._parent._parent.gotoAndPlay(15); でした。
934930:2005/09/25(日) 21:21:41 ID:cHNESve4
お二方、ありがとうございます。

>>931
_root.A.gotoAndPlay(15);
なのですが、参考にしたものが「A_mc」と言う表記だったのでそちらを使っていますが
表現が微妙だったので(「A_mc」でインスタンス名であると言うような事は書いてなかった)
もしかして、_mcっていらないんじゃ?って思ったので一応つけない場合も試してあります。
説明不足ですいませんでした。

>>932
えと、一応 実行してみたのですが動きませんでした。
AとBは_root上で同じ階層(?)にあるのですが、
>>933のだと_rootのタイムラインが進行しませんか…ね?  あれ?

       ― A(インスタンス名「A」のMC)
      |
_root ―
      |
       ― B(MC) ―― C(MC)

こう書けばよかったですね。

でも、お二方を見る限り、パスの指定方法に間違いらしい間違いは無さそうなので
もしかしたら、もっと根本的なトコでミスがあるかもしれないのでもうちょっと見直してみます。
935Now_loading...774KB:2005/09/25(日) 21:34:30 ID:gwzGSJLA
>>930
確認用に_rootにボタンを置いて、ターゲットパスの挿入で
Aにアクセスできるかどうか見てみれば?
936932:2005/09/25(日) 21:36:42 ID:Gm7YbaDC
>>934
すいません。MCの配置関係を勘違いしてました。
あれだと_rootが動いてしまいますね。
trace(this)をそれぞれのMCに書いてパスを確認してみるのも
いいかもしれません。
937Now_loading...774KB:2005/09/26(月) 02:52:54 ID:e50Zfvkl
>>934
ボタンに書いてあるのなら、ボタンの_parentはCでは?
this._parent._parent._parent.A.gotoAndPlay(15);
(ボタン-C-B-_root-A)
938Now_loading...774KB:2005/09/26(月) 04:05:14 ID:nu+5XKwL
変数の宣言を強制する方法ってあるのでしょうか?
#VBのOption Explicit

Googleで「ActionScript 変数宣言を強制」とか検索しても無理っぽい結果しか書いてありませんが、記事の日付が古いのでMX2004だとなっているかなとか一縷の希望を。
コーディングがヘボい自分が悪いわけですが、ちょっとした文字のミスで動かなくなるのがフラストレーション溜まります。

あと、もし標準機能で無いとしたら、それを補完する機能を持った外部エディタというのはあるのでしょうか?

環境:WinXPpro(SP2)、FlashMX2004pro(7.2)でActionScript2.0
939Now_loading...774KB:2005/09/26(月) 09:26:44 ID:Jqd02rV0
>>938
お勧めの外部エディタなら、SE|PY

ただ、変数の宣言を強制する事は出来ないと思う。
940Now_loading...774KB:2005/09/26(月) 13:51:15 ID:wH6aHa1+
クラスファイルでシンタックスチェックすれば、
宣言されてない変数があるとエラー出るよね。
それだけじゃダメかなあ。
VB知らないんで、まるで外したこと言ってたらすまん。
941Now_loading...774KB:2005/09/26(月) 14:07:26 ID:kTM6qV1i
配列を使ってムービークリップのアルファをランダムに変更したいのですがうまく動作しません
何が原因でしょうか?

//c_1,c_2,c_3,c_4はムービークリップのインスタンス名
list=["c_1","c_2","c_3","c_4"];
ran = random(4);
trace(list[ran]);
_root.lc.list[ran]._alpha += 100;

作成環境はFlash MXです
942930:2005/09/26(月) 14:26:56 ID:AGBq6d2d
昨夜はどうもありがとうございました。
>>935の方法で_rootに「仮のボタン」を配置して一階層ごとに_parentを追加する形で
降ろして行き、最終的に
on (release) {
_parent._parent.A.gotoAndPlay(15);
}

で動きました。
(ただ、仮のボタンでは動いたのに、実際のボタンに適用した時に動かなかったので
 CのMC自体の構造に問題があるようです。)

お手数かけましたが、後は自力でなんとかなりそうなので一応〆させていただきます。
レスを下さった人、ホントにありがとうございました。
943941:2005/09/26(月) 15:01:59 ID:kTM6qV1i
すいません。自己解決しました。
944Now_loading...774KB:2005/09/26(月) 21:28:25 ID:Ql4Iij6W
こんばんわ。調べても解決しなかったので質問します

loadvariablesを使ってloadVariables("ss.txt");という記述をしたFLASHを作ったのですが
自PCで動かしてる時は問題なく動いてるのですが
Web上にアップした際に何故かss.txtを読み込まなくなりました(undefinedと出る)
サーバーの同一フォルダの中にしっかりとss.txtファイルはあるのですがどうして読み込まないのか分かりません

Web上では別の記述を使うのか、それともパスがいけないのでしょうか
ご回答お願いします
945Now_loading...774KB:2005/09/26(月) 21:30:43 ID:ym4CiIl9
>>944
多分、読み込み前に変数にアクセスしてる。
その読み込みから数フレーム進んだ所で変数が取れるか見てみて。
946Now_loading...774KB:2005/09/26(月) 21:43:36 ID:jwunqJv0
onDataイベント使うといいよ
947Now_loading...774KB:2005/09/26(月) 22:27:03 ID:Ql4Iij6W
>>945
取れていませんでした。変わらずundefinedのままです
書き込みの単語から調べまして
クロスドメインポリシーファイルを置くと良いというページが出てきたのですが
それを使用しても解決できず
また同一フォルダ以下のフォルダから読み込むというのもあったので試したのですが無理でした
948Now_loading...774KB:2005/09/26(月) 22:33:23 ID:Ql4Iij6W
>>946
MC.loadVariables("ss.txt");
MC.onData = function(){
aplit処理
}
としていますがここに問題あるのでしょうか
949Now_loading...774KB:2005/09/26(月) 22:45:43 ID:SUD88mCM
>>948
ローカルで動くのにweb上では動かないんですよね。
属性の設定ではないでしょうか
FTTTPを使っているならファイルの右クリックで属性変更ってのがあります。
とりあえず全部にチェック入れてみる。
950944:2005/09/26(月) 22:50:52 ID:Ql4Iij6W
全て644から777にしてましたが変わらずでしたorz
情報ありがとうございます
951Now_loading...774KB:2005/09/26(月) 23:03:01 ID:JTSgxaq1
>>950
同一ならクロスドメインは関係ないよ。パーミッションの問題でもないでしょう。
onData内でtraceしてもデータ来てないって状況?
952944:2005/09/26(月) 23:04:42 ID:Ql4Iij6W
すみません。ちょっとだけ進展を発見しました
相変わらず表示部分はundefinedと出るのですがムービー内の変数を表示させて見ると
いつの間にかテキストからの変数自体は読み込んでる状態になっていて
実際はsplit処理で分けてるのに分かれてない状況(読み込んだ状態のまま)でした
(948でaplitとなってますがミスです)

その事を踏まえて再度ソースを見直してきます
アドバイスありがとうございました
953Now_loading...774KB:2005/09/26(月) 23:07:53 ID:Jqd02rV0
loadVariablesって、最近使ってないから忘れたけど、
mc.onDataとか発生するっけ?

LoadVarsは試したみた?

var myLoadVars:LoadVars = new LoadVars();
myLoadVars.onData = function(str) {
textField.text = str;
};
myLoadVars.load("ss.txt");
954944:2005/09/26(月) 23:09:38 ID:Ql4Iij6W
書き込みに気づいたので最後に
FLASHとしては読み込んだデータを3つに分割して3つのダイナミックテキストに表示させている感じです
最初はtraceしても3つのDテキストに入れてる変数と分割前のデータが全てundefinedでした

今は分割前のデータは読み込まれている状況になっています

>同一ならクロスドメインは関係ないよ。パーミッションの問題でもないでしょう。
ありがとうございます。この一言だけで確認作業がFLASH側に集中できそうです
955Now_loading...774KB:2005/09/26(月) 23:12:03 ID:JTSgxaq1
>>952
そこまで出来てるなら念のために
MC.onData = function(d) {
if (d == undefined) {
trace("ERROR");
return;
}
//大丈夫ならパース処理

};
みたいなコード書いてここまで出来てるか調べたら?
956Now_loading...774KB:2005/09/26(月) 23:50:30 ID:/jl/pBki
みんな親切だね。見てて感動した。
・゚・(つД`)・゚・
957Now_loading...774KB:2005/09/27(火) 06:10:47 ID:BrWOYwQl
それがフラッシャークオリティ
958Now_loading...774KB:2005/09/27(火) 06:16:42 ID:suO/0ton
>>953が言うようにonData発生しないね、ってもう944が見てるかどうか分からないけど
959Now_loading...774KB:2005/09/27(火) 10:32:43 ID:tAvq2wkF
すみません、質問させていただきます。
flashでサイトメニューとイメージが一緒になったものを作りまして、
現在はサイトの各ページに同じswfを埋め込んでいます。

この状態でページごとにイメージを変えたと思うのですが、
自分が埋め込まれているhtmlのアドレスを取得できないものでしょうか?
960Now_loading...774KB:2005/09/27(火) 10:40:23 ID:PbyM0KRI
_url
961959:2005/09/27(火) 11:16:12 ID:tAvq2wkF
>>960
回答ありがとうございます。
ということは_urlでURLを取得してif〜で
ページごとにスタートするフレームを振り分ける
のでいいんでしょうか?
962Now_loading...774KB:2005/09/27(火) 11:50:22 ID:P9gVBSdS
試行錯誤
963959:2005/09/27(火) 11:51:17 ID:tAvq2wkF
すみません、なかなかうまくいかないので、
再度質問させていただきます。

swfが埋め込まれたhtmlのURLは_urlで取得できるとの
事ですが、取得したURLごとに別々のフレームから再生
させるにはどのようなスクリプトを書けばようのでしょうか?
964Now_loading...774KB:2005/09/27(火) 11:54:52 ID:xQoeUHBy
>>963
そういうことなら、呼び出すときに指定すればいいんじゃない?
html
aaa.swf?jumplabel=tobisaki

flash
_root.gotoAndPlay(jumplabel);
965959:2005/09/27(火) 12:04:12 ID:tAvq2wkF
>>946
_root.gotoAndPlay(jumplabel);のjumplabel
に入る値をそれぞれのhtmlで定義してやるってことですか?
ちょっと良く分かりません。すみませんorz
966Now_loading...774KB:2005/09/27(火) 12:22:05 ID:EshitihP
少しは自分で試してみようよ。
967959:2005/09/27(火) 13:34:33 ID:tAvq2wkF
もしswfが埋め込まれてるhtmlのURLがhttp://www.xxxのとき50フレームから再生開始したいときは

if(_url="http://www.xxx"){
_root.gotoAndPlay (50);
}

を最初のフレーム書くのであってますか?
968Now_loading...774KB:2005/09/27(火) 13:40:25 ID:xQoeUHBy
すべては、 == が原因だったりして・・・
969Now_loading...774KB:2005/09/27(火) 13:43:49 ID:V2yUinWw
_urlはswfのurl。違うhtmlに同じswfを埋め込んでも違いは出ない。だからその方法は無駄。
970Now_loading...774KB:2005/09/27(火) 13:45:28 ID:xQoeUHBy
>>967
ローカルでのチェックがやりにくいし、サーバーにアップしてからのテストも
キャッシュが働いて古いバージョンが実行されたりするから、
964の方法をオススメしておきます。
971Now_loading...774KB:2005/09/27(火) 14:54:40 ID:BrWOYwQl
一つ教えてください。

ActionScriptを楽しく覚える講座
ttp://hima.chu.jp/flash/ActionScript/flash_as_point.htm

このページの最初のトピック

> (1) 綴りの間違い〜FLASHは綴りミスを指摘してくれない!



> 『傾向と対策』



> ※ActionScript2なら、変数を使うのに必ず宣言が必要なので、つづりミスがあればエラーが表示されるので便利です。

とあるのですが、本当ですか!?
パブリッシュ設定でActionScript2.0を使うように設定していますが、変数は宣言しなくとも使えています。
もしかして筆者はclassメンバの事とゴッチャになっているのでしょうか?
972Now_loading...774KB:2005/09/27(火) 15:10:48 ID:7mKKcBcU
>>971
なぜ筆者に聞かない?
973959:2005/09/27(火) 15:38:45 ID:tAvq2wkF
>>969
_urlで取得できるのはswfのURLだとゆう事は実験して理解できました。
(htmlのURLが取得できるもんだと思ってたから、振り出しに・・・)
で、>>964の方法を試しているのですが、

aaa.swf?jumplabel=tobisaki

というのはhtmlのobjectタグの中に書くのですか?
あと「tobisaki」のところに飛びたいフレーム数を書けばいいんでしょうか?

とりあえず分からないので適当にPARAM NAME=movie VALUE="○○○○"
とかEMBED src="○○○○"の○の所にaaa.swf?jumplabel=tobisakiを
入れてみたんですが動かないんです。
974Now_loading...774KB:2005/09/27(火) 16:00:43 ID:xQoeUHBy
>>973
aaa.swfの中で、
_root.gotoAndPlay(jumplabel);
を実行すれば、
「tobisaki」と名前を付けたフレームにジャンプするはず。
975Now_loading...774KB:2005/09/27(火) 16:11:53 ID:PbyM0KRI
>>973
htmlを自動生成した場合aaa.swfは2カ所あると思うけど、両方とも、aaa.swf?jumplabel=tobisaki
に修正すれば大丈夫なはず。
976959:2005/09/27(火) 16:34:07 ID:tAvq2wkF
HTMLの方は
<PARAM NAME=movie VALUE="test.swf?jumplabel=tobisaki">
<EMBED src="test.swf?jumplabel=tobisaki"〜
と記述して、

test.swfの最初のフレームに_root.gotoAndPlay(jumplabel);

目的のフレームに「tobisaki」とラベルをつけたのですが、
動作しません、なんでだろ・・・orz

ちなみに_root.gotoAndPlay(jumplabel);を_root.gotoAndPlay("tobisaki");
にするとちゃんと動作するので、フラ側は問題ないかと。
977Now_loading...774KB:2005/09/27(火) 16:40:35 ID:pxBezwib
>>976
パブリッシュした時に毎回HTML吐き出してないか?
978Now_loading...774KB:2005/09/27(火) 16:41:26 ID:PbyM0KRI
>>976
_root.gotoAndPlay(_root.jumplabel);
で、どうかな。うまくいかないなら、臨時のテキストフィールドでも作って、
内容を確認するとかだね。
979959:2005/09/27(火) 16:55:17 ID:tAvq2wkF
>>977
パブリッシュはswfだけにしてあるのでそれは大丈夫です。
>>978
_root.gotoAndPlay(_root.jumplabel);でもだめでした。

ソースをアップしましたので見ていただけたら幸いです。
ttp://read.kir.jp/file/read20551.zip
980Now_loading...774KB:2005/09/27(火) 17:10:21 ID:xQoeUHBy
>>979
ソース内にgotoAndPlayが1つも無いけど・・・
981959:2005/09/27(火) 17:18:27 ID:tAvq2wkF
あっ、真ん中の黒いのがボタンになってて
それに記述してます。
説明不足ですいません。
982Now_loading...774KB:2005/09/27(火) 18:05:25 ID:PbyM0KRI
>>981
とりあえず最終フレームと途中にstop();入れると。
ルートのタイムラインにね。
983959:2005/09/27(火) 18:17:44 ID:tAvq2wkF
>>982
入れました!
・・・が、変わらずtobisakiには飛んでくれませんorz
984Now_loading...774KB:2005/09/27(火) 18:23:52 ID:PbyM0KRI
IEのキャッシュをクリアとか
985Now_loading...774KB:2005/09/27(火) 18:24:57 ID:suO/0ton
アダルトサイトの広告しか出てこないがこれは何かの嫌がらせですか?
986Now_loading...774KB:2005/09/27(火) 18:29:10 ID:xQoeUHBy
>>983
ボタンを押すと、ちゃんと赤くなったよ。
987959:2005/09/27(火) 18:35:42 ID:tAvq2wkF
>>986
マジですか!
環境の問題なのかなー。
ちなみに私の環境はFlash5なのですが、
それがまずいのでしょうか?
988Now_loading...774KB:2005/09/27(火) 18:41:14 ID:63cBhiiP
ラベル付けたフレームに飛ばす場合は""付けないか?
989Now_loading...774KB:2005/09/27(火) 18:42:11 ID:suO/0ton
>>988
何の話を・・・?
990Now_loading...774KB:2005/09/27(火) 18:42:42 ID:EshitihP
stop()を入れてテストすると、ちゃんと飛ぶね。

>>984
この辺かな?
991Now_loading...774KB:2005/09/27(火) 18:43:46 ID:suO/0ton
>>987
バージョンは最初に書こうよ・・・。
で、そこにtrace(_root.jumplabel);入れたらどうなる?
992Now_loading...774KB:2005/09/27(火) 18:51:07 ID:pxBezwib
traceじゃなくてダイナミックテキストで表示しないと意味なくない?
993Now_loading...774KB:2005/09/27(火) 18:52:35 ID:tAvq2wkF
>>990
stop();を入れるのは最後のフレームと最初(?)でいいのですか?
あとキャッシュをクリアとはインターネットオプション→ファイルの削除ですべて削除にチェックいれて実行でおkですか?
>>991
大変申し訳ありませんorz
trace(_root.jumplabel);はどこにいれるのですか?
とりあえず
on (release) {
_root.gotoAndPlaytrace(_root.jumplabel);
}
としてみたがだめでした。
994Now_loading...774KB:2005/09/27(火) 18:53:41 ID:PbyM0KRI
次スレ
ActionScript 誰かが物凄い勢いで解答するスレ 9
http://pc8.2ch.net/test/read.cgi/swf/1127814783/
995Now_loading...774KB:2005/09/27(火) 19:03:13 ID:xQoeUHBy
>>993
ちゃんと、htmlをダブルクリックして実行してる?
996Now_loading...774KB:2005/09/27(火) 19:04:47 ID:suO/0ton
>>992
何のためにデバッグプレイヤーが存在してるとw
997Now_loading...774KB:2005/09/27(火) 19:07:10 ID:suO/0ton
>>993
なあ。まず基本を勉強しようよ。
悪いけど何か考えて回答してるとは思えないよ。
頑張って少しのところで行き詰まってることには手をさしのべようと思うけど
考えない人にはこれ以上できないよ。

>on (release) {
>_root.gotoAndPlaytrace(_root.jumplabel);
>}
とりあえずこんな感じで。

trace(_root.jumplabel);
//_root.gotoAndPlay(_root.jumplabel);
998Now_loading...774KB:2005/09/27(火) 19:14:12 ID:tAvq2wkF
>>997
おっしゃる通りですね。
申し訳ありませんです。。。
もうちょっと勉強しながらやってみます!
999Now_loading...774KB:2005/09/27(火) 19:14:51 ID:EshitihP
これだけ他の人の環境ちゃんと動いてるって事は、
ファイルには問題なかろう。

OS再起動したら、直ったとかそういうオチ?
1000Now_loading...774KB:2005/09/27(火) 19:21:57 ID:CvBb2mq+
1000!
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。