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

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

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

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

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

関連スレ
Flash製作初心者の質問スレッド レイヤー33
http://pc8.2ch.net/test/read.cgi/swf/1141303780/
Flashの超基本的な質問はここでしろ! part30
http://pc8.2ch.net/test/read.cgi/swf/1150620143/
サイト、参考書籍、関連情報は>>2-10あたり
2Now_loading...774KB:2006/06/29(木) 20:45:16 ID:yHa4zmYO
ASお勉強さいと
FLASH ActionScript Helper (初級〜中級。ASの概念をじっくりと
ttp://homepage3.nifty.com/ginga-b/
はりぼてあくしょんすくりぷと (ホンさんの分かりやすい解説
ttp://www.geocities.co.jp/Milano-Cat/4036/bote/index.html
FumioNonaka.com (AS辞書正誤表なども
ttp://www.fumiononaka.com/

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

Flash情報交換フォーラム
ttp://www.mediacreator.jp/
ttp://www.flash-jp.com/
3Now_loading...774KB:2006/06/29(木) 20:46:19 ID:yHa4zmYO
マクロメディア本家(30日間無料トライアルのダウンロードもここ)
ttp://www.macromedia.com/jp/
ASエディタse|pyのHP(ダウンロードは一番下のとこ)
ttp://www.sepy.it/
.solエディタはここ
ttp://www.alexisisaac.net/
4Now_loading...774KB:2006/06/29(木) 22:19:34 ID:mE/3rTSi
シェアードオブジェクトの名前を持つ配列を元に複数のシェアードオブジェクトを取得し、取得したシェアードオブジェクトを同時に同期させたいです。
配列の中身、長さは一定ではないです。
同期はonSyncで。

インスタンスの中のonSyncが動かないので困ってます。
5Now_loading...774KB:2006/06/29(木) 22:27:47 ID:zhLKiNve
>>4
おそろしく意味不明な文章だな。
具体的にこういうことを実現したいと言ってくれ。
6Now_loading...774KB:2006/06/29(木) 22:32:44 ID:Pq+ZjUue
動かないので困ってますと言われても、ソースがなきゃなんともいえないよな。
7Now_loading...774KB:2006/06/29(木) 23:19:38 ID:sD3B/6fV
ソース、手元に無いんだわ。
自分でも訳ワカンネと思ったw
処理のイメージはこんな感じ。
これは極端だけどw

nc = new NetConnection();
nc.connect("サーバのアドレス");
for(配列がなくなるまで回す){
hoge = getSharedObject(配列[i]);
hoge.connect(nc);
hoge.onSync = function(){
//配列[i]の中身の名前のシェアードオブジェクトが更新されたら実行
}
}
8Now_loading...774KB:2006/06/29(木) 23:31:38 ID:Pq+ZjUue
connectより先にonSyncを定義した方がいいとかそんなのなかったっけ
9Now_loading...774KB:2006/06/30(金) 01:04:19 ID:RYmnjOMM
>8
そういや有ったな。そこは無視して。

実現したいのは、動的に取得した複数のSharedObjectの更新を同時に監視する事。
10Now_loading...774KB:2006/06/30(金) 01:37:34 ID:ZUGuFzV3
>>1さん乙です

すみません、初歩的な質問かもしれませんが…
Sharedobjectで呼び出したテキストが、一度テキストフィールドを
クリックしないと表示されないのですが、フレームを読み込んだときに自動的に表示させる方法はあるのでしょうか?ヒントになるASなどあれば教えていただきたいです。お願いします。

環境:FLASH8  マカー
11Now_loading...774KB:2006/06/30(金) 06:29:56 ID:bQFp/dVQ
>>9
更新を同時に監視。。。ってよくわからんが、複数あるSOLにトランザクション番号を
保存するフィールドでも作って、それが等しいかどうか比べるとか。
>>10
普通に表示されるけど。ソース見ないとわからん。
12Now_loading...774KB:2006/06/30(金) 08:00:55 ID:4CgfrIC5
onSyncが更新を見てくれ筈だが、複数で出来るかってことか。
13Now_loading...774KB:2006/06/30(金) 08:02:45 ID:zd2mm03l
for文の中にonSyncを書いても大丈夫なの?
14Now_loading...774KB:2006/06/30(金) 09:17:57 ID:4CgfrIC5
多分駄目。
だから、どうやるのか?って事かと。
15Now_loading...774KB:2006/06/30(金) 18:02:39 ID:oDpDVpgC
つ ポイントは、soArray.push(so)して
SharedObjectへの参照をなくさないようにすること。

// ----------------------------------------------------------------------
// NetConnection つなげるよー
var nc:NetConnection = new NetConnection();
nc.onStatus = function(info:Object) {
 if (info.code == "NetConnection.Connect.Success") connectSO();
};
nc.connect("rtmp://ipadd/appname/");
// ----------------------------------------------------------------------
// SharedObjects つなげるよー
var soNames:Array = ["unko", "chinko", "manko"];
var soArray:Array = new Array();
function connectSO() {
 for (var i:Number = 0; i<soNames.length; i++) {
  var so:SharedObject = SharedObject.getRemote(soNames[i], nc.uri, true);
  so.onSync = function(info) { trace("変更キタコレ"); };
  so.connect(nc);
  soArray.push(so);
 }
}
// ----------------------------------------------------------------------
// 定期的に更新しようぜー (本当は接続終わってから開始するべきだけどめんどくせーので省略
setInterval(function () {
 for (var i:Number = 0; i<soArray.length; i++) {
  if (!soArray[i].data.count) { soArray[i].data.count = 0; }
  soArray[i].data.count++;
 }
}, 2500);
16Now_loading...774KB:2006/06/30(金) 23:15:05 ID:oxFAlmF4
「A」というflashの中の「1」というMCに外部swf「B」を呼び出す時に、
「A」の側で、「B」が完全に読み込まれたか調べて、「B」の再生が始まったらどうこう〜という事がしたいのですが、どうすればいいですか?
17Now_loading...774KB:2006/06/30(金) 23:43:46 ID:j6StTfJs
>>16
> 「1」というMC
識別子は数字からはじまってはいけない。

> 「A」の側で、「B」が完全に読み込まれたか調べて、
MX2004以降なら、MovieClipLoaderを使うと便利。
18Now_loading...774KB:2006/07/01(土) 00:38:12 ID:pd3zY4/j
hensu1=101、hensu2=102、hensu3=103・・・
という感じで変数を定義したいのですが、

for (i = 0; i < 100; i++) {
var eval("hensu" + i):Number = (i + 100);
}

このように記述してもうまく動作しません。
ひとつずつ宣言していくのはホネが折れます。
何かよい方法があればアドバイスお願いします。
19Now_loading...774KB:2006/07/01(土) 00:46:09 ID:UhBuhbgj
>>18
配列使えば?
var my_array = new Array();
for ( i = 0; i<100; i++){
my_array[i]= i+100
}
20Now_loading...774KB:2006/07/01(土) 00:48:17 ID:5K+qBFuN
配列アクセス演算子(っていうんだっけ?)で、いいじゃないの?

for (i=0; i<100; i++) {
 this["hensu"+i] = (i+100);
}
21Now_loading...774KB:2006/07/01(土) 00:49:04 ID:5K+qBFuN
>>19
あぁ、配列の方がスマートやね。
22Now_loading...774KB:2006/07/01(土) 01:11:30 ID:pd3zY4/j
>>19
できました。
配列ってこんな使い方もできるんですね。
ありがとうございました。
2316:2006/07/01(土) 04:21:13 ID:SH5y200k
>>17
ありがとうございました。
まだよくわからないので続けてMovieClipLoadeについて質問させてください。

onLoadComplete = function([target_mc:MovieClip], [httpStatus:Number]) {}

を使えばいいのだと思うのですが、
8フレームでstopをかけつつ、以下のように書いたのですが、パラメータが必要だとエラーが出てうまくいきません。(aaaaはMCのインスタンス名です)

onLoadComplete = function([aaaa:MovieClip], [httpStatus:Number]) {
gotoAndPlay(9)
}

[aaaa:MovieClip] を [aaaa] に変えるべきですか?
それとも [httpStatus:Number] を何か変更しなければいけないのでしょうか・・・?
24Now_loading...774KB:2006/07/01(土) 04:29:09 ID:SbfZs8ff
>>23
ヘルプのサンプルプログラムでどう使ってるか確認。
2523:2006/07/01(土) 04:35:56 ID:SH5y200k
>>24
onLoadComplete = function([target_mc:MovieClip], [httpStatus:Number]) {}

MovieClipLoader.loadClip() でロードされたファイルが完全にダウンロードされたときに呼び出されます。

としか書いてなくてサンプルがないので。。。
26Now_loading...774KB:2006/07/01(土) 05:13:05 ID:SbfZs8ff
27Now_loading...774KB:2006/07/01(土) 12:01:30 ID:MhuEHNlH
>>25
onLoadCompleteは読み込みが完了したタイミングで実行。
onLoadInitが読み込んだswfの1フレーム目が再生されたときに実行。
28Now_loading...774KB:2006/07/01(土) 13:35:31 ID:mFRIPiSH
あさだ ってうとうとすると「ちとちしち」ってなるのはどうやればかいじょできますか
いまはIMEいちらんってのでうってるのですが
29Now_loading...774KB:2006/07/01(土) 13:44:36 ID:pIzQfky+
>>28
釣り臭いんだがAlt + カタカナひらがな/ローマ字
30Now_loading...774KB:2006/07/01(土) 13:49:09 ID:mFRIPiSH
>>29
助かりました
ありがとうございました
31Now_loading...774KB:2006/07/01(土) 20:31:40 ID:DSWG3kyM
Flash4(FlashLite)で

this.onEnterFrame=function(){ _x+=1;}

みたいに
毎フレーム移動とかするにはどう書けばよろしいでしょうか?
32Now_loading...774KB:2006/07/01(土) 21:07:38 ID:F90i/U5A
こちらで定めた時間からの経過時間を表示させるようなものを作りたいのですが
(たとえば、7/1からの経過時間を表示させるような感じ 7/2にアクセスしたら24:00〜 7/3にアクセスしたら48:00〜)
どういったスクリプトを書けばいいんでしょうか?
33Now_loading...774KB:2006/07/01(土) 22:50:51 ID:sM0LVgZA
>>32
時刻を取得したら、後はわかるよな?
34Now_loading...774KB:2006/07/01(土) 23:02:01 ID:Xd2K/1ry
AS3でリンケージしたサウンドを使うときはどうやればいいですか?

new XXX(); ←リンケージ名 とやってもダメのようです。
attachMovieもできないみたいし、AS3のリンケージ全般に詳しい方がいましたら
教えてください。
35Now_loading...774KB:2006/07/02(日) 00:26:58 ID:6SmTO9dA
AS3というかnew XXX();って、識別子ってそうやって使うもんか?
36Now_loading...774KB:2006/07/02(日) 00:52:52 ID:+8FYQSSG
>>34
AS3というかAS自体わかってんのか?
どういうソース書いてダメなのか提示しないとわからん。
37Now_loading...774KB:2006/07/02(日) 01:35:14 ID:+xlRg/eN
>>34
AS3というか、それ以前の問題な気がする。
リンケージ設定しただけで書き出してないとかさ。
38Now_loading...774KB:2006/07/02(日) 03:10:55 ID:/5+toVZI
>>31
フレームのループをつかう
ttp://oshiete1.goo.ne.jp/kotaeru.php3?q=2243760
39Now_loading...774KB:2006/07/02(日) 06:00:17 ID:yppV1PGn
var str:String = new String("re@@@@place");
trace(str);
str = str.replace("@","");
trace(str);

結果:
re@@@@place
re@@@place

新しく増えたString.replaceメソッドの挙動がアホなんですが・・・。

40Now_loading...774KB:2006/07/02(日) 06:25:17 ID:yppV1PGn
trace(this.mc._x);
trace(this.mc.x);

結果
undefined
116

マジか・・・・
全然仕様違うじゃねーかAS3.0
41Now_loading...774KB:2006/07/02(日) 06:46:52 ID:yppV1PGn
var entF:Function = function(){
x++;

}
this.mc1.addEventListener('enterFrame', entF);
this.mc2.addEventListener('enterFrame', entF);


イベントハンドラ使い方が違う・・。
42Now_loading...774KB:2006/07/02(日) 07:07:21 ID:/Q2ENOOy
>>39
正規表現使ってgフラグ付ければオケ。
43Now_loading...774KB:2006/07/02(日) 13:32:42 ID:blmPuMxX
正規表現あるの?
44Now_loading...774KB:2006/07/02(日) 13:56:05 ID:+8FYQSSG
なんかさ、AS3.0がAS2.0のマイナーバージョンアップと勘違いしてるみたい。
大幅な変更になるってことはUSサイトでずいぶん前から明らかだし。
45Now_loading...774KB:2006/07/02(日) 16:31:26 ID:2zqh5Jr2
>>44
どういう話の流れに対して書いてるのか知らんが

  3.0には大幅な変更が入っている

ってことと

  ドキュメントに記載されたことと実際の挙動が違う

ってのは違うだろ
「ドキュメントが間違っている」のであれば、それもまた違う話
46Now_loading...774KB:2006/07/02(日) 16:38:47 ID:/Q2ENOOy
どこからドキュメントと違うなんて話が出てくるんだ?
47Now_loading...774KB:2006/07/02(日) 16:46:14 ID:FRNjRV9l
Flash8から9で変わったのはスクリプト部分だけ?
48Now_loading...774KB:2006/07/02(日) 17:17:16 ID:+8FYQSSG
FlashPlayerは9になっても、もちろん古いFlashを見ることが出来る。
何ら問題ない。あたりまえだけどね。
作る側が、AS2.0とAS3.0で違うということ。べつに、AS2.0で作ったのが
見れなくなるわけでもないし、今まで通り2.0で作ってなんら問題ない。
ただ、3.0と2.0はソースレベルでは相容れないよということ。
49Now_loading...774KB:2006/07/02(日) 19:11:08 ID:e8JOyab0
マイナーバージョンアップとして捕らえられない奴は苦労するだろうな
ぜんぜんわかってないって事だからなww
50Now_loading...774KB:2006/07/02(日) 19:12:07 ID:9lwENiW3
AS3.0って8で使えるの?
どうやってAS3.0試してるのか教えて。
おれの8Proではパブリッシュ設定とかでは2.0までしかないぞ。
51Now_loading...774KB:2006/07/02(日) 19:47:38 ID:blmPuMxX
9で使えるよ
52Now_loading...774KB:2006/07/02(日) 20:28:52 ID:UlfZUmuj
>>50
AS3はFrex2で使える。Frex2はadobeから提供されてる。
3.0の具体的な仕様を知りたいならkamijo akihiroのブログでも読んでみ。
53kuukai@team2ch ◆VXuQW5hf2s :2006/07/02(日) 22:40:34 ID:hR7dCGK+
質問です
インスタンスの階層変えるってどうやるんでしょ?
_root.test.sprを
_root.sprに持っていきたいんですが。
さっぱり分かりませんorz
できれば座標もそのままで
54Now_loading...774KB:2006/07/03(月) 01:33:56 ID:am2VBObs
コピペ
55kuukai@team2ch ◆VXuQW5hf2s :2006/07/03(月) 03:26:02 ID:giVXysVT
ASで頼む
56Now_loading...774KB:2006/07/03(月) 03:33:56 ID:am2VBObs
無理。
どうしてもというなら元インスタンスのパラメタをセーブして
attachMovieでそれを初期値としたインスタンスを作って元を消す。
というか、設計自体間違ってる。
57Now_loading...774KB:2006/07/03(月) 11:01:25 ID:33oazvSP
> というか、設計自体間違ってる。
同意。

そんなコトをしなくちゃいけなくなる状況って何だろうな。
58Now_loading...774KB:2006/07/03(月) 13:14:02 ID:LtqQLv+Q
こういう要件自体は、例えばエディタみたいの作っていれば階層を上下させる要件は出るよね
普通は「配置したいもの」と「_rootからの配置」は論理的に分けるから >>56 のような方法で実装することになる

もしエディタ的なものなのにそうやって悩んでいるのであれば、要件に対するアプローチの方向を間違えている(設計が間違っているとも言える)
エディタとかはデータが中心だから、プロセスからのアプローチじゃなく、データからのアプローチで実装した方がいい

ゲームとかネタフラで悩んでいるのであれば、多分根本的に何か間違っていると思う
深度だけで解決できるはずの要件だったとか
59Now_loading...774KB:2006/07/03(月) 13:38:29 ID:v/zb5fp5
このスレの存在意義は、どんな質問の仕方をすると叩かれるかを学べるとこだね。
60Now_loading...774KB:2006/07/03(月) 14:07:36 ID:A+BdUROy
× 叩かれる
○ 理解してもらえない
○ 突っ込まれる
61Now_loading...774KB:2006/07/03(月) 17:15:17 ID:ghbCNBZn
質問です。
ゲームのセーブデータをSharedObjectで作ってみました。
任意でセーブとロードが出来ました。
しかし、時々勝手にデータがセーブされる時があり、調べてみると「アプリケーション終了時に自動的に保存される」と言う事が分かりました。
任意セーブのみ可能でアプリケーション終了時に勝手にセーブをさせない方法はあるのでしょうか?
62Now_loading...774KB:2006/07/03(月) 17:20:05 ID:am2VBObs
前スレだっけ、他かもしれんがその話題あったな。
結論としてdeleteする。ただし、その結果その変数は使えなくなる。ということだったとおも。
プログラム変数にロードしたらすぐdeleteしてしまえばいいかと。
63Now_loading...774KB:2006/07/03(月) 18:02:07 ID:ghbCNBZn
返答ありがとうございます。
早速試してみます。
64Now_loading...774KB:2006/07/03(月) 18:58:19 ID:u8v2WoAO
>15
Arrayにぶち込んでも参照きえねーか?
65Now_loading...774KB:2006/07/03(月) 19:20:48 ID:mfTMZEsK
>>64
いちおー、FCS1.5+FlashPlayer8で確認済。
ちなみにpushしないと1個の更新(たぶん、最後のSharedObject)しか取れない。

ところで、ActionScript 3.0勉強したくてFlash9 Public Alphaダウンしたんだけど
解説のってるところ無いのかな?
ここしか知らない、、
[akihiro kamijo] ttp://weblogs.macromedia.com/akamijo/
66Now_loading...774KB:2006/07/03(月) 19:34:06 ID:am2VBObs
6765:2006/07/04(火) 14:04:55 ID:WJ7eXEiA
>>66
トンクストンクス!がんばろ。
68Now_loading...774KB:2006/07/04(火) 18:31:30 ID:Vhmi+ziQ
class classifyData {
var datstr:String;
var datstr_array:Array = new Array();
var dat:Array = new Array();
function classifyData(datstr) {datstr_array = datstr.split(",");}
public function getData() {
for (var i:Number = 0; i<datstr_array.length; i++) {dat[i] = datstr_array[i];}
return dat;
}
}
------------------------
var AA = new classifyData("1,ATB,Available in comfort and aero design");
var Aarray:Array = AA.getData();
var BB = new classifyData("0,Clipless Pedals,Excellent cleat engagement");
var Barray:Array = BB.getData();
trace(Aarray);
trace(Barray);

クラスの練習で書いてみたのですが、トレース結果が同じになってしまいます。
何が間違ってるのでしょうか。
69Now_loading...774KB:2006/07/04(火) 18:40:27 ID:WJ7eXEiA
>>68
varじゃなくて、コンストラクタで初期化すればおk。
基本、変数の宣言時には new 出来ない気がするんだけど(ごめん、理解あやふや
どうしてエラー出ないんだろ。

class classifyData {
 var datstr:String;
 var datstr_array:Array;
 var dat:Array;
 function classifyData(datstr) {
  datstr_array = datstr.split(",");
  dat = new Array();
 }
 public function getData() {
  for (var i:Number = 0; i<datstr_array.length; i++) dat[i] = datstr_array[i];
  return dat;
 }
}
70Now_loading...774KB:2006/07/04(火) 19:02:16 ID:NXZwwzd8
ActionScriptは簡単にはエラーが出ません
71Now_loading...774KB:2006/07/04(火) 19:43:58 ID:AWrDW27R
datには参照が入ってるからじゃねーの。
なんで、わざわざ転送してるかわからんが。
7269:2006/07/04(火) 20:07:36 ID:WJ7eXEiA
はーはー。
コンストラクタの外で、初期値を設定した変数(インライン初期化)は
クラスのFunction.prototypeプロパティに定義されると。
だから、AA、BB両方のインスタンスで共通になるんだね。
Flash OOP 19ページ辺り。

てか、そもそも↓でいいじゃんと思うけど。
class classifyData {
 private var datstr_array:Array;
 function classifyData(datstr) {
  this.datstr_array = datstr.split(",");
 }
 public function getData() {
  return this.datstr_array;
 }
}
73Now_loading...774KB:2006/07/05(水) 00:27:24 ID:q7emRfEI
65
FMSだと動かねーわ。
74Now_loading...774KB:2006/07/05(水) 09:06:32 ID:GyOXUVyG
正確に言うとリファレンス型がそうなるわけで、Number,Stringなどのプリミティブ型は
普通にインスタンス変数として初期化される。クラス変数にするにはstaticをつける。
7568:2006/07/05(水) 09:55:39 ID:ZKfRhZzf
OOPがよくわからずヘルプサンプルソースを適当にいじってました。
みんなの話がいまいちまだわからず、as2.0になじめない orz
とりあえずもっと勉強します。
みなさんありがとう。
76Now_loading...774KB:2006/07/05(水) 14:29:05 ID:GyOXUVyG
一応形っぽくなったので。ロリから文句言われたらさくっと消しまする
ttp://tasii.com/pw/index.php?ASenterBasic
77Now_loading...774KB:2006/07/05(水) 19:30:23 ID:oQTHpudo
>>74
fmfm−。なるなる。勉強になります。

>>76
SUGEEEEE
78Now_loading...774KB:2006/07/05(水) 21:22:16 ID:5MM2+Kl+
>>76
野中氏は
onEnterFrame = nullじゃなくて
delete onEnterFrame;
の方が良いって言ってたけどなぁ。

理由は忘れたが。
79Now_loading...774KB:2006/07/05(水) 21:25:20 ID:0IMA8bbW
質問しますー。
MovieClip拡張クラスを作って
ライブラリのMCシンボルのプロパティのリンケージでAS2.0クラスに拡張クラス名をいれると
関連付けられることがわかりました。
そこで、プロパティのリンケージを操作せずにASのみでMovieClip拡張クラスを既に存在しているMCに動的に関連させることはできるでしょうか?
ご存知の方、ご教授ください。
80Now_loading...774KB:2006/07/05(水) 23:23:58 ID:KQYo0IMb
WIN IEのポップアップブロックで困っています。

HTMLにjavascriptで
function opn() {
window.open("hoge.html","win","width=300, height=300");
}
という関数を作りました。
これをAタグから呼び出す方法だとうまくいくのですが、
flashのボタンMCからgetURL("javascript:opn()")で
呼び出すとブロックされてしまいます。

おなじ関数を呼び出しているのにgetURLだけが引っかかるのは
何が原因なのでしょうか。
またこの回避策があるとしたらどうしたらいいのでしょうか。
ネットでいろいろ探したのですが、それらしきものは見つかりませんでした。
知ってる人いますか?
81Now_loading...774KB:2006/07/05(水) 23:46:41 ID:NAJAqIlf
>80
window.openはアウトだけど、ユーザーの意思って事で、AタグはOKなんじゃないかな?
Internet Explorer で、何がポップアップ ウィンドウと見なされていますか?
ttp://www.microsoft.com/japan/msdn/windows/windowsxp/xpsp2web.asp#xpsp_topic3
ユーザーがリンクをクリックした場合などは
ttp://www.microsoft.com/japan/windowsxp/using/web/sp2_popupblocker.mspx

サイトによってはユーザーに設定の変更を案内しているね
ttp://www.jal.co.jp/5971/readme/flashrsv_n.html
82Now_loading...774KB:2006/07/05(水) 23:58:00 ID:NAJAqIlf
>80
結局、ASに直接書いてしまうとか
Flashで新しいウィンドウを開いてみよう
ttp://www.step-first.com/webforest/weblab/lab_data/0412_3.html
8380:2006/07/06(木) 00:13:21 ID:LpIuP4Zp
ありがとうございます。
いろいろ探しまわってるんですが、"wmode"の記述をやめると、ポップアップブロックが出ないときもあるとかないとか、、、
試してみるとポップアップブロックが5回に1回出る感じになりました。

ここに書いてました。
http://team.mixmedia.com/index.php?s=popup&sentence=AND&submit=Search

ここはポップアップブロックが出ないんですよ、ソース見てもそんなに特別な事してないように見えるんですが。
http://toyota.jp/hv/entrance.html

なんか自信なくなってきました。。
どなたか教えて下さい。お願いします。
84Now_loading...774KB:2006/07/06(木) 00:32:49 ID:LkiRuFHh
どこで質問すればいいのかよく分からなかったので、スクリプトってことでここで質問させていただきます。

htmlからswfに変数を送る際に、FlashVarsを使えば送れるのは分かったのですが
<param name="FlashVars" value="hensuu=●●●(変数)">
(ちと分かりづらいですが)hensuuという変数に別の変数を突っ込む事はできるのでしょうか。

いろいろ試してみたのですが、やはりflash内部では●●●という文字列としてしか扱われないので。。。

やっぱり連動させるならJavaとかphpとかの方が楽なんでしょうかね。。。
85Now_loading...774KB:2006/07/06(木) 00:37:28 ID:hZGDSJqR
>>80
wmode入ってると、ポップアップブロック引っかかるよー。
86Now_loading...774KB:2006/07/06(木) 00:41:35 ID:hZGDSJqR
>>84
具体的に何がやりたいの?
例えば、Flash内部にあるどの変数を指定するか。を、flashvarsで送りたいとかだと
this[hensuu]とかで指定すればおk。
87Now_loading...774KB:2006/07/06(木) 00:53:14 ID:LkiRuFHh
>>86
htmlからプルダウンメニューで項目を選ぶと、flashの絵が変わるような感じです。
flash内部にメニュー作ろうと思ったのですが、130項目x6 くらいなのでいかんせん量が多くて。。。

例えば魚の絵を操作する場合だとすると
頭の項目で「角」と選ぶと、flashの魚に角の絵が追加される。
ヒレの項目で「大」を選ぶと、flashの魚のヒレが大きいヒレの絵に変わるみたいな感じです。
絵の変化は、htmlから受け取った変数でタイムラインが動く感じです。

88Now_loading...774KB:2006/07/06(木) 01:53:49 ID:nMGkwVtV
>>87
それ、Flashから操作する方式のほうがよくないか?
わざわざhtmlに選択肢を置かなくちゃいかんの?
89Now_loading...774KB:2006/07/06(木) 02:24:27 ID:lsatbThR
>>84
ユーザーが選んだデータをhtmlからswfにデータを送るならjavascriptつかう。
90Now_loading...774KB:2006/07/06(木) 02:30:06 ID:LkiRuFHh
>>88
1つのプルダウンメニューに、130個くらい項目があって、さらに種類ごとにプルダウンメニューがあるので
Flashでプルダウン作ると大変かなぁと。。。

┌──────┬─┐       ┌──────┬─┐
|  メニュー... |.V.|       |        ...|.V.|
└──────┴─┘       ├──────┼─┤
..                     | ●●●..   |三|←このスクロールが欲しい
 ..                    | ×××..   ├─┤
  ..                   |         |  |
   ..                  |         |. .|
    ..                 └──────┴─┘

ズレてるかもですが、Flashでプルダウン作ると右のやつみたいにスクロールが作れないような気がしたので。。。
プルダウンから選択→選択した部分の変数をflashに送る〜みたいな流れにしたいのです。
91Now_loading...774KB:2006/07/06(木) 02:31:39 ID:LkiRuFHh
>>89
AA書いてる間に解答が!
むむ、やはりjava必要ですか。
javaも考慮しつつもう少し頑張ってみます。

皆様ありがとうございました!
92Now_loading...774KB:2006/07/06(木) 02:38:34 ID:pjiLJdo7
JavaとJavaScriptは別物なわけだが。
93Now_loading...774KB:2006/07/06(木) 02:43:58 ID:tzTjQjwt
>90
余計の世話かもしれませんが、
130個もの中から選ばせるには
サムネイルの一覧を作って選ばせる等の工夫をしないと
面倒くさくて利用してくれない気がします
現状で使いやすいと思ってますか?
94Now_loading...774KB:2006/07/06(木) 02:52:49 ID:LkiRuFHh
>>92
そのあたりの区別は大丈夫です。
クセでjavaと。。。

>>93
Flash内でプルダウン作れれば、もう少し分かりやすく作れるのですが
htmlで作るのであればあの状態で作るしかないかなあと。
メニューの中身は結構単純な物なので、使いやすくは無いですがあのままでも一応それなりに機能する(といいなぁ)と思います。
95Now_loading...774KB:2006/07/06(木) 04:19:01 ID:AmjM/yqn
まあ、ユーザーがそれを使う頻度によるよね。会員登録の住所みたいに一回で済むなら、
130個とかあっても良いだろうが、日常業務で頻繁に繰り返し使うものだったら、
UIを考えないと悲惨な結果が待っている。
96Now_loading...774KB:2006/07/06(木) 11:12:25 ID:8fONvfv7
利用側としては、Flashで出来ることをJavaScriptに委ねるのはあんまり…。JavaScript切ってるだけで使えなくなっちゃうし、だったら全部JSで作ればと思ってしまう。
97Now_loading...774KB:2006/07/06(木) 12:57:49 ID:6MxPwO4l
利用者側としてはどんな技術使ってもいいから動いてくれればいいだけ
そもそも背景技術なんてのを理解できるのはほんの一握りの人間だけ

とは言えFlash単体より複数技術の組み合わせの方がリスクは高い
でもそこは前提条件ってのを明示すればいいだけの話

> だったら全部JSで作ればと思ってしまう。

これはリスク回避の点から間違い。
JavaScriptというかDHTMLははブラウザ毎の実装が微妙に違うためにFlashとは比べ物にならない。
エンジンが複数の会社で作られるDHTMLとMacromedia(Adobe)だけで作られる全Flashではリスクのレベルが違う。
98Now_loading...774KB:2006/07/06(木) 13:07:08 ID:yh28uweF
>>97
そんなことはないだろ
いまやAJAX > FLASHなんだから
99Now_loading...774KB:2006/07/06(木) 14:12:55 ID:/IzCEQlX
>>97
> そもそも背景技術なんてのを理解できるのはほんの一握りの人間だけ

そうだろうね。
だからこそ利用者としては、うまく動かない時に、原因がFlashなのかJSなのか何なのか
判断しづらいよりは、最初から原因は全部FlashとかJSとかにわかれてくれてた方がマシだし
諦めもつくって言いたかったんだけど。
100Now_loading...774KB:2006/07/06(木) 14:24:49 ID:Wd1RosUG
初歩の初歩ですみませんが
動くボタンを作りたくて質問です。
例えば、上下に動いているボタンで、マウスオーバーしたときは左に少しずれ、
外れたときは右にぶれてから元に戻るというようなものを作りたいのですが
階層的には
ムービークリップ:上下に動くムービークリップ
   Lボタン
    Lオーバー時:左にぶれるムービークリップ
のようになると思うのですが
マウスが外れたときの動作はactionscriptで定義しないといけないのでしょうか?
(Rolloutというやつですか?)

動かすにはボタンに相対?座標を指定して動かすのでしょうか?
また1フレームごとの動作を指定するのでしょうか?

質問ばかりですみません。
101Now_loading...774KB:2006/07/06(木) 14:26:58 ID:wP39Qjrr
a
102Now_loading...774KB:2006/07/06(木) 15:10:17 ID:hZGDSJqR
正直>>90を見て、素直にコンポーネントのコンボボックスで作ればいいじゃんとオモタ・・・。
JS -> SWF をやりたいなら、ExternalInterfaceクラスね。
ActioScriptリファレンスとかにサンプルコードとか付いてるから、それ見りゃ分かると思う。

>>98
Ajax(≒JavaScriptがりがり使う)だとブラウザ間の挙動の違いを吸収するのに
けっこう苦労するよー。Flash内で完結できるなら、Flash内で完結しちゃう方が楽。

>>100
いろんなやり方があるけど個人的には。
ボタンのムービークリップを用意して、タイムラインにそのままアニメーション作成。
onRelaseでgotoAndPlay()でアニメーションするかな。↓な感じ
ttp://read.kir.jp/file/read51174.gif

ASで移動させるのも楽しいけdね。
103Now_loading...774KB:2006/07/06(木) 15:37:16 ID:6MxPwO4l
>>98
リスク回避の観点から書いてるってのが理解できないのか?
DHTMLだけでも面倒なのにAjaxなんて持ち出して更にリクスを上げてどうする

>>99
だから、判断しづらいも何も問題が起きても理解できない人の方が多いんだって
大多数の利用者は問題の切り分けして解決なんてしてくれない
コンテンツの提供側に文句を言うか、それを使わなくなるかのどちらか
だから前提条件を明示しろって書いてる
104Now_loading...774KB:2006/07/06(木) 16:14:49 ID:BBrWwHKh
ここはAS解答スレだぞ

こっちでどうぞ↓

Ajax vs Javaアプレット vs FLASH
http://pc8.2ch.net/test/read.cgi/php/1143974114/
105100:2006/07/06(木) 16:26:54 ID:Wd1RosUG
>>102
回答ありがとうございます
ラベルを使って制御するやり方ですね
イメージがつかめたのでチャレンジしてみます


106Now_loading...774KB:2006/07/06(木) 22:49:47 ID:lsatbThR
>>90
スクロールバーは自作できるぞ。
107Now_loading...774KB:2006/07/07(金) 05:06:54 ID:LTyM6s3T
ボタンをクリックして画面Aから画面Bへ切り替えたり戻ったりしたいのですがどうすればよいのでしょう?
108Now_loading...774KB:2006/07/07(金) 08:12:42 ID:Uj4FCXP1
普通にフレームに書いてるならgotoAndStopつかうとか。
109Now_loading...774KB:2006/07/07(金) 08:48:24 ID:3byMiGJU
アクションスクリプトでムービーの背景色を変えるのはどうすればいいんですか
110Now_loading...774KB:2006/07/07(金) 10:21:12 ID:Uj4FCXP1
>>109
MCのことを言ってるなら背景色は無いよ。MC内にあるグラフィックやら、子MCやらに
対しての色の変化は設定できるけど。ほしい背景色の矩形作って配置する。
111109:2006/07/07(金) 11:23:54 ID:rc+VZbFn
>>110
そうだったんですか
なんか処理が重くなりそうなんで敬遠したかったんですが
112Now_loading...774KB:2006/07/07(金) 11:49:50 ID:8CNQFOLr
もし背景色変えれる機能あったとしても
110の方法と重さ変わらないと思うんだけど・・
113Now_loading...774KB:2006/07/07(金) 16:36:02 ID:rUdV3DeQ
今actionscriptの本を見ながら勉強中なのですが
その本の「for」の項目で
九九の計算を1の段から9の段まで順に実行する、
という以下のような例文が載っています。

var result_str = ""
for (var dan = 1;dan <= 9;dan++){
for(var i = 1;i <= 9;i++){
var kuku_str = "dan"+"×"+i+"="+dan*i;
result_str += kuku_str + newline
}
}

四行目が「段×行=答え」の文字列になるということはわかるのですが、
var dan もvar i も数字なのに、どうして前者は""の中にあって
後者は""の中にないのかが理解できません…。

あと五行目のnewlineってのは、なにをさしているんでしょう??
114Now_loading...774KB:2006/07/07(金) 16:53:11 ID:kEylQ1Fr
>>113
"で囲むと文字列扱いになる
なので、その例だとkuku_strはdan×1=1とかdan×5=25になる。

newlineは改行。
いつのことか忘れたけど、newlineで改行文字ではなくて
復帰文字になったりしたいやな記憶があるので、
おれならdanの""を取って\nで改行する、
var kuku_str = dan+"×"+i+"="+dan*i+"\n";
で、result_str += kuku_str + newlineを消す。
115Now_loading...774KB:2006/07/07(金) 17:17:27 ID:rUdV3DeQ
>114
>なので、その例だとkuku_strはdan×1=1とかdan×5=25になる。
!その通りですね、danのまま書き出されますね。
ここ、勘違いしてました。恥ずかしい。
newlineについては\nを覚えておくことにします。
どうもありがとうございました。理解しやすかったです。

結局、この例文、おかしいってことですよね?
やたらと誤植多いし、買い替え検討しようかな…。
116Now_loading...774KB:2006/07/07(金) 17:43:42 ID:UWxKPUT+
はじめまして。Flash Media Serverを使ってライブ配信をあれこれ試してます。

NetConnection/NetStreamクラスを使うとカメラ等のキャプチャデバイスからの入力を
サーバに送ることが出来ることは確認したのですが、キャプチャデバイス以外(例えば
外部のFLVファイルを連続的にとか、FLASH内で動的に生成されたムービー等)を
Live Streamとしてサーバに送り、それを他のブラウザ上のSWFでLive Streamとして視聴
させることはできないでしょうか?
11761:2006/07/07(金) 19:52:45 ID:o0OoBkCX
>>61でSharedObjectについて質問した者です。

62さんの助言を元に、
//dataNoはセーブファイルのナンバー
sd = SharedObject.getLocal("save_0"+dataNo, "/");
Flg1 = sd.data.Flg1;
Flg2 = sd.data.Flg2;
delete sd;

のようにしてみました。
しかし、やっぱり勝手に保存「される時がある」状態です。
同じ事をやっても保存される時とされない時があり、もう何が何だかよく分かりません。
どなたかSharedObjectに詳しい方、改善方法は無いものでしょうか?
11861:2006/07/07(金) 19:55:17 ID:o0OoBkCX
あっと、ちなみに上のはデータをロードする時のもので、データをセーブする時は

sd = SharedObject.getLocal("save_0"+dataNo, "/");
sd.data.Flg1 = Flg1;
sd.data.Flg2 = Flg2;
sd.flush();
delete sd;

となっております。
119Now_loading...774KB:2006/07/07(金) 21:04:35 ID:fB3mhxiE
>>117
Flg1やFlg2は構造体じゃないよな?
セーブやロード処理は関数内で処理し、ローカル変数のsdから、
メインタイムラインだかどこだかのゲーム中変数に代入するといい。
120Now_loading...774KB:2006/07/07(金) 21:34:04 ID:jWp/Vx9H
>>119 えっ 構造体だと何か問題があるの?
121Now_loading...774KB:2006/07/07(金) 22:01:16 ID:S70228g8
>>120
参照が切れない。
122120:2006/07/07(金) 22:48:19 ID:jWp/Vx9H
deleteしても参照が切れないってどーゆー事だよw
データが書き換わるごとにセーブされるって事!?
ゲーム等で敵の情報を構造体にする事は一般的な手法だろ
なんでそんな仕様なんだ使い物にならねーじゃねーかあああ
…どうすればいいの?
123Now_loading...774KB:2006/07/07(金) 23:23:02 ID:S70228g8
自分も正しく理解してるわけじゃないんだが、
変数sdをdeleteしても、ローカルにあるsolのデータは消えないために
参照関係が維持されてしまうようだ。
そうでなくとも構造体をそのまま代入するのは好ましくないと思うんで
構造体の場合はfor...inとかでプロパティを逐一コピーして使うのがいい。
arrayならconcatでもおk。
124Now_loading...774KB:2006/07/07(金) 23:44:59 ID:czojvAbZ
ver.7の頃はそういう仕様ではなかったはずだ SharedObjectを変数代わりに
使いたかった大馬鹿野郎がメーカー側に進言した為にこのような結果に
なったのだ プレイヤーの意図しない所でsolが書き換わってたらsave,loadなど
何の意味も無い つまりflashでゲームなんか作ってんじゃねぇ! とメーカーから
ユーザーへの暗黙の…なんだその つまり氏ねと
125Now_loading...774KB:2006/07/08(土) 02:08:19 ID:udUCByxC
SharedObjectの仕様を元に戻せ adobe
12661:2006/07/08(土) 04:04:30 ID:nCT7DQo3
>>71さん
助言を下さってありがとうございます。
助言を元に色々やってみたのですが、やはり勝手にセーブされたりされなかったりします。
もしかしたら他の部分が間違ってるのかも知れませんので、なるべく忠実に再現してみます。
//配列Flgを宣言
var Flg = new Array();
for(i=0;i<64;i++) {
Flg[i]=0;
}

//dataのロード
function dataLoad(dataNo) {
var sd = SharedObject.getLocal("save_0"+dataNo, "/");
Flg = sd.data.Flg;
delete sd;
}

//dataのセーブ
function dataSave(dataNo) {
var sd = SharedObject.getLocal("save_0"+dataNo, "/");
sd.data.Flg = Flg;
sd.flush();
delete sd;
}

上記の関数を、セーブロード時にタイムライン上で使用します。
_root.dataSave(2);
こんな感じなのですが、「ここが悪いかも」と言う部分は無いでしょうか?
12761:2006/07/08(土) 04:19:29 ID:nCT7DQo3
うほ、アンカーが全然間違ってました。>>119さんでした。
128Now_loading...774KB:2006/07/08(土) 09:49:43 ID:mP/SIDI4
>>127
勝手にセーブと言ってるけど、どうなったから勝手にセーブされたと判断してるの?
その部分があいまい。
129Now_loading...774KB:2006/07/08(土) 11:20:00 ID:zNUMvD2J
127じゃないけどFlgの配列の中身の変更時に勝手にセーブされたって事では?

野中氏の非公式テクニカルノートにdataではなくプライベート値を設定する事で
勝手にセーブされないとかなんとか書いてあるけど…。 これを試してみるのだ。>61
ttp://www.fumiononaka.com/TechNotes/Flash/FN0203002.html
130Now_loading...774KB:2006/07/08(土) 11:43:38 ID:mP/SIDI4
それは普通にオブジェクトのプロパティとして使えるというだけのこと。
.data以下のものはセーブ対象になるが他に設定しても、
プログラム変数としては使えるがセーブされないよということ。
131Now_loading...774KB:2006/07/08(土) 14:25:50 ID:g1VLDXyt
SharedObjectについて報告

ウチはdeleteすれば勝手にSolファイルは書き換わらなかったお
当然構造体のままブッ込んでるが問題無し 構造体内の変数が変わるごとに
Sol読み込んでtraceで確認したから間違いない…はずだ
環境はWinXP MX2004 AS1,2共に問題無し
>>123はもっとkwsk説明頼む
132Now_loading...774KB:2006/07/08(土) 14:39:58 ID:g1VLDXyt
61はvar Flg = new Array(); の varをとってタイムライン変数にしれ
参照ターゲットは間違ってないんだろうな? dataNo固定にしてテストしてるよな?
あと環境書け
133Now_loading...774KB:2006/07/08(土) 15:37:09 ID:MZOTeZGH
どなたかこのプラグラムをASにしてください><;
http://www.shiojiri.ne.jp/~openspc/FB/easy15/easy15.html
134Now_loading...774KB:2006/07/08(土) 15:45:45 ID:mP/SIDI4
13561:2006/07/08(土) 17:16:21 ID:nCT7DQo3
何となく解決しました? まだ良く分かってませんが今のところ勝手にセーブされてません。
環境はWinXP、Flash Professional8、AS2.0です。
ターゲットは間違っていないと思います。dataNoを0に固定してもダメでした。
勝手にセーブされていた箇所は、イベント管理用のフラグで、
新規スタート>セーブ>最初のイベントでフラグが変わる>セーブせずに終了>セーブしたところから再開>何故かフラグが変わっていてイベントが起きない
こんな症状でした。他の変数も時々セーブされたりもしていましたが、主にこのフラグが良くセーブされました。

結論としては、

sd.data.Flg = Flg;

としていたところを

for(i=0;i<64;i++) {
sd.data.Flg[i] = Flg[i];
}

要するに多次元配列を、まとめて入れるのでは無く一つずつにしてみたところ、勝手にセーブされたりされなかったりする症状が消えました。
>>129さんや>>132さんのレスを見る前でしたので、それらはやっていないのですが、今のところ大丈夫なようです…。
136Now_loading...774KB:2006/07/10(月) 19:58:15 ID:Zib5yx2L
Flashをメニューとして使おうと思っています。
Flash内に配置されたボタンが押されたら、そのFlashの張られているページの
インラインフレームに表示されるページを変えるにはどうすればいいんでしょうか?
137Now_loading...774KB:2006/07/10(月) 21:07:01 ID:XcogCAUp
>136
getURL();
138136:2006/07/10(月) 22:15:34 ID:Zib5yx2L
いま137のを見て、getURLについて検索してやってみましたが、どうもうまくいきません。
新しいウィンドウでそのURLのページが開かれてしまいます。

//ActionScript
on (release) {
getURL("filename.html", "framename");
}

//HTML
<iframe src="" name="framename" frameborder="no" scrolling="auto" width="601" height="490"></iframe>

なにかおかしいところはありますか?
139Now_loading...774KB:2006/07/11(火) 00:47:35 ID:HunXSnNa
>>138
getURLでやるのってフレーム(インラインじゃないやつ)じゃなかったっけ?
javascriptでいいなら、
htmlの name="framename"のところを id="framename"にして
on(release){
this.getURL("javascript:void(document.getElementById('framename').src='filename.html');");
}
140136:2006/07/11(火) 08:13:26 ID:nBIkb+Wr
139さん
レスありがとうございます。
早速javascriptの方法でやってみましたが、どうも動きません。今度は何も起こらなくなりました。

ブラウザで件のページを開いて、直接アドレスバーに
javascript:void(document.getElementById('framename').src='filename.html')
を入力して実行すれば、確かにインラインフレームが切り替わるので、javascriptおよびhtml側には問題ないように思えます。
どうもflashがjavascriptを実行できていない気が・・・
flashはswLiveConnect属性をtrueにして張らないとjavascriptが動かないそうなので、そうしています。

うーん難しいです。
141Now_loading...774KB:2006/07/11(火) 18:00:00 ID:TGAR2CdI
OSX10.4 Flash8Pro

1フレーム目にMC_A、2フレーム目にMC_Bがあり、
ボタンを押すと1、2フレームを切り替えるようにしています。

MC_A, MC_Bはそれぞれのフレームで、
MC_A.swapDepths(this.getNextHighestDepth());
MC_B.swapDepths(this.getNextHighestDepth());
という風に深度を変更しています。(attachMovieしたMCよりも上に来るようにするため)

で、1フレームから2フレームに行き、その後1フレームに戻ると
キーフレームで分けていたのにMC_AとMC_Bが同時に表示されてしまいます。
なぜこうなってしまうのか教えてください。
142Now_loading...774KB:2006/07/11(火) 18:05:18 ID:SCMMGpFS
WinXP + FlashMX2004Pro

クラスのメソッド内に定義されたコールバック関数から、
クラスのメンバ変数にアクセスするにはどうすればいいでしょうか?
下記の例だと onData 関数内で、メンバ変数の fuga にアクセスしたいのです。

--- hoge.fla ---
var hoge:Hoge = new Hoge();
hoge.SendAndLoad();

--- Hoge.as ---
class Hoge
{
private var fuga:Boolean; // メンバ変数の fuga

function Hoge()
{
this.fuga = false; // メンバ変数の fuga を初期化
}

function SendAndLoad()
{
var result_lv:LoadVars = new LoadVars();
result_lv.onData = function(result_str:String)
{
// ここで Hoge クラスのメンバ変数の fuga に値を入れたい
};
var send_lv:LoadVars = new LoadVars();
send_lv.foo= "bar";
send_lv.sendAndLoad("http://localhost/hoge.cgi", result_lv, "POST");
}
}
143Now_loading...774KB:2006/07/11(火) 18:10:28 ID:DIuhix2B
>>141
swapDepths使うと、キーフレームの意味なくなります。
フレーム移動する度にいらない方のMCをremoveMovieClipする。
144Now_loading...774KB:2006/07/11(火) 18:17:58 ID:TGAR2CdI
>>143
ありがとう。
もやもやが解消しました。
145142:2006/07/11(火) 20:30:57 ID:SCMMGpFS
以下のように、onData の引数として this の参照を与え、
それのプロパティ fuga を操作するという形で実現できました。
でもこれで本当にいいのかなあ?

function SendAndLoad()
{
var result_lv:LoadVars = new LoadVars();
result_lv.ref = this;
result_lv.onData = function(result_str:String)
{
// ここで Hoge クラスのメンバ変数の fuga に値を入れた
result_lv.ref.fuga = true;
};
var send_lv:LoadVars = new LoadVars();
send_lv.foo= "bar";
send_lv.sendAndLoad("http://localhost/hoge.cgi", result_lv, "POST");
}
}
146Now_loading...774KB:2006/07/12(水) 00:26:27 ID:Uwc1g0n/
>>142
とりあえずこうするかな〜。
同じfunction内だったら、onData内でも参照できるから
result_lvには突っ込まず、ローカル変数にしちゃう。

function SendAndLoad() {
 var target = this;
 var result_lv:LoadVars = new LoadVars();
 result_lv.ref = this;
 result_lv.onData = function(result_str:String) {
  target.fuga = true;
 };
 var send_lv:LoadVars = new LoadVars();
 send_lv.foo= "bar";
 send_lv.sendAndLoad("http://localhost/hoge.cgi", result_lv, "POST");
}

個人的にはこっちの方好みだけどね。Delegateクソ便利。
import mx.utils.Delegate;
〜中略〜
result_lv.onData = Delegate.create(this, function(result_str:String) {
 fuga = true;
});
147146:2006/07/12(水) 00:55:58 ID:Uwc1g0n/
>>146
削除し忘れ → result_lv.ref = this;

ところで質問!
getURLの第二引数で window が指定できるじゃないすか。

特定のターゲットのウィンドウで開きたい時
getURL("hoge.html", "WindowName");
ってすると、最初に新しいウィンドウ開いて
後は何回クリックしても同じウィンドウに上書きされるはずなんだけど
クリックする度に新しいウィンドウが開く。

とりあえず下記で見つけたんだけど、
もっと詳しい説明書いてあるところないかな・・・?
ttp://www.flash-jp.com/modules/newbb/viewtopic.php?topic_id=203&forum=8

一応:
WinIE / MacIE / Safari(コンカラ) → 新しくウィンドウがバンバン開く。
FireFox+NN (Gecko) / Opera → 正しく動く (最初だけウィンドウ開いて後は上書き)

説明が分かりづらくてスマン。もうちょい詳しい挙動が知りたいだけなんだけd。
148Now_loading...774KB:2006/07/12(水) 02:19:11 ID:zjmRO/kb
>>147
リンク先には2ページ目があるので見てみては。
149Now_loading...774KB:2006/07/12(水) 16:24:48 ID:Uwc1g0n/
>>148
レスどうもです。
一応、2ページ目も見たんだけど、javascriptの説明になってて
「第二引数でウィンドウ名を指定した時の挙動の詳細」は書いてないんすよねー。。
150Now_loading...774KB:2006/07/12(水) 17:49:52 ID:JV6L5FFU
Flash9のベータ版入れてみたんですが、
AS3でパッケージをimportしなくてもflash.mediaやflash.eventの
関数がグローバルのように叩けてしまうんですが、これって仕様?
151Now_loading...774KB:2006/07/12(水) 17:59:02 ID:PfA7AMx+
>>150
質問なんですが、
Flash9の仕様は公開されているんでしょうか?
152Now_loading...774KB:2006/07/12(水) 18:10:11 ID:njjGox7v
153Now_loading...774KB:2006/07/12(水) 22:40:12 ID:JV6L5FFU
If you want to use a class that is inside a package, you must import either the package or the specific class. This differs from ActionScript 2.0, where importing classes was optional.
↑ってことはパッケージインポートしないと使えないってことだと思ってたんだが・・・
AS3の仕様はFLEX向けだろうからFlash9は若干違うのかもね
154Now_loading...774KB:2006/07/12(水) 23:53:47 ID:Gjz2zI+x
それ使ってるコンポーネントとかライブラリの中にあるんじゃね?
155Now_loading...774KB:2006/07/13(木) 15:17:52 ID:MixsuYFa
すみません、マルチです。
こちらのスレの存在を知らなかったので。


質問です。Flash8proです。
ステージの外にある
マウスカーソルの座標を取得することは可能でしょうか?




試しに、
ダイナミックテキストにマウスカーソルのX座標を表示させる
100x100ピクセルのflashを作り、
HTMLで画面左上に配置して実験してみたのですが、

onEnterFrame = function(){
zahyo(←ダイナミックテキストの変数)=_root._xmouse;
}

としてやってみたら、
ステージ内ではちゃんと座標が取得でき
99までは表示されたのですが、
ステージ外だと反応がなくなりましたが、
なぜかステージ外でクリックをした場合は座標が返ってきて
ダイナミックテキストに表示されました。

クリックをしなくても座標を取得したいのですが、
可能でしょうか?
よろしくお願いします。
156Now_loading...774KB:2006/07/13(木) 16:32:18 ID:fsBkZdkT
ロジック(理論)に関しても質問できますか?
環境:初代MX

ASを使ってピクチャークロスワードを作りたいと思っています。
マスをクリック判定で□→■→×→□・・・ と変更させてゆく使用です
これを実現するために私が起せたロジックは
マスの個数分ムービークリップを作成しhitTestとon(Press)で一々判定をする、という
非常に貧弱なものでした。
確かに5×5のフィールドではこれは可能(w)ですが、これを25×25で再現しようとすると
えらい労力です。

私は、指定した座標から四角形を塗りつぶす関数、直線を引く関数、
及び数字(文字)を表示する関数があれば、これを簡単に実現できるものと考えますが
資料及び経験不足のため五里霧中です。

手解きを頂きたいです。

157Now_loading...774KB:2006/07/13(木) 16:50:28 ID:VAn4/3Sz
>>156
クリック判定は共通の処理でできるからマスになるMCを1つ作ってそれを
duplicateなりattchMovieなりでループ処理でグリッド上に複製すればいいだけだよ。
んで各MCごとにIDふって正解かどうかの判定は各MCのIDを参照すれば良いだけ。
他にもやり方はあると思うけど・・・
何マスあろうが関係ナス

158Now_loading...774KB:2006/07/14(金) 13:27:35 ID:xgkB4vvZ
ダイナミックテキストに、あらかじめ文字列が入っていて、
マウスでクリックすると、その文字列が消えて、入力できるように
するには、何か方法はあるでしょうか? ヒントをお教えください。

たとえば、問い合わせフォームみたいなもので、
あらかじめ「こちらにご入力ください」と記載されていて、
ユーザがその枠内で、クリックすると、文字が消えて入力できるように
なる。

という具合です。
よろしくお願いします。
159Now_loading...774KB:2006/07/14(金) 13:49:52 ID:FtcBN33T
>158
テキストフィールドのイベントハンドラ関係
addListener
onSetFocus
160159:2006/07/15(土) 20:25:52 ID:61hoNu0p
ちょ、スレ止まってるって
俺が悪いの?
161Now_loading...774KB:2006/07/15(土) 21:50:41 ID:/hBuLmDG
( ´д)ヒソ(´д`)ヒソ(д` ).
162Now_loading...774KB:2006/07/15(土) 21:52:32 ID:Hw0rZsIW
getURL( 'http://www.〜', '_self', 'GET' ) ;

これを指定したメールアドレスに送信されるようにしたフォームをつくりたいのですが。
メアドの指定はどのようにすればいいのでしょうか。
163Now_loading...774KB:2006/07/15(土) 23:19:10 ID:QlXhm8A2
>>162
Flashからのメール送信は不可能
CGIとsendmailと連携する
164Now_loading...774KB:2006/07/15(土) 23:29:13 ID:zBPbwDtD
>>162
mailto でメーラー起動させられる。
メーラーをつかわない送信フォームはFlashだけでは無理。cgiと連携させる。
165Now_loading...774KB:2006/07/15(土) 23:33:01 ID:61hoNu0p
>162
'http://www.〜'って書いてあるから分かんないけど、cgiに飛ばすん?
getURLじゃなくて、loadVarsクラスを使う。
btn.onPress=function(){
myLoadVars=new LoadVars();
myLoadVars.mailadd="メアド";
myLoadVars.memo="今日やっと24-1stシーズン-見ました";
myLoadVars.send('http://www.〜', '_self', 'GET' ) ;}
みたいな。まぁヘルプ嫁。
166Now_loading...774KB:2006/07/16(日) 00:22:46 ID:pAVKjb2M
テキスト入力にキャレットをASでおくことはできますか?
167Now_loading...774KB:2006/07/16(日) 00:32:40 ID:3qBVEGW2
>166
アイコン等は無理だけどフィールドの色を替えることはできる
テキストフィールドのプロパティをとりあえす嫁
ところで158=162=166か?
168Now_loading...774KB:2006/07/16(日) 00:37:15 ID:3qBVEGW2
>167
補足。わりぃ。getCaretIndex()ってのがある。
使ったことは無いから、この件はパス
169Now_loading...774KB:2006/07/16(日) 00:43:23 ID:pAVKjb2M
>>168
それは参照しかできないっぽい・・・?
あと158,162とはまったく別人。
もなちゃとみたいに
読み込み→テキスト入力にキャレット表示、みたいなことがしたんだけど・・・
170Now_loading...774KB:2006/07/16(日) 00:44:00 ID:pAVKjb2M
ぁ、後半は不特定多数に向けたお願いです。
171Now_loading...774KB:2006/07/16(日) 00:50:26 ID:3qBVEGW2
>169
そかー、失礼しました

単純にフォーカス当てればいいだけだよな
onLoad
setFocus
172Now_loading...774KB:2006/07/16(日) 01:00:19 ID:pAVKjb2M
フォーカスは当たるけどキャレットが出てこないんですよ
173Now_loading...774KB:2006/07/16(日) 01:13:46 ID:3qBVEGW2
HTMLに書き出してみた?
174Now_loading...774KB:2006/07/16(日) 01:17:15 ID:pAVKjb2M
どうして?
175Now_loading...774KB:2006/07/16(日) 01:39:02 ID:R39UJxgs
>>174
ムービープレビュー(デバッグプレイヤー)で見るとフォーカス移動わからない。
普通のプレイヤーで見れば分かるよ。
176Now_loading...774KB:2006/07/16(日) 01:43:02 ID:pAVKjb2M
>>175
フォーカスはちゃんとなっているけどキャレットが出てこないんです。
HTML、プレイヤーでみたけど表示されず・・・
177Now_loading...774KB:2006/07/16(日) 01:49:21 ID:R39UJxgs
>>176
テキストフィールドのタイプはテキスト入力になってるよね?
>フォーカスはちゃんとなっているけど
キャレット出てこないのにどこで判断してるんだろう?
onSetFocus?
フォーカス与える記述見せて貰わないとちょっと分からない。
178Now_loading...774KB:2006/07/16(日) 01:50:10 ID:R39UJxgs
普通にSelection.getFocus()があったの忘れてた
179Now_loading...774KB:2006/07/16(日) 01:54:14 ID:pAVKjb2M
>>178
テキスト入力です。クリックすれば表示されるし・・・
あとsetFocusしか使ってないです。
180Now_loading...774KB:2006/07/16(日) 13:40:54 ID:3qBVEGW2
>179
一問一答できりが無いなw
setFocusのASを晒せ
とりあえず基本
btn1.onRelease=function(){Selection.setFocus("_root.t1");}
181Now_loading...774KB:2006/07/16(日) 17:49:33 ID:pAVKjb2M
>>180
MC:mc_t,インスタンス名:ins_t
onClipEvent(load){
Selection.setFocus("ins_t")
}
182Now_loading...774KB:2006/07/16(日) 18:25:17 ID:3qBVEGW2
>181
これでどう?Selection.setFocus("_root.ins_t");
>クリックすれば表示されるし・・・
クリックした時にフォーカスされるので、
最初からフォーカスされてるかは関係ないっす
183Now_loading...774KB:2006/07/16(日) 18:40:20 ID:pAVKjb2M
>>182
問題としているのはフォーカスじゃなくてキャレットの問題なんです。
181でフォーカス問題は解決されているんです。
だけど、半角文字はいれられても全角文字が入力時に別に表示されたり
文字を消せなかったりするんです。キャレットが表示されないから・・・

もなちゃととか入力するところに読み込んだら自動的にいくじゃないですか?
それを目指しているんです。
184Now_loading...774KB:2006/07/16(日) 19:03:09 ID:3qBVEGW2
181だとパスが合ってないから、フォーカス当たってないしキャレットも出ない
こちらから質問なんですが、181でフォーカスがins_tに当たってるのは、
どうやって確認してるんでしょうか?

とりあえず、新規ファイルで最小構成で試せば、キャレット出せる
つまり、いまの制作物のバグと考えていいのかな?
185Now_loading...774KB:2006/07/16(日) 19:27:22 ID:pAVKjb2M
半角文字入力です。
フォーカスがあってる→入力できる
で判断しています。

入力できるのにキャレットが出てこない。
そちらではキャレットの確認はできましたか?
186Now_loading...774KB:2006/07/16(日) 21:07:45 ID:mdgzttcC
sound1,sound2......sound30の30個のSoundオブジェクトを作成したいのですが

for(i=1;i<=30;i++){
sound+i=new Sound();
}

等としても無理でした。地道に30個書くしか無いんでしょうか
187Now_loading...774KB:2006/07/16(日) 21:18:46 ID:R39UJxgs
>>186
それだと変数の値 + 変数の値 = new Soundとかいう扱いになってるから、
this["sound" + i] = new Sound() ;
に入れ替えれば良いと思いますよ。
188Now_loading...774KB:2006/07/16(日) 21:59:43 ID:mdgzttcC
[]ってそう使うんですか。
ありがとうございます
189Now_loading...774KB:2006/07/16(日) 22:30:47 ID:3qBVEGW2
>185
どうもお互い言葉たらずで話がすすみませんねw

キャレットは出てます。ただ、IEからフォーカスをはずすと消えてしまいます。
不安定です。こっからは試行錯誤になってしまいますが、
mc_t.onEnterFrame = function() {
Selection.setFocus("_root.mc_t.ins_t");
};
lis = new Object();
_root.mc_t.ins_t.addListener(lis);
lis.onChanged = function() {
delete mc_t.onEnterFrame;
};
これで解決します。当然、ブラウザ上のflash本体にフォーカスが当たってないと駄目。
あと、オブジェクトアクションじゃないけどね;
こんなんでどうでしょう?
190Now_loading...774KB:2006/07/16(日) 22:44:25 ID:3qBVEGW2
補足すると、なにかのイベントの後はキャレットは安定して表示される
onEnterFrameじゃなくてもいい
191Now_loading...774KB:2006/07/16(日) 23:53:29 ID:pAVKjb2M
>>189-190
確かに出ます。
馬鹿のお相手、ありがとうございました。
192Now_loading...774KB:2006/07/17(月) 17:23:39 ID:cwt0+KMG
onClipEvent(load){
  if (hensuu=="あ"){
    _root.AAA.gotoAndPlay(1);
  }else 
  if (hensuu=="い"){
    _root.AAA.gotoAndPlay(2);
  }else 
  if (hensuu=="う"){
    _root.AAA.gotoAndPlay(3);
  }else (以下略)

コンボボックスによる操作で変数hensuuの値が変わったときに、あるMCのタイムラインを操作したいのですが
上記の文だとサッパリ動きません。
OnClip〜が問題っぽいのですが、if文がOn内じゃないとダメだと警告されるので少々詰まっております。
どなたかご教示お願いいたします。
193Now_loading...774KB:2006/07/17(月) 18:02:13 ID:0P8OhUdz
>>192
よく分からないけど、
onClipEvent(enterFrame){
かな。
194Now_loading...774KB:2006/07/17(月) 18:24:14 ID:cwt0+KMG
>>193
enterFrameでもダメでした。
俺Flashさんに嫌われてるのかな。
195Now_loading...774KB:2006/07/17(月) 18:49:27 ID:cwt0+KMG
ちと順序が逆になりましたが、一応詳細を書きますと

コンボボックス内には「あ」〜「お」の項目があって、「あ」を選ぶと変数「hensuu」に文字列「あ」が入ります。「い」以下も同じ。
ムービークリップ「AAA」は、タイムラインが1〜5まであり、hensuu内に入っている文字列によってページが移動する感じです。
「あ」が入っていたら1、「い」だったら2みたいな。

ムービークリップ「AAA」に>>192で書いたスクリプトを記述。が、まったく動かず。
ダイナミックテキストで、変数をhensuuにすると、「あ」とか「い」とか表示されるので変数は受け取っているようです。
196Now_loading...774KB:2006/07/17(月) 18:56:24 ID:YV3HOEBJ
コンボボックスから変数に値を設定しているコードはどうしてる?
そこにgotoAndPlay()も書けばいいだけなんじゃない?
197Now_loading...774KB:2006/07/17(月) 19:02:30 ID:Jvxp+c4F
>>195
trace(hensuu)で値返ってくる?パスが違うんじゃないの。
198Now_loading...774KB:2006/07/17(月) 20:08:22 ID:cwt0+KMG
>>196
マクロメディア(アドビ)HPのテクニカルノートにあったやつを少しいじっただけです。

>>197
か、返ってこない。。。
ちといじってみます…。

解答ありがとうございます。
199Now_loading...774KB:2006/07/18(火) 01:23:43 ID:ST7VExem
AS3やAS2のOOPなソースやファイル群のサンプルを配布しているところはありませんでしょうか?
いまいち勉強しようにも、構造が掴めずに苦戦しておるのであります。
200Now_loading...774KB:2006/07/18(火) 17:50:23 ID:0Nu+ZXaX
>>199
普通にJavaの入門書とか読めばいんでね。
201Now_loading...774KB:2006/07/18(火) 22:05:58 ID:3FQ2NoGO
Flash 8Pro / Mac OS10.3.9

Flash Player 7を対象にしたビデオ(.mov)の読み込みをしました。
展開方法/Webサーバーからのプログレッシブダウンロード
エンコード/Flash 7(標準)

コンポーネントMedia Playbackを使用しています。

このコンポーネントMedia Playbackの右上に
クリックでdisplayサイズを変更するボタンがついているのですが
このボタンの機能を無くそうと思い、
(できれば、ボタン自体の削除をしたいので)
ヘルプを読みました。

ASでは無く、スキンの変更かと思い、
ComponentFLA内のMediaComponents.flaを開きましたが、
空?というかなにもありません。

コンポーネントMedia Playbackの
変更の手順を教えてもらえると嬉しいです。
よろしくお願い致します。
202Now_loading...774KB:2006/07/18(火) 22:55:36 ID:fn93Aytd
>>201
あんまエレガンントではないけど、
↓で隠せるよ。playerは、MediaPlayBackのインスタンス名ね。

player._chrome._visible = false;
203201:2006/07/19(水) 00:51:11 ID:haZnN9+v
>>202
ありがとうございます。
隠せました。
でも、_chromeはヘルプの検索にも無かった?
みたいなのですが。
MediaPlayBack _chromeでぐぐったら
海外サイトばっかりでした。
読み込んでみます。
204202:2006/07/19(水) 01:15:46 ID:OeKBFg/i
>>203
あ、ゴメン。
_chrome自体を、_visible = false しちゃうと枠まで消えちゃうんで、
↓の関数を呼び出す方がよさげ。
player._chrome.setEnabled(false);

俺も前に、拡大ボタンを無効にしたくてリファレンス探したんだけど
特にそれに当たるが見つけられなくて、for (var name in player) で、
チマチマ探して消してた。
205201:2006/07/19(水) 02:35:30 ID:haZnN9+v
>>204
枠も消してデザイン替えたかったので、
_visible = falseの方法で
かえって助かりました。

player._chrome.setEnabled(false);
これでボタン設定だけ無効になるんですね。

最短で解答してもらえてラッキーです。
206Now_loading...774KB:2006/07/19(水) 04:09:13 ID:D7sbcBAW
_rootのフレームにfunctionを登録しておいて
子のムービークリップからそのfunctionを呼び出した時に
呼び出した子のムービークリップの階層を「_root.XXX.YYY」のような感じで取得したいのです

最後は呼び出したMC自体なので、「._name」で取れるのですがその親たちの名前を
どうやって持ってきたらいいかで悩んでます
207206:2006/07/19(水) 04:37:03 ID:D7sbcBAW
自己解決いたしました
申し訳ございません
208Now_loading...774KB:2006/07/19(水) 07:07:32 ID:6f6eu48z
>>200
そう思ってFlash OOP買ったんですが、
初っ端からオブジェクト指向の知識があるものとして説明されていてサッパリでした。

やっぱりJAVAから入るべきですかね?
209Now_loading...774KB:2006/07/19(水) 09:08:11 ID:IglchIgL
>>208
オブジェクト指向の解説書買えばいいじゃない

Javaでオブジェクト指向開発しようとしても結局オブジェクト指向開発の解説書を買うことになるだけ
Javaはオブジェクト指向開発しかできない言語ってわけじゃないし

それにActionScriptは言語実装がJavaと違うから、Javaで覚えてもActionScriptへの覚え直しが必要
そんなの両方覚える必要が無いならややこしくなるだけで邪魔なだけ
だったらオブジェクト指向の解説書とFlashOOPで最初からActionScriptとしてのオブジェクト指向開発を覚えればいい
210Now_loading...774KB:2006/07/19(水) 11:52:12 ID:k+kTKxx/
>>206
単純に、_rootのfunctionを呼び出す時に自分自身(呼び出したMCへの参照)を
引数につければいいじゃん。
■_root
function test(mc:MovieClip) {

mc._xscale = 200;
trace("お前を横長にしてやろうか!");
}
■子MC
_root.test(this);
211Now_loading...774KB:2006/07/19(水) 11:52:50 ID:k+kTKxx/
て、あれ、自己解決してた。。。スマン。
212Now_loading...774KB:2006/07/19(水) 14:13:18 ID:h1c2nJ/A
ASで時間経過をテキストフィールドに表示したいのだけど、
どういう記述にすればいいのかわからず、詰まっています。
AS辞書で”時間”で検索してもみつかりませんでした。
何かヒントください。
213Now_loading...774KB:2006/07/19(水) 14:25:08 ID:Ok3T8FUX
>>212
getTimerとかでいいんじゃないかな。
214Now_loading...774KB:2006/07/19(水) 14:32:19 ID:LgkwgLDn
>>212
AS関連の検索をするなら英単語でも調べるとヒットしやすい。
この場合ならtimeとかtimerとかね。

>>213が簡単だと思うけど、応用も身につけたいならDateクラスについて読む。
215Now_loading...774KB:2006/07/19(水) 15:52:32 ID:h1c2nJ/A
あぁ、そうか。英単語で調べるべきでした。
getTimerで解決しました。ありがとうございました。
216Now_loading...774KB:2006/07/19(水) 21:52:00 ID:c4QFcSyY
環境: FlashMX2004(Player7)

substringで文字列を抽出する際の質問です。
元の文字列txt1: FIELDJOB(A=MOM,INDEP=9.62e+009) から位置A,Bを
指定して、txt1.sbstring(A,B) により 9.62e+009 を取り出そうとした
ところ、プラスが抜けてスペースになった
 9.62e 009
が得られました。対策はどのようにすればいいでしょうか?
217Now_loading...774KB:2006/07/19(水) 22:03:12 ID:2TP5aYcR
>>216
そうなったASを書かないと何ともいえんがな。
var txt1:String = "FIELDJOB(A=MOM,INDEP=9.62e+009)";
trace(txt1.substr(21,10));
218Now_loading...774KB:2006/07/19(水) 23:35:37 ID:wrxtMWmn
すみません今リアルタイムでトラぶってます。
速攻で教えて頂けると大変助かります。

AS1 から、今自分がいるドメインを取得する方法はありますでしょうか?
どなたかご教授いただければと思います。
219Now_loading...774KB:2006/07/19(水) 23:42:09 ID:ZZljH8Qd
>>218
_urlじゃダメ?
220Now_loading...774KB:2006/07/19(水) 23:53:49 ID:ZZljH8Qd
trace(_root._url);


var my_lc:LocalConnection = new LocalConnection();
trace(my_lc.domain());


もっといい方法ないかな
221Now_loading...774KB:2006/07/20(木) 00:05:11 ID:/+gRa68/
trace(_url.match(/^.+?:\/\/([^:]+)(:.+)?\//)[1])
222Now_loading...774KB:2006/07/20(木) 00:12:03 ID:/+gRa68/
正規表現使えないんだった
代わりにindexOfでちょっと簡単に

i1 = _url.indexOf("://")+3;
i2 = _url.indexOf("/",i1);
trace(_url.substring(i1,i2))
223Now_loading...774KB:2006/07/20(木) 00:13:03 ID:7Ukdeayj
>>221
宣言せずに使えたっけ?<RegExp

あれ?
224Now_loading...774KB:2006/07/20(木) 00:25:45 ID:7Ukdeayj
225Now_loading...774KB:2006/07/20(木) 00:27:49 ID:7Ukdeayj
>>222

これってローカル対応してなぐね?
226218:2006/07/20(木) 01:05:34 ID:WHa0wfq8
すみません。なんとか解決しそうです。

というか問題はぜんぜん別のところにあって、FL7 で他のサーバーから xml を読むには
System.security.loadPolicyFile();
を使わなければならないってことがわかりました。(基本中の基本のようでした)

例えば
http://www.example.com/foo.xml

http://example.com/bar.swf
からは読めないのですが、かろうじて
http://example.com/foo.xml
にも同じデータが置いてあるので、自分のドメインで判別して読み込もうと思った次第です。


って、今思いついたんですが、
/foo.xml
で一発じゃないかと。
227216:2006/07/20(木) 01:15:07 ID:btBme1Pn
>>217
さんきゅうです。抽出作業の記述は対象範囲をmom1以降として、
配列 indep[id] に格納しつつ

indep1 = txt1.indexOf("=", mom1);
indep2 = txt1.indexOf(")", mom1);
indep[id] = txt1.substring(indep1+1, indep2);
trace( indep[id] = "+indep[id]);

としています。抽出範囲は正しいのですが、プラス記号が消えてしまします。
再びアドバイス願います。
228Now_loading...774KB:2006/07/20(木) 01:31:37 ID:7Ukdeayj
情報を小出しにするのは最近の流行なのか?

>>218
突っ込まれる前に該当AS全部晒して。たぶんそれが一番早い
229Now_loading...774KB:2006/07/20(木) 01:54:18 ID:Kj97TFrc
>>227
txt1 = "FIELDJOB(A=MOM,INDEP=9.62e+009)";
var mom1 = 15;
indep1 = txt1.indexOf("=", mom1);
indep2 = txt1.indexOf(")", indep1);
var id = 0;
var indep = new Array();
indep[id] = txt1.substr(indep1+1, indep2-indep1-1);
trace(indep[id]);
で試したけど問題なかった。

txt1の値を外部から読み込んだりしてない?
それだと確か+はスペースに置き換わるはず。
trace(txt1)で確認する。
230216:2006/07/20(木) 02:32:45 ID:btBme1Pn
>>229
そうです。txt1は外部Txtです。
trace(txt1)をやってみます。

ところで、+ → スペース って、AS上では何か
意味のある変換なんですか?
231Now_loading...774KB:2006/07/20(木) 04:25:21 ID:G0XPjmfL
application/x-www-form-urlencoded の仕様
232Now_loading...774KB:2006/07/20(木) 05:38:14 ID:Cq9pbyUq
FlashMX2004です。

改行の数がわからない文章を、for文を使って改行数をカウントしようと
しています。AS2.0で最大整数の予約語というのはあるのでしょうか? 

使い方は、例えばこれがMaxNumという表現だったとき、
for(i=0; i<MaxNum; i++){
//改行を感知する記述
if(文末まで達した){
break;
}
}

として、breakでfor文を出るようにしたいと思っています。
233Now_loading...774KB:2006/07/20(木) 05:44:10 ID:7Ukdeayj
234Now_loading...774KB:2006/07/20(木) 05:50:51 ID:7Ukdeayj
>>232

i=0;
while (1) {
//改行を感知する記述
if(文末まで達した){
break;
}
i++;
}
trace("最大行数は"+i+"です");


これでは?
235232:2006/07/20(木) 06:08:20 ID:Cq9pbyUq
>>234
Thx。
ところで、最大整数ってのは存在しないのでしょうか?
236さ、仕事逝こう:2006/07/20(木) 06:49:21 ID:7Ukdeayj
「最大整数の予約語」というのはない
「"予約語" は、コードで識別子として使用することができない単語です。これは、ActionScriptによって予約されているためです。」

最大整数って何?bottomScrollじゃなくて?
この場合だったら行数が変わるとMaxNumも変わるけど変更不可にするってこと?

それならwatch()なり、setterなりで出来るけど行数は変わるかもしれないから不都合出てこない?

237Now_loading...774KB:2006/07/20(木) 06:54:51 ID:MbFFB0Dh
質問ですー。
Num = 1〜10の数字 を
戦闘に0を付けた2文字の文字列("00"とか"01"とか"04"とか"10")に
するにはどのような処理をしたらよいでしょうか?
単純に思いつくのは10未満ならば"0"+String(Num)で、10ならばString(Num)のまま。
ですが、条件文などを使わずに効率の良い方法ないでしょうか?(文字列操作のみで実現できる方法とか)
238さ、仕事逝こう:2006/07/20(木) 07:10:59 ID:7Ukdeayj
>>237

Str="0"+Num
trace(Str.substr(-2,2));


条件文使ったほうが効率は良いと思うけど
239Now_loading...774KB:2006/07/20(木) 11:07:41 ID:SnJ8YNsP
条件文だけど、条件演算子使ってみた。
for(var num = 0;num<20;num++){
trace( num < 10 ? "0"+num : num);
}

0埋めは桁数指定した関数作った方が汎用性あって良いと思う。
240Now_loading...774KB:2006/07/20(木) 14:11:40 ID:lh1d3dZt
占いのコンテンツを作りたいのですが、どこから手をつけていいのか分からないのでご教授ください。
環境はXP、FlashMXです。

コンテンツの内容としては、3択(A〜C)の質問が10問あり、それぞれの組み合わせで違った占い結果(三種類)がでるという内容のものです。
例えば3択の内、A3点B2点C1点とし、最終的に20以上なら1、10以上20未満なら2、10未満なら3といった感じの分岐にしたいのです。
241Now_loading...774KB:2006/07/20(木) 14:27:38 ID:mtdLJSzf
>>240
変数は扱えますか?
ボタンを押したら任意の値を出力する、ということはできますか?
ボタンを押したら変数に任意の値を加算する、ということはできますか?
if()などの論理式は扱えますか?

上記が出来れば作れる。
わかんなかったらその内容をググったりして調べれば出来る。
それでも理解できない部分はここで質問してみるといいかも。
242Now_loading...774KB:2006/07/20(木) 14:37:33 ID:Y3qelE2F
>>241
レスありがとうございます。

普段タイムライン寄りの作業しかやらなくて、actionscriptは全然なので、
とりあえずリストアップしていただいたその四項目について調べてみます。
243Now_loading...774KB:2006/07/20(木) 15:13:08 ID:qGqAWt4m
>>232
trace(str.split("\n").length)
244Now_loading...774KB:2006/07/20(木) 16:58:11 ID:3lTq6M0Y
>>235
Number.MAX_VALUE
245Now_loading...774KB:2006/07/20(木) 17:25:44 ID:7Ukdeayj
>>239
for(var num = 0;num<20;num++){
trace( typeof(num < 10 ? "0"+num : num));
}
これだけだったら特に問題はなさそうだけどね。

>>243
ヒント "\r"

>>244
思わずペプシ吹いたwww弁償汁w
246Now_loading...774KB:2006/07/20(木) 17:30:55 ID:SnJ8YNsP
>>245
ん、何かあるのかな?
アンカーついてるし、なにか不満ならそういっておくれ。
247Now_loading...774KB:2006/07/20(木) 17:40:08 ID:7Ukdeayj
>>246

for (var num = 0; num<20; num++) {
trace((tokuninanimo=num<10 ? "0"+num : num)+" これに1を足すと");
trace("こうなる "+(tokuninanimo+1));
trace("");
}
trace("どうでもいいことだけどね");
248Now_loading...774KB:2006/07/20(木) 17:46:40 ID:SnJ8YNsP
>>247
あのう、勝手に追加してこうなると言われても困るんだが。。。
最初の条件の範囲でのコードなので。
249Now_loading...774KB:2006/07/20(木) 17:53:45 ID:7Ukdeayj
>>248
だから>>245で言ってるのに

9以下が文字列で10以上が数字になる
なにか処理を加えた時に容易に不具合が起きるだけで
”これだけだったら特に問題はなさそうだけどね。”

そういっておくれと言われて、わかりやすく言ったら困られたw
250Now_loading...774KB:2006/07/20(木) 18:03:28 ID:SnJ8YNsP
>>249
言いたいことはよくわかるけど、trace文で何か問題があるのかと
おもった。traceはNumberも自動的にStringとして出力するし。
そんなわけです。
251Now_loading...774KB:2006/07/20(木) 18:11:09 ID:esw1xiaM
おれ、こんな感じの function 使ってる。

function padLeft(digit:Number, src:Number) {
 var src_str:String = String(src);
 var pad:String = '';
 if (src_str.length>=digit) return src_str;
 for (var i:Number=1; i<=digit; i++) {
  if (i>src_str.length) src_str = '0'+src_str;
 }
 return src_str;
}
252Now_loading...774KB:2006/07/20(木) 18:13:17 ID:sydFG8H1
>>249
口で簡単に説明出来る事をASにするのが悪いだろ。
大体が質問者が求める仕様通りの記述に対して、
何か言い出す時点でキティ。
253Now_loading...774KB:2006/07/20(木) 18:30:57 ID:CGfFAYM0
横からスマンが

>大体が質問者が求める仕様通りの記述に対して、
>何か言い出す時点でキティ。

別に仕事で仕様通りにしなけりゃならないわけじゃないんだから問題ないだろ。
俺は人様の質問で勉強したりしてるんで、
何らかの不具合がでそうなスクリプトならその対処法も知りたい。
だからそういうこと言うのやめてほしいな。
254Now_loading...774KB:2006/07/20(木) 18:32:48 ID:7Ukdeayj
>>250
【最初の条件】
戦闘(先頭)に0を付けた→2文字の文字列←("00"とか"01"とか"04"とか→"10"←)に
するにはどのような処理をしたらよいでしょうか?

0-9までは問題ないけど10以降は条件の範囲外ですよ?(素)
汎用性云々とか言ってたけど、脇の甘くて汎用性が高いコード使うとさ、どんな結果になると思う?

>traceはNumberも自動的にStringとして出力するし。
完全にダウト。
NumberはNumberのままです。それについては>>245の出力結果の通り

trace文は問題を見つけるための道具だろ?
問題の種が見つかったのに
「言いたいことはよくわかるけど、trace文で何か問題があるのかとおもった。」
この発言はコーダーとして相当に恥ずかしいよ?
255Now_loading...774KB:2006/07/20(木) 18:36:50 ID:SnJ8YNsP
んだば、ちと改造。変な書き方だがこれもあり。String(num)が普通。

for(var num = 0;num<20;num++){
aa= num < 10 ? "0"+num : num+"";
trace( typeof(aa)+":"+aa);
}
256Now_loading...774KB:2006/07/20(木) 18:43:54 ID:SnJ8YNsP
>>254
あのう。。。typeofでの出力がNumberになるのとStringで出力するのは違うと思うんだが。。
257Now_loading...774KB:2006/07/20(木) 18:52:17 ID:7Ukdeayj
>>251
var pad:String = '';
は何の意味が?w

>>255
>String(num)が普通。
普通というか何もせず直接変更するなら推奨かな
10ミリ秒程度ですがそっちが軽く速いと言われてます。

>>256
trace出力=stringなのか
スイマセン、ぜんぜん知りませんでした
ごめんなさいこの通りです


というか出力時点でstringにしてもnumberだったにしても俺にはわからんが。
コピペ出来るから文字列っていうなら確かに文字列かも。
258251:2006/07/20(木) 18:57:57 ID:esw1xiaM
>>257
俺も書き込んだあと「padって何だよ!」って思ったwww
259Now_loading...774KB:2006/07/20(木) 19:04:43 ID:7Ukdeayj
260Now_loading...774KB:2006/07/21(金) 11:19:13 ID:Ual8fOcO
flashから
getURLを使ってjavascriptの関数を呼び出して
document.title を変更してるのですが
FireFoxでは反映されるのですが
IE6では反映されません。
値の参照をすると設定されているのですが表示は変わりません。

FlashからでなくHTML上のボタンからコールすれば
期待どおり動作します。

flashから関数を呼ぶときはなにか他に処理が必要なのでしょうか?
261Now_loading...774KB:2006/07/21(金) 12:09:18 ID:XMBEB0cy
meで、PLAFLAなんですが、文字に、ランダムで動き(ガクブルや、回る)
をされられるASあるでしょうか?一応試したいのですが、ちょうどいい
ASがみつかりません。(´・ω・`)
262Now_loading...774KB:2006/07/21(金) 12:36:50 ID:5+pL24+h
randomに_x , _yを設定したり、
randomで_rotationさせたりすればいいんじゃないの?
263Now_loading...774KB:2006/07/21(金) 13:36:41 ID:LJVme20O
>>260
javascriptは各ブラウザ毎にコードの書式が違う。
色々調べないとだめぽ。
264Now_loading...774KB:2006/07/21(金) 13:46:32 ID:9mzFvc+a
的外れ
265Now_loading...774KB:2006/07/21(金) 15:41:08 ID:z15sM703
>>260
動かないコード示せよ
貴様のコードが間違っているのかブラウザ仕様の違いなのか分かんねーよ
266Now_loading...774KB:2006/07/22(土) 02:48:53 ID:+Z/veJcm
そろそろプログラム板にうつりたくなるような質問ばかりになってきたな・・・。
267Now_loading...774KB:2006/07/22(土) 03:29:20 ID:9Qsuv9BA
>266
具体的にどの質問がプログラム板にふさわしい内容なの?
268Now_loading...774KB:2006/07/22(土) 11:53:52 ID:9bkrbmbC
もしFlash板が無かったら、ActionScritptスレはム板にあったはず
269Now_loading...774KB:2006/07/22(土) 12:05:11 ID:y78bzqHu
初心者です。外部から読み込んだJPG画像のサイズを求めるにはどうしたらいいですか?
ちなみにスクリプトはこんな感じです。
image = "pic"+this.num+".jpg";
_root.screen.loadMovie(image);
sframe._xscale=image._height+6;
写真のフレームをダイナミックにつくりたいだけなんですが。。
よろしくおねがいします。
270Now_loading...774KB:2006/07/22(土) 13:53:52 ID:vxjEPQfO
>>269
_root.screenがjpgを表示させるためのものなら
jpg読み込み後に_root.screen._widthとかじゃだめ?
271Now_loading...774KB:2006/07/22(土) 15:46:58 ID:l5IrSP/3
>>269
MovieClipLoader使ってロードする。
onLoadInitイベントでサイズを拾えば画像のサイズが取れるから。

loadMovieでやるなら、1フレーム置かないと
画像読み込み前のMovieClipのサイズが返ってくる。
※createEmptyMovieClipしたなら0が返る。

1フレーム置くのは、
・onEnterFrameで実行後delete onEnterFrameで停止
 ※onEnterFrameは即時実行されないので次のフレームでの実行となる
・setIntervalで実行ごcrearIntervalで停止
 ※上記と同じく。

あたりかな。
まぁ、MovieClipLoader使うのが楽だよ。
272Now_loading...774KB:2006/07/22(土) 17:02:07 ID:2okXVADe
>>268

ASスレはもともとweb製作板から移転した
まっつんとかがよく質問に来てたよ<web板のASスレ
273Now_loading...774KB:2006/07/22(土) 20:53:25 ID:v1a2wdRZ
別にム板に持って行かなくてもいいんじゃね?
ただ、デザイナとしてのASと、デベロッパとしてのASは接し方が違うから、ム板に“も”あって良いとは思う
274Now_loading...774KB:2006/07/22(土) 21:17:30 ID:2okXVADe
>>273

4年前の5月に立てられたスレがある。
はっきり言って需要なし。

んで懐かしいやり取り見つけた
--------------------------------------------------

9 名前:デフォルトの名無しさん[sage] 投稿日:02/05/10(金) 18:59
Web 制作板と交流でも図らないとレスつかないよたぶん。

10 名前:デフォルトの名無しさん[sage] 投稿日:02/05/11(土) 00:06
>>9 あっちはアニメーションなどが中心と思われ。せめてWebProg板かも
知れんが、どっちにしても適当なところは意外にないと思う。

12 名前:デフォルトの名無しさん[sage] 投稿日:02/05/13(月) 17:30
>>10
WebProg板じゃ、そもそも人がいないからあまりレスがつかないだろうな。

16 名前:デフォルトの名無しさん[] 投稿日:02/05/13(月) 18:47
>>12 >>15 場所は難しいな。サーバサイドだけじゃないし、ActionScript
だけでもないし。本当はこういうときこそ、Flash板に機能して欲しい
ところだ(w 強いて言えば>>15の振った先なのかな。ここでも良い気がするが。

17 名前:デフォルトの名無しさん[sage] 投稿日:02/05/13(月) 18:49
>>16
Flash板はムービーを探してきて鑑賞するだけだし(笑)
275Now_loading...774KB:2006/07/22(土) 21:19:40 ID:2okXVADe
上のぬけてた
--------------------------------------------------

15 名前:デフォルトの名無しさん[sage] 投稿日:02/05/13(月) 18:37
Web制作板なら、ActionScript関係は別スレになってる。

ActionScriptの質問は第二章で♪
http://pc.2ch.net/test/read.cgi/hp/1020707139/
276Now_loading...774KB:2006/07/23(日) 01:32:20 ID:Nf12mYka
亀だけど、桁揃え関数。>>251 をちょっぴりスマートにしてみた。

function padLeft($digit:Number, $src:Number):String {
 var $num:String = $src.toString();
 while ($num.length < $digit) $num = '0' + $num;
 return $num;
}
277Now_loading...774KB:2006/07/23(日) 03:31:42 ID:qUTif8FC
ActionScriptのリファレンスを公開しているサイトってありませんか?
1.0相当のものが参照できれば満足です。
278Now_loading...774KB:2006/07/23(日) 03:37:18 ID:9SMEO1i5
>277
adobeのサイトにあるじゃん。PDFだって置いてるし。
それとも、サイト製作者独自の解説が欲しいの?
279Now_loading...774KB:2006/07/23(日) 03:53:53 ID:qUTif8FC
2.0のものは見付かるのですが、どの程度互換があるのがわからないので1.0を求めています。
280Now_loading...774KB:2006/07/23(日) 04:06:42 ID:tLycIf7U
>>279
ヘルプのAS辞書とかじゃだめなのかな。
リファレンスなら一番確実だけど。
281Now_loading...774KB:2006/07/23(日) 04:08:15 ID:qUTif8FC
いやPalaFlaというフリーソフトで生成するので、MXは手元にないのです。
282251:2006/07/23(日) 18:08:21 ID:9VR0IgAG
>>276
うほー。使わせてください!
(NumberUtil なんつークラス作って static function padLeft()入れてます)
283Now_loading...774KB:2006/07/23(日) 19:02:13 ID:x26L8MX4
数字にメソッド書けたらいいのにね

Number.prototype.square = function () {return this*this;}

trace(10.square());//構文エラー

n = 10;
trace(n..square());//100
284Now_loading...774KB:2006/07/23(日) 23:44:38 ID:Dmq8uJfy
ipod用のムービーを作ったので
私のHPを訪れてくれる人がダウンロードしてくれるようにしたいです。
flashでボタンを作って普通にgetURLの記述をしたんですが、
うまくいきません。

on (release) {getURL("ファイル名.m4v");
}

windowsだと一応ダウンロード出来るんですが、
コンピューターに問題を起こす可能性がありますというメッセージが出て
macだと変な文字列が表示されてしまいます。

ファイルのダウンロードの指定の方法を教えて貰えませんか?
スレ違いだったらすみません。
285Now_loading...774KB:2006/07/24(月) 00:41:48 ID:hk02onBM
>>284
macは知らんけど、普通はzipとかに圧縮する。
286Now_loading...774KB:2006/07/24(月) 04:36:56 ID:mAqEBcAx
>>284
そのファイルを置いてるWebサーバ側でMIME typeの設定をする。
拡張子".m4v"に対して"video/m4v"とかね。

自前で運用しているサーバならhttpd.confをさくっと編集、
そうでないなら管理者に依頼。

んでもiPod用に作ったんだったら、Podcast用のRSSを書いて
置いておけば?で、iTunesで落としてもらえば、見るのもiPodに
転送するのも簡単だし。
287284:2006/07/24(月) 23:32:13 ID:mr7F5Eww
>>285 様 >>286 様
ありがとうございます。

iPod用なんでRSSというのを使うのがよさげですね。
ちょっと勉強してみます。

ちなみに私のサイトはほとんどflashで作っているんですが、
RSSはflashでも書けるのかな?
288Now_loading...774KB:2006/07/24(月) 23:50:40 ID:68quhF4B
>>287
Flashからはファイル操作できんな
PHPとかと連携する必要がある
289Now_loading...774KB:2006/07/25(火) 00:45:54 ID:YGv3b/TZ
はじめまして。現在紙芝居のようなものを作っております。

SWFにloadMovieで別のSWFを次々と切り替えて読み進めていくものなのですが、
親のSWFに操作ボタンを配置して子のタイムラインを操作したいと考えております。

上手く表現できないのですが、

親.swfに
_root.screen.window.loadMovie("data/01.swf", 1)

というASを書いて子を表示させています。
子のムービーはそれぞれ表示させるMCに応じてラベルを付けてstop();
で止めてあります。
そこに透明ボタンでキーボードの左と右で進めたり戻ったりするようには
してあるあります。
しかし、マウスでも操作できるようにと、画面の端にカーソルを当てればメニューが出てきて同じように操作できるようにしたのですが、この場合、場面が変わる度にメニューが消えて使い勝手が悪いものになってしまいました。


そこでこれを、親に配置したボタンで
 
00.swfラベル1→00.swfラベル2→00.swfラベル3→
01.swfラベル1→01.swfラベル2→01.swfラベル3→
02.swf・・・・

こんな感じで進めたり、また逆に一つづつ戻したりしたいのですが、
どうすればよいでしょうか。
290Now_loading...774KB:2006/07/25(火) 00:58:13 ID:uQv80YYw
MX2004
データを保存し、次回読み込んだ(FLASH開いた)ときまでの経過日時を
調べたい。

SAVE:2006/07/25 22:00
LOAD:2006/08/01 23:00

結果:7日と1時間
というふうに・・・。

ttp://hakuhin.hp.infoseek.co.jp/main/as/time.html#TIME_00
ここら辺を見たがよくわからないです。
291Now_loading...774KB:2006/07/25(火) 01:41:31 ID:jOpKEbpl
>>290
ヒント:UTC
292Now_loading...774KB:2006/07/25(火) 01:49:19 ID:uJLo/tmc
>>289
_root.screen.window.gotoAndStop("ラベル1");
ってボタンに書く。

>>290
var date1 = new Date(2006, 7, 25, 22, 0, 0);
var date2 = new Date(2006, 8, 1, 23, 0, 0);
var s = (date2-date1)/1000; //秒
var day = Math.floor(s/3600/24);
trace(day+"日");
var hour = Math.floor((s-day*3600*24)/3600);
trace(hour+"時間");

こんな感じ。
293289:2006/07/25(火) 02:11:47 ID:YGv3b/TZ
さっそくありがとうございます。

私の質問の仕方が間違っていたみたいです。ごめんなさい。
親に配置したボタンは同じボタンのままで押すたびに次のラベル、次のSWF、に進むように
したかったのです。


表現力がなくて大変ご迷惑をおかけしております。
294Now_loading...774KB:2006/07/25(火) 02:38:38 ID:uJLo/tmc
>>293
変数を用意してボタンを押すたびに +1 していく。で、その変数の値によって

switch ( hensu ) {
case 1:
_root.screen.window.loadMovie("data/01.swf")
case 2:
_root.screen.window.gotoAndStop("ラベル1");
}
hensu++;

ってこと?
295Now_loading...774KB:2006/07/25(火) 02:41:55 ID:Mo8QNMmh
>293
movielist = ["00.swf","01.swf","02.swf"];
movieposi = 0;
btnNext.onPress = function(){
_root.screen.window.loadMovie(movielist[movieposi], 1);
movieposi++;
}
296289:2006/07/25(火) 03:01:58 ID:YGv3b/TZ
ただいま子のMC側に親ボタンからの入力を受けて次に飛ぶナニかができなかと、
原始人のようなことをいろいろためしておりました…。

なるほど、変数で変えていけるんですね…。
そちら方面で試したりググったりしてみて頑張ってみます。

お二方とも、ありがとうございましたm(_ _)m
297Now_loading...774KB:2006/07/25(火) 05:01:10 ID:GVL6AkG0
>>290
SharedObjectにDateオブジェクトを保存しとく。
298Now_loading...774KB:2006/07/25(火) 12:10:46 ID:mmKvGIo7
初めまして
現在フラッシュのゲームでランキング機能を搭載しようと思っているのですが
CGIとASを連携するランキング機能について教えていただけないでしょうか?
よろしくお願いします
299Now_loading...774KB:2006/07/25(火) 12:17:07 ID:GVL6AkG0
>>298
どこら辺が知りたいの?概要?
300Now_loading...774KB:2006/07/25(火) 13:02:15 ID:F9XV9TEy
>>298

とりあえず検索した方がいいよ。
301Now_loading...774KB:2006/07/25(火) 15:10:53 ID:O8rdZETq
meでplaflaです。
あの、(フォームに)特定の文字を打って、ENTER押すと、自動的に指定の
フレームに飛ぶのありますか
302Now_loading...774KB:2006/07/25(火) 15:15:44 ID:fVxbLn4n
>>301
ParaFlaかな?

【FLASH】 無料flash作成ソフト“ParaFla!” part15
http://pc8.2ch.net/test/read.cgi/swf/1148464676/

【FLASH】 ■第二回ParaFla!初心者教室 ■
http://pc8.2ch.net/test/read.cgi/swf/1146313329/
303284:2006/07/26(水) 00:22:10 ID:ohlVdbWK
>>288
レスありがとうございます。

そうですか〜。。。
Flashだけでは無理なんですね。
PHPとかプログラムはよくわからないし・・・。

これ以上はスレ違いになりそうなんで、
ダウンロードさせる方向で頑張ってみます。
304Now_loading...774KB:2006/07/26(水) 01:37:11 ID:G+/Y1bwM
やっぱりム板に行きたい。
305Now_loading...774KB:2006/07/26(水) 02:16:07 ID:8q5eTWZ+
>>304

なら一人で行ってきたら?

需要が全くないので
AS、flash+java、その他FLASH関係の話題全部ここでやってる

■ FLASH MX + JAVA ■
http://pc8.2ch.net/test/read.cgi/tech/1021006665/l50
306Now_loading...774KB:2006/07/26(水) 10:09:01 ID:aQU6NUxe
btnMax = 5;
for (var i:Number = 0; i<btnMax; i++) {
this.createEmptyMovieClip("btn"+i, 1000+i);
this["btn"+i].beginFill(0x666666, 100);
this["btn"+i].lineStyle(1, 0x000000, 100);
this["btn"+i].moveTo(0, 0);
this["btn"+i].lineTo(30, 0);
this["btn"+i].lineTo(30, 30);
this["btn"+i].lineTo(0, 30);
this["btn"+i].lineTo(0, 0);
this["btn"+i].endFill();
this["btn"+i]._x = Math.floor(Math.random()*250);
this["btn"+i]._y = Math.floor(Math.random()*250);
}
this.onEnterFrame = function() {
for (var i:Number = 0; i<btnMax; i++) {
if (this["btn"+i].hitTest(_xmouse, _ymouse, false)) {
trace(this["btn"+i]._name);
trace(this["btn"+i].getDepth());
}
}
};
mcをn個作成し、ランダムに配置してそれぞれロールオーバーの処理をしたくて
上記のスクリプトを書いたのですが、凄く効率が悪そうです。
何か分からない物にロールオーバー等の処理をするにはどのようにすればいいのでしょうか。
307Now_loading...774KB:2006/07/26(水) 10:19:38 ID:HWbs+Xsb
btnMax = 5;
function buttonRollOver(){
trace(this._name);
trace(this.getDepth());
}
for (var i:Number = 0; i<btnMax; i++) {
var b:MovieClip = this.createEmptyMovieClip("btn"+i, 1000+i);
b.beginFill(0x666666, 100);
//略
b._y = Math.floor(Math.random()*250);
b.onRollOver = buttonRollOver
}
308Now_loading...774KB:2006/07/26(水) 11:02:43 ID:aQU6NUxe
>>307
ありがとうございます。
var b:MovieClip = 〜
b.onRollOver = buttonRollOver
で変数にインスタンス名入れて関数割り当てられるんですね。
勉強になりました。
309Now_loading...774KB:2006/07/27(木) 04:44:29 ID:dJwGkT/s
FlashMX2004 (Player7)を使っています。
配列への文字列の格納についてご指摘願います。

hess = new Array();//フレームアクションで定義
on (release) {//ボタンアクション
hess = "あ,い,う,え,お,か,き,く,け,こ";
for (id=0; id<10; id++) {
trace("hess, id = "+hess[id]+", "+id);
}
}

目標では、
hess, id = あ,0
hess, id = い,1
hess, id = う,2

としたいのですが、これらは undefined,0 などとなります。
どうしたらいいでしょうか?
310Now_loading...774KB:2006/07/27(木) 05:00:28 ID:NvTYq+HS
>>309
hessに文字列を代入してるから、型がストリングになってる
ヘルプでArrayクラスのシンタックスを確認すれば解決
311309:2006/07/27(木) 07:39:10 ID:qko6vaRh
>>310
レスさんきゅう。
str1 = "あ,い,う,え,お,か,き,く,け,こ";
hess = str1.split(",");
で自己解決しました。
312Now_loading...774KB:2006/07/27(木) 13:06:54 ID:EfFtsQy8
str1 = "あいうえおかきくけこ";
hess = str1.split("");
カンマ付けなくてもこれでいいと思う
313Now_loading...774KB:2006/07/28(金) 10:43:06 ID:fu/CurcF
フラッシュに文字を打ち込む欄を作って
たとえば変数textFild1に 200 って入力された時に
動作を起こすと言うものを作りたいんですが、(←このif関数は作れました)
文字を打ち込む欄を作るにはどうすれば良いのでしょうか?
314Now_loading...774KB:2006/07/28(金) 10:43:42 ID:fu/CurcF
ちなみにparaflaを使ってます。
315Now_loading...774KB:2006/07/28(金) 11:22:16 ID:c3ESaHPO
ここに質問したってことはActionScriptで動的に生成する方法を聞いているんだよね?
316Now_loading...774KB:2006/07/28(金) 11:42:22 ID:c3ESaHPO
一応コード載せとくよ

_root.createTextField("hoge_txt", _root.getNextHighestDepth(), 0, 0, 200, 20);
hoge_txt.border = true;
hoge_txt.type = "input"
hoge_txt.onChanged = function()
{
if(this.text == "200")
{
trace("200だよ");
}
}
317Now_loading...774KB:2006/07/28(金) 19:18:51 ID:ttYu8ZjA
ひとつのオブジェクト中に作成するアクションの中の変数って、
ファンクションごとに変数を独立させる事ができないのかなぁ。

VBとかだと、プロシージャ毎に独立した変数になるのだけど。。。
318Now_loading...774KB:2006/07/28(金) 20:08:46 ID:ofqBn9iV
普通にできるよ?
319Now_loading...774KB:2006/07/28(金) 21:07:33 ID:ccOLC+Zd
フレームアクションとクリップアクションを混同してるんジャマイカ?
320Now_loading...774KB:2006/07/28(金) 21:11:51 ID:vxDDDrrk
質問お願いします

ボタンが3つあってそれぞれ関数を
以下のように定義してるのですが

btn1.onPress = function() {
trace("click 1");
}
btn2.onPress = function() {
trace("click 2");
}
btn3.onPress = function() {
trace("click 3");
}

これを、まとめてfor文を使ってかくことはできないでしょうか?

for (i=0; i<3; i++) {
eval("btn"+i).onPress = function() {
trace("click "+i);
}
}

とすると関数内でその外側の i が取得できず
関数実行じのiの値になってしまい、
どのボタンをクリックしても「click 3」が表示されます。
関数の外側の変数(関数定義時の値)に
アクセスする手段はあるのでしょうか?
321Now_loading...774KB:2006/07/28(金) 21:31:00 ID:c3ESaHPO
構文の意味をちゃんと理解してプログラムしな
サンプルをコピペするだけじゃ向上できんよ


var doPress = function()
{
trace(this);
}

btn1.onPress = doPress;
btn2.onPress = doPress;
btn3.onPress = doPress;
322Now_loading...774KB:2006/07/28(金) 21:36:00 ID:c3ESaHPO
どうでもいいが

eval("btn"+i)

って構文は動くが推奨できない
ボタンが_rootにあるなら

_root["btn"+i]

が正しい


ついでに>>320で i が使えない理由を教えとくと、function() の中身は定義に過ぎないわけで、実際に動作するのはターゲットのonPressがファイアしたとき
そもそも匿名関数は定義と実行が同時に行えないためその構文は不正
変数の宣言が強制され、スコープが厳密に適用される処理系ならコンパイルエラーで終わる

こういうのはちゃんと基礎から勉強しておけ
323Now_loading...774KB:2006/07/28(金) 22:11:10 ID:TDXr2N16
別にこれでいいだろ
for (i=0; i<3; i++) {
this["btn"+i].id = i;
this["btn"+i].onPress = function() {
trace("click "+this.id);
}
}



324Now_loading...774KB:2006/07/28(金) 22:14:36 ID:TDXr2N16
for (var i=0; i<3; i++) {
325Now_loading...774KB:2006/07/28(金) 22:35:47 ID:9bfmAjWT
以前も質問したことあるのですが、
またアドバイスいただければと思います。

FlashLite1.1にて携帯用のFlashアプリを作っているのですが、
traceで値を表示させるだけではデバッグがやりにくいので、
ダイナミックテキストフィールドを用い、
常に変化する複数の変数を、リアルタイムに画面上に表示させたいと思っています。

ここで質問なのですが、そのダイナミックテキストの変数のところで、
他のムービークリップ内の変数を指定する方法はあるのでしょうか。
ダイナミックテキストの変数の部分に、test_mc.hensu
などと入力しておいても、何も表示されません。

また、携帯用Flashの開発では、ブレークポイントの設定などができず、
デバッグが非常にやりにくいのですが、普通はどのようにデバッグしているのでしょうか?
アドバイスいただければ幸いです。
326Now_loading...774KB:2006/07/28(金) 22:37:43 ID:jCkuaX3s
プレーヤの歩いた軌跡が、あらかじめ引いてある直線にどれくらい近いかを数値化するにはどうしたらいいでしょうか?
(x,y)座標を取って計算をすればよいらしいっていうのはなんとなくわかるんですが
具体的にどういった計算をすればいいかご教授願います


ちなみに最小二乗法だと、






このように蛇行した場合も直線に近似されてしまうのでダメですよね・・・
327Now_loading...774KB:2006/07/28(金) 22:38:16 ID:c3ESaHPO
>>323
お前も基礎から勉強した方が良いよ
動けば良いってもんじゃない
328Now_loading...774KB:2006/07/28(金) 22:46:45 ID:c3ESaHPO
>>325
どういうコード組んでる?
とりあえずこれは動くぞ

hoge_mc.foo = 10;
fuga_txt.variable = "hoge_mc.foo";
//この後 hoge_mc.foo の値を色々と変更

同じようなコードで動作しないなら環境の違いがあるのかもね
FlashLiteや携帯用プレイヤーの挙動の違いはしらんから、そこに原因があるのかも
329Now_loading...774KB:2006/07/28(金) 22:53:18 ID:c3ESaHPO
>>326
アルゴリズムスレで聞いた方がいいぞ
類似度関数をどう作るかって命題な気がする
#現役離れて長いからかなり忘れた
330325:2006/07/28(金) 22:58:27 ID:9bfmAjWT
>>328

返答ありがとうございます。

しかしながらFlashLite1.1では、
テキストフィールドにインスタンス名は付けられない仕様になっているようです。

現在はルート上に、表示させたい変数分のテキストフィールドを作り、
それぞれの変数ボックスに、同じくルート上にあるムービークリップの変数名を入力しています。

もし何か思い当たりましたら、またよろしくお願いいたします。
331Now_loading...774KB:2006/07/28(金) 22:58:34 ID:jCkuaX3s
>>329
ありがとうございます。そっちで聞いてみます
332Now_loading...774KB:2006/07/28(金) 23:00:29 ID:5HvGZeNc
>327
私もボタンが多いときなんか>323でやってましたが、
具体的に何がまずいんでしょうか?動作中に止まってしまう等あるのでしょうか?
私はグラフィック専門なので、やはりプログラム専門の方の意見を聞けると、
大変参考になると思うので是非教えてください
合わせて正しい方法も聞けると助かります
よろしくお願いします
333Now_loading...774KB:2006/07/28(金) 23:14:11 ID:c3ESaHPO
とりあえず分かりやすいところはこの辺

・匿名関数を複数回宣言する意味がない(意味がないことはやるべきではない)
・わざわざidプロパティを作ってメモリに負担を掛ける意味がない(ただしその方が処理負荷が軽くなる場合は別だが、>>320からは読み取れない)
・文字列結合はコストの高い処理だから回避できるなら回避すべき(あらゆる処理系で言えること)
・オブジェクトをインスタンス名で検索するのもコストの高い処理だから回避すべき
・thisでパスが通る保証がないのにthisを使うのは不親切(>>322のように前提として書くべき)
・コードが見づらいため、後の保守の際に手間取る可能性がある(他人が保守する可能性もある)

これは>>320で「ボタンが3つあって」とあるため、ボタン数は固定であり、3つと少ないことが前提だ。
カッコにも書いたように、前提が変われば話は変わるが、元質問から読み込める範囲は大してない。
ちなみに数が多い場合はこうなる。

//_root.btn1〜_root.btn9まである場合
var doPress = function()
{
trace(this);
}
for(var i = 1; i <= 9; i++)
{
_root["btn"+i].onPress = doPress;
}

「いやそれはおかしい」って突っ込みがあれば是非欲しい
おれも自分自身が向上するためにそれを検証する
334Now_loading...774KB:2006/07/28(金) 23:35:18 ID:79PhIH/k
ActionScriptで、どうしても解決できなかったので投稿させて頂きました。
【前提】
1. 合計、2フレームあります。
2. 1フレーム目にボタンがあります。
3. 2フレーム目にムービークリップがあります。
【目的】
ボタンのアクションに以下のような記述をして2フレームに遷移させた上、
2フレーム目にあるムービークリップを不可視にしたい。
=================
on (release) {
_root.mc._visible = false;
_root.gotoAndStop(2);
}
=================
【実行結果】
上記の結果なのですが、ボタンを押すと2フレーム目に遷移するのですが、
ムービークリップが不可視になりません。
ちなみに、2フレームにボタンを作ってこのムービークリップを不可視にする
スクリプトを上記のように記述して上で実行すると思った通りに不可視になります。
【質問】
1フレーム目のボタンのクリックによって、
2フレーム目のムービークリップの操作する場合には、
どのようにすればよいのでしょうか?
モシクハ、2フレーム目に入った際に初期化処理みたいなものを書くような機構とかがあるのでしょうか?
【環境】
WindowsXP, Flash 8 Proffesional

宜しくお願いします。
335Now_loading...774KB:2006/07/28(金) 23:42:11 ID:cILyBAqU
>>334
gotoAndStop(2)と
mc._visible = false を入れ替えればおk。
336Now_loading...774KB:2006/07/28(金) 23:46:39 ID:cILyBAqU
ActionScriptを処理していくときに、
Flashってバカ正直に上から1個1個実行していくわけじゃん。

だから、まず mc が居るフレームに移動してから、
_visible してあげないといけない。
Flashの気持ちはこんな感じ。

=================
@ _root.mc._visible = false;
いや、、_root見てみたけど、
mcとかいう名前のやついねーから無視だな。無視。

A _root.gotoAndStop(2);
_root のタイムライン移動するわ。
=================

=================
@ _root.gotoAndStop(2);
_rootのタイムライン移動して、2フレに行くぜ。

A _root.mc._visible = false;
(ここは2フレの世界) mcいるじゃん。_visible をオフにしてやるZE!!!
=================
337Now_loading...774KB:2006/07/28(金) 23:48:41 ID:5HvGZeNc
>333
理由は分かりました。細かい部分で非効率的なんですね
留意するべき点が興味深いです

>・オブジェクトをインスタンス名で検索するのもコストの高い処理だから回避すべき
これはコードのどの部分なんでしょう?

私の通常の書式は関数を外に出してるんで、問題はないかな
for(var i = 1; i <= 9; i++){
_root["btn"+i].onPress = _root.doPress();
}
function doPress(){trace(this);}
338Now_loading...774KB:2006/07/28(金) 23:50:30 ID:r9pdsenK
>>336
処理全部終わってからフレーム移動するもんだと思ってた。
処理全部終わってから行われるのは画面の再描画であって、
フレーム移動は別なんだね。
目からうろこ。
339320:2006/07/28(金) 23:55:42 ID:vxDDDrrk
>>321-323
ありがとうございます
動きました
勉強しなおして精進します
340Now_loading...774KB:2006/07/28(金) 23:57:44 ID:79PhIH/k
>>335-336
親切な説明どうもありがとうございました。そういう仕組みなんですね。良く分かりました。
ただ、せっかくアドバイス頂いたのですが、逆にしても動かないみたいです。

1フレーム目と2フレーム目は両方ともキーフレームなのですが、これとか関係ありますか?
ムービークリップを念のため作り直してみたのですが、これもダメでした。。。
なんでだろう。。。
341Now_loading...774KB:2006/07/29(土) 00:02:04 ID:vhs9adiA
>>336
今回のとは関係ないけど、上から実行する前に一回フレームのスクリプト全部見てるよね?
trace(Hoge());   // ほげ
function Hoge() {
return "ほげ";
}

>>340
俺の環境では動いたぞ
_root.gotoAndStop(2);
trace ( _root.currentframe )
で 2 って出力されない?
342Now_loading...774KB:2006/07/29(土) 00:05:30 ID:pOFSbNYS
>>340
んー。同じようなサンプル作っても実にバッチリ動くけどね…。
2フレ目においてあるムービークリップには、
ちゃんとインスタンス名書いてるよね?とか、そういうことしか思いつかない。
343Now_loading...774KB:2006/07/29(土) 00:09:37 ID:+CLlUTWl
>>341
ありがとうございます。

デバックのために、以下のように書き換えてみて実行してみました。
================================
on (release) {
trace("実行(1):" + _root._currentframe);
_root.gotoAndStop(2);
trace("実行(2):" + _root._currentframe);
_root.mc._visible = false;
trace("実行(3):" + _root._currentframe);
}
================================

すると、実行結果が...
================================
実行(1):1
================================
だけしか、表示されないですね。

肝心の「_root.mc._visible = false;」が実行されていないみたいです。。。
原因がよく分からないのですが、この症状から考えられることってありますか?
344Now_loading...774KB:2006/07/29(土) 00:12:28 ID:pOFSbNYS
>>341
あー、うんうん。分かる分かる。その書き方で問題ないよね。
基本上から実行されて行くよ(いくよ! っていうのが説明のキモだから特に説明いらないかと。

クラス定義した時の、コンストラクタとか
突っ込んだ処理の順番とかは理解できてないし... (´・ω・`)
345Now_loading...774KB:2006/07/29(土) 00:14:32 ID:NB44W0xF
>>343
何故だかは分からんが、そのボタン自体もMCインスタンスだよね?
MCボタンの場合にそうなる。
346Now_loading...774KB:2006/07/29(土) 00:18:13 ID:NB44W0xF
MCをボタンとして扱ってる場合でも、

trace("実行(1):" + _root._currentframe);
_root.gotoAndStop(2);
trace("実行(2):" + _root._currentframe);
_root.mc._visible = false;
trace("実行(3):" + _root._currentframe);

の処理を関数化して、それを呼び出すようにすれば出来た。
MCアクションとボタンアクションの処理方法の違いは分からない。
347Now_loading...774KB:2006/07/29(土) 00:21:33 ID:+CLlUTWl
>>345
あ、解決しました。
ボタンなのですが、ムービークリップのボタンではなく、
予め用意されているコンポーネントのUser Interface!?を使ったのですが、
おそらくそれが原因なのかもしれません。仕様なのかな。

シンボル変換でボタンにしたものに、前述の通り書いたら正常に実行されました。
User Interfaceを使うのが簡単で一般的なのかなぁと思って気軽に使ってしまったのですが、
今度からシンボル変換後のボタンで実装することにします。

ありがとうございました。
348Now_loading...774KB:2006/07/29(土) 00:31:57 ID:pOFSbNYS
>>347
AS2でMacromediaが推進してるくさいのは、
ボタンに名前を付けて、タイムラインの方(フレームアクション)で、イベントリスナーを登録みたいな感じだよね。
var btnListener:Object = new Object();
btnListener.click = function() { _root.gotoAndStop(2); _root.mc._visible = false; }
btn.addEventListener('click', btnListener);

動作しない時は、「2フレーム目に移動すると、function への参照がなくなるために続きが実行できない」ってことだと
思うんだけど、、、その根本的な原因を説明できるほど詳しくない・・・ (´・ω・`)

× btnMC内
-----------
on (release) { _root.gotoAndStop(2): _root.mc._visible = false; }

× btnMC内
-----------
this.onRelease = function() { _root.gotoAndStop(2); _root.mc._visible = false; }

○ _rootのフレームに
-----------
btnMC.onRelease = function() { _root.gotoAndStop(2); _root.mc._visible = false; }
349Now_loading...774KB:2006/07/29(土) 00:39:19 ID:7Pp6JQM7
ゲームのスコアで、
1000点未満…ランクA _root.rank.gotoAndStop(1);
2000点未満…ランクB _root.rank.gotoAndStop(2);
5000点未満…ランクC _root.rank.gotoAndStop(3);
    ・
    ・
    ・
のようにスコアによって分岐させたいのですけど、
これはどのようにしたらいいでしょうか?
350Now_loading...774KB:2006/07/29(土) 00:44:51 ID:NB44W0xF
>>349
var tokuten:Number = 2500 ;

if(_root.tokuten < 1000){
_root.rank.gotoAndStop(1);
}else if(_root.tokuten < 2000){
_root.rank.gotoAndStop(2);
}else if(_root.tokuten < 5000){
_root.rank.gotoAndStop(3);
}
351Now_loading...774KB:2006/07/29(土) 00:44:56 ID:h79jE+7M
>349
ゲーム作れるんなら分かる筈なんですが・・・
if文を使って下さい
352Now_loading...774KB:2006/07/29(土) 00:45:48 ID:NB44W0xF
>>349
var tokuten:Number = 2500 ;

if(_root.tokuten < 1000){
_root.rank.gotoAndStop(1);
}else if(_root.tokuten < 2000){
_root.rank.gotoAndStop(2);
}else{
_root.rank.gotoAndStop(3) ;
}

だったごめん
353Now_loading...774KB:2006/07/29(土) 00:46:34 ID:+CLlUTWl
>>348
なるほど。色々なActionScriptのサンプルを見ながらやっているのですが、

・ フレームアクション(>>348さんのやり方かな?)
・ ムービークリップアクション
・ ボタンアクション(今やっている実装方式?)
と色々やり方があるんですよね。

私は、Javaのエンジニアなのですが、お客さんからの要望で急きょインターフェイスを
改良してくれとの要望で、初めてのFlashでInterfaceを1画面書きなおす作業を四苦八苦しながらやっています。

Java(オブジェクト指向)に近いのは>>348さんのやり方かなぁと思うのですが、
画面系の実装は、VisualBasic以来ほんと〜に久しぶりでよく分からないので、
VisualBasicの画面系の実装に近いボタンアクションで実装しています。

時間がないので、とりあえず動くものを作ってプレゼン用のサンプルを作った後で、
ゆっくりとFlashの仕様を良く理解してリファクタリングしていこうと思います。

どうもありがとうございました。
354349:2006/07/29(土) 00:53:21 ID:7Pp6JQM7
>>350>>351
すみません色々試し始めたところなので・・・
ありがとうございました
355Now_loading...774KB:2006/07/29(土) 17:21:41 ID:n7NQHvJS
AS3は型指定したコードと指定しないコードと比べると、後者のほうが遅いでしょうか?
それとも型推論を行って最適化してくれるんでしょうか?
今試せる環境になくて、突然気になったもので・・・スイマセン
356Now_loading...774KB:2006/07/29(土) 18:32:18 ID:v/wBOnGB
>>355
同じ速度はあり得ると思うが、速くなるとは思えない。
357Now_loading...774KB:2006/07/29(土) 20:03:42 ID:n7NQHvJS
>>356
同等程度の速度がでたら問題ないと思うんですが、そのあたり気になります。
358Now_loading...774KB:2006/07/29(土) 21:38:38 ID:hFEUX1uy
二択クイズを作りたいのですが、どこかにサンプルソースを置いてるところはないでしょうか?

CとC++ならそれなりにできるので、サンプル見ながら手っ取り早く一つ作ってみたいのですが…
359Now_loading...774KB:2006/07/30(日) 01:59:02 ID:rMQGAoFr
>>358
CとC++がわかればサンプル無くても簡単に作れると思うけど何がわからないんだ?
問題文を表示させるテキストボックスと、○と×ボタンを用意して、問題表示して、
正解したら カウント++ したり gotoAndPlayやattachMovieで
正解ムービー(画面に正解!!とか)を表示させてやればいい。
360Now_loading...774KB:2006/07/30(日) 10:58:43 ID:m71tNJzi
2つのa.swfとb.swfがあって、a.swfからb.swfを呼びたいとおもっています。

a.swfにムービークリップを作って、
_root.mc_loadB.loadMovie("b.swf");
で、b.swfを読み込むことまでは出来たのですが、
b.swfに値を渡したり、渡されたり出来ればと思います。
これは技術的に可能でしょうか?

可能だとして、イメージが全くつかないのですが、
どのようにa.swfやb.swfに記述すれば宜しいでしょうか?

環境は、XP & flash8 Proです。

宜しくお願いします。
361Now_loading...774KB:2006/07/30(日) 11:05:41 ID:slm0YdyV
>>360
例えば、a.swf内で
_root.aaa=1;
と書いておくと、
b.swfからも、_root.aaaが1だということが参照できます。
362Now_loading...774KB:2006/07/30(日) 11:09:07 ID:m71tNJzi
>>361
さっそくのお返事ありがとうございます。
そんな単純な記述できるんですね。驚きです。
外部swfといいつつも、全く同化しているようなイメージの実装ですね。
ありがとうございます。早速やってみます!!!

# あ、逆に変数名が競合してしまっているので、それを直さなきゃ。。。
363Now_loading...774KB:2006/07/30(日) 11:28:21 ID:slm0YdyV
>あ、逆に変数名が競合してしまっているので、それを直さなきゃ。。。

いや、それはちょっと勘違いしていると思う。
_root.abc
_root.mc_loadB.abc
で競合しない。
364Now_loading...774KB:2006/07/30(日) 11:46:03 ID:m71tNJzi
>>363
今、双方とも値のやりとりができることを確認しました。

>いや、それはちょっと勘違いしていると思う。
確かに、仰られる通りです。やってみて今分かりました。
どうも、お世話になりました。助かりました。

ありがとうございました。
365Now_loading...774KB:2006/07/30(日) 12:29:34 ID:GuTnOwcI
いわゆる#constとか#defineみたいに定数を定義したいんだけど、どうすれば良いですか?
2.0です。
366Now_loading...774KB:2006/07/30(日) 12:34:20 ID:rMQGAoFr
>>365
普通の変数と同じ。
var c = 0;
367Now_loading...774KB:2006/07/30(日) 12:40:19 ID:GuTnOwcI
>>366
tttttttttttttttttttttttttttttttttttthhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
368Now_loading...774KB:2006/07/30(日) 12:58:05 ID:DLRzRatH
2.0ではクラス使わないとできないよ。3.0ならconstあるよ
369355:2006/07/30(日) 15:25:15 ID:f1U+D2+i
できる環境になったら試してみることにします
370Now_loading...774KB:2006/07/30(日) 15:28:40 ID:a1kJ6beM
>>369
数値は型によって速度が違う(他言語と同じ)
参照型はほぼ差が無い
371Now_loading...774KB:2006/07/30(日) 17:39:03 ID:f1U+D2+i
>>370
>数値は型によって速度が違う(他言語と同じ)
そうでない言語もいくつか存在するのですが、AS3はその仲間では
ないようですね。ありがとうございました。
372Now_loading...774KB:2006/07/30(日) 19:13:16 ID:qJEInHtW
ボタンのラベルを変更したいのですが、うまくいかず悩んでいます。
ボタンのように、アップ・オーバー・ダウンでデザインを変更でき、
かつ、ダイナミックテキストのように、動的にラベルを変更したいです。
具体的には、Aボタンに「はい」と書かれてあって、それをクリックすると「B」に変わるようなイメージです。
Windows上でflash 8を使っています。お願いします。
373Now_loading...774KB:2006/07/30(日) 19:41:52 ID:j+WlHzjt
>>372
MCをボタンとした場合のことなら

btn.txtField.text = "はい";
//
btn.onRelease = function() {
btn.txtField.text = "B";
btn.gotoAndStop("release");
};
374Now_loading...774KB:2006/07/30(日) 19:58:21 ID:qJEInHtW
>>373
レスありがとうございます。
やってみたのですが、ボタンの作り方が悪いせいか、うまく動いてくれないです(無反応)。
テキストツールでテキストを作り、それをシンボル変換してボタンを作っているのですが、
何か勘違いしているでしょうか?
375Now_loading...774KB:2006/07/30(日) 22:13:52 ID:qJEInHtW
>>374
自己レスです。textFieldをキーワードに色々試したところ思い通りの動作になりました。
createTextFieldを書くのを忘れていました。
お騒がせしました。ありがとうございました。
376Now_loading...774KB:2006/07/30(日) 22:49:50 ID:3w3hM8sS
このゲームhttp://park19.wakwak.com/~ozric/kabinft.htmlのように
操作キャラの上下関係(深度)を敵キャラより大きくしたり小さくしたり
するのはどうするんでしょ?
377Now_loading...774KB:2006/07/30(日) 23:02:08 ID:e/Y30jR+
コンポーネントのscrollpaneの中に何を何個入れるか、をxmlで定義しようとしてます。

で、読み込ませるためにリンケージを貼ったMCの中でXMLをonLoadして、
そのXMLの定義にしたがって画像などをloadMovieしてるんですが、
何故かスクロールペインにスクロールバーが出ません

XMLのonLoadや画像のloadMovieが時間差を生んで、読み込み以前の状態が反映されてるのかと思い、
スクロールペインのonEnterFrame( )に
redraw( )をつけたりしてるんですが、
特に効果はありませんでした。

こういう時はどういう処理でスクリプトの流れを作ればいいんでしょうか
よろしくおねがいします。
378377:2006/07/30(日) 23:09:27 ID:e/Y30jR+
すいません、自分で書いててわかりにくい文だと思ったので、
何がどこに書かれているかを明確にしておきます。
書き出しはFlash player8です

・スクロールペイン
 onEnterFrame( ){this.redraw();}

・リンケージされたMC
XML.onLoad = function(success:Boolean) {
 if (success) {
 (XMLを解析して処理 略)
 hoge.loadMovie(hoge);
 }
}

結果:スクロールペインからはみ出してもスクロールバーが出ない
379Now_loading...774KB:2006/07/30(日) 23:34:28 ID:ZyJoVYqi
>>378
//ScrollPaneのインスタンス名をspとすると
//左右のスクロールバーを自動的に出す。
sp.hScrollPolicy = "auto";
sp.vScrollPolicy = "auto";
//スクロールペインに読み込む
sp.contentPath = なんちゃら
って感じだったはず。
380Now_loading...774KB:2006/07/30(日) 23:57:48 ID:e/Y30jR+
>>379
ありがとうございます

//左右のスクロールバーを自動的に出す。

をonEnterFrameに入れるとちゃんと動きました。
381Now_loading...774KB:2006/07/31(月) 00:56:40 ID:kgFf1l7K
すいません質問です。

duplicateMovieClip後にその中のムービークリップhogeMCにloadMovie("hoge.jpg")して、
先ほどduplicateしたムービークリップの高さを取得したいのですが、
なぜかloadMovie("hoge.jpg")する前の状態の高さが返ってきます。

自分ではloadMovieで読み込んだhoge.jpgの高さが返ってくる予定だったんですが、
どこが悪いんでしょうか、コードは以下になります。

duplicate = scrContent.duplicateMovieClip("hoge"+n, n);
duplicate.hogeMC.loadMovie("hoge.jpg");
trace(duplicate._height);
382Now_loading...774KB:2006/07/31(月) 01:21:54 ID:crTgYGdK
>>381
何がしたいのかよくわらなないけど、
loadMovieでjpg読み込んでもmcの高さ幅はかわらんよ。
383Now_loading...774KB:2006/07/31(月) 01:38:21 ID:kgFf1l7K
>>382
loadMovieで読み込んだjpg分の高さを取得するにはみんなどのようにして実現してるんでしょうか
384Now_loading...774KB:2006/07/31(月) 02:27:20 ID:73bs7Y1i
>>382
変わるよ。

>>383
サイズを取得できないのは読み込みが完了する前に取得しようとしているから。
onClipEvent(Data)を使うか
読み込みをloadMovieではなくmovieClipLoaderで読み込んでリスナーに取得させるかするといいよ。

この辺が参考になるかも↓
ttp://www.fumiononaka.com/TechNotes/Flash/FN0307007.html
ttp://www.fumiononaka.com/TechNotes/Flash/FN0501003.html
385382:2006/07/31(月) 02:47:55 ID:crTgYGdK
>>383 , 384
ごめんなさい。>>384の言う通りでした。
386Now_loading...774KB:2006/07/31(月) 03:31:21 ID:kgFf1l7K
>>384
ありがとうございました、とても参考になりました

教えていただいたことを調べている内に
onData (MovieClip.onData ハンドラ)
というのを見つけたんですが、
これが簡単そうでいいなと思いました。
1フレーム内に全て記述できるから管理もわかりやすいし。

なのでものはためしと下記のように書いてみたのですが、
onDataの中身が実行されませんでした。


var duplicate:MovieClip = dummy.duplicateMovieClip("hoge", 2);
duplicate.onData = function() {
trace("データを受け取りました")
}
duplicate.loadMovie("hoge.jpg");


このやり方が無理なら素直にonClipEvent(Data)でも使おうと思うんですが…。
387383:2006/07/31(月) 05:18:20 ID:kgFf1l7K
どうもonDataイベントは評判がよろしくないようなので、
movieClipLoaderを使ってみました。

で、読み込みは見事に出来て画像が表示されたので、
リスナーイベントの.onLoadCompleteで
ようやく読み込んだjpgの_heightを取得できると思ったのですが、
なんと_heightプロパティが0になっています。

_nameプロパティを見るとちゃんと指定したインスタンス名が入っているし、
画像はちゃんと表示されてるのにわけがわからなくなってしまいました。
設定したリスナーイベントは.onLoadCompleteのみで
変哲もない以下のコードになります。

oListener.onLoadComplete = function(target_mc:MovieClip) {
trace(target_mc._height);
};

ここまで来て力尽きてしまったのでどなたかアドバイスなど下されば幸いです
388Now_loading...774KB:2006/07/31(月) 08:03:16 ID:XOdTfMqf
>>387
ドキュメントを見ると、onLoadComplete 時点ではプロパティーにまだアクセスできず、
onLoadInit なら操作可能とあります
389Now_loading...774KB:2006/07/31(月) 09:23:53 ID:kgFf1l7K
>>388
慌ててて見逃したようです
おかげさまで出来ました、ありがとうございます!
390Now_loading...774KB:2006/07/31(月) 10:48:34 ID:K6siTmlm
>>376ですが、こんな方法使ってますが無理っぽいみたいです
onClipEvent(enterfreme){
this.swapDepths(10+(this._y*50));
}
391Now_loading...774KB:2006/07/31(月) 11:26:03 ID:zc1juRRQ
自分で深度管理すればいいじゃない
392Now_loading...774KB:2006/07/31(月) 12:28:39 ID:eKeIFj2n
var X=Math.round( this._x ), Y=Math.round( this._y );
this.swapDepths( Y*X+X );//これでやってみ
393Now_loading...774KB:2006/08/01(火) 00:25:27 ID:CcJ4WqSJ
質問させていただきます。

テキストファイルを読み込んで、その中身そのものを値にしたいのですが
そのまま読み込んでしまうと変数になってしまいます。

たとえば、hoge.txtの中身が"abcde"で
this.loadVariables ("hoge.txt");
とすると、"abcde"という変数ができます。
変数ではなく、変数の値として読み込みたいのですが・・・
ちなみにテキストファイルの中身をいじることは不可です。

どなたかご教授おねがいします。
バージョンはFlashMXです。
394Now_loading...774KB:2006/08/01(火) 00:30:41 ID:PDybga4f
>>392
なんかようわからんがとりあえず近い事はできた 有難い

あとダイナミックテキストってどうしてもガタガタになるもんかね?
395Now_loading...774KB:2006/08/01(火) 01:49:23 ID:3znf4GJ9
>>393
XMLクラスで読み込む
396Now_loading...774KB:2006/08/01(火) 01:55:22 ID:heq7XnA8
ムービークリップのアクションのみ有効な変数を書きたいのですが、
どのようにすればよいでしょうか?

onClipEvent (load) {
trace(values);
}
onClipEvent (enterFrame) {
trace(values);
}

同一ムービークリップ内で、イベント間で変数を共有したいと思っています。
イベントの外に変数宣言を書くと文法エラーになるし、
_globalならできるのですが、できればあまり大域変数は使いたくないです。

基本的なところで申し訳ないのですが、宜しくお願いします。
397Now_loading...774KB:2006/08/01(火) 02:29:27 ID:3znf4GJ9
>>396
ムービークリップの中に変数作ればいいんじゃないの?
onClipEvent (load) {
var values = 12;
}
onClipEvent (enterFrame) {
trace(values);
}
これでできない?
398393:2006/08/01(火) 04:01:24 ID:CcJ4WqSJ
>>395
ためしにXMLクラスでやってみたのですが、
タグで囲まれていないのでnodeNameで変数名(テキストの内容)を
取得することはできませんでした。
具体的にどのような手法をとればいいのか、教えてください。
399Now_loading...774KB:2006/08/01(火) 04:17:26 ID:heq7XnA8
>>397
お返事ありがとうございます。

そのパターンもやってみたのですが、そのハンドラ内でしか有効にならなくって、
別のハンドラ内で参照するとundefinedになってしまいます。
400Now_loading...774KB:2006/08/01(火) 06:24:18 ID:Ep1Ci7pA
>>398
↓ここ参照
ttp://tasii.com/pw/index.php?ASenterPractice#c4b9f892
>>399
varとるか、フレーム1にベタに書く
401Now_loading...774KB:2006/08/01(火) 08:46:04 ID:0eytQ1F3
>>394 深度は小数点、0以下の数値を使うと誤作動を起こす事があるらしい
ダイナミックテキストはフォント埋め込みしかないな
402Now_loading...774KB:2006/08/01(火) 08:53:41 ID:O2K15sRr
>>334,336
亀レスだけど
MCのmcHogeに
・・・
_root.gotoAndStop(2);
trace ("hoge");
・・・
ってASを記述した場合、移動先の_root.gotoAndStop(2)にmcHoge自身がいないと
_root.gotoAndStop(2)の先は実行されないぞ。
フレームに記述した場合も同じ事が言える。
403Now_loading...774KB:2006/08/01(火) 09:19:28 ID:ShxsV3b0
>>393
lv = new LoadVars();
lv.load("hoge.txt");
lv.onData = function(val) {
//valがテキストの中身;
};
404Now_loading...774KB:2006/08/01(火) 09:29:06 ID:ShxsV3b0
>>396
これじゃいけないの?
onClipEvent (load) {
 values = 1;
}
onClipEvent (enterFrame) {
 trace(values);
}
405Now_loading...774KB:2006/08/01(火) 09:29:36 ID:0fPuQZaw
loadは最後に書くのが基本中の基本
406403-404:2006/08/01(火) 09:31:23 ID:ShxsV3b0
>>400 で答えでてるじゃん・・orz
407Now_loading...774KB:2006/08/01(火) 10:10:20 ID:heq7XnA8
>>400>>404>>406
ありがとうございます。おかげ様で動きました!!
変数のスコープが、今までやってきた言語と比べて少し独特なような気がしました。

>>405
>loadは最後に書くのが基本中の基本
すみません、インタプリタなので上から実行されることを考えて、
loadを意識して先に記述していたのですが、最後の方がいいのでしょうか?
参考までに、もう少しだけ詳しく教えて頂けたら幸いです。

とりあえず、やっと先に進めます。どうもありがとうございました。
408Now_loading...774KB:2006/08/01(火) 10:22:26 ID:yDIw4HOj
イベントハンドラを定義するより先に読み込んだらイベントの発生が保証されない
どの言語でもコードの順番に処理され、後に書かれた処理が先に書かれた処理に影響するなんて事はない
なお、非同期処理は処理の流れを増やすだけで、コードの順に処理される事に変わりは無い

ちなみにVBSなどのいくつかのスクリプト言語は、変数定義のみ順番が後でも認識される事がある
これは処理の最適化が関わっているらしいが、プログラムの一般的な流れからは異常と言える
※一般的な変数のライフサイクルとスコープに記述と実際の齟齬が生じる
 
409393:2006/08/01(火) 11:16:45 ID:CcJ4WqSJ
>>400>>403
どちらのやり方でもできました。
本当にありがとうございます!
410Now_loading...774KB:2006/08/01(火) 11:40:29 ID:heq7XnA8
>>408
関連事項も含めて、詳しく教えて頂きましてどうもありがとうございました。
確かに仰られるとおりですね。これからはload処理は最後に書くように
心に留めておきます。

どうもありがとうございました。
411Now_loading...774KB:2006/08/01(火) 19:52:19 ID:Z9KWeDhp
AS3での質問なんですが以下のコード


package{
const SCREEN_HEIGHT:int = 300
const SCREEN_WIDTH:int =200
}

をコンパイルしようとすると、ソースパス内で一つ以上の外部から見える定義が発見されました、と出ますが、
パッケージ内で定数を定義できないのでしょうか。
絶対にクラスでくるむ必要があるのでしょうか?
ABA様のコードではこのように定義できているように見えるのですが、仕様が変わったのでしょうか?
412Now_loading...774KB:2006/08/01(火) 19:53:45 ID:YRR9wF2h
ABA様とやらに聞け
413411:2006/08/01(火) 20:02:03 ID:Z9KWeDhp
この定義をはずしてマジックナンバーで直接入力したり、クラスで包むと通る
みたいです。

パッケージのスコープではクラス以外は定義できない、という解釈でよいのでしょうか?
414Now_loading...774KB:2006/08/01(火) 21:22:11 ID:tZ6sA9SD
質問!ずっと眠ってたMX使い出したんだけど、

a=5
_root.field.eval("nurupo"+a)

とかいうふうに、文字列をムービークリップとして参照するときって
ターゲットのパスで指定できないのかしら。仕様?
415Now_loading...774KB:2006/08/01(火) 21:24:51 ID:4Pd3b06z
a=5
_root.field["nurupo"+a]
416Now_loading...774KB:2006/08/01(火) 21:46:25 ID:tZ6sA9SD
>>415
即レスありがとう
[ ]ってピリオドつけちゃダメだったのね
417Now_loading...774KB:2006/08/01(火) 22:30:34 ID:Grc92Egr
ステージプロパティでフレームレート24に設定しています。
音楽をストリーミング設定にし、再生している最中に
setIntervalで実行間隔を21(FPS約48)にして
テキストフィールドの中身をインクリメントしていきます。
するとFPS24以上で画面の再描画がされないのですが仕様ですか?
勿論setIntervalで使用する関数の最後にupdateAfterEvent()は入れています。
418Now_loading...774KB:2006/08/02(水) 01:14:31 ID:Q3rgPwEX
setIntervalは、FPSに影響されるので、期待値はでないんじゃなかな
試しにFPSを上げてみたらどうなる?
419Now_loading...774KB:2006/08/02(水) 01:21:47 ID:VOiPLKhy
一つのサウンドの再生が終わった時に何かアクションを実行させる場合
どういったスクリプトを書けばいいんでしょうか
420Now_loading...774KB:2006/08/02(水) 01:40:12 ID:tccbuaoW
>>418
サウンドの種類をスタートに変えた場合、FPSはほぼ48出ました。
ステージ全体のフレームレートを6にした場合、
サウンドの種類がストリーミングで、尚且つサウンド再生中だとFPS6以上出ず。
421Now_loading...774KB:2006/08/02(水) 01:44:35 ID:tccbuaoW
>>419
ストリーミング再生なら、サウンドの再生が終わるフレームに記述。
スタートやイベントといったタイプなら、Soundクラスで再生制御をして

Soundインスタンス.onSoundComplete = function(){
trace("soundの再生が終了しました") ;
} ;

を使う。
422Now_loading...774KB:2006/08/02(水) 03:12:01 ID:VNqMxbXk
>>420 ちなみに何を作ろうとしてんの? 音ゲー?
423Now_loading...774KB:2006/08/02(水) 03:43:52 ID:VOiPLKhy
>>421
ストリーミングだとアニメーションが意図しない動きになりませんか?
onSoundCompleteというのを使ったらうまくいきました
ありがとうございました
424Now_loading...774KB:2006/08/02(水) 04:25:09 ID:gyIMuFlE
質問です。

ActionScriptで、ムービークリップの座標を操作して
動かしたい場合に、this.move._x = 100;(例ですが)
といった感じにすると思うのですがfor文等を使用
しても座標X:1→座標X:500の場合、実行をかけると
すぐ終了地点に移動してしまいます。(環境に依存?)

この、一度に移動するのを普通にムービークリップ
を手動で移動してトゥイーンを貼ったのと同じにする
場合はどのようにすればいいのでしょうか?

gotoAndPlayとの組み合わせなど色々と考えてみま
したがよくわかりません。ヒントでも構いませんので
ご教授頂けると幸いです。

//ふと思ったことですが、FlashのトゥイーンよりASの
計算で動かす場合ってCPUのパワーに依存することにな
るのでしょうか?(=環境によって動きがまちまちに)
425Now_loading...774KB:2006/08/02(水) 04:41:23 ID:VOiPLKhy
>>424
少しずつ移動させたい場合は
this.move._x = this.move._x + 1;
または
this.move._x += 1;
とやるといいのではないでしょうか
この場合enterFrameなどで実行されるたびに+1ずつ動いていきますよ
426Now_loading...774KB:2006/08/02(水) 06:19:06 ID:9D11hFI/
flash8のXPです。

「こんにちは」とだけ書かれている外部テキスト(text.dat)を、text1という変数に代入したいのですが、どうやればいいのでしょうか??
text1 = "text.dat"
ではできません。。。
text1 = loadVariablesNum("text.dat", 0);
とかおかしいですよね。。。
どなたか教えてください。。
427Now_loading...774KB:2006/08/02(水) 08:19:50 ID:pJR0/4ED
>>424
ループの間は画面更新されないので、少しずつ動かすような用途の時は
onEnterFrameかonClipEvent(enterFrame)を使う。
トゥイーンの方がASよりCPU依存は低く、完全にコマアニメにすると
更に低いと聞いた。

>>426
LoadVars.onDataを使う。
シンタックスはヘルプで確認してくれ。
428Now_loading...774KB:2006/08/02(水) 11:42:14 ID:63CLJPyq
スタンドアローンで、
flash上から、ファイルをダウンロードさせるために
ボタンに、以下の命令を与えました。

on (release) {
getURL("file:///c://aaaa.zip");
}

ダウンロードはできるのですが、ブラウザが必ず立ち上がります。
起動せずに、ファイルをダウンロードさせる方法はないでしょうか?
よろしくおねがいします。
429Now_loading...774KB:2006/08/02(水) 11:57:24 ID:S9bmErfU
flvをFlashに埋め込んで逆再生させようとしてんだけど、
普通に再生してるときと違って遅くなるんだけど、
原因わかる人います?
430Now_loading...774KB:2006/08/02(水) 12:00:38 ID:fi47QD8w
>>428
それって、ダウンロードというよりもローカルファイルのコピーかな?
コピーするexeファイルを作ってfscommandで実行がいいかも。
431Now_loading...774KB:2006/08/02(水) 13:22:12 ID:tccbuaoW
>>422
すみません。ただの検証用です。
仮にストリーミング再生中は、規定以上のFPSで画面の再描画が出来ない。
という仕様であるのなら、setIntervalを使用したテキストエフェクトが
サウンドとの同期をとったアニメーションで使えないなぁと。
432Now_loading...774KB:2006/08/02(水) 14:00:21 ID:iCMA08yz
お願いします

mcが2つあって
1つに外部の画像を読みこみ
そのあとでもう1つのムービーにコピーしたいのですが
そんなことはできますでしょうか?

もう1度読み込むと時間がかかるので
あらかじめ読み込んでおいてコピーのような動作を期待してます。

433432:2006/08/02(水) 14:22:40 ID:iCMA08yz
すみません
BitmapData
を使うことでできそうでした
434Now_loading...774KB:2006/08/02(水) 14:48:29 ID:63CLJPyq
428です。

コピーするexeをつくるというのは、どういうことでしょうか?
具体的に、お教え願えないでしょうか?
435Now_loading...774KB:2006/08/02(水) 16:06:44 ID:fed1wiSx
FileReferenceクラス使えばできるんだけど、httpじゃないとダメみたいだな。
436Now_loading...774KB:2006/08/02(水) 16:34:00 ID:47DRdK14
>>429
mpeg4はタイムラインベースの圧縮が使われてるから正常に再生されないと
考えるのが普通。連番データとは違う。
437Now_loading...774KB:2006/08/02(水) 16:59:44 ID:D6C3/SDC
Screenweaver使ってる人に質問です
swFile.loadStringでファイルを読み込もうとしてるんですが
パスに日本語が含まれていると読み込みに失敗してしまいます
(例:C:\Documents and Settings\Test\デスクトップ)
解決方法あったら教えてください
438クリシス ◆wkWWNcidQI :2006/08/02(水) 17:01:58 ID:MuNZaUzY
これを見たあなた!!ヾ(・ε・。)
 あなたゎこの1ヶ月以内に好きな人と両思い
またゎ付き合っている子ゎすごくLOVE2になります!!
 それにゎこの文章をコピーして他の掲示板に3回別の掲示板に
はればOK!!!たったこれだけであなたわぁ
 最高の生活がおくれます!!
ただしこれをしなかったら
 きっと両思いになることゎないでしょう!!(/□≦、)
やった子ゎ今でゎ学校1のLOVE2カップルです!!
これをやらなかった子ゎすぐに彼氏と別れてしまいました



439Now_loading...774KB:2006/08/02(水) 18:19:05 ID:63CLJPyq
428>435さん、やはり、使用上無理なのでしょうか。
440Now_loading...774KB:2006/08/02(水) 18:53:15 ID:Ro1xPajX
>>424です。

>>425 >>427の方のアドバイスを参考にした所
無事動かすことができました。ただ、おかしな
点が数点あります。
1.通常のフレーム間のアニメーションに比べ
てASの場合X座標に+1した場合の動く幅が大きい
気がする
2.以下のプログラムを書いてみました
onClipEvent(enterFrame){
for(i=0;i<20;i++){
trace(i);
this._x = this._x + (i/10);
this._y = this._y + (i/10);
}
}
これはムービークリップが徐々に加速していく
様子を表現しようとしたのですがfor文が終わる
とそこで処理が止まらず再度for文が実行されて
しまいます。if(i==19) stop();と書いても何も
起こらないですし…。onClipEvent〜の他の物で
対応するのでしょうか?
3.CPUパワーの問題
やはり、AS>通常のアニメーションなのですか;
できる限り配布前に検証を沢山の人にお願いし
たいと思います。情報ありがとうございます。

質問が膨らんでしまいましたが、何かわかりま
したらご教授頂けると幸いです。
441Now_loading...774KB:2006/08/02(水) 18:53:47 ID:Ro1xPajX
改行制限にひっかかってしまい見にくくて
申し訳ないです。
442Now_loading...774KB:2006/08/02(水) 19:16:53 ID:Q3rgPwEX
>440
疑問の前に、ASが間違ってる
onClipEvent(load){i=1;}
onClipEvent(enterFrame){
this._x += i;
this._y += i;
i++;}

3.軽:モーショントゥーン>AS:重

>通常のアニメーション
この言い方は止めた方が良い
何を意味してるかわからん
443Now_loading...774KB:2006/08/02(水) 20:50:43 ID:HeNI6oiH
>>440
trace(i)してるんだから、iの変化を見れば自ずと解決すると思うんだが
というか、forとenterFrameをごっちゃにしてる気がする

onClipEvent(load){
//ここに書いた処理は、最初の一回だけ実行される
//"i"という変数の宣言と同時に0を代入
i=0;
}
onClipEvent(enterFrame){
//ここに書いた処理は、毎フレーム繰り返される
//例えばfps30なら、一秒間に30回実行される
this._x+=i/10;
this._y+=i/10;
i++;
//i/10をx,y両方に足した後、iを増やす
}
//これで試してみてごらん
444429:2006/08/02(水) 22:07:40 ID:S9bmErfU
>>436
情報サンクス。
元データはaviの非圧縮したものをflvとして書き出してる。
mpeg4と同じなんだろうか?
445Now_loading...774KB:2006/08/03(木) 02:41:56 ID:XzkitsMB
>>440です。
forとenterFrameがごっちゃになってる…のがまさに
問題の根元でしたorz enterFrameと聞いてそのまま
書いただけで仕様をまったく理解してなかった私の不
手際でした、申し訳ないです。

ソースは、>>442-443の方のもので動作しました。
とまらずに画面外に行ってしまいましたが…。
後は、fpsとenterflameの関係の把握とこれを止め
れるように何とかしたいと思います。

色々と親切に教えて頂きありがとうございます。
446Now_loading...774KB:2006/08/03(木) 10:26:53 ID:O3hw/7i/
繰り返して実行するっていう意味では同じだものね
447Now_loading...774KB:2006/08/03(木) 10:30:28 ID:U7BfELUP
var mc2 = mc;
mc2.attachBitmap(xxx, 〜〜);

mc2の型を指定しないと正しく動作するのですが


var mc2:MovieClip = mc;
mc2.attachBitmap(xxx, 〜〜);

と、mc2の型を指定すると
「タイプが一致しません。」
というエラーになります。

これってなんでなんでしょう?

448Now_loading...774KB:2006/08/03(木) 10:40:57 ID:7W8esLFx
>447
trace(typeof(mc));
449447:2006/08/03(木) 11:23:47 ID:U7BfELUP
>>448
movieclip
と表示されます

ちなみに
うまくいく場合のmc2もいかない場合のmc2も
もちろんmcも
movieclip
と表示されます。

どういうことなんでしょう?
450Now_loading...774KB:2006/08/03(木) 11:28:00 ID:dSa98Kx2
>>449
mc2.attachBitmap(xxx, 〜〜);
の引数の型とかあってるのか?
451447:2006/08/03(木) 11:34:47 ID:U7BfELUP
>>450
うわ、ごめんなさい
第三引数にtrueって書いてたorz

なんで型を指定しなかったほうはうまくいくんだろ?
本当にすみませんでした
452Now_loading...774KB:2006/08/03(木) 16:33:37 ID:5vMjC58x
30秒くらいのムービーを作ってて、
音声のミュートスイッチを自分なりに考えた。

できたー!と思ってパブリッシュしたら
音は小さくなるけど大きくならねえええ・・・そんなばかな


誰か力をかしてくれ、とりあえずflaは用意した

http://musyoku-waste.hp.infoseek.co.jp/gedo/gedo.html
453Now_loading...774KB:2006/08/03(木) 17:36:20 ID:nFy5KQ7p
>>452
ボタンの on(release) が二重定義されてるからじゃないのかな
後から定義した方だけ有効で、1フレ目のまま。多分
454Now_loading...774KB:2006/08/03(木) 18:30:55 ID:5vMjC58x
>>453
レスありがとう!

//1フレーム目
on (release)
{
this.gotoAndPlay(2);
_root.soundstatus = "off";
}

//2フレーム目
on (release)
{
this.gotoAndPlay(1);
_root.soundstatus = "on";
}

に書き直した、けどだめだった・・・
ううーなぜだ
455Now_loading...774KB:2006/08/03(木) 18:58:30 ID:TioTHeaB
原因が分からないときは変数とかカレントフレームとかtraceしてみなよ。
456Now_loading...774KB:2006/08/03(木) 18:58:45 ID:lVhFFEXs
>>454
on(release){
if(this._currentframe==1){
this.gotoAndPlay(2);
_root.soundstatus="off";
}else{
this.gotoAndPlay(1);
_root.soundstatus="on";
}
}
ではどお?
457Now_loading...774KB:2006/08/03(木) 19:20:52 ID:5vMjC58x
>>456
レスありがとう!

1フレーム目のスクリプトにはっつけてみた!
音は小さくなったけど、もう一回おしても大きくならなかった・・・

>>455
レスありがとう!

>変数とかカレントフレームとかtrace
ぐ・・・ググってくる!
458Now_loading...774KB:2006/08/03(木) 19:57:10 ID:qfVqMC+s
すこしスレ違いかもしれないですが、↓のサイトで閲覧できる
ポケモンガーデンなるものは全部ASで構成されているんですか?

ttp://pokemon.kids.yahoo.co.jp/dp/
459Now_loading...774KB:2006/08/03(木) 20:11:45 ID:nFy5KQ7p
>>457
推測で悪いけど

gotoAndPlay() だとフレームが次行っちゃうので

--1フレ目--
stop();  //必要なら

on (release) {
  _root.soundstatus = "off";
  this.gotoAndStop(2);
}
--2フレ目--
on (release) {
  _root.soundstatus = "on";
  this.gotoAndStop(1);
}
----

あと>>452 リンク先の突っ込み
・flaじゃ無くてswfが入ってる
・画像2のリンクが1と同じ
460Now_loading...774KB:2006/08/03(木) 20:40:03 ID:5vMjC58x
>>459
レスありがとうございます!

試して見ましたが音が大きくなるところでつまづきます、
とりあえず自分は今、トレースについて調べ中です・・・
すごく時間かかりそう


>・flaじゃ無くてswfが入ってる
>・画像2のリンクが1と同じ

うっわぁ・・・ごめんなさいです、
データを差し替えました
なんてことだ
461Now_loading...774KB:2006/08/03(木) 21:00:57 ID:5vMjC58x
とりあえずflaの直リンクを張ります、
落として解凍したらswfだったという方がおられたら、ほんとすまん・・・

http://musyoku-waste.hp.infoseek.co.jp/gedo/gedo.zip
462Now_loading...774KB:2006/08/03(木) 22:06:32 ID:BiGQzpYX
>>461
flaファイル見たけど、とりあえずターゲットパス理解したら解決出来るよ。
スイッチ切り替えボタンのところだけど、MCでボタン用MC内包してるよね?
それがボタン用MCじゃなく、ボタンインスタンスだとパスは合ってるから
想像通りの動きをするはず。
けどMCだから、
this.gotoAndStop(2) ;
じゃなく
this._parent.gotoAndStop(2) ;
という記述じゃないと、MCの中身をフレーム移動してるだけって事になります。
463Now_loading...774KB:2006/08/03(木) 22:51:29 ID:9vUk9EOL
XPでFLEXを使用し、画面を作成しています。

DataGridColumnにCellRenderを使用して組み込んだチェックボックスの
true、falseの状態を判定し、trueの場合のみ処理をしたいのですが、
DataGridColumnに組み込んだチェックボックスの状態を取得するスクリプ
トがわかりません。もし宜しければ、どうしたらよいか、教えてください。

464Now_loading...774KB:2006/08/04(金) 00:14:43 ID:CDDrbLBV
_root.kansuu0()
_root.kansuu1()
_root.kansuu2()

を他のムービークリップから呼び出すとき、for(i=0; i<3; i++){}を使いたいんですが、
_root.["kansuu"+i]()じゃ動かないですよね?

どういう記述をすればよいのでしょうか?
465464:2006/08/04(金) 00:15:35 ID:CDDrbLBV
誤 _root.["kansuu"+i]()
正 _root["kansuu"+i]()

でした
466Now_loading...774KB:2006/08/04(金) 00:17:15 ID:RVNckmV+
_root["kansuu"+i]()
467Now_loading...774KB:2006/08/04(金) 00:22:45 ID:dsrhsQ5P
http://id33.fm-p.jp/17/potepi/


ちょwwwwwここ最高wwwwwww


試しに入ってみろwwwwww
468Now_loading...774KB:2006/08/04(金) 00:26:44 ID:CDDrbLBV
>>466
すみません、動きました・・・
469Now_loading...774KB:2006/08/04(金) 01:05:15 ID:fEwQHj6s
すいませんが…パスがわからないんです。
1つ上の階層のMCの中にあるラベルに行くにはパスはどうしたらいいですか?

_root/main/mc1 の中のフレームにおいたボタンを押したら
_root/main/mc2 の中のラベル("mc2_7")に行きたい

_parent.mc2.gotoAndPlay("mc2_7"); 
と思ってたら違うみたいなんで絶対パスにしたけどダメでした
1つ上のMCの「ラベル」に移動なのがダメなのかと思ってフレーム数にしたけど
できませんでした…
470Now_loading...774KB:2006/08/04(金) 01:40:37 ID:qzc3qqEH
>>469
階層が違うとか、ASの書き方でデフォルト参照が変わってるとか、mc2が同じフレームにないとか。
とりあえずtrace(_parent.mc2)してみたら?
471Now_loading...774KB:2006/08/04(金) 01:54:51 ID:fEwQHj6s
>>470さん
そういえば同じフレームに置いてませんでした
mc1は _root/mainのラベルa1の位置に、
mc2は _root/mainのラベルa2の位置にあります
そしたらどうしたらいいんでしょうか…
472Now_loading...774KB:2006/08/04(金) 02:06:58 ID:qzc3qqEH
>>471
わかりやすそうな解決策をあげてみる。
・mainのラベルa2に移動してからmc2に命令するfunctionを作っておいてそれを実行する
・キーフレームで区切らずにmainにmc1とmc2が必ず一緒に存在するように配置し
見せたくないフレームでは_visible=falseなどで対応する。
他にもありそうだけど、こんなんでどう?
473Now_loading...774KB:2006/08/04(金) 02:20:47 ID:fEwQHj6s
>>472さん
後者だとmainのラベルa1〜a50まであって今からやると作業量膨大なので前者かなと思うのですが
mainのラベルa2に移動してからmc2に命令するfunctionってやつがすでにわかりません・゚・(ノД`;)・゚・

474Now_loading...774KB:2006/08/04(金) 02:59:05 ID:qzc3qqEH
あれ、ごめん。もしかしてフレームじゃなくてボタンアクションか?
だったらそもそも階層が_parentじゃないんだが。
どっちにしても同じキーフレーム内にないものには命令できないんで、
絶対パスにしても動かなかったのはそのせいだと思う。
functionじゃなくても、ボタンに書いたアクションを
まずmc2のあるフレームラベルに移動、
次にmc2のフレームを移動、という順にすれば動くとオモ。
functionは知っといた方がいいので、もし使ったことないなら、サイトや本で調べてみることをすすめる
475Now_loading...774KB:2006/08/04(金) 03:11:19 ID:fEwQHj6s
>>優しい474さん
書き忘れてすいません、直接ボタンに書いてました。
on (release) {
_parent.mc2.gotoAndPlay("a2");}で ラベルa2 に飛んで
続けてmc2の("mc2_7")に飛ぶように指定するにはどう書けばいいですか?
こんな真夜中に初心者に付き合ってもらってありがとうございます



476Now_loading...774KB:2006/08/04(金) 03:18:55 ID:fEwQHj6s
間違えました…
on (release) {_parent.gotoAndPlay("a2");} でラベルa2に飛んで
その次でした(´Д`;)

477Now_loading...774KB:2006/08/04(金) 04:16:09 ID:+sVamZMJ
>>476
mainのa2のフレームにthis.mc2.gotoAndPlay("mc2_7")を書く。
この方法じゃ困る場合は、やっぱりfunctionにまとめるのが楽だと思う。
478461:2006/08/04(金) 06:45:48 ID:LErrCaAb
>>462
レスありがとうございます!

ご指摘どおりターゲットパスが間違っておりました、
おかげでMC内のタイムラインの理解が深まりました、
大変有り難う御座います!

・・・勉強して462さんのようにアドバイスできるよう精進します
479Now_loading...774KB:2006/08/04(金) 13:18:24 ID:dq8QixBP
Flash9AS3Previewでのクラスの呼び出し方で質問です。
document classかシンボルのクラスとして呼び出せるのは分かったのですが、
AS2のようにフレームスクリプトからnewを使ったりstaticで直接クラスを呼び出そうと
するとエラーがでてしまいます。
newを使ってクラスを宣言するにはどうすれば良いのでしょうか?

480Now_loading...774KB:2006/08/04(金) 14:03:31 ID:qCf03KKE
>>479
簡単にはクラスをpackage{}でくくって、publicをつける。
あとは適当に実験してみて。エラー出力はstrict Modeで。
481Now_loading...774KB:2006/08/04(金) 14:36:42 ID:xTluEpBN
_root.sound1 = new Sound();
_root.sound1.attachSound("sound1.wav");
_root.sound2 = new Sound();
_root.sound2.attachSound("sound2.wav");
_root.sound2.setVolume(50);

こんな風にするとsound2だけ半分の音量で鳴るはずだと思うんですが、再生ボタンを作って実際にそれぞれ鳴らしてみると、
信じられない事にsound1まで半分の音量で鳴りました。
なぜこんなことが起こるのか全く分かりません。
482Now_loading...774KB:2006/08/04(金) 14:50:01 ID:NfO113UO
>>481
現実を信じてください
483Now_loading...774KB:2006/08/04(金) 14:50:47 ID:6MnI0rya
>>481
ヘルプのSoundクラスってとこじっくりを読むでよ。
「新しい Sound オブジェクトの作成時に target を指定しない場合は、
このクラスのメソッド を使用してムービー全体のサウンドを制御できます。
シンタックス
new Sound([target:Object]) : Sound」

ボリュームはターゲットごとに管理されるんで、それぞれボリューム調整したいなら
異なるターゲットを指定する。
484Now_loading...774KB:2006/08/04(金) 14:54:15 ID:dq8QixBP
>>480
以下のスクリプトで1046と1065エラーがでてしまいます。
どうすればちゃんと動くでしょうか?

hello.fla の1フレーム目
var Hello:hello = new hello();

hello.as
package{
public class hello{
public function hello(){
trace("hello");
}}}
485Now_loading...774KB:2006/08/04(金) 15:02:28 ID:qCf03KKE
>>484
エラー番号をいわれてもわからん。クラスパスとかかもね。
strictModeで実行すれば詳細出ると思うけど。
そのソースのままでこちらでは普通に動く。
486Now_loading...774KB:2006/08/04(金) 15:25:23 ID:dq8QixBP
>>485
これで動くということはうちの環境の問題のようですね。お手数おかけして
申し訳ございませんでした。
487Now_loading...774KB:2006/08/04(金) 16:58:08 ID:4x2Nj4NT
>>458 一通りみてみたけど、全部ASではなさそう
なんか他の人の動作が反映されてるしね
488Now_loading...774KB:2006/08/04(金) 19:53:33 ID:p5zmfhm7
>>487
全部ASっていうか、、、Flash + FMS の構成やね。Bascule制作
ttp://www.bascule.co.jp/
489Now_loading...774KB:2006/08/04(金) 20:07:27 ID:al1jrldZ
htmlでjavascriptを扱う際に、外部テキストファイル(.js)が別サーバにあるとセキュリティの関係で動かないと検索で知りました。

今、swf内で loadVariablesを使って、
外部テキストファイルの内容を変数として読み込んでいます。
テキストファイルが同じサーバにあるときはURLを絶対値で書いても動くのですが、
テキストファイルを別サーバに置くと全く読み込めません。
(RSSのようなことがしたいんです。。)

フラッシュから別サーバーにあるテキストファイルは読み込めないのでしょうか?
読み込めないとしたら、やっぱりセキュリティのせいですか?
490Now_loading...774KB:2006/08/04(金) 22:22:08 ID:VOFkpICB
はじめまして。お願いします。

html上で、formタグを使い、データをサーバに送れるとおもいますが、
同じように、Flash上のボタンを押すと、サーバにデータを送信させる
ことは可能でしょうか?

たとえば、下のように、formタグを使い、
データを送ってみたいのですが、アクションスクリプト上から
指定するのでしょうか?

<form name="test" action="http://aaa.com/aaaa" target="main"method="post">
〜中略〜
<input name="data01" value="30" type="hidden">
<input type="image" src="image/aaa.gif" WIDTH=100 HEIGHT=50 BORDER=0>

ご教授お願いいたします。
491Now_loading...774KB:2006/08/04(金) 23:06:06 ID:0CgrHHMP
>>490
その例だとFlash必要ないじゃんと思うんだけど、
Flashからデータを送りたいならLoadVars()
hidden項目の中身をFlashに送りたいならjavascript
全部Flashにするか、Flashを使わないかのどちらかにしたほうが作りやすいと思う。
492Now_loading...774KB:2006/08/04(金) 23:26:06 ID:VOFkpICB
491さんありがとうございます。
Flashからphpに向けてデータを送りたいのです。

いま、以下のようにテストしています。
AS//

on(release) {
System.useCodepage = true;
this.getURL("http://http://aaa.com/aaaa?data01=" + 30,"POST");
}

ページ自体は、移動して、移動した結果のページにデータが
反映されるような処理です。

上記の記載では、ページ自体は移動しているんですが、
データは送られておらず、ページに反映されておりません。
なにか、見逃しているのでしょうか?

よろしくおねがい致します。
493Now_loading...774KB:2006/08/04(金) 23:27:14 ID:VOFkpICB
ソース修正

on(release) {
System.useCodepage = true;
this.getURL("http://http://aaa.com/aaaa.php?data01=" + 30,"POST");
}
494Now_loading...774KB:2006/08/05(土) 00:12:26 ID:tieC8Yua
>>492
>なにか、見逃しているのでしょうか?
>>491 の Flashからデータを送りたいならLoadVars()ってトコを見落としてる
LoadVarsクラスのLoadVars.send()とかLoadVars.sendAndLoad()
を使ってみては?って意味ね。
495Now_loading...774KB:2006/08/05(土) 00:23:36 ID:O5nM23I+
LoadVarsも試しているんですが、
以下。

on (release) {
value = 30;
System.useCodepage = true;
var data:LoadVars = new LoadVars();
data.value = data01.text;
data.send("http://http://aaa.com/aaaa.php?data01", "_top", "POST");
trace(value)
}

FORMデータの上の、 name値とvalue値をどういうふうにphpに受け渡せば
いいのか、ASの記載方法がわかりません。

データ反映されていないということは、うまく値がはいっていないようです。。
496Now_loading...774KB:2006/08/05(土) 00:53:28 ID:tieC8Yua
>>495
うまくいかないときは簡単な構成にしてどこが原因かを突き止める。
data.name = "namae"
data.value = "val"
data.send("http://aaa.com/aaaa.php", "_top", "POST"); //←POSTだからphpの後ろ(?data01)は要らないと思う
そもそもphpにデータは送られてるの?php側で受け取った値を出力したりして確認する。
っていうかFlashを使う意味は何?>>490ならFlashを通さずそのままphpに送った方がいいんじゃない?

FlashとJavaScriptとでやりとりする
ttp://hakuhin.hp.infoseek.co.jp/main/js/javascript.html
497Now_loading...774KB:2006/08/05(土) 01:14:58 ID:O5nM23I+
php側で受け取った値を出力したりして確認する。>ここは、php上でどのように
記載すれば、確認できるんでしょうか?

っていうかFlashを使う意味は何?>>表現部分は、Flashで。データ処理部分は、
phpで制御する仕様なんです。データを送信する部分のみ、flash外にだしても
いいんですが、できることなら、Flash上からデータを送りたいと思っています。

on (release) {
System.useCodepage = true;
var data:LoadVars = new LoadVars();
data.name = "data01"
data.value = "30"
data.send("http://aaa.com/aaaa.php?data01", "_top", "POST");
}

いま上記のように修正してみました。
やはり、送られていないようです。
498Now_loading...774KB:2006/08/05(土) 01:30:03 ID:O5nM23I+
上のスクリプトで、間違いがありました。

正)
data.send("http://aaa.com/aaaa.php", "_top", "POST");

499Now_loading...774KB:2006/08/05(土) 01:54:36 ID:tieC8Yua
>>497
>php上でどのように記載すれば、確認できるんでしょうか?
printとかじゃなかった?

LoadVars.send()で送られるのはLoadVarsの中の値。
>>497の書き方だとLoadVarsの中にnameとvalueと言う項目が出来て
それぞれにdata01と30という値が格納されることになる。
nameとvalueは自分で勝手に決める名前であってhtmlのinputタグのnameとvalueとは違う。

htmlで言うところの
<form name=・・・>
<input name="data01" value="30" type="hidden">
をFlashでやりたいなら
data.data01 = "30"

自分で作ったphpじゃ無いみたいだけど、
Flashを使わずにhtmlのフォーム使って送った場合はうまくいくの?
それでうまくいかないならFlash云々以前の問題。
500Now_loading...774KB:2006/08/05(土) 02:08:57 ID:O5nM23I+
Flashを使わずにhtmlのフォーム使って送った場合はうまくいくの? >
問題なく、うまく動作してます。

data.data01 = "30" ←これは、inputタグで送る方法と同じ意味合いに
なるのでしょうか? 


on (release) {
System.useCodepage = true;
var data:LoadVars = new LoadVars();
data.name = "data01"
data.data01 = "30"
data.value = "30"
data.send("http://aaa.com/aaaa.php", "_top", "POST");
}

↑上のようなかんじなのでしょうか? 教えて頂いた記載の仕方が
よく理解できていません。 具体的にお教えいただけないでしょうか?
501Now_loading...774KB:2006/08/05(土) 02:39:06 ID:olNyfRxl
>>500
だいたい同じ意味合いだが、そう羅列されるとイマイチ理解してるか
確信がもてんな。
<input name="data01" value="30" type="hidden"> が
data.data01 = "30"と同じ意味になる時
<input name="myname" value="taro" type="hidden"> は
どう書けばいいでしょう?
これがわかってれば大丈夫だと思うが。

それから、セキュリティ制限でphpにアクセスできてないとか
そういう話はないよな?
502489:2006/08/05(土) 08:53:10 ID:b5D79L9l
夜中もいろいろ調べたんだけどわかりません〜><
どなたか知ってたら教えてくださいませんか?
503Now_loading...774KB:2006/08/05(土) 09:02:19 ID:j1wyb7D3
ポリシーファイル
504458:2006/08/05(土) 09:49:29 ID:hZrNge+I
>>487-488
ありがとうございます
大体の仕組みは理解できそうです
505Now_loading...774KB:2006/08/05(土) 17:05:32 ID:UhV7ScS5
リロードしたときに値を完全にクリアするスクリプトってありますでしょうか?
ページを再読み込みするとムービーがはじまりません。
MovieClipLoader か setInterval が何か関係してそうなんですけど。。
何がいけないのかいまいち検討がつきません。
どなたか予想がつく方いませんでしょうか?
506Now_loading...774KB:2006/08/05(土) 18:24:39 ID:hTvkSxwg
エスパー待ち?
507Now_loading...774KB:2006/08/05(土) 18:58:04 ID:KYFAqDyN
はい〜
508エスパー:2006/08/05(土) 20:34:00 ID:V40qE3bJ
>>505 さすがの私でもワカラン とりあえずブラウザ名を聞こうか
509Now_loading...774KB:2006/08/05(土) 22:58:10 ID:BPZrNAKX
ロードした時点でその「値」をクリアするようにASを書けばいいんだと思うが
いつどこで設定される何の値かわからんとどうしようもない。
510Now_loading...774KB:2006/08/06(日) 00:12:32 ID:DMymWU/C
>>エスパーさん  IE6でも、FIREFOXでも同じでした
>>509さん  スクリプトはこんな感じです。
this.onLoad = function() {
var pic:Array = new Array();
var vx:Array = new Array();
var vy:Array = new Array();
mframe._visible = false;
n = 32;
for (i=1; i<=n; i++) {
_root.attachMovie("pic"+i, "pic"+i, n+1-i);
pic[i] = eval("pic"+i);
−中略−
function waku() {
mframe._visible = true;
bx = screen._height+30;
by =screen._width+30;
if ((bane != undefined) && (mframe._width == screen._width+30) && (mframe._height == screen._height+30)) {
clearInterval(bane);}}
function rels() {
this._alpha = 50;
if (bane != undefined) {
clearInterval(bane);}
mymcl = new MovieClipLoader();
var mclListener = new Object();
mclListener.onLoadInit = function() {
bane = setInterval(waku, 50);};
mymcl.addListener(mclListener);
mymcl.loadClip("pic"+this.num+".jpg", "_root.screen");}
大雑把な説明ですが、始まったらサムネイルが次々とロードされて、それをクリックすると大きな写真がロードされます。大きな写真にはフレームがついていて、写真の大きさによってダイナミックにサイズが変わります。
問題は、二回目のローディング時にサムネイルもロードされません。更新のボタンをすばやくクリックするとローディングされる時があります。
511510:2006/08/06(日) 00:25:16 ID:DMymWU/C
ちなみにキャッシュをクリアするともんだいなくロードされます。
512Now_loading...774KB:2006/08/06(日) 01:37:06 ID:tiCJHeQG
>>510
よく読んでないけど、つか、もうちょっと自分で説明するとか問題点絞り込むとかした方が回答つきやすいと思うけど
this.onLoadをそんなふうに使ってるのがそもそも間違いだと思う。
使いどころはヘルプ参照。
513Now_loading...774KB:2006/08/06(日) 16:33:34 ID:JGem4HXi
>>510
キャッシュが残ってるとonLoadが定義される前に
読み込み完了しちゃうとかそんな感じ?
514Now_loading...774KB:2006/08/06(日) 16:36:44 ID:t8R15bvD
コードは全く読んでいない上でありがちなパターンを

初回は正しく動作するのに、リロード等による2回目以降は正しく動作しないというのは、処理フローが非同期処理の特性を意識していない場合に多い

外部のファイルを読み込む場合、初回は対象のサーバからロードされるが、2回目以降はブラウザのキャッシュにあればそれが読み込まれる
※ブラウザの設定や、URLを細工するなど、これに当てはまらない場合は別原因

MovieClipLoaderなどは非同期処理とは言っても、限られたりソースを効率良く使用するために指定された処理はできるだけ速いタイミングで処理しようとする
※一定コスト以内なら非同期のキューに入らない

そして、処理フローを意識していないコードは、イベント定義とそのイベントが発生する原因を全く理解しておらず、誤ったサンプルを元に書いていたりする
ありがちなのは、処理状況を通知するイベントより先に処理を書いてしまうパターン
その結果、読み込みよりも後に取得イベントを定義した場合に、読み込みに時間の掛かる初回は上手く行くものの、キャッシュから読み込まれる2回目以降は上手く動作しなくなってしまう

こういう話は本職の開発者としては常識なのだが、デザイナーや素人上がりの多いFlashAS開発では常識に至っていない
最悪なのはASの記事や書籍を書いている者にもそういった常識の無い場合があり、Webや書籍のサンプル自体が参考にならない場合がある
実に嘆かわしいが、元々Flashはデザインツール出身であり、開発的要素が入ってきたのが最近であるため、仕方ないのかもしれない。
ただ、AS3になれば素人お断りな世界になってくるため、こういった問題は減るのかもしれない。
515Now_loading...774KB:2006/08/06(日) 16:37:33 ID:AX8geNmN
osx MX2004pro です。
複数の外部ファイルを読み込んでそれぞれのダウンロード状況を監視するスクリプトです。
これで正常に動作するのですが、いまいちスマートじゃない気がします。
どこか改善点はないでしょうか?

loader = new MovieClipLoader();
var myListener:Object = new Object();

checkName = new Array();
lb = new Array();
tlb = new Array();
par = new Array();
n = [0, 0, 0, 0, 0,0];

this.onEnterFrame = function() {
if (n[0] && n[1] && n[2] && n[3] && n[4]) && n[5]{
flag = "ok";}else{flag ="ng"}
};
myListener.onLoadStart = function(target_mc:MovieClip) {
//target_mc._visible = false
var bytes:String = target_mc._name;
checkName.push(bytes);
lb.push(bytes);
tlb.push(bytes);
par.push(bytes);
var loadProgress:Object = loader.getProgress(target_mc);
};
516Now_loading...774KB:2006/08/06(日) 16:39:11 ID:AX8geNmN
続き
myListener.onLoadProgress = function(target_mc:MovieClip, loadedBytes:Number, totalBytes:Number) {
for (var bytes in checkName) {
if (_root.vvv[checkName[bytes]] == target_mc) {
lb[bytes] = loadedBytes;
tlb[bytes] = totalBytes;
par[bytes] =Math.round(lb[bytes]/tlb[bytes]*100);
_root.lod["cl"+bytes]._xscale = _root.lod["cl"+bytes]._yscale=par[bytes];
if (par[bytes] == 100) {
n[bytes] = 1;
}
}
}
};

loader.addListener(myListener);

bga = ["sbg01.swf", "sbg02.swf", "sbg03.swf", "sbg04.swf", "sbg05.swf","sbg06.swf"];
bgNum = 5;
function foo() {
for (var i = 0; i<=bgNum; i++) {
vvv.createEmptyMovieClip("bgPos"+i, i);
//this.createTextField("bdisp"+i, 100+i, 50, 20*i, 200, 50);
_root.vvv["bgPos"+i]._x = _root.vvv["bgPos"+i]._y=0;
loader.loadClip(bga[i], _root.vvv["bgPos"+i]);
}
}
517Now_loading...774KB:2006/08/07(月) 00:29:06 ID:a+1dtdyo
CGIを介して、LineTo・MoveToを使って描いた画像を他の人と共有する方法を考えています
すべての描画内容(点Aから点Bまで色Cで描いた、次に点Dから点Eまで色F描いた、次に・・・)をデータ化する方法を思いつきましたが、どうにも非効率的に思います
Flashのある一場面の画像を、なんらかの拡張子に出力する方法はありませんか?
518Now_loading...774KB:2006/08/07(月) 00:35:52 ID:6uQwRBBx
>>517
思いつきを語るのは自分のBlogで。
519Now_loading...774KB:2006/08/07(月) 03:29:23 ID:oSAPX6bD
>>517
思いついた方法って何だよ
勝手に非効率とか言われても誰も理解できない
もしかしたら当たり前に使われてる手法かもしれないし、ありえないくらい非効率かもしれない
エスパーに聞きたいのか独り言言いたいのかハッキリしろ

あと拡張子に出力って何だよ
拡張子ってのは特定のOSでファイル名に意味付けするための命名規約であって出力方法じゃねーよ

ある一場面の画像って何だよ
Flashの用語を使え
あと画像ってのは結果であって取得元はムービークリップとかじゃねーのか?
状況を正しく説明しろ

そもそも描いた画像の共有って何だよ
お絵描き掲示板みたいな「描画結果を画像ファイルとして共有」なのか、ホワイトボードみたいに「描画している内容をリアルタイムに共有」なのかどっちだよ
どっちも共有だが方向性は全然違うぞ
目的を正しく説明しろ

エスパーじゃないから文章で読み込める範囲で突っ込んでみた
つか、投稿する前に一度くらいは読み直せよ
520エスパー:2006/08/07(月) 08:52:49 ID:VRieYHh6
>>517はこの前CSのTVに出ていた小太りのグラサンw 
521Now_loading...774KB:2006/08/07(月) 09:43:13 ID:AmtfUBzg
どもです。フラッシュライトの質問です。
ゲームを作ったんですけど、ハイスコアとか自作HPとか自作サイトに
送るのってどうやればいいんですかねえ?知っている神な人いませんか?
522Now_loading...774KB:2006/08/07(月) 11:48:31 ID:sQlOnZpf
>>521
マルチすんな
523Now_loading...774KB:2006/08/07(月) 13:23:45 ID:oSAPX6bD
>>521
好きなのを選んでぐぐれ
HTTPのGETだったらURLさえ送れればいいわけだし

getURL
LoadVars
LoadVariables
XML
XMLSocket
WebService
・・・

問題は送った値をどう受けるかだ
その部分は別の問題
524521:2006/08/07(月) 14:03:42 ID:AmtfUBzg
ありがとうございます!!ググってみます。
525Now_loading...774KB:2006/08/07(月) 19:00:28 ID:HfFN/JRy
バージョン8 AS2.0で質問です
リスナーイベント設定してonMouseWheelでマウスホイールのくるくるを使えるようにしてるんですが、
一度FLASHをクリックしないと検知されないのをなんとかしたいです

http://www.adobe.com/jp/support/flash/ts/documents/tn_15586.htm
このページを見るとJavaScriptを使用してFlashにフォーカスを与える方法が紹介されてるんですが、
どうも上手くいきません。

XP SP2のIEではflashの表示をブラウザ側でブロックされてしまうため、
flashの埋め込み部分だけ外部jsファイルにしてたのでそれが問題なのかとも思いましたが
直接htmlに書いてもフォーカスされませんでした。

こういう時はみなさんどうやって対処されてるんでしょうか、よろしくお願いします
526Now_loading...774KB:2006/08/07(月) 19:15:23 ID:yyzXIVld
無理なのでスタートボタンやプレイボタンなどのクリックさせるギミックを用意する
527Now_loading...774KB:2006/08/07(月) 19:23:58 ID:Pht9Jdfr
テキストエリアに入力された文字を見て、機種依存文字ならエラー出したいのですが

txtarea.onChanged = function() {
if(txtarea.text == "A" ){
label.text = "機種依存文字は入力できません。"
}
}

まず上のスクリプトなんですが、文字を入力してもチェンジイベントが発生しません。
ターゲットパスは合ってます。
次に、

on(press){
   if(txtarea.text == "\u8740 - \u879F" ){
   label.text = "機種依存文字は入力できません。"
   }
}

ここでIFの条件文の記述方がわかりません。
ひとつひとつ書いていくしかないのでしょうか?
スクリプトの2つに分けたのに深い意味はないです

機種依存文字コード
13区の特殊文字 0x8740〜0x879F
NEC選定IBM拡張文字 0xED40〜0xEEFC
IBM拡張文字 0xFA40〜0xFC4B
外字 0xF040〜0xF9FC
528Now_loading...774KB:2006/08/07(月) 21:00:10 ID:kYeCCQr6
>>527
上のイベントハンドラメソッドってセミコロンで終了させてる?
txtarea.onChanged = function(){
} ;
529Now_loading...774KB:2006/08/07(月) 22:08:58 ID:oSAPX6bD
>>525
onloadは非同期読込の完了が保証されないからだめ
onreadystatechangeでreadyStateを監視して'complete'になったらFlashにfocusを当てる
5301:2006/08/07(月) 23:20:23 ID:68TZwFo+
クライアントの依頼でオールFlashのサイトを構築して、
特に大きな問題も無かったのですが、
最近そのクライアントの取引会社のPCからサイトが
見られないと連絡があったようです。

その会社はブラウザにプロクシを通す設定をしてあり、
外して直で見れば問題ないとのこと。

サイトが見られないとは、
「最初のローディング画面で先に進まなくなる」
という現象で、その部分は
XML.load(CGIへの相対パス);
というASを記述しています。
そのCGIは同じドメインに存在し、
---------------------------------
Content-Type application/xml

<data num='1' />
---------------------------------
のようなデータを返します。

5312:2006/08/07(月) 23:20:31 ID:68TZwFo+
最初に疑ったのは、プロクシを通すことで80以外のポートが使えない、
それでXMLファイルのロードがうまくいかないのでは、
ということですが、ドキュメントを見ると
http://livedocs.macromedia.com/flash/8_jp/main/00002871.html#894395
XML.loadメソッドはHTTPを使用して呼び出すとあります。
念のため自分もファイアーウォールで80番以外のポートをブロックして、
キャッシュを消してからそのサイトを見てみましたが、
問題なく見られました。

今自分が考えてる可能性は、
その会社のプロクシサーバの設定で
XMLの呼び出しを禁止しているとか、
セキュリティソフト等でActiveXでのXMLの呼び出しを禁止している
(そんなのあるのかどうかもわかりませんが)
とかです。
ホスティングしているサーバ(IIS)にも問題があるかもしれません。
まず、そのCGIへブラウザで直接アクセスしてもらって
きちんとXMLデータが返ってくるかをテストしてもらおうと思っています。

確認できるまでまだ時間があるので、そのほかに調べておくこと、
確認しておくことがあればご教示いただけますでしょうか。

対象の会社のFlashPlayerのバージョンは9です。
自分のテスト環境のFlashPlayerは8と9です。
FlashのバージョンはPro8です。

宜しくお願いします。
532Now_loading...774KB:2006/08/07(月) 23:33:14 ID:oSAPX6bD
Flashをどうこうする前に何か起きてるか切り分けろ
まずはパケットキャプチャでリクエストとレスポンスがどこまで進んでいるのかを確認
話はそれからだ
533Now_loading...774KB:2006/08/07(月) 23:44:07 ID:OlIVqtWA
ttp://www.barvillage.net/concept/index.html
MX2004でオンラインゲーム(上記の様な)を作りたいのですが
どの様にすれば作れますか?(無理ならバトロワ見たいなものでもいいです)

またファイルの操作も教えてくださいm(_ _)m
534Now_loading...774KB:2006/08/07(月) 23:50:06 ID:ehRO0YJU
>>533
Flashを基礎から勉強する
Flashのみでファイル操作は無理。cgi等を使う。
535530:2006/08/07(月) 23:54:54 ID:68TZwFo+
>>532
レスありがとうございます。
その会社の担当者と話せるまで何日かかるかまだわかっていないので、
いまのうちにありえる可能性を考えておきたかったのです。
自分の環境で試せることもできるだけしておきたいというのもあります。
全く自分に面識の無い会社なので、
パケットキャプチャツールをインストールしてもらうのは
失礼かな、とも思えます。
536Now_loading...774KB:2006/08/08(火) 00:04:43 ID:bVhx58O7
>>535
どうでもいいけどこんなとこに書いたら
クライアントに見られるぞ。
守秘義務は大丈夫か?。
537533:2006/08/08(火) 00:06:44 ID:ndiAs8AZ
>>534
基礎?どこか勉強できるサイトはないの?
538Now_loading...774KB:2006/08/08(火) 00:08:42 ID:NLrAEgXg
>>537
本買え
539Now_loading...774KB:2006/08/08(火) 00:18:39 ID:z6T4Ab2c
>>520
ありがとうございます。チェンジイベントは動きました。
しかし機種依存文字判定の

on(press){

   if(txtarea.text == "\u8740 - \u879F" ){
   label.text = "機種依存文字は入力できません。"

   }
}

が動きません。
条件文にはif(txtarea.text == "\u8740 - \u879F" )や
if(txtarea.text == "\u8740" )などを色々試したのですが動かず、
if(txtarea.text == "" )という形でひとつひとつかかないと動かないのですが
ORなどを使わず、一括で判定できるような条件文は作れないのでしょうか?
540Now_loading...774KB:2006/08/08(火) 00:19:49 ID:NLrAEgXg
>>539
なぜORを使わないんだ?
541Now_loading...774KB:2006/08/08(火) 00:25:46 ID:z6T4Ab2c
if(txtarea.text == "" or txtarea.text == "" ・・・)

こんな感じで書いても一括で判定してると言えると思ったからです
542Now_loading...774KB:2006/08/08(火) 00:34:00 ID:bVhx58O7
>>541
これでどうよ?真が返ったらストリング中に
機種依存文字ありって事で

function CheckFunc (str) {
var len = str.length;
for (var i = 0; i<len; i++) {
var c = str.charCodeAt(i);
if (c>34624 && c<34719) {
return true;
}
}
return false;
}

543Now_loading...774KB:2006/08/08(火) 00:53:06 ID:z6T4Ab2c
>>542

txt_id と txt_pass というテキストエリアと、ボタンをひとつ設置して

on(press){

var str:String

str = _parent.txt_id.text

function CheckFunc (str) {

var len = str.length;
for (var i = 0; i<len; i++) {

var c = str.charCodeAt(i);
if (c>34624 and c<34719) {

_parent.txt_pass.text = "batu"
}
}
_parent.txt_pass.text = "maru"
}
CheckFunc(str);
}

を実行したのですが、常にmaruが表示されますorz
もし何か見落としてるところがあれば教えてもらえないでしょうか?
544539:2006/08/08(火) 01:02:56 ID:z6T4Ab2c
>>542

連投すみません。
今、上のスプリプトの変数cの動きをtraceで見てみたんですが
ちゃんとコードになって判定がされていました。

あとは機種依存文字の文字コードの上限と下限が分かれば、
それに対応して条件文を書けば何とかなると思います。

ありがとうございました。
545Now_loading...774KB:2006/08/08(火) 01:09:30 ID:bVhx58O7
>>543
ゲラゲラw
なんでわざわざイベントの中で関数宣言してるんだ。
しかも判定が終わった後に
機種依存文字があろうが無かろうが
わざわざ丸入れるってどういう事?

 if(CheckFunc(txtarea.text)){
   label.text = "ねwwwwよwwwwwwwwwwwww"

 }

これでいいじゃん?
546Now_loading...774KB:2006/08/08(火) 01:23:24 ID:z6T4Ab2c
>>545
まだAS触り初めて2週間なんだよwww許せwwww
関数とか.asとかの使い方わかんねwww
てかユニコードなのな、アスキーだと思ってたわ
547Now_loading...774KB:2006/08/08(火) 09:39:51 ID:963sO/vQ
>>535
Webアプリに限らず障害が出たときにI/Oを見るのはコンピュータ開発の常識
パケットスキャンとは言わなくてもプロキシ(ロカールでもリモートでも)を挟むとか、何らかのスニフを行ってチェックするのは問題切り分けの必須事項だろ
失礼とかそういう問題ではなく、当たり前の作業として依頼すべき

その先にFlashがどうのとかIISがどうのとかって話がある
548Now_loading...774KB:2006/08/08(火) 09:45:43 ID:yzSEK7LF
アトリビュートだけで中身無しで送ってるのかな。
ちゃんとした書式で
<data num='1'></data>
と終了タグきちんとしてみたらどうかな。
549Now_loading...774KB:2006/08/08(火) 17:44:57 ID:wx/M/1Wg
現在FLASHでビジュアルサウンドノベルのような物が作れないかと試行錯誤しております

根幹はできたのですが、セーブとロード機能がどうにもうまくいきません
おそらく、セーブしたときの変数が変化しないのでセーブがうまくいってないと思われます
ASは
・セーブシステム(ボタンインスタンス)
on (release) {//このボタンが押された時
fvsnovel = SharedObject.getLocal("myCookie");
mainpage = page + 3;//大元のフレームを変数に記録
fvsnovel.data.page1 = page;//現在の文章フレーム数を記録
fvsnovel.data.mainpage1 = mainpage;//現在の大元のフレーム数を記録
}

・ロードシステム(ボタンインスタンス)
on (release) {//このボタンが押された時
    fvsnovel = SharedObject.getLocal("myCookie");
page = fvsnovel.data.page1;//文章のフレーム数を呼び出し
mainpage = fvsnovel.data.mainpage1;//大元のフレーム数を呼び出し
this._parent.gotoAndStop(mainpage);//大元のフレームをセーブした位置に
this._parent.TextAndTool.gotoAndStop(page);//文章のフレームをセーブした位置に
}

セーブ、ロードシステム共に同一のムービークリップに入ってます
あと
page:文章のフレーム数
TextAndTool:文章が表示されるムービークリップ
です

なにがいけないのでしょうか?
550Now_loading...774KB:2006/08/08(火) 17:54:50 ID:yzSEK7LF
>>549
セーブするときは項目を転送してから、flush();をよんでdiskに書き出す。
ttp://tasii.com/pw/index.php?ASenterPractice#f75738d2
551Now_loading...774KB:2006/08/08(火) 21:15:18 ID:wx/M/1Wg
>>550のURLのページを読んでもきちんと理解はできなかったのですが、
事前に
var so:SharedObject = SharedObject.getLocal("myCookie");
でSOLを読み込み、なかった場合は作成すればいいのでしょうか?
552Now_loading...774KB:2006/08/08(火) 21:37:59 ID:SMy+ZrGM
>>551
SharedObject内のデータを変更した所で
保存されるタイミングは、SWFを閉じた時か
SharedObject.flush() ;
で書き出した時だけじゃなかったかな。

すなわち
>fvsnovel.data.page1 = page;
>fvsnovel.data.mainpage1 = mainpage;
とデータ変更してセーブしたつもりだろうが、
直後に
fvsnove.flush() ;
していない限りは、ロードシステムのボタン押した瞬間に
更新されていないSharedObjectがまた読み込まれてるはず。
553Now_loading...774KB:2006/08/08(火) 23:41:31 ID:odiCp6Jw
[]を使ってインスタンス名が「sample0」MCの幅を取得する処理を

num=0
k=["sample"+num]._width

と書いたのですが動作しません。
kの値が未定義となっています。
取得するにはどうすればよいでしょうか?
554Now_loading...774KB:2006/08/08(火) 23:45:08 ID:SOK+lQkH
this["sample"+num]
でどう?
555Now_loading...774KB:2006/08/08(火) 23:50:53 ID:odiCp6Jw
>>554
thxです
できました。thisとかで指定しないとだめなんですね
556Now_loading...774KB:2006/08/09(水) 00:33:30 ID:Fh4OFWKU
this が何を示しているのかちゃんと理解しとかないとハマるよ
557Now_loading...774KB:2006/08/09(水) 00:47:38 ID:0V3hOtBC
微妙ですが自分自身だったはず。
パスとか結構勘にたよってますから・・・
助言ありがとです
558Now_loading...774KB:2006/08/09(水) 01:24:27 ID:Fh4OFWKU
最低レベルの知識くらいちゃんと覚えとけ

Flash ターゲットパス - Google 検索
http://www.google.com/search?num=50&hl=ja&q=Flash+%E3%82%BF%E3%83%BC%E3%82%B2%E3%83%83%E3%83%88%E3%83%91%E3%82%B9&lr=lang_ja
559Now_loading...774KB:2006/08/09(水) 02:50:19 ID:Gz/pLBvy
URLはいりません
560Now_loading...774KB:2006/08/09(水) 03:50:06 ID:Fh4OFWKU
>>559
どう読むんだ

「URLは、いりません」
おれが書いた>>558のURLがいらないってことか?

「URL入りません」
どこに入らないんだ?
561Now_loading...774KB:2006/08/09(水) 03:55:48 ID:+y/vus7B
>>560
恐らく別人だから気にしなくていいさ。
夏入ってから茶々入れ専門が増えただけのことさ。
562Now_loading...774KB:2006/08/09(水) 04:16:00 ID:ZdqY4GOt
url長すぎてうまくコピペできないと思われw
563Now_loading...774KB:2006/08/09(水) 10:21:43 ID:Fh4OFWKU
ttpにしていないから自動でリンクが貼られていると思ったのだが・・・
まあいいや気にしない
564551:2006/08/09(水) 14:42:09 ID:A+xm30xk
前述の通り事前に
var so:SharedObject = SharedObject.getLocal("novelfile");
でSOLファイルを作成、読み込みして
on (release) {
fvsnovel_so = SharedObject.getLocal("novelfile");
mainpage = page+3;
fvsnovel_so.data.page1 = page;
fvsnovel_so.data.mainpage1 = mainpage;
fvsnovel_so.flush();
}
でボタンインスタンスを押したときにセーブするようにしたのですが
またうまくいきませんでした
隠しフォルダも含めnovelfileで検索した結果、なにも出なかったのでやはりセーブが原因だと思います
一体全体なにがいけないんでしょうか?
565Now_loading...774KB:2006/08/09(水) 14:52:12 ID:NluBSqCJ
>>564
どうやって「うまくいかない」って結論してるの?
セーブ時やロード時にtrace()して値が入ってるかチェックしてみた?
566Now_loading...774KB:2006/08/09(水) 15:01:07 ID:M1FkN189
soとfvsnovel_soってなんで変数名変わってんの?
567551:2006/08/09(水) 15:20:30 ID:KxvdAz21
>>566
fvsnovelからfvsnovel_soに変わっているのは
SOLフォルダに記録する変数に_soつけなきゃいけないのかな?
と前述のURL、あと自分のAS参考書を見て思ったのでそうしたのです

それとも
var so:SharedObject = SharedObject.getLocal("novelfile");
のsoと
fvsnovel_so.flush();
のfvsnovel_soは同じ変数名じゃなければならないのでしょうか?
568syuma:2006/08/09(水) 16:54:30 ID:+gX5nLl9
ActionScript初心者です。

計算問題を作っています。
例えば(x+1)^2や、(2x+3y)^3の展開式を解けるようにしたいんですが、行き詰まってしまいました。

今は、(2+3)^2のような計算、(A+B)^2=A^2+2AB+B^2のようなものしか出来ません。


var X = 2;
var Y = 3;

_txt.text = "("+X+"+"+Y+")^2";

ke();

function ke() {
trace(typeof (X));
if (typeof (X) == "number" && typeof (Y) == "number") {
var tmpNum:Number = X+Y;
trace(Math.pow(tmpNum, 2));
} else {
trace(X+"^2+2"+X+Y+"+"+Y+"^2");
}
}

どなたかアドバイスよろしくお願いします。


569Now_loading...774KB:2006/08/09(水) 17:03:51 ID:Fh4OFWKU
>>567
コピペで動いたんだが何がおかしいか教えてくれ
好きではないコーディングスタイルで書いたんだから是非

メインタイムラインのアクション
var so:SharedObject = SharedObject.getLocal("novelfile");
trace("so.data.page1 = " + so.data.page1);
if(so.data.page1 == undefined)
{
page = 1;
}
else
{
page = so.data.page1;
}

ボタンインスタンスのアクション
on(release)
{
fvsnovel_so = SharedObject.getLocal("novelfile");
mainpage = page + 3;
fvsnovel_so.data.page1 = page;
fvsnovel_so.data.mainpage1 = mainpage;
fvsnovel_so.flush();
trace("page = " + page);
}

エスパー能力は無いが推測してみると、初回 undefined であるにも関わらず page に代入してずっと undefined を引きずっているんじゃないのか?
コピペに足した部分が簡単な回避コードなわけだが。
本やWebにあったからと言って「オレ流解釈」で勝手に良いだの悪いだの判断するな。
理解していない人間の判断で情報を出してもコミュニケーションエラーを招く。
こういう時は最小限の再現コードを作って提示するもんだ。
570Now_loading...774KB:2006/08/09(水) 17:17:52 ID:Fh4OFWKU
>>568
いまいち目的が見えないのだが、構文解析アルゴリズムとかの部類か?
単に計算を解くだけなら再帰的文字列処理でなんとでもなるが。

比較的分かり易いサンプルがかのマイクロソフトのサイトにある。参考にしてみればどうだろうか。

アルゴリズム入門 : 第 1 章 Visual C# による文字列処理入門
http://www.microsoft.com/japan/msdn/academic/Articles/Algorithm/01/

正規表現を使うなどすぐにASへ移植できるものではないが、考え方は分かるかと思う。
あとはぐぐれ。

数式計算 文字列処理 アルゴリズム - Google 検索
http://www.google.com/search?num=50&hl=ja&q=%E6%95%B0%E5%BC%8F%E8%A8%88%E7%AE%97+%E6%96%87%E5%AD%97%E5%88%97%E5%87%A6%E7%90%86+%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
571Now_loading...774KB:2006/08/09(水) 17:43:00 ID:d1F3MXAr
ワナビーは馬鹿なんだから無理して回答すんなwwww
572551:2006/08/09(水) 20:39:10 ID:KxvdAz21
>>569
動いたんですか?
こちらはセーブを押した後、ロードを押しても変化はありません
ちなみにロードの方は変数を別の定数にして実験したところ動いたので、
ロード時のフレーム移動のパス間違いはなさそうです
あと、変数「fvsnovel.data.page1」のダイナミックテキストにも変化はありません
>>569のスクリプトを入れてみても駄目でした
セーブ時のtraceの結果が「page = undefined」です
考えられる原因が他にありませんでしょうか?
もしかしてTextAndToolという別のムービークリップの中で別機能のために
page = _currentframe;
を入れているのが原因でしょうか……
573Now_loading...774KB:2006/08/09(水) 22:57:46 ID:M1FkN189
だから問題を切り分けろって。おまえみたいな奴等のほとんどは質問内容と全く関係ない
ところで間違ったことやってるからタチ悪いんだって。
別にネットとか関係なく普段誰かにモノ聞くにしても問題の切り分けしない奴ってのは
礼儀知らずなんだよ!
574Now_loading...774KB:2006/08/09(水) 23:47:44 ID:r7dzUM0/
>>573
ま、まあ落ち着け、気持ちは分かるから。

>>572
動いたとか動かないとか以前に、>>569の文章はちゃんと読んで理解してるのか?
undefinedになるならそもそもセーブの時点で値が入ってないってことだろ?
なら、どうしてそうなるかを考えるのが先決。
そのためには最小構成でテストする。
つまり新規flaファイルで、単純なセーブとロードだけの仕組みを作ってテスト。
そこで、値がセーブでき、ロードできるまで確認。
そこまで出来てからテキストフィールドの表示やMCの移動を考える。
基本が曖昧なら、一度に多くのことを処理しようとするな。
地道に理解してく気がないなら製作依頼スレへ。
575Now_loading...774KB:2006/08/09(水) 23:49:32 ID:pqpNzJcG
叩かれるのを承知で聞きたい!
>>2以外のASを解説してるサイト(できればオンライン系)あったら教えれください
576Now_loading...774KB:2006/08/09(水) 23:54:58 ID:/txKAF/L
>>575
Flashゲーム講座&アクションスクリプトサンプル集
ttp://hakuhin.hp.infoseek.co.jp/main/as.html
577Now_loading...774KB:2006/08/10(木) 00:12:16 ID:yccPkpp6
>>576
dクス!でもゴメン!ココのサイト知ってるけどASは結構調べにくかったorz
教えてもらっときながらスマソ!!
578Now_loading...774KB:2006/08/10(木) 00:34:37 ID:E+nRzPuU
>>572
パス間違い?
定数?
一体何を言っている?
自分が何を言っているか理解して書いているのか?

とりあえずこれは理解しているか?
・変数の概念
・変数のスコープ
・タイムライン
・ターゲットパス
・_root / _global / this / _level0
・undefined とは何か
こういう基礎が欠落しているから訳のわからないオレ流疑問が発生する
サンプルをオレ流解釈してコピペする前に、ActionScript言語の基礎から勉強することをお勧めする
でないといくら助言してもコミュニケーションが成り立たない
579Now_loading...774KB:2006/08/10(木) 00:38:23 ID:E+nRzPuU
>>575
ASの何を知りたいかで変わってくると思う
基礎なのか特定分野の開発手法なのかコミュニティなのかなど
求めるレベル(概念を知りたい、ステップバイステップな記事が欲しい、サンプルコードがあれば良い、など)を明記すれば尚良い

また、自分が押さえている>>2以外のサイトを出すべき
でないと>>576-577のような失礼な流れになる
580Now_loading...774KB:2006/08/10(木) 00:56:37 ID:yccPkpp6
>>579
アドバイスありがd!
とりあえず知っているサイトです(>>2をふくめ)

Flashゲーム講座&アクションスクリプトサンプル集
ttp://hakuhin.hp.infoseek.co.jp/main/as.html
Flash ActionScript講座
ttp://www.game3rd.com/flash/action/index.htm
Flash ActionScript Helper
ttp://homepage3.nifty.com/ginga-b/MX/index.html
FLASH-JP.COM
ttp://www.flash-jp.com/
はりぼてあくしょんすくりぷと (ホンさんの分かりやすい解説
ttp://www.geocities.co.jp/Milano-Cat/4036/bote/index.html
FumioNonaka.com (AS辞書正誤表なども
ttp://www.fumiononaka.com/

やりたい事はオンラインゲームの作成の概要を学習したいのですが上記の
サイトだとそれほど詳しく記載されてないので良いサイトが有れば教えて欲しいです
581Now_loading...774KB:2006/08/10(木) 01:46:45 ID:UIIe7CsS
>>580
オンラインゲームだけじゃわからん。
単にチャットや対戦CGIのインターフェイスだけをFlashでってことなのか
FCS使ってMMOみたいなことしたいのか。
582Now_loading...774KB:2006/08/10(木) 02:20:06 ID:P8xsetNg
>>581
とりあえず今やりたい事は”2Dで、画面内をリアルタイムで複数のキャラクターを動かす”です
583Now_loading...774KB:2006/08/10(木) 09:49:53 ID:E0/6x/aV
>>580
そうなるとここかな。基本は分かると思う。
http://faces.bascule.co.jp/
でもhttpじゃなくなるからいろいろと敷居高いんじゃないかなあ。
584Now_loading...774KB:2006/08/10(木) 09:51:12 ID:E0/6x/aV
やべ、直リンにしてしまった・・。
585580:2006/08/10(木) 14:00:41 ID:mRjbHcXl
>>583
dクス
586Now_loading...774KB:2006/08/10(木) 15:50:37 ID:yHmFRmC6
フラッシュ8で初心者です。
swfの冒頭ではなく、ムービークリップの冒頭にnow loadingを入れようと思うのですが、
swfの冒頭に入れる場合はいつもこれを使っていました。

onClipEvent (load) {
_root.stop();
par = 0;
bar._xscale = 1;
}

onClipEvent (enterFrame) {
par = parseInt((_root.getBytesLoaded() /_root.getBytesTotal()) * 100);
if (par == 0) {
par = 1;
} else if (par >= 100) {
par = 100;
_root.gotoAndPlay("start");
}
bar._xscale = par;
}

これを、ムービークリップのフレーム1に入れるからと思い
ソースの_rootをthisに変えてみたら動かなかったので、誰か教えて下さい…
587Now_loading...774KB:2006/08/10(木) 16:03:10 ID:AIGwZM2V
>>586
とりあえず、_parent で実験してみたらどうだろう。
588Now_loading...774KB:2006/08/10(木) 16:11:53 ID:HeYBG74H
>>586
絶対パスで指定してるのになんでthisに直すの?直す必要あるのかな。
589586:2006/08/10(木) 17:33:22 ID:yHmFRmC6
_parentにしたらメーターの100%が出なくて真っ白画面になって読み込み後にスタートして、
何も付けないとメーター100%が1秒くらい表示された後にスタートします
590Now_loading...774KB:2006/08/10(木) 17:40:43 ID:HeYBG74H
>>589
_root.barにしてみれば?全部絶対パス。
591586:2006/08/10(木) 17:57:34 ID:yHmFRmC6
>>590サン
_roor.barにしてみたけど変わりませんでした…
1つのswfに超重いムービークリップが3つ入ってるので
この3つとも冒頭に各nowloadを入れたいんですが
そういうやり方は無理なんでしょうか

592551:2006/08/10(木) 18:02:11 ID:M5vRFSZe
散々ご迷惑かけた後になんとか自己解決にいたりました
変更点としては
・メインタイムラインの
var so:SharedObject = SharedObject.getLocal("novelfile");から
var fvsnovel_so:SharedObject = SharedObject.getLocal("novelfile");に
・セーブボタンインスタンスの中の
page変数を_root.TextAndTool.pageに変更
これできっちり作動しました

今後は>>573>>574>>578を念頭にもう一度きちんとASを勉強しなおそうと思います
多大なるご迷惑すみませんでした
そして数々のアドバイスをありがとうございます
593Now_loading...774KB:2006/08/10(木) 18:52:52 ID:k3Pak3Mg
最近になって初めて気づいたんだが
Flash8のXML読み込みって、1フレーム目で1回読むと、以降XMLデータがメモリに残ってしまうから、
2フレーム目でそのXMLの内容を変更したり削除して
1フレーム目に戻ってXMLを更新しようと思ってもメモリ上のデータ読んじゃって過去のXMLが表示されるのな

これの対処策として、メモリをリフレシュするなり、変数を初期化すればいいんだろうけど
リフレシュする関数とかないよな・・・?
関係ないとは思ったんだがupdateAfterEventってのを、読み込みをするフレームの行頭に使ってみたが意味なかった。

ブラウザを閉じたらそれが削除されるみたいなんだが、ブラウザの更新は削除されなかった。
new XMLの変数を初期化すればいいと思って、
0とか色々代入してみたんだがそうするとXML読み込み動作自体しなくなった。

これってnew XMLに配列使って無限ループで回させたら動くだろうけど
そんな無茶なことせずに動かせる方法ってないのかな
594Now_loading...774KB:2006/08/10(木) 23:20:35 ID:06lavEhr
ASなんかよりこのスレの日本語解読するほうが高度な技術が必要だな。
595Now_loading...774KB:2006/08/10(木) 23:28:33 ID:8xocYnKJ
口語よりもプログラミング言語のほうがより具体的に表現できる。
596Now_loading...774KB:2006/08/11(金) 00:54:47 ID:B4kJxXJe
>>593
ものスゴイ勢いで意味が分かんないwww
ちょっと色々「こういうことか?」とか聞こうとしたんだけど、意味分かんなすぎてダメだわ。

・1フレ目で外部XML (例: test.xml) 読み込み
・読込んだXMLの内容を操作する。
・1フレ目に戻って、XML

ああ、やっぱだめだ。わかんねwww
597Now_loading...774KB:2006/08/11(金) 01:33:53 ID:10ZSvrFM
正直スマンカッタ。段階を追って説明するわ


1フレーム・・・・・1フレーム目でtest.xmlを読み込んで変数に格納
2フレーム・・・・・2フレーム目でXMLの内容を表示
3フレーム・・・・・3フレーム目でtest.xmlを削除 ( 削除を行うのはcgi )
3フレーム・・・・・削除完了の値が帰ってきたら1フレーム目に戻る
1フレーム・・・・・再度test.xmlを読みに行こうとするが、test.xmlがないのでstop、のはずなんだが
2フレーム・・・・・削除されているのもかかわらずtest.xmlの内容が表示される


理由がメモリにXMLデータが保持されてるから、だと思う

解決策として試したのが、

1、updateAfterEventを記述
2、XML変数(new XML)に0とかnullとか色々代入してみて初期化を試みる
3、IEを更新
4、IEを閉じて再度起動

結果、正常にXMLがないことを認識したのは4の場合のみだった
598Now_loading...774KB:2006/08/11(金) 01:41:51 ID:B4kJxXJe
>>597
なんとなく把握。
メモリに残っているのではなく、キャッシュだと思われ。
基本、var myXML = new XML(); でリセットされるから。
俺がXML読み込む時は、適当な引数付けてキャッシュを使わないようにしてる。
「test.xml?time=20060811013820」

因みに、こんな感じ。
1、updateAfterEvent → 画面の描写を強制的にする命令で何ら関係なし
2、delete使えば? delete myXML; myXML = new XML(); こんな感じ。
3、キャッシュなんだよねー。
599Now_loading...774KB:2006/08/11(金) 01:42:35 ID:qf9MEyQb
>>593
cgiを通してxmlにキャッシュコントロールヘッダを付けてみるとか。
ttp://support.microsoft.com/default.aspx?scid=kb;ja;JP234067

それか、test.xml?a=1654 みたいにランダムな数字付けてみるとか。
600Now_loading...774KB:2006/08/11(金) 02:01:58 ID:5982DrNn
"test.xml?" + new Date().getTime()
の方が良くないかな?
ランダムだと無いとは思うが、万が一被る場合もあるかと。
601Now_loading...774KB:2006/08/11(金) 02:31:15 ID:10ZSvrFM
待ってくれ・・ASにそんな記述方法があるのか

調べても出てこなかったが、見た感じファイルロードする時に
?以降の数字と一致するキャッシュの呼び出しだと思ったんだがあってる?


xmltest = new XML();
xmltest.load("test.xml?time=" + new Date().getTime()){



こんな感じで合ってるのか・・

この?以降のtime=とかa=っていうのはどんな名前でもいいの?
602Now_loading...774KB:2006/08/11(金) 02:57:28 ID:B4kJxXJe
キャッシュって何か153万回調べるといいよ!
要するにさ、クソブラウザの野郎が
「test.xmlって、前にも読み込んでキャッシュしてるからそれ使うっと♪」って思ってるから
Perlで削除したりしても、反映されないわけじゃん?

じゃあ、どうすりゃ回避できるかっつーと、別のURIにしてしまえば
「前のヤツとは違うから読込に行かないといけないのね!」って思うわけじゃん。
そういう訳で、test.xml?time=xxxx っていうURIに変更するわけ。

?以降は引数って言って云々は....
一応 Perl 使ったりしてるんだろうから、、、分かるよな。

var xmltest:XML = new XML();
xmltest.load('test.xml?time='+ new Date().getTime());
603Now_loading...774KB:2006/08/11(金) 03:08:15 ID:10ZSvrFM
把握した。ありがとう

それ踏まえて今

System.useCodepage = true;
test = new XML();
test.load("test.xml?time=" + Math.random());
test.ignoreWhite = true;

test.onLoad = function(success){

if(success){

hensu = this.firstChild.firstChild.NodeValue
}

って感じで読んでて、「?」いれてないときは
XML読めていたんだけど「?」つけてから
Undefinedになるようになったのは、なぜか教えてくれないか上の偉い人

ローカルホストで起動してるからまずいんだろうか
604Now_loading...774KB:2006/08/11(金) 07:14:03 ID:10ZSvrFM
自己解決した。ありがとん

というか今更ながら再度調べてみたら、外部システムと連結してFlashを使う場合は
ランダムいれてロードするのが当たり前なのな。

deleteとかも知らなかったし、
新しいこと知れて勉強になった。
605Now_loading...774KB:2006/08/11(金) 10:15:34 ID:luZecVas
おめでd

これでイカスフラッシャーが1人育ったな
606Now_loading...774KB:2006/08/13(日) 10:13:51 ID:FwL1+5EZ
リストボックスをDBみたいな複数列あるリストにしたくて、

形はリストボックスをひとつおいて、真ん中に縦棒かいたらできて、
次にデータをaddItemで (txt1 + "     " + "txt2")って感じで入れることで
確かに複数列あるリストにはなったんだけど、
txt1の文字数が大きくなったり少なくなったりしたらtxt2の行頭位置がズレてしまう。

解消方法としてtxt1の文字数が8文字以下なら、大文字8文字になるまでスペースを追加
8文字以上なら8文字以上の文字を削除、って感じでしたらいいのはわかるんだけど
どう書いていいのかわからない。。誰かポスケテ
607Now_loading...774KB:2006/08/13(日) 12:16:12 ID:c+Hic2PS
>>606
文字列編集はすぐ答えられるけど、
何文字以上って言われても半角全角とかあるし、フォントもちがうし。
結局ずれてしまいますどうしたらいいでしょうか?というのが見え見え。
きちんと表形式にしたいなら、テキストフィールドとかでグリッドみたくやると思う。
608Now_loading...774KB:2006/08/13(日) 18:29:39 ID:xRxPzVIr
誰か!教えてクダサイ。MXで作ったものをflash8で保存したら動かなくなってしまいました。
サウンドのon/offのボタンで、offにすると消えますが、
もう一度ONにすると音が鳴らなくなってしまいました。
ONのボタンアクションはこれ
on (press) {
t1 += (t1>=100) ? 0 : 100;
s1_sound.setVolume(t1);}

このボタンのフレームアクションはこれ
s1_sound = new Sound(_parent._parent.music);

OFFのボタンアクションがこれ(これはちゃんと止まる)
on (press) {
t1 -= (t1<=0) ? 0 : 100;
s1_sound.setVolume(t1);}

ファイルはactionscript1.0ですがフラッシュプレイヤー8でパブリッシュしたとたん狂いました。
その前までは6で正常に動作していました。
ためしに、同じasを使っているMXで作ったものを8で開き、
プレイヤー8用にパブリッシュしたら同じ現象になりました。誰か優しい人!教えてクダサイ。
609Now_loading...774KB:2006/08/13(日) 18:53:26 ID:EJPAT8uw
>>608
それでやってみたが再現できない
fla上げれ
610Now_loading...774KB:2006/08/13(日) 18:57:36 ID:FwL1+5EZ
>>607

半角全角の両方が入り混じっていて、
フォントに関してはリストボックスのフォントは指定できなかったような。。

テキストフィールドでグリッドみたいな形・・・
選択しているものの色を変え、
選択されたものを取得できるようにしたいのですが、テキスフィールドでもそれが可能なのですか?

半角全角に色んなアルファベットが入り混じる場合は、途中でテキストを行揃えすることって可能なんでしょうか
611Now_loading...774KB:2006/08/13(日) 19:15:07 ID:sOUC3nqJ
>>608
それは7からの仕様変更に対応してないから。

変数t1が0で暗黙的に初期化されてたのが
undefinedというストリングが入るようになってるので
明示的に0で初期化しなければならない。
後、大文字と小文字の違いも別のものとして
判定されるようになってるから注意
612Now_loading...774KB:2006/08/13(日) 19:39:44 ID:xRxPzVIr
>>609>>611
ありがとうございます。これはフラッシュの本に載っていたものをそのまま使っていたので
>>611さんが説明して下さっているのに何をどうしたらいいのかわからず、、、
よろしければソース教えていただけませんでしょうか。
ファイルを簡易に編集してうpしようと色々探してみたんですが重くてまだ時間がかかります
613Now_loading...774KB:2006/08/13(日) 19:49:19 ID:EJPAT8uw
まずt1をちゃんと定義してるのか
var t1:Number=0;
みたいに

あと0と100だけだったらそんな変な条件式使わなくてよくね?
614612:2006/08/13(日) 19:51:58 ID:xRxPzVIr
>>611さん
嗚呼っ!わかりました。t1を0だからこうですね?
on (press) {
t1=0;
t1 -= (t1<=0) ? 0 : 100;
s1_sound.setVolume(t1);

OFFボタンをこれにしたら治りました!!!!!!!!!!!!!!!!
どうもありがとうございました!!!!!!!!
2chじゃなければ何かお礼を差し上げるところですが、
ものすごい感謝してます。ほんとに有難うございました(^-^*)やった〜超嬉しい
615Now_loading...774KB:2006/08/13(日) 19:56:43 ID:EJPAT8uw
>>614
ネタかもしれないけど一応突っ込んどくね

t1=0;            ←これ入れたら
t1 -= (t1<=0) ? 0 : 100; ←これ意味無いじゃん
616Now_loading...774KB:2006/08/13(日) 19:58:06 ID:88+/WXrA
ちょww 意味あるだろw
617612:2006/08/13(日) 20:00:00 ID:xRxPzVIr
え、、、なんですか
せっかくできたとおもって喜んでたのにまだ何か違いますか…
618Now_loading...774KB:2006/08/13(日) 20:06:38 ID:EJPAT8uw
>>614
マジレスすると定義する場所がややおかしい
ボタンの中じゃなくて他のとこにすべき

>>616
ここでの条件式はいつも一定の解になる

t1=0;
ここでt1は0に固定されるわけだ
そのあとに
t1 -= (t1<=0) ? 0 : 100;
(0<=0)は常にtrueつまり (t1<=0) ? 0 : 100が返す値は常に0
t1=0;
t1-=0;←まったく意味がない
619Now_loading...774KB:2006/08/13(日) 20:16:35 ID:nFR2poSx
612は、>>608のASをどこまで理解できてるんだ?
620612:2006/08/13(日) 20:22:23 ID:xRxPzVIr
ボタンじゃなくて、フレームアクションのとこに
t1=0;入れたら、これでも動きました。
OFFボタンにだけ入れて動くなんて変だなと思ってたんですけど
入れる場所が違ったんですね(汗
本に載ってるやつそのまま使うくらいしかやらないので全然意味わからなくて。
教えて頂いた皆様どうもありがとうございました
621Now_loading...774KB:2006/08/13(日) 22:17:46 ID:sOUC3nqJ
変数の意味があまり感じられないんだけど
じかにボリューム変えてみては?
s1_sound.setVolume(0);
s1_sound.setVolume(100);
622Now_loading...774KB:2006/08/14(月) 02:17:43 ID:R3d/ImbW
すいません、XMLを読みこんだ時にタブと改行を削除しちゃいたいんですが、
ignoreWhiteをtrueに設定したりしてもうまくできません。

なんというかFLASH内で簡単にタブや改行を置換で削除しちゃう方法はないんでしょうか
623622:2006/08/14(月) 02:46:26 ID:R3d/ImbW
http://1ka2ka.com/contents/blog/file/200606/09_195344.shtml

ここにテキスト置換の方法がのってましたが、
タブとか改行が入った文字列にたいしては、そもそもsplitできないみたいですねえ。
underfindになって返ってきます。

うーん。
624Now_loading...774KB:2006/08/14(月) 07:55:52 ID:uO4lCSal
>>622
どういうAS書いてどうなっちゃうとか書かないと何ともコメントできんがな。
625Now_loading...774KB:2006/08/14(月) 09:33:40 ID:JN5BfqUD
undefined って何だか理解していない香具師が多くね?
trace で undefined って表示されるから文字列型の値だと思ってない?

undefined は変数が初期化されていない事(未定義)を示す“状態”であって“値”じゃないからね

ちなみに null は“空である”という事を示す“値”
undefined と等価演算子[==]で比較すると真だが、厳密な等価演算子[===]だと偽
626Now_loading...774KB:2006/08/14(月) 14:12:00 ID:QqRfh0Dr
MX2004です。
image_mcというMovieClipがあって、
image_mc.onMouseDown = function(){trace("test");}
Mouse.addListener(image_mc);

のようにすると、何もおきません。
オブジェクト作ってそれがリッスンすると動作します。

ムービークリップはリスナーオブジェクトとして使えないのですか?
627622:2006/08/14(月) 14:54:54 ID:1T7hPrDD
>>624
var TextArray:Array= new Array();
TextArray = txt.split("");//見えないでしょうけどキーボードのタブ打ってます
txt= TextArray.join("");//何も指定せず

みたいな感じです
改行のときは¥nを半角で
628Now_loading...774KB:2006/08/14(月) 17:01:21 ID:/MlvmEgr
タブは\t
629Now_loading...774KB:2006/08/14(月) 17:10:56 ID:8ybMjV07
>>622
ignoreWhite を設定すれば問題ないはずだよ。どこか間違ってないかい?
>>627 も問題なく動作するはず。
underfind が返るってことは元々の txt が未定義ってこと。

>>626
ムービークリップにイベント割り当てるならリスナー登録は必要ないよ。
それが動かないなら image_mc が存在してないんじゃないかな。
存在すれば1回のクリックで2回testが表示されるはず。


2人とも思いこみで問題の原因を特定してしまってるみたいだけど、
どこまでが正常でどこからおかしくなっているのかをしっかり見ていくことが
問題解決の早道だよ。
630Now_loading...774KB:2006/08/15(火) 08:32:51 ID:avRyoQ1q
DataGridコンポーネントに列を2つ追加して、
ひとつは外部から受け取った名前、もうひとつは外部から受け取った日付なんですが
この日付列を、日付順にソートさせることって可能ですか?

何も指定せずに日付データを入れて、
ソートボタンを押してソートしても一文字目の数字でソートされてしまいます。

ソースは、かなり端折ってはますが

atai[i] = [{name:aaa},{date:2006-6/8-13:00},{dat:14}]

grid.addColum("name")
grid.addColum("date")

col = grid.getColum(name)
col.width(160)

grid.dataProvider = atai

こんな感じです、お願いします。
631Now_loading...774KB:2006/08/15(火) 10:10:33 ID:mVvrniTM
>>630
grid使ったこと無いのでよくわからんが、文字列(辞書順)で
ソートされてるんじゃないのかな。
632Now_loading...774KB:2006/08/15(火) 11:01:17 ID:aOeXx3aA
変数iが1から30の時は画像Aを表示し、31から60の時は画像bを表示するというアクションスクリプトを教えてください
633Now_loading...774KB:2006/08/15(火) 11:13:55 ID:mVvrniTM
>>632
画像を表示するのはどうやってるの?
まったく解らないなら、どういう事をやりたいか具体的に書いた方がレス
つきやすいし、それに合った良いスクリプトをレスしてくれると思うよ。
ふつうはif分での分岐だけど。
634Now_loading...774KB:2006/08/15(火) 11:29:09 ID:DDinODpG
はい
ゲームでスコアは低いと泣き顔マーク
スコアが高いとにっこりマークっていうのがしたいいんですが・・・
635Now_loading...774KB:2006/08/15(火) 11:54:58 ID:EQHTjqyG
>>634
それは目的だろ
>>633は手段を問うてると思うんだが

制御構文って知ってる?
条件分岐ならこうだが

if(1 <= i && i <= 30)
{
//画像Aの表示処理
}
else if(31 <= i && i <= 60)
{
//画像bの表示処理
}

表示処理のアルゴリズムすら基本設計レベルで想像が付いていない気がするが
636Now_loading...774KB:2006/08/15(火) 13:40:45 ID:DDinODpG
そうなんです
表示処理のアルゴリズムがわかりやすく学べるhpとか本とかあれば
ご教授ください・・・
637Now_loading...774KB:2006/08/15(火) 14:14:28 ID:mVvrniTM
>>636
ヘルプのチュートリアルをやるとか、ググるとか。
とりあえずは一冊ぐらい教科書(入門書)でも買えば?
638Now_loading...774KB:2006/08/15(火) 14:26:56 ID:DDinODpG
ググっても本二冊かったんだが
ぴったしな記述がみあたらないorz
639Now_loading...774KB:2006/08/15(火) 14:37:56 ID:mVvrniTM
>>638
ちゃんとASプログラムがんばるなら
ttp://tasii.com/pw/index.php?ASenterBasic
とpractice。まだ途中だけど。
webだと目が疲れるから、ふつうにアマゾンとかで入門書買った方がいいとおも。
640Now_loading...774KB:2006/08/15(火) 15:34:47 ID:Y6pYxHZ2
MCの画面移動の制御ですが画面外に出たっきり帰ってきませんお願いします

if (_x< - 名._width) {
_x = 550;
}
if (_x>550) {
_x = - 名._width;
}

あと550(画面の大きさ)の値を求める方法はないですか?
641Now_loading...774KB:2006/08/15(火) 16:57:13 ID:4Mwz+CEO
どういう動きにしたいのかさっぱりわからんがこんなようなことか?

onClipEvent (enterFrame) {
if (dir == undefined || this._x<0) {dir = 1;}
if (this._x>Stage.width) {dir = 2;}
switch (dir) {case 1 :this._x ++;break;
case 2 :this._x --;break;}
updateAfterEvent();}
642Now_loading...774KB:2006/08/15(火) 17:16:50 ID:brJ1Mq7P
AS初心者ですが
enterFrameにupdateAfterEvent入れるのってどういう意味なんですか?
643Now_loading...774KB:2006/08/15(火) 17:18:42 ID:EQHTjqyG
>>636
このスレの >>1 とか >>2 とか読んでリンク先を見た上で言ってるのか?
ちょっと前の >>580 でも参考となる情報が出ているが
分からないとか教えてくれとか言う前に、せめて同スレ内の情報くらいは見返そう

その上で、自分は今どういうことをやっていて、何が分からないから、何がどう分かりやすく学びたいのかを書かないと、期待する回答なんて来ない
644Now_loading...774KB:2006/08/15(火) 17:23:32 ID:EQHTjqyG
>>642
その言葉はどこで拾ってきたの?
いきなり言葉が振って湧いてきたわけじゃないよね

どこで拾ったか知らないが、どこの enterFrame(onEnterFrame?) で updateAfterEvent を入れろってあるんだ?
「無駄な処理は行わない」って鉄則に反するだけだが
かの野中氏も書いてるがな

FN0402004 - updateAfterEvent()グローバル関数 - Flash : テクニカルノート
http://www.fumiononaka.com/TechNotes/Flash/FN0402004.html
※「updateAfterEvent enterFrame」でぐぐればすぐに見つかるページなんだが・・・

初心者と自称するなら、意味不明な情報を出してきた情報源くらい書いとけ
もしかしたらそこでは何らかの意味のある処理として紹介しているのかもしれないぞ
645Now_loading...774KB:2006/08/15(火) 17:25:30 ID:oOy7TRUm
ttp://www.fumiononaka.com/TechNotes/Flash/FN0402004.html
onClipEvent (enterFrame)ハンドラアクションやMovieClip.onEnterFrameメソッド内で
updateAfterEvent()関数を呼出すことは、意味がありません。関数の呼出し自体は無視され、関数の存在にかかわらずハンドラの処理後は自動的に描画が更新されるからです。
「念のため」描画更新の処理を記述しておくという人がいます。しかし、動作しない処理を記述しても、
何の「念」にもなりません。もっとも、自分しか見ないスクリプトであれば、とくに害もありません。けれど、他の人に見せるコードでは、意味のない処理に意味があるかのような誤解を与える点で、不適切でしょう。
646642:2006/08/15(火) 17:27:24 ID:brJ1Mq7P
すいません、1レス前にあったので。
647640:2006/08/15(火) 17:47:35 ID:s1ciiWXm
>>641情報が少なくてすみません
下記のようにしたのですが、戻ってこないのです
onClipEvent (enterFrame) {
// 左を押したとき
if (Key.isDown(Key.LEFT)) {
_x -= 10;
}
// 右を押したとき
if (Key.isDown(Key.RIGHT)) {
_x += 10;
}
// 画面ループ
if (_x< - 名._width) {
_x = 550;
}
if (_x>550) {
_x = - 名._width;
}
}
648Now_loading...774KB:2006/08/15(火) 17:51:39 ID:4Mwz+CEO
Σ(゚Д゚;エーッ!俺の持ってるFLASH ACTION SCRIPT HANDBOOKとやらにはenterframeで
updateAfterEventしてるサンプルでてたからそれが正式なのかと思ってたよ・・
649642:2006/08/15(火) 18:02:12 ID:brJ1Mq7P
>>648
実はおいらがFLASH ACTION SCRIPT HANDBOOK3rd版を
アマゾンのレビューでenterframeでupdateAfterEventするのは無駄って言った
     ↓
それを作者がwebで反論
     ↓
野中さんがそれに対して横から反論

それをまとめたのが
ttp://www.fumiononaka.com/TechNotes/Flash/FN0402004.html

つーかあんまりいい本じゃないよソレ
650Now_loading...774KB:2006/08/15(火) 18:08:59 ID:4Mwz+CEO
この作者、最終的には心の問題ですってことで落ち着けようとしてるんじゃあるまいな?
651Now_loading...774KB:2006/08/15(火) 18:09:05 ID:UeaRisP+
>>649
ならわざわざ嫌味な揚げ足取りせず、意味無いよって言えば済むんじゃないの?
652642:2006/08/15(火) 18:14:15 ID:brJ1Mq7P
「嫌味な揚げ足取り」って取られたのか。
「AS勉強のネタ提供」で時々やってるんだけどな(´・ω・`)
653Now_loading...774KB:2006/08/15(火) 18:18:04 ID:UeaRisP+
>>652
それならAS初心者のくだり要らないだろ。
AS勉強のネタ提供なら、説明するかURL貼って終わり。
知ってるのにわざわざ聞く振りする必要無いって。
654642:2006/08/15(火) 18:26:26 ID:brJ1Mq7P
俺が説明したって意味無いでしょ(´・ω・`)
脱初心者が初心者に教えるのはいい勉強になると思って大分前からやってるのに(´・ω・`)

たしかに649は余計だったかも( ´・ω・)ノシ
655Now_loading...774KB:2006/08/15(火) 18:26:56 ID:4Mwz+CEO
642=649かよ・・・
656Now_loading...774KB:2006/08/15(火) 18:47:20 ID:mVvrniTM
本やら、なんやらの評価うんぬんはマ板で。
ここは純粋にASなスレなのでよろ。
657Now_loading...774KB:2006/08/15(火) 21:47:01 ID:xBW3UEKw
>>629
ん、2回trace("test")実行されるどころか、1回もされない.. orz
658Now_loading...774KB:2006/08/15(火) 22:07:41 ID:EhYI+F8i
>>657
image_mcが無いんじゃないの。
trace(image_mc)で何返ってくる?
659Now_loading...774KB:2006/08/15(火) 22:24:32 ID:xBW3UEKw
>>658
あ、ごめん。1回はtrace("test")できた。
Mouse.addListener(image_mc);
あっても2回は実行されないよね?
660Now_loading...774KB:2006/08/15(火) 22:25:54 ID:xBW3UEKw
あーできてるできてる。ごめんなさい。
ちゃんと2回でました
661Now_loading...774KB:2006/08/16(水) 05:46:06 ID:iUO4vELs
質問させてください。
AS初心者です。

FCSで、音声のみのストリーミング配信(live)をしているかどうかを確認する方法が分かりません。

配信側
--------------
nc = new NetConnection();
nc.connect("rtmp://localhost/devtest");
my_mic = Microphone.get();
ns = new NetStream(nc);
ns.attachAudio(my_mic);
ns.publish("test","live");

受信側
--------------
nc = new NetConnection();
nc.connect("rtmp://60.33.118.27/devtest");
ns = new NetStream(nc);
ns.play("test" , -1 );


NetStream.onStatusでトラップをかけると、"NetStream.Publish.Start"が返ってきます。
しかし、当該ストリーミング(上例だと"test")で配信中なのかどうかを調べる方法が分かりません。
申し訳ありませんが、ご教授いただけるとうれしいです。
よろしくお願いいたします。
662Now_loading...774KB:2006/08/16(水) 08:07:35 ID:CETtwpor
if (Key.isDown(Key.LEFT))は←のキーを押したときなのは解りますが、何も押さないときの
条件式を教えてください(nullとかnotじゃだめみたいです)
663Now_loading...774KB:2006/08/16(水) 08:54:13 ID:AWnoYCuJ
>>662
if (!Key.isDown(Key.LEFT)){
//処理
}

もしくは
if (Key.isDown(Key.LEFT)){
}else{
//処理
}
664Now_loading...774KB:2006/08/16(水) 09:25:45 ID:0Vl0V/yZ
>>662
何も押さないときというのは何もされてないとき。
つまり、何も記述する必要ない。
早押しゲームとかでなら、タイマーで指定時間たつまでに
何も押されない場合アウトにする、という感じで作ると思うよ。
665Now_loading...774KB:2006/08/16(水) 10:46:02 ID:DpZIqdTA
何も押されていない事を判別って難しいよな
いわゆるキー入力が一切無いアイドル状態ってことだろ?
あるフレーム(onEnterFrame)で、全くキー入力が無いことを一発で保証するプロパティとかメソッドは無いと思う
getCodeやgetAsciiもいつ押されたか分からないし、isDownで全入力をチェックするのも非現実的

「何も押されていない」じゃなく「○○キーが押されてない」に条件を変えてみればいいんじゃないか
666Now_loading...774KB:2006/08/16(水) 10:51:16 ID:cQ3PLkd5
何も押されてないことを判別する必要があるの?
667Now_loading...774KB:2006/08/16(水) 10:58:36 ID:DpZIqdTA
ゲームなら特定のキーが押されていない=特定のキーが押されている
ことが分かれば十分なはず

ただ、OSが持つスクリーンセーバ制御のように、全てのキー(とマウス)が操作されていないことを知る(アイドルであることを知る)処理も存在する
例えばアドベンチャーゲームで、何も入力されていないときに「起きてる〜?」と音を出すとか

目的が分かれば条件を「何も押されていない」以外に変えれるかもしれない
>>662 はどういう意図で「何も押さない条件式」を知りたかったのかに拠る部分だな
668Now_loading...774KB:2006/08/16(水) 11:19:40 ID:Pi358Dm2
いま、flvをプログレッシブ再生させているんですが、
尺上で、頭のいらない部分があるので、途中から再生させたいのですが
どのようにしたらいいのでしょうか? ActionScriptで制御可能でしょうか?

アドバイスお願いいたします。

(※編集段階で頭を切ればいい話なのですが、flvを変換するまえの元ファイルが現状
、諸事情のため、用意できません。)
669Now_loading...774KB:2006/08/16(水) 11:34:33 ID:KYyy4SBC
>>667 アイドルであることを知る処理ってどんなん?
670Now_loading...774KB:2006/08/16(水) 11:35:19 ID:Pi358Dm2
一応、自己解決したのですが、
以下のようなスクリプトを、ヘルプを元に書いてみました。

import mx.video.*;
my_FLVPlybk.autoPlay = false;
my_FLVPlybk.contentPath = "test.flv";
var listenerObject:Object = new Object();
listenerObject.ready = function(eventObject:Object) {
my_FLVPlybk.seekSeconds(1);
my_FLVPlybk.play();
};
my_FLVPlybk.addEventListener("ready", listenerObject);

ただ、この場合に、任意の位置から再生は可能になったのですが、
任意の位置で、停止をしたいのですが、
どのように記載していいのかわかりません。

初歩的な質問かもしれませんが、どうぞよろしくお願いいたします。
671Now_loading...774KB:2006/08/16(水) 11:57:22 ID:G0o/tNof
質問させてください。
TextFieldのhtmltextにて使用可能なタグの一覧が掲載されたサイトを調べています。
かなり数が少ないということは認識しているのですが、ネット上でなかなか情報を見つけられません。
よろしくお願いいたします。
672Now_loading...774KB:2006/08/16(水) 12:27:14 ID:ThnBTS3w
>>671
ヘルプにのってるからわざわざ掲載してるサイトは少ないんじゃない?

ttp://livedocs.macromedia.com/flash/8_jp/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001457.html
673Now_loading...774KB:2006/08/16(水) 12:27:59 ID:g8DP9r8X
671です。
ヘルプのリッチテキストについての項目で解決いたしました。
どうもありがとうございました。
674Now_loading...774KB:2006/08/16(水) 12:28:39 ID:Q410atPh
>>671
ググっても解らないような奴に教えてもわからないでしょ?
675Now_loading...774KB:2006/08/16(水) 12:29:12 ID:afL208Se
//>>662
key_array=new Array();
isDownNum=0;
keyList=new Object();
kl.onKeyDown(){
var flag=false;
for(var i in key_array){
if(key_array[i]==Key.getCode()){

flag=true;
break;
}
}
if(flag==false){
key_array[key_array.length]=Key.getCode();
isDownNum++;
}
}
kl.onKeyUp(){
for(var i=0;i<key_array.length;i++){
if(!Key.isDown(key_array[i])){
key_array.splice(i,1);
isDownNum--;
}
}
}
Key.addListener(kl);
//isDownNumが0なら何も押されてないよ
676Now_loading...774KB:2006/08/16(水) 12:36:59 ID:ThnBTS3w
>>670
ActionScriptキューを埋め込んでイベントをハンドルすればいいかな

listenerObject.ready = function(eventObject:Object) {
my_FLVPlybk..addASCuePoint(100, "stopPoint");
};
listenerObject.cuePoint = function(e) {
trace("キューポイント通過")
}
my_FLVPlybk.addEventListener("cuePoint", listenerObject);
677Now_loading...774KB:2006/08/16(水) 13:15:02 ID:Pi358Dm2
670>
ありがとうございます。
キューを埋め込むというのは、flvを作成時に、キューポイントを
埋め込んでおく?ということでしょうか。

以下のように書き直しましたが、再生不能になってしまいました。

import mx.video.*;
my_FLVPlybk.autoPlay = false;
my_FLVPlybk.contentPath = "test.flv";
var listenerObject:Object = new Object();
listenerObject.ready = function(eventObject:Object) {
my_FLVPlybk.seekSeconds(1);
my_FLVPlybk.play();
};
my_FLVPlybk.addEventListener("ready", listenerObject);


listenerObject.ready = function(eventObject:Object) {
my_FLVPlybk.addASCuePoint(100, "stopPoint");
};
listenerObject.cuePoint = function(e) {
trace("キューポイント通過")
}
my_FLVPlybk.addEventListener("cuePoint", listenerObject);
678Now_loading...774KB:2006/08/16(水) 13:39:57 ID:cQ3PLkd5
アンカーくらいちゃんとつけてください><
679Now_loading...774KB:2006/08/16(水) 13:44:10 ID:ThnBTS3w
>>677
違うよ。実行時にASでキューポイントを埋め込める。
だからASキューポイントと言うのです。
そのコードだとreadyイベントハンドラが上書きされちゃってますので、
こんな感じかな?

import mx.video.*;
my_FLVPlybk.autoPlay = false;
var listenerObject:Object = new Object();
listenerObject.ready = function(eventObject:Object) {
my_FLVPlybk.seekSeconds(1);
my_FLVPlybk.play();
my_FLVPlybk.addASCuePoint(10, "stopPoint");
};
listenerObject.cuePoint = function(e) {
trace([e.info.time+"秒", e.info.name+"を通過"]);
};
my_FLVPlybk.addEventListener("ready", listenerObject);
my_FLVPlybk.addEventListener("cuePoint", listenerObject);
//パスの指定(読み込みの開始)は最後の方がいいかな
my_FLVPlybk.contentPath = "test.flv";
680Now_loading...774KB:2006/08/16(水) 17:02:23 ID:aWs11BNJ
>>663-667
沢山の返答ありがとうございます
switchでやることにしました!ごめんなさい
681Now_loading...774KB:2006/08/16(水) 17:40:07 ID:Pi358Dm2
>>679

上記をフレームスクリプトに記述した書いたところ、
スタートは、きちんと認識されるのですが、
ストップ位置は、認識されないようです。
そのまま最後まで再生されてしまいます。
なにか書き方が悪いのでしょうか。
682Now_loading...774KB:2006/08/17(木) 00:49:10 ID:RXPHqlJa
初めてクラスを扱ってみようと思ったのですが、
// Test.as
class Test {
private var xx:XML;
function Test () {
xx = new XML ();
xx.onLoad = function () {
trace (xx.toString ());    // undefined になる
};
xx.load ('hoge.xml');
}
}
// タイムライン
this.stop();
var Hoge:Test = new Test ();
のような簡単なものがうまくいかないのはなぜなんでしょう?
インスタンスメンバを静的メンバに変えてやるとうまくいくのもなぜなんでしょう?
683Now_loading...774KB:2006/08/17(木) 02:02:14 ID:GAJ3jf+4
>>682
trace(this)
684Now_loading...774KB:2006/08/17(木) 05:42:29 ID:CIhDm1uu
三角関数が分かって暇な人が居たら、質問させてください...。

円の中心点から徐々に遠ざかって行く、赤丸(MovieClip)がある(角度は初期にランダムでセットされる)
このFLAを拡張して、赤丸(MovieClip)に対して垂直な線(任意の幅)がくっついてるとして、
その両端の点の位置を求めたいのですが、やり方が分かりません...。
atanとか、そういったものを使えば出来るのかな。
高校で三角関数を挫折したのを、今になって大後悔。

分かりづらいと思うので図解かいてみました。
ttp://www.restspace.jp/cgi-bin/orz/img-box/img20060817054028.gif

現状の赤丸と、線(w:100px / h:1px の線のM)のスクリプトはこんな感じです。
--------------------------------------------
// 円の中心点
var cx:Number = 275;
var cy:Number = 200;
//中心点からの距離と角度
var len:Number = 0;
var degree:Number = Math.random()*360;
panel._rotation = degree+90;
// 赤丸作成
var aka:MovieClip = this.createEmptyMovieClip("aka", 1);
aka.lineStyle(8, 0xff0000, 100); aka.moveTo(0, 0); aka.lineTo(1, 0);
aka._x = cx; aka._y = cy;
this.onEnterFrame = function() {
len++;
var rad:Number = Math.PI*degree/180;
aka._x = panel._x = Math.cos(rad)*len+cx;
aka._y = panel._y = Math.sin(rad)*len+cy;
};
685Now_loading...774KB:2006/08/17(木) 10:08:13 ID:+2bb4qWO
>>684
あんまAS関係ないかと思いますが
垂線の式と円の式で交点を求めればよいかと
その手のアルゴリズムはその辺に転がってます
686Now_loading...774KB:2006/08/17(木) 11:32:46 ID:AiF8pzGX
初歩的な質問で悪いんだけど
ActionScriptでクラスが必須だと言われる理由と、
どういう時にクラスが使われるのかを出来るだけ多く教えてくれないか

検索しても見事にクラスの用語解説が引っかかって・・・

正直クラスなんかいらないと考えてたんだけど
状況によってはクラスとパッケージ(?)を本格的に学ぼうと思い出してる者です
687Now_loading...774KB:2006/08/17(木) 12:06:21 ID:CUayhldW
必須ではない
汎用的に使いまわすなら便利
お前もMathクラスのrandomなんて毎回1から作る気にならんだろ?
あれはよく使う処理をクラスとして作ってくれてるから便利

逆に1回しか使わないような物はコードの見通しは良くなるけれども
冗長になるのでそれほどメリットは無い

ただしチームで開発するような場合はクラスを使うような記述は
コードの書き方が型にはまるのでお互いに理解しやすいという
メリットがある。声高に宣伝してるのはこの面が大きい
皆が皆、型にはまったコードだと他人の書いたコードも理解しやすいし、
自分なりに応用するのも楽
が、理解しやすさ優先なので往々にして遅い

ひとりでやるなら、好きにしろ
688Now_loading...774KB:2006/08/17(木) 13:02:56 ID:DDkFaYgp
俺もチームでの開発なんてやらんからInterfaceを使うメリットが
良く分からん。
689Now_loading...774KB:2006/08/17(木) 16:00:42 ID:pYAKwoiA
>>684
aka._x = panel._x = Math.cos(rad)*len+cx;
aka._y = panel._y = Math.sin(rad)*len+cy;
//ここまでは一緒
var blueLen=50;//akaからの距離
var blue0x=Math.cos(red+Math.PI/2)*blueLen+aka._x;
var blue0y=Math.sin(red+Math.PI/2)*blueLen+aka._y;
var blue1x=Math.cos(red-Math.PI/2)*blueLen+aka._x;
var blue1y=Math.sin(red-Math.PI/2)*blueLen+aka._y;
//これでそれぞれの変数に入ってる。実際使うときは青い点を作ってからそれのプロパティに代入すればおk
690Now_loading...774KB:2006/08/17(木) 17:31:34 ID:CIhDm1uu
>>689
うっひょー。できました!!!
ありがとうございます。
691642:2006/08/17(木) 18:09:16 ID:+C7znxuw
//円の中心点・半径
var cx:Number = 275;var cy:Number = 200;var cr:Number = 150;
//中心点からの距離と角度
var len:Number = 0;var degree:Number = Math.random()*360;
panel._rotation = degree+90;
// 赤丸作成
var aka:MovieClip = this.createEmptyMovieClip("aka", 1);
aka.lineStyle(8, 0xff0000, 100);aka.moveTo(0, 0);aka.lineTo(1, 0);
aka._x = cx;aka._y = cy;var aka2:MovieClip = this.createEmptyMovieClip("aka2", 2);
aka2.lineStyle(8, 0x000000, 100);aka2.moveTo(0, 0);aka2.lineTo(1, 0);
var rad:Number = Math.PI*degree/180;
this.onEnterFrame = function() {len++;
aka._x = panel._x=Math.cos(rad)*len+cx;aka._y = panel._y=Math.sin(rad)*len+cy;
blue0x = Math.cos(Math.PI/2+rad)*Math.sqrt(Math.pow(cr, 2)-Math.pow(len, 2))+aka._x;
blue0y = Math.sin(Math.PI/2+rad)*Math.sqrt(Math.pow(cr, 2)-Math.pow(len, 2))+aka._y;
blue1x = Math.cos(-Math.PI/2+rad)*Math.sqrt(Math.pow(cr, 2)-Math.pow(len, 2))+aka._x;
blue1y = Math.sin(-Math.PI/2+rad)*Math.sqrt(Math.pow(cr, 2)-Math.pow(len, 2))+aka._y;
aka2.clear();aka2.lineStyle(1, 0x000000, 100);aka2.moveTo(blue0x, blue0y);aka2.lineTo(blue1x, blue1y);
};

こんな感じ?
692Now_loading...774KB:2006/08/17(木) 19:44:50 ID:IRpBjcuf
>>686
作ったものを使い回しという意味では関数と変わらないけど
さらにクラスを使って縛りを付けておくと
間違った使い方をしたときによりコンパイラがエラーとして
抽出してくれる機会が増えるのでバク発見の可能性が高くなる。
ただクラスは設計を失敗すると超非効率なプログラムができる
ので注意したいね。
693Now_loading...774KB:2006/08/17(木) 21:54:37 ID:AEhVjcZI
FLVをコンポーネントアクションで、
ループ再生するように、指定しました。
以下になります。

// MediaDisplayコンポーネント
// コンポーネントアクション
on (complete) {
this.play(0);
}

これを、たとえば、flvデータが、3s経過したのちに、とあるムービクリップAが
再生されるような指定はできないのでしょうか?

よろしくお願いします。
694Now_loading...774KB:2006/08/17(木) 22:08:38 ID:rzP6TkDp
オレにもクラスについて教えてけれ
>>687 やはり、遅いのか。 アクションゲー作るには向いてない?
>>692 「設計を失敗すると超非効率な…」て具体的にどんな失敗を? 
695Now_loading...774KB:2006/08/17(木) 23:30:07 ID:dKmjKpXp
ASに限らず、クラスはコードの保守や生産性を上げるための研究から生み出されたもの
そこにあるのは開発者の都合

機械の都合からすれば最も負荷の少ないコードが良く、クラスは物理的に遠回りな処理が多いために優しくない
その結果としてユーザへも応答速度が悪いとかの負担を与えてしまう

最近の言語やコンピュータ環境ではクラスを使って書こうが書くまいが大して処理速度は変わらない
でもやっぱり超シビアな処理を求めるところではアセンブラで書いたりするわけで

Flashはコンピュータの部分はFlash Playerで仮想化されているが同じこと
ウォーターフォールでベタなコードは軽く処理も速いがコードの保守性や再利用性に欠ける
クラスを利用したコードは保守性や再利用性は高い(クラスの設計に拠るが)が処理速度に影響が出る
特に携帯向けFlashやフレーム毎にシビアな処理を行うようなゲームでは問題になる

つまり、クラスを使うかどうかは目的に拠る
業務用アプリならJavaやC#での開発と同じように保守性や他の開発者との協業も考えてクラスを多用するのもあり
ゲームなら処理速度を極限まで上げるためにウォーターフォールにするのもあり
ネタフラなら再利用も保守もないからウォーターフォール
ネタフラでも同じような処理をまた再利用するってんならクラスでもいいだろう

ただ、クラスをどのくらい使うとどのくらい負荷が出るかと問われると、一発でスカッとする回答は無い
クラスを使ってもウォーターフォールな使い方をすれば軽いし、たった1個のクラスでも複雑に使っていれば重い
こればっかりは経験かなと思う

結局は大した回答になっておらず、すまん
696Now_loading...774KB:2006/08/18(金) 00:15:04 ID:cBY8lRHp
>>695 解説乙。 所詮インタプリタ言語だからねえ。 アクションゲームはつらいよね。
697Now_loading...774KB:2006/08/18(金) 00:28:47 ID:pXqnjnL0
アクションゲームでもスコア表示とかステータスとかの表示系はクラス化
しちゃった方が楽だと思う。他のゲームに流用効くし。
あとフラグとか複数MCで同様のAI持たせる場合とか。
極めて個人的な意見だけど・・・
698Now_loading...774KB:2006/08/18(金) 01:48:50 ID:96aqIPep
教えてFLASH8 ActionScriptがやっと全て理解できるレベルなのですが、(いわゆるAS入門者)
次に何を読めばよいでしょうか?今のレベルに合ったオススメの書籍ありません?
699Now_loading...774KB:2006/08/18(金) 02:47:52 ID:sIDw1bKl
>>698
とりあえず何か作ってみれば?
例えば・・・
 ボタンを押たびにサイコロの目(1〜6)が表示される。
 でた目の回数と出現率が表示される。
とか。
本を読むだけ(サンプル通り作るだけ)より、自分で考えた方が覚えはいいよ。
でも基本は大事。これがわからないと何も出来ない。

ttp://yu-net.info/swfup/viewswf.php/4811.swf

ボタンのイベント、setInterval、clearInterval、配列、とか使えば出来る。
回数と率を表示しているテキストは同じmcの使いまわしで効率的に。
700Now_loading...774KB:2006/08/18(金) 09:39:17 ID:SgNbksir
>>698
Flashで何をやりたいの?
大御所達のように万能になりたいわけじゃないよね
だとすれば、自分が作りたいものを作ってみよう
とりあえず一冊全て理解できるレベルなら簡単なものは作れるはず
その上で疑問が出たら調べればいい

全てを準備してからなんてのは無理だし時間の無駄
開発なんてのはある程度基礎が固まったらあとは実地で大丈夫
701Now_loading...774KB:2006/08/18(金) 11:43:07 ID:fv3ANcJT
べた書きよりオブジェクト指向で書いた方がパフォーマンスが落ちる言語は多いけど、
Flashの場合もそうなの?その辺の情報ってどこかにないかな。
Flashの仕様によってはclassで書いた方が速い事もあり得ると思うんだけど。
経験からもパフォーマンスにおいては体感できるほどの差は無いと思う。

俺の場合classで書くメリットは保守性の向上と継承だなあ。
スクリプトは全部外部ファイルに出来るのが大きいし、
ネイティブオブジェクトを継承して使ったり、
ゲームの場合も継承によって楽にキャラのバリエーションが増やせる。
702Now_loading...774KB:2006/08/18(金) 11:50:32 ID:4moUyNo7
>>701
なら試してみればいいんじゃね?
703Now_loading...774KB:2006/08/18(金) 12:04:50 ID:x5o7pF2L
経験上グラフィックのパフォーマンスに気を使った方が処理速度が大幅に
あがる気がする。
704Now_loading...774KB:2006/08/18(金) 13:42:17 ID:SgNbksir
業務で500MHzのWin98機でも動くFlashをと作ったが、いつものノリでクラスを使って作ったらもたついてダメだった
ウォーターフォールにしたらマシになったが、コードの可読性と保守性が落ちたのは痛い
これらは構造化技法である程度対処できるが、オブジェクト指向に慣れると辛いな

個人的にはクラスで差の付く処理と言うのはここがポイントだと思う
・実行する環境のスペック(携帯電話とPCでは天地の差がある)
・表示系処理の絡まない内部処理の重さ
・クラスの論理的な複雑さ(物理的に大きいことより論理的に複雑な方が重い)

上記のポイントは大多数のFlashには当てはまらないと思う
故にクラスの有無による差を感じている人は少ないと思うがどうだろうか
705Now_loading...774KB:2006/08/18(金) 18:41:02 ID:F82mcMbI
んー、てかさ、そもそもFlash(ActionScript)って
オブジェクト指向言語だから、一定以上のスキルになろうと思ったら
実際に使う、使わないは別にして理解しなきゃいけないんじゃないの?

俺もOOPの作法が、分かってようやく
書いてるコードの意味がちゃんと分かるようになった。
newでインスタンスを作るのと、static functionを呼ぶ違いとか。

それでさ、ウォーターフォールってベタ書きってこと?
ウォーターフォールって、最初に詳細な仕様設計をしてから
それに沿って、コーディングするっていうワークフローの話じゃないの?
706Now_loading...774KB:2006/08/18(金) 19:19:08 ID:8w+KuHpT
使い方変だよなその人
707Now_loading...774KB:2006/08/18(金) 19:19:56 ID:ycJLhtmR
めちゃくちゃ初心者な質問なんですけど、
テキスト入力エリアを二つ作成し、変数をそれぞれ「w」と「ww」に設定します。
さらに、ボタンを作成し、そこに
on(release) {
ans = w / ww ;
}
と記述して、ダイナミックテキストで作ったテキストエリア(変数はans)
に計算を反映させるようにしたんですけど、なぜか正常に計算できません;
ボタンを押しても計算結果がでる場所には「Nan」としか表示されません;
なんででしょうか???どなたか教えてください!
708Now_loading...774KB:2006/08/18(金) 19:36:17 ID:x5o7pF2L
>>707
trace()の使い方をHELPで調べてみたりgoogleで調べてみるところから
始めるのがいいんじゃないかな。Nanも。
709Now_loading...774KB:2006/08/18(金) 19:42:27 ID:ycJLhtmR
>>708さん
???
trace()って出力パネルに書き出すことができるやつですよね。
Nanの意味が調べてみたんですがよくわかんないんですよ。
710Now_loading...774KB:2006/08/18(金) 19:44:19 ID:x5o7pF2L
わり。読み間違いた。
Number(w) / Number(ww)
でどう?
711Now_loading...774KB:2006/08/18(金) 20:09:51 ID:ycJLhtmR
>>710さん
成功しました!!
ご解答ありがとうございました!!
712Now_loading...774KB:2006/08/18(金) 22:37:59 ID:SgNbksir
>>705
C++が普及しだした頃、mainから滝のように処理されるCのコードを、ウォーターフォールモデルをもじってウォーターフォールコードと呼んだ
って昔話は今の若者は知らないか。。。
713Now_loading...774KB:2006/08/18(金) 22:58:54 ID:x5o7pF2L
若者と話が合わなくなるってのには同情するが残念ながらウォーターフォールコードって
googleで1件もヒットしなかったよ
714Now_loading...774KB:2006/08/18(金) 23:08:10 ID:XRFGDSDg
昔はそう呼んでいたって話じゃないの?
715Now_loading...774KB:2006/08/18(金) 23:11:51 ID:WEHrdTUz
塗りつぶされた四角形を描くActionを組んでみたんですけど、同じ"myBase.myDrawArea"内に描画する"鉛筆"的なやつのと
相性が悪いみたいで、鉛筆の上に四角をかくと変になるんです。それ以上の説明は難しいのでSWFのURLを書いておきます。
ttp://www005.upp.so-net.ne.jp/annin-factory/EPA-Paint.swf
一応、上が鉛筆のActionで、下が四角を書くActionです。
塗りつぶし系で何か問題でもあるんでしょうか。どこが変なのか教えてください!!!><


myBase.myDrawArea.lineStyle(_global.information_11, _global.information_12, _global.information_13, false, "none", "round", "round");
myBase.myDrawArea.moveTo(_root._xmouse, _root._ymouse);
myBase.myDrawArea.lineTo(_root._xmouse, _root._ymouse);
myBase.onMouseMove = function() {
myBase.myDrawArea.lineTo(_root._xmouse, _root._ymouse);
}
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
myBase.myDrawArea.beginFill(_global.information_64, _global.information_65);
if (_global.information_61 == 1) {
myBase.myDrawArea.lineStyle(_global.information_62, _global.information_63, _global.information_65, false, "none", "round", "round");
}else{
myBase.myDrawArea.lineStyle(0,0xFFFFFF,0);
}
myBase.myDrawArea.moveTo(v_firstXmouse, v_firstYmouse);
myBase.myDrawArea.lineTo(_root._xmouse, v_firstYmouse);
myBase.myDrawArea.lineTo(_root._xmouse, _root._ymouse);
myBase.myDrawArea.lineTo(v_firstXmouse, _root._ymouse);
myBase.myDrawArea.lineTo(v_firstXmouse, v_firstYmouse);
myBase.myDrawArea.endFill();
updateAfterStage();
v_judge6 = 1;
716715:2006/08/18(金) 23:13:26 ID:WEHrdTUz
続きです。
_global.information_**
は色の情報とかを格納しておく場所です。
他の描画は何の問題も無いんですが、この鉛筆と塗りつぶし四角の相性だけがわるくて・・。
どうか力を貸してください。
717Now_loading...774KB:2006/08/18(金) 23:18:17 ID:L8CAvhOg
ん?どうおかしいの?
718Now_loading...774KB:2006/08/18(金) 23:30:12 ID:L8CAvhOg
ああなんか塗りが鉛筆のとこまで持っていかれるね。

myBase.onMouseMove = function() {
myBase.myDrawArea.lineTo(_root._xmouse, _root._ymouse);
}

これが生きてるせいじゃないかな?
719Now_loading...774KB:2006/08/18(金) 23:30:22 ID:Xg3EF+cO
>>715
Flash7でパプリッシュしてみては
720Now_loading...774KB:2006/08/18(金) 23:48:11 ID:x5o7pF2L
マウスリスナー使って付けはずしした方がいいんじゃないかな。
721715:2006/08/20(日) 22:31:38 ID:Mkqb5X+I
>>718-720
回答ありがとうございます。
>>719
やってみます。
>>720
マウスリスナーの実装方法みたいのよくわからないんですが。。。
どんななんですか?
722Now_loading...774KB:2006/08/21(月) 00:03:06 ID:fCfZfajK
>>721
ヘルプを
Mouseクラスで検索
723Now_loading...774KB:2006/08/21(月) 21:55:31 ID:y/EQCEt3
actionscriptって結構高機能だと思うけど、その割りにいまいち普及しないのはなんでですか?
724Now_loading...774KB:2006/08/21(月) 22:05:57 ID:fCfZfajK
>>723
へ?なんかよくわからん。
725Now_loading...774KB:2006/08/21(月) 22:07:56 ID:tpWHSYjw
>>723
金にならない
726Now_loading...774KB:2006/08/21(月) 22:38:08 ID:y/EQCEt3
なんつーか、PHPとかajaxとかはやってるじゃん。
actionscriptでよくね?
727Now_loading...774KB:2006/08/21(月) 22:41:05 ID:AzoN9INO
名前がダサいからだと思うな
728Now_loading...774KB:2006/08/21(月) 22:41:32 ID:4U/dstm2
Flashの仮想マシンでしか動かないマイナースクリプト言語を
どう普及させろと?。
729Now_loading...774KB:2006/08/21(月) 22:43:44 ID:fCfZfajK
開発環境がない
730Now_loading...774KB:2006/08/21(月) 23:01:44 ID:M1K+2OR5
アリの巣コロリってあるじゃん。
蟻の行列にポンと置くと、一瞬ビックリして列が乱れる。
邪魔だなと言わんばかりに迂回する列が出来る。
そのうち好奇心旺盛な一匹がアリの巣コロリに入る。
そいつをマネして何匹も入る。
毒とも知らずにツブツブを運び出す。一匹が一粒づつ。
いつのまにか行列はアリの巣コロリが折り返し地点になる。
黄色い粒と黒い蟻が作り出す模様は綺麗で見てて楽しい。
一匹が一粒づつ、丁寧にせっせと毒の粒を運ぶ。
せっせと、せっせと、せっせと、せっせと。
蟻さんって働き者だなと思う。俺も頑張らなきゃなと思う。
次の日、あれほど沢山いて俺を困らせた蟻が一匹もいない。
ほんとにいない。探してもいない。泣きたくなった。


このレスを見た人は4日後にあなたの大切な人がいなくなるでしょう・・・・
それが嫌ならこのレスを5つの板にコピペしてください。
信じるか信じないかはあなた次第です。
731Now_loading...774KB:2006/08/21(月) 23:36:58 ID:y/EQCEt3
まぁ、信じねぇけどw
732Now_loading...774KB:2006/08/22(火) 02:33:39 ID:fXu1wzHX
>>723
言語としてのActionScriptの事を言ってる?
AS2までであればActionScriptの元となったECMAScriptの更に元となったJavaScriptやJScriptがとんでもなく普及してる
AS3の実装であればJScript.NETがAS3以上のレベルで実装しているし、.NET Frameworkが使えるから開発環境としても強い

そもそも一体何をして「actionscriptって結構高機能」だと思ったんだ?
オブジェクト指向を実装できる言語としてはありきたりというか低機能だし、IEがサポートしていることで数の上では超絶に普及しているJScriptと比較しても大差ないし

PHPとASを比較するなら、とっくにJavaScriptやJScriptやJScript.NETを実装するサーバ製品があり、今更ASがどうこうって市場は無い
AJAXは「Asynchronous JavaScript XML」の略語であって、JavaScript/JScriptベースで実装されているのに今更ASの出る幕は無い

根本的にASより多機能かつ同じ種族のJavaScript系が市場を席巻しているわけなんですよ
そもそもAdobeが「Flashの開発言語はASです」と言わなきゃJavaScriptの劣化移植としか思ってくれないだろうし

こういうところも見とけ

ActionScript と JavaScript の違い
http://livedocs.macromedia.com/flash/8_jp/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001214.html

Flashのためにライトに移植された言語であって、今の時代のWebProgで汎用的に使えるとは思えんがな
733Now_loading...774KB:2006/08/22(火) 07:31:46 ID:TPfk6aoo
うぜえな
734Now_loading...774KB:2006/08/22(火) 09:56:49 ID:MaDQ30Ph
うむ。
余計な説明とか、文章は下手だな。
735Now_loading...774KB:2006/08/22(火) 10:34:16 ID:TPfk6aoo
どうせウォーターフォールの人だろ
736Now_loading...774KB:2006/08/22(火) 10:41:30 ID:AlXGDpBH
をたほる(笑
737Now_loading...774KB:2006/08/22(火) 11:38:00 ID:fXu1wzHX
当たり orz


老害は去る。。。
738Now_loading...774KB:2006/08/22(火) 11:50:40 ID:FbEKDk+O
内積を使った斜面とボールの当たり判定はわかるのですが、
その後のボールが斜面に当たって跳ね返る処理がどうしてもわかりません。
詳しく解説しているサイトを御存知ありませんか?
739Now_loading...774KB:2006/08/22(火) 14:00:03 ID:gzVw5MLm
質問です。同フレームに下記のASを書いているのですが・・・。


↓1フレーム目に記載
taiko_sound.onLoad = function(success) {
if (success) {
_root.hyouji = "読み込み成功";
} else {
_root.hyouji = "読み込み失敗";
}
}
bgm = ["bgm1", "bgm2"];
bgm_a = bgm[Math.floor(Math.random()*bgm.length)];
if (bgm_a == "bgm1") {
taiko_sound = new Sound();
taiko_sound.loadSound("default_001.mp3", false);
} else if (bgm_a == "bgm2") {
taiko_sound = new Sound();
taiko_sound.loadSound("default_002.mp3", false);
}
このASで変数 hyouji に「読み込み成功」または「読み込み失敗」が表示されませんorz
私が実行したいのは「外部ファイルMP3の「default_001(002).mp3」をロードさせ、
読み込みが終わったら〜〜のフレームへいく。」です
変数hyoujiに「読み込み成功」と表示されないので音楽が流れないしコマが進みませんorz
どなたかお分かりになられる方よろしくお願いしますorz
740Now_loading...774KB:2006/08/22(火) 14:02:36 ID:gzVw5MLm
以下続き書きますです・・・。

このフレームから2フレーム先(3フレーム目)に

if (_root.hyouji == "読み込み成功"){
this.play();
} else {
this.gotoAndPlay(2);
}

と書いています。それで4フレーム目に taiko_sound.start(0,999);
としています。
お願いします・・・。
741Now_loading...774KB:2006/08/22(火) 14:10:20 ID:MaDQ30Ph
742Now_loading...774KB:2006/08/22(火) 14:24:28 ID:PcNQKRRO
>>739
その処理順だと、taiko_soundインスタンスを生成してないのに、
taiko_soundインスタンスを使用したイベントハンドラメソッドを定義してるのが問題じゃないかな。

Soundインスタンス.onLoad = function(){} ;
をif文の後に入れてみては?
743Now_loading...774KB:2006/08/22(火) 15:03:35 ID:RRUKa5OD
初心者ですが、座標関係の書き方がわからず困っています。
マウスポインタに追従するものは良く見かけますが、
逆にポインタが近づくと逃げていき、またもとに戻るという
動きをつけたいのですが、教えていただけませんか。
すでに過去ログや参考にできるサイトがあればそちらも教えてもらえればうれしいです。

XPでMXです。
744Now_loading...774KB:2006/08/22(火) 15:14:13 ID:r3utMeJV
質問です。
gotoAndPlayって再生中だと効かないんですか?
(;゚Д゚)ウゴカネー
745744:2006/08/22(火) 15:25:02 ID:r3utMeJV
動いた。最初のフレームは表示されんのか
746Now_loading...774KB:2006/08/22(火) 16:02:56 ID:gzVw5MLm
>>742
ありがとうございます。かれこれ2時間の死闘のすえ>>742さんの指導で
なんとか動かせることができました。

本当にありがとうです^^
747Now_loading...774KB:2006/08/22(火) 17:01:41 ID:ndUW0aSr
>>743
>ポインタが近づくと逃げていき、またもとに戻る
具体的にどうゆう動作を想定してるのか、もっと細かく言ってくれ
「任意の距離より近づいたら、任意の距離はなれる」のか
「常にポインタとの距離を一定に保とうとする」のか
そのMCは常に動いてるのか、それともマウスポインタが接近したときだけ動くのか
748Now_loading...774KB:2006/08/22(火) 17:32:59 ID:MoPnlG09
マウスカーソルの代わりに画像をつかうのはどうすればいいですか?
749Now_loading...774KB:2006/08/22(火) 17:41:38 ID:RRUKa5OD
>>747
レスありがとうございます、
マウスポインタが接近したときだけ(任意の距離に近づいてきたら)
逃げていき、ポインタが離れるともとの位置に戻るものです。
距離は一定ではなく、加速度的にある距離まで逃げたら、そこからまた
徐々にスピードを上げてもとの場所に戻る、
蛇足ですが↓のような感じです。

ttp://up2.viploader.net/pic/src/viploader277034.jpg

750Now_loading...774KB:2006/08/22(火) 17:46:34 ID:33SmeEaJ
751Now_loading...774KB:2006/08/22(火) 17:47:11 ID:33SmeEaJ
752Now_loading...774KB:2006/08/22(火) 18:50:09 ID:Tc5U3pCr
>>749
onClipEvent (enterFrame) {
R = 100;X = 150;Y = 150;
if(Math.sqrt(Math.pow(Math.abs(_root._xmouse-X), 2)+Math.pow(Math.abs(_root._ymouse-Y), 2))<R){
_x -= 100/(_root._xmouse-_x);
_y -= 100/(_root._ymouse-_y);
} else {this._x += (X-_x)*0.15;this._y += (Y-_y)*0.15;}
}
なんかぎこちないけどこんな感じ?
753Now_loading...774KB:2006/08/22(火) 19:37:55 ID:RRUKa5OD
>>752
x座標とy座標の2乗を計算させてR以下の範囲に
入ってくると・・・
っていうところまではなんとなくついていけるのですが
動かしたい対象のインスタンス名(フレームラベル?)などは
どのように指定すればいいのでしょうか?
座標うんぬん以前の基礎でもうしわけありません
754Now_loading...774KB:2006/08/22(火) 19:51:00 ID:RRUKa5OD
>>752
すいません、動きました、が、
逃げるときも、元の座標に戻るときのように
速度に変化をつけたいのですが
難しいでしょうか
755Now_loading...774KB:2006/08/22(火) 20:14:28 ID:MoPnlG09
ボタンがおされたら特定のレイヤーを非表示にすることはできますか?
756Now_loading...774KB:2006/08/22(火) 20:16:45 ID:ELj6TqA2
>>755
特定のレイヤー>×
特定のMCやテキストフィールドなど>○
757Now_loading...774KB:2006/08/22(火) 20:57:02 ID:MoPnlG09
756そうですまちがえました
758Now_loading...774KB:2006/08/22(火) 21:29:09 ID:gHvVtife
>>748
画像をmcにしてその座標をマウスの座標に設定してやればいい。
startDragとかonEnterFrameで_xと_yを設定してやる。
759Now_loading...774KB:2006/08/22(火) 21:51:18 ID:gHvVtife
>>754
これと組合わせればいいんじゃない?
逃げるボタン
ttp://hfm-kenchan.com/Lesson/log_qa/D0410161.htm
760Now_loading...774KB:2006/08/22(火) 22:41:11 ID:MoPnlG09
ボタンをマウスにぴったり追従させたいのですがどうすればいいでしょうか?
761Now_loading...774KB:2006/08/22(火) 22:46:27 ID:PHihfAAo
>>738
ボールから線の交点までのベクトルを求める
交点とベクトルを加算する(座標A)
座標Aから線の法線方向で、線と交点を取る(座標B)
座標Aから座標Bまでのベクトルを求める
座標Bとベクトルを加算する(座標C)
最初の交点から座標Cまでのベクトルが反射ベクトル。
762Now_loading...774KB:2006/08/22(火) 22:48:22 ID:AlXGDpBH
>>760
つまりマウスといっしょに動くってこと?相対速度0?
なら、
this.onMouseMove = function () {
icon_mc._x = _xmouse;
icon_mc._y = _ymouse;
}

でよくね?
763Now_loading...774KB:2006/08/22(火) 22:49:17 ID:7UQM6Aa/
>>760
onClipEvent (mouseMove) {
this._x+=this._xmouse;
this._y+=this._ymouse;
updateAfterEvent();
}
764Now_loading...774KB:2006/08/22(火) 22:51:47 ID:x+kIzgbV
ぶっとばね?
765Now_loading...774KB:2006/08/22(火) 23:05:25 ID:faPmo5aC
+=
766Now_loading...774KB:2006/08/22(火) 23:52:10 ID:MoPnlG09
ひとつめは構文エラーがでて、ふたつめは動作しませんでした。何度もすいません。マウスにボタンがくっついてくればいいんですが
767Now_loading...774KB:2006/08/22(火) 23:59:58 ID:7UQM6Aa/
>>766
this.onMouseMove = function() {
this.button1._x += this.button1._xmouse;
this.button1._y += this.button1._ymouse;
updateAfterEvent();
};
768Now_loading...774KB:2006/08/23(水) 00:15:00 ID:9Zqpp6BL
>>766
>>762のはフレームに記述してボタンにicon_mcってインスタンス名つける。
769Now_loading...774KB:2006/08/23(水) 00:18:47 ID:JqY/H/xf
しつこくてすいませんができません。フレームのボタンのアクションの中にそのまま記述するだけではだめなんでしょうか?
770Now_loading...774KB:2006/08/23(水) 00:42:40 ID:wEOWJd3B
>>769
ムービークリップにしか書けない件について
onClipEvent (mouseMove) {
_x = _parent._xmouse;
_y = _parent._ymouse;
updateAfterEvent();
}
771Now_loading...774KB:2006/08/23(水) 01:14:46 ID:qvBfdilu
>>752
>>759
ありがとうございます、
とりあえずやってみます。
うまく組み合わせられればイメージどおりのものができそうです。
772738:2006/08/23(水) 01:28:48 ID:AA1nCIxX
>>761
すみません、申し訳無いのですがさっぱり解りません。
何か図で解説しているサイトを御存知ありませんか?
773Now_loading...774KB:2006/08/23(水) 05:24:57 ID:rFWimL5m
>>772
内積を使ったあたり判定がわかるなら解ると思けどな。
せっかくしっかりレスしてもらってるんだから、
解らない単語とかを自分でググるなり参考書読むなりすれば?
できないなら、さっぱり、あきらめましょう。
774Now_loading...774KB:2006/08/23(水) 07:57:30 ID:wEOWJd3B
>>772
第01引数ベクトル
第02引数地面の法線

function ReflectVector(s,n){
var t = -(n.x * s.x + n.y * s.y)/(n.x * n.x + n.y * n.y);
return {
x : s.x + t * n.x * 2.0,
y : s.y + t * n.y * 2.0
};
}
775Now_loading...774KB:2006/08/23(水) 10:40:32 ID:kbNI1J+/
CGIでDBから数十件のデータを取得
それをASに渡してリストボックスで表示させているのですが

この渡された数十件のデータを20単位で分割して
次に進むボタンなどを押したら次の100件が表示される、
というようなスクリプトを書きたいのですが

どのようなスクリプトを書けばいいのでしょうか?
プログラミングスレが良いと思ったけど
コンポーネントを使っているのでこっちにしました。

ASには「gyou=800&data1=aaa&data2=bbb&data3=ccc」
このような形で値を渡しています。(「gyou」はDBから引き出された行数)

ASの方のソースは現在
.onLoad=function{

for( var i = 0 ; i < parseInt(this.gyou) ; i++){

var data:String="data"
var cnt:String = String(i)
var DBdata:String = data + cnt

_parent.listbox.addItem(this[DBdata])
}
}
.sendAndLoad()
上のような形になっています。

宜しくお願いします。
776Now_loading...774KB:2006/08/23(水) 10:50:11 ID:W8WakYV3
http://www.example.comにあるSWFから
https://test.example.comにあるFLVファイルをロードしたいのですが

System.security.allowDomain("www.example.com", "test.example.com");
my_lc.allowDomain = function(sendingDomain) {
return (sendingDomain == "www.example.com" || sendingDomain == "test.example.com");
};
System.security.allowInsecureDomain("www.example.com", "test.example.com");
my_lc.allowInsecureDomain = function(sendingDomain) {
return (sendingDomain == "www.example.com" || sendingDomain == "test.example.com");
};

これをSWFに書いてもしょうがないのでしょうか。
読み込めるようにする方法を教えてください。
777Now_loading...774KB:2006/08/23(水) 11:25:45 ID:qRyScJVH
>>775
ページ管理用の変数を用意すればいいんじゃない?
こんな感じで
.changePage =function(p){
var _start=(p-1)*20
var _end = start+20
_parent.listbox.removeAll()
for(var i=_start;i<_end;i++){
_parent.listbox.addItem(this["data"+i])
}
}
.onLoad=function{
this.pageIndex = 1
this.changePage(pageIndex)
}
で、ボタンは変数pageIndex更新してchangePage呼ぶ

それと、CGI側いじれるなら、800件のデータだったらCSV形式で
渡してしまった方が扱いが楽かなあ。
778Now_loading...774KB:2006/08/23(水) 11:29:58 ID:qRyScJVH
>>776
「読み込まれる側」に書かないと意味がないよ。
じゃないと好きに読み込めちゃうからね。

https://test.example.comのルートにセキュリティーポリシーファイルを
置くと読み込めるようになるよ。
ttp://livedocs.macromedia.com/flash/8_jp/main/00001621.html#703729
779Now_loading...774KB:2006/08/23(水) 18:51:14 ID:W8WakYV3
>>778
ありがとうございます。
無事読み込むことができました。
780Now_loading...774KB:2006/08/23(水) 20:33:26 ID:Fi2QGeq7
ローカル変数がいまいち分かりません。
参照できる範囲が分かりません。
781Now_loading...774KB:2006/08/23(水) 20:37:55 ID:6T/olD0r
関数の中で使ったのは関数の中でしかつかえん。
ってとりあえず思っとけば?

function func(){
var i;


i=i+i;
//使える
}

a = i+i;
//使えない
782Now_loading...774KB:2006/08/23(水) 20:48:50 ID:Fi2QGeq7
なんか、どの本よりもいいヒント教えてもらった気がする。
ありがとうございました、馬鹿ですみません。
783Now_loading...774KB:2006/08/23(水) 21:01:59 ID:J74eGa5v
どういう本を読んだんだろう・・。
784Now_loading...774KB:2006/08/23(水) 21:13:19 ID:6T/olD0r
えと、テキトーすぎで、しかも間違ってるよな?>>781
785Now_loading...774KB:2006/08/23(水) 21:28:28 ID:SDSM+b+0
>>781
正確に言うなら
関数の中でローカル変数として定義したものはその関数のスコープの中でしか存在しない

例えるなら「俺の脳内美少女は他の奴には見れないw」

ヘルプの例
var str1:String = "Timeline";
function scopeTest():Void {
var str1:String = "Local";
trace(str1); // ローカル
}
scopeTest();
trace(str1); // タイムライン
786Now_loading...774KB:2006/08/23(水) 23:07:28 ID:wEOWJd3B
他の言語と違って
かっこを書いただけではスコープにならないのが
ちとややこしい。

var a = 10;
{
var a = 20;
trace(a);
}
trace(a);

787Now_loading...774KB:2006/08/23(水) 23:46:20 ID:dBQzIToR
ECMAscriptベースだからね
788Now_loading...774KB:2006/08/24(木) 03:25:03 ID:paQeFQ7n
気になって検索したらFlashのActionScriptコンパイラに変な癖があるのね

Flashマインドマップ開発ブログ: 環境をFlash Media Server2に変更
ttp://www.plants-web.jp/flashmind/blog/2006/01/flash_media_server2.html
※最初のコードサンプル(背景が灰色の領域)

同じ名前の変数でスコープを重複できるってのはバグを誘発する仕様だなぁ
MX2004までしか使ったこと無いけど、Flash8以降は直っているのかな?
789Now_loading...774KB:2006/08/24(木) 06:50:49 ID:E75J901A
重複してねーだろ
よく嫁
790Now_loading...774KB:2006/08/24(木) 07:00:21 ID:iriQx7HK
重複してると思うが、、、varで再定義出来るのがコンパイルエラーにならんのが
いかんと言ってるのでは?
791Now_loading...774KB:2006/08/24(木) 07:42:41 ID:GkCS4w7l
マウスカーソルに追従するボタンのことで質問なんですが、フラッシュの範囲内にはいったら自動的によってくるボタンはどうやったらいいのでしょうか?
792Now_loading...774KB:2006/08/24(木) 09:17:31 ID:OsnweeZ9
>>791
座標プロパティをマウス座標に漸近させる
793Now_loading...774KB:2006/08/24(木) 13:14:32 ID:3z9I7D9P
swfの範囲外にマウスポインタが飛び出た際、それを検出する方法はonハンドラ以外にないでしょうか?

現在、onRollOverイベントを持つA領域にマウスポインタが乗るとA領域が広がり、
そのA領域上にメニューボタンが出てくるFlashを作っています。(ボタンの中のボタン)
この場合、広がった段階で、一度A領域をenable = falseにしてイベント無効化します。
無効化しないでおくと、出てきたメニューボタンのどれかにマウスポインタが乗った際に
A領域のonRollOuイベントが発動してしまうためです。
(このためA領域onRollOutをA領域を閉じる条件として使えない)
また、残しておくと本来クリックイベントを持たない領域でも、指マウスポインタになってしまい
クリックできるように見えてしまい、デザイン的にも問題があるため無効化せざるを得ません。

そこで、A領域からマウスポインタがはみ出た、というA領域を閉じるための条件をA領域とマウスポインタ位置との
hitTestで実現してみたのですが、html上に貼ったswfのサイズからマウスポインタが飛び出たことをhitTestは
検知できないみたいで、もんどりうってます。

マウスポインタがswf領域外に出たということを検知する方法はないのでしょうか?
(Flash上じゃ飛び出たことになってないから問題なのですが・・・)
バージョンはMX 2004(Flash7)です。
794793:2006/08/24(木) 15:17:22 ID:3z9I7D9P
どうやらAS3.0じゃDisplay.StageクラスにmouseLeaveイベントってのが用意されてるようですね・・・
これの代替処理をAS2.0でできないかなぁ。
すなおにA領域とswfサイズの幅を同じにしないで、空白スペース作ってそこに外れたかのhitTestしかないか。。
795Now_loading...774KB:2006/08/24(木) 17:42:26 ID:GkCS4w7l
クリックすると別のムービークリップAの透明度を100にするボタンのASを教えてください
796Now_loading...774KB:2006/08/24(木) 17:54:43 ID:s1HIqprB
A._alpha = 100;
を書けばいいんじゃないか??
797Now_loading...774KB:2006/08/24(木) 18:57:03 ID:GkCS4w7l
ある特定の領域からドラッグを開始して特定の領域ではなした時にアクションをおこさせるにはどのASでしょうか?
798Now_loading...774KB:2006/08/24(木) 19:04:48 ID:s1HIqprB
ID:GkCS4w7l
もうちょっと勉強する気ないのか?
いつまでも初心者から抜けだせないお
799Now_loading...774KB:2006/08/24(木) 19:31:34 ID:K73Steh6
this.createEmptyMovieClip("pictMC", this.getNextHighestDepth(), {_x:0, _y:0});
var pictlListener:Object = new Object();
pictlListener.onLoadComplete = function(target_mc:MovieClip) {
trace(target_mc._height);
};
var image_mcl:MovieClipLoader = new MovieClipLoader();
image_mcl.addListener(pictlListener);
image_mcl.loadClip("./img/01.jpg", this.pictMC);

としたのですが、読み込んだ画像の高さを取得できませんでした。
どうすれば読み込んだ画像の高さを得られるか教えてください。
800Now_loading...774KB:2006/08/24(木) 19:48:47 ID:0yv/m5jF
>>799
onLoadCompleteの時点ではJPEGのwidth/heightは取得出来ません。
onLoadInitの時点では取得出来ます。
801Now_loading...774KB:2006/08/24(木) 19:52:50 ID:K73Steh6
>>800
ありがとうございます!
completeはあくまで読み込み終了であって、
画像自体については初期化されないと何もできないってことですね。
勉強になりました。
802Now_loading...774KB:2006/08/24(木) 20:36:49 ID:GkCS4w7l
798携帯からしかインターネットがみれないんです(・_・|いちおう解説書もかったのですがわからない
803Now_loading...774KB:2006/08/24(木) 20:45:43 ID:YkzNW1zA
swich case文でつまりました。

switch (aaa) {
case "1":
処理A
break;
case "2", "3":
処理A
break;

とすると"2"の時に処理してくれません・・・。
caseに複数の条件は指定できないのでしょうか?




FLASH MX
804803:2006/08/24(木) 20:49:42 ID:YkzNW1zA
補足です
環境はFlash MXです
805Now_loading...774KB:2006/08/24(木) 20:55:22 ID:pMXRdhYl
>>803
じゃあヒントだけ教える

aaa = "2"
switch (aaa) {
case "1" :
trace("1");
break;
case "2"||"3" :
trace("2か3");
break;
default :
trace("失敗");
}

裏技だ、あまり薦められない。おとなしくcaseを2つ作っとけ
806Now_loading...774KB:2006/08/24(木) 20:59:22 ID:e5PMYYVf
ヘルプでswitch文嫁
807Now_loading...774KB:2006/08/24(木) 21:10:23 ID:zAaPw+Ih
>>979
startDrag()、stopDrag()、と xy座標

>>803
 case "2":
 case "3":
  処理B
break;
808803:2006/08/24(木) 21:18:00 ID:YkzNW1zA
ありがとうございました
caseを連ちゃんで書けばよいのですね
809Now_loading...774KB:2006/08/24(木) 21:22:37 ID:pMXRdhYl
>>803
switch (aaa) {
case "1" :
trace("1");
break;
case (aaa == "2" ? "2" : aaa == "3" ? "3" : aaa == "4" ? "4" :"5") :
/*↓が楽w
 case "2":
 case "3":
 case "4":
 case "5":
*/
trace("2か3か4か5");
break;
default :
trace("わかりにくいけど805は失敗だから");
}
810Now_loading...774KB:2006/08/24(木) 22:48:00 ID:jP22EKmE
すいません

フラッシュでクイズゲームを作ろうとおもっているんですが何か参考になる文献、サイト等ありませんか?

僕は普段、go toとかstopしか使ってなくてゲームを作るのは初です
811Now_loading...774KB:2006/08/24(木) 23:51:46 ID:6gxtV4Oc
>>810
それだけでも十分ゲーム作れるのがFlash
812Now_loading...774KB:2006/08/24(木) 23:52:24 ID:6gxtV4Oc
>>811
十分を充分に訂正
813810:2006/08/25(金) 02:07:22 ID:mzC26p9N
点数とかもう少し難しいことをしたくて

4択のクイズゲームを作るつもりなんですが
814Now_loading...774KB:2006/08/25(金) 02:36:04 ID:jkWCKD71
ASの基礎を知ったほうが早いかも
815Now_loading...774KB:2006/08/25(金) 02:51:10 ID:Oiv7bpIr
>>813
4択ゲームは画面に
・問題を表示するテキストフィールド ×1
・解答表示するボタン(ボタンを押して解答を選ぶ場合) ×4
が必要。
問題文、解答を配列に読み込みシャッフル。
正しい解答を選んだら正解数を加算。
という大まかに流れを考えてつくっていく。聞くときも要点を絞って聞く。
ASを触ったことがなければ、まず基礎を勉強する(ヘルプ見る)といい。
そしてゲームを作るのに参考になるサイトといったらココが有名。
ttp://hakuhin.hp.infoseek.co.jp/main/as.html
816Now_loading...774KB:2006/08/25(金) 13:41:41 ID:tTAWEjfH
配列のソートなんですが、
arr[0] = newArray("apple",100);
arr[1] = newArray("orange",84);
arr[2] = newArray("cherries",95);
という配列のときに、apple、orange、cherriesの部分でソートしたいのですが、
arr.sortでは、0、1、2でソートされるでしょうし、
arr[0].sortでは、"apple",100でソートされてしまいどうにもわかりません。

結果として、
arr[0][0],arr[2][0],arr[1][0]の順で並びかえたいです。
どのようにすればいいのでしょうか、
817Now_loading...774KB:2006/08/25(金) 13:54:57 ID:lS2u2UQF
>>816
自分でソートのアルゴリズム作ってみるといいよ
バブルソートでググれ
818Now_loading...774KB:2006/08/25(金) 13:56:20 ID:mxvZyVlv
>>816
そういうソートだとソートのアルゴリズムを自分で用意するしかないかな。
arr = [["apple", 100],["orange", 84],["cherries", 95]]
function compare1stFieldByString(a,b){
return (a[0]<b[0]) ? -1 : (a[0]==b[0]) ? 0 : 1
}
arr.sort(compare1stFieldByString)
trace(arr)
とか。詳しくはsortメソッドのヘルプに載ってるよ。
819Now_loading...774KB:2006/08/25(金) 13:58:36 ID:ptWXhm/F
820Now_loading...774KB:2006/08/25(金) 14:01:21 ID:uON7KWPe
arr.sort(1) ;
じゃダメなのか?
821818:2006/08/25(金) 14:11:01 ID:mxvZyVlv
>>820
お、いけるいける。っていうか、そのまま配列を持つ配列sortすると
最初の要素で比較するみたい。引数に「1」指定すると大文字小文字
ノーチェックモードになるから、単に、
arr = [["apple", 100],["orange", 84],["cherries", 95]]
arr.sort()
trace(arr)
これでけでも行けたよ。
822Now_loading...774KB:2006/08/25(金) 17:11:06 ID:Afsk97K2
onClipEvent (enterFrame) {
if (overFlag == true) {
this._rotation += 15;
}
}
onClipEvent (load) {
overFlag = false;
}
on (rollOver) {
overFlag = true;
trace("ロールオーバー");
}
on (rollOver) {
overFlag = false;
trace("ロールアウト");
}
あるMCをマウスがロールオーバーしたら回転するようにしたんでが、動きません。
出力パネルを見ながらMCにマウスを乗せたら、「ロールオーバー」と「ロールアウト」
が同時に出力されました。これってフラグが上がったと同時にフラグが下がったという
ことですか?それじゃ動きませんよね。どうすればよいですか??
教えてください。
823Now_loading...774KB:2006/08/25(金) 17:24:25 ID:Oe2ylXqf
Array.push()を使って,構造体を配列に入れたいんですが,

tmp = {a:"hoge",b:"hage",c:"huge"};
a_array.push(tmp);

ってやると,

a_array[0].a is hoge
a_array[0].b is null
a_array[0].c is null

a_array[1].a is hoge
a_array[1].b is hage
a_array[1].c is null

a_array[2].a is hoge
a_array[2].b is hage
a_array[2].c is huge

なんて入り方をして困っています.
何かいい手は無いでしょうか.
824Now_loading...774KB:2006/08/25(金) 17:30:46 ID:Oe2ylXqf
>>823です.
単なるプログラムミスでした.
ごめんなさい.
825Now_loading...774KB:2006/08/25(金) 17:53:49 ID:N0ZRy0Kx
>>822
そのtrace()のまんまやん。
on (rollOver)でtrace("ロールアウト")してる。
826Now_loading...774KB:2006/08/25(金) 18:04:51 ID:Afsk97K2
>>825
あああああぁぁ あ ぁぁ  ぁぁあ あ あ ・・・!!!

間違えたぁぁぁぁ!!

なんて初心的なミスを・・・。
わざわざ自分のくだらないミスを指摘してくださり
本当にありがとうございました!!
おかげでちゃんと動きました!!
827Now_loading...774KB:2006/08/25(金) 19:17:43 ID:p58YDQqB
質問ですー。
setIntervalで定期的に呼び出す関数にsetIntervalのIDを引き渡して関数の中でclearIntervalしたいのですがなにか良い方法あるでしょうか?
例えば、こんな感じです↓(もちろんこのfuncではIDは取れてません)

ID = setInterval("func",interval,ID);
・・・
function fucn(id){
  clearInterval(id);
}
グローバルな変数を用意しても良いのですが、いくつか同時にsetIntervalすることを考えるとあまりしたくないです。
教えてください。OSはXPでFLASH8です。
828Now_loading...774KB:2006/08/25(金) 20:13:07 ID:5jN9lXIR
clearInterval(ID)でいいんでね?
829Now_loading...774KB:2006/08/25(金) 20:22:12 ID:xj3982QG
>>827
こんな感じでどう?

────────────────────────
function func(id){
clearInterval(id);
}
function newInterval(){
var obj = this;
var id;
var ifunc = function () {
obj.func(id);
};
id = setInterval(ifunc, 1000);
}
newInterval();

────────────────────────

function func(obj) {
clearInterval(obj.id);
}
var obj = new Object();
obj.id = setInterval(func, 1000, obj);

────────────────────────
830810:2006/08/25(金) 20:31:10 ID:mzC26p9N
>>815
ありがとうございます
やってみます
831Now_loading...774KB:2006/08/26(土) 00:50:51 ID:h//vmrjO
FLASHの枠内にはいると自分からマウスカーソルに猛烈な勢いで近づいていくボタンのASお願いします
832Now_loading...774KB:2006/08/26(土) 01:37:34 ID:WtdhOSai
_root.onEnterFrame = function ()
{
var v;
setInterval(mouretu,100);
}
function mouretu()
{
if(sample_btn._x < _xmouse-10)
{
sample_btn._x += 1;
}
else if(sample_btn._x > _xmouse-10)
{
sample_btn._x -= 1;
}

if(sample_btn._y < _ymouse-10)
{
sample_btn._y += 1;
}
else if(sample_btn._y > _ymouse-10)
{
sample_btn._y -= 1;
}
}


しらんwwwwwwww
833Now_loading...774KB:2006/08/26(土) 01:44:21 ID:iBG/UbN8
3行でコーヒー吹いた
834Now_loading...774KB:2006/08/26(土) 01:55:24 ID:h//vmrjO
ありがとうございます!MOURETUはインスタンス名でしょうか?
835Now_loading...774KB:2006/08/26(土) 02:14:37 ID:WtdhOSai
あ、ふざけてただけだお。。。
たぶんちゃんと動かないおー
836Now_loading...774KB:2006/08/26(土) 02:17:23 ID:uUrb05wX
btnSize = 20;
btnColor = 0x0000FF;
btnLineWidth = 3;
btnLineColor = 0x000066;
speed = 0.5;
function btnOver(){this._alpha = 50;}
function btnOut(){this._alpha = 100;}
function btnRelease(){this._alpha = 100;trace("btnRelease");}
function drawCircle(mc:MovieClip, x:Number, y:Number, r:Number):Void {
mc.beginFill(btnColor);
mc.moveTo(x + r, y);
mc.curveTo(r + x, Math.tan(Math.PI / 8) * r + y, Math.sin(Math.PI / 4) * r + x, Math.sin(Math.PI / 4) * r + y);
mc.curveTo(Math.tan(Math.PI / 8) * r + x, r + y, x, r + y);
mc.curveTo(-Math.tan(Math.PI / 8) * r + x, r + y, -Math.sin(Math.PI / 4) * r + x, Math.sin(Math.PI / 4) * r + y);
mc.curveTo(-r + x, Math.tan(Math.PI / 8) * r + y, -r + x, y);
mc.curveTo(-r + x, -Math.tan(Math.PI / 8) * r + y, -Math.sin(Math.PI / 4) * r + x, -Math.sin(Math.PI / 4) * r + y);
mc.curveTo(-Math.tan(Math.PI / 8) * r + x, -r + y, x, -r + y);
mc.curveTo(Math.tan(Math.PI / 8) * r + x, -r + y, Math.sin(Math.PI / 4) * r + x, -Math.sin(Math.PI / 4) * r + y);
mc.curveTo(r + x, -Math.tan(Math.PI / 8) * r + y, r + x, y);
mc.endFill();
}
function mouretsuMove() {
btn._x += (_root._xmouse - btn._x) * speed;
btn._y += (_root._ymouse - btn._y) * speed;
}
this.createEmptyMovieClip("btn", this.getNextHighestDepth());
btn.lineStyle(btnLineWidth, btnLineColor);
drawCircle(btn, 0, 0, btnSize);
this.onEnterFrame = mouretsuMove;
btn.onRollOver = btnOver;
btn.onRollOut = btnOut;
btn.onRelease = btnRelease;
837Now_loading...774KB:2006/08/27(日) 01:06:01 ID:Mm8MGlpW
ボタンのシンボルをライブラリに登録しておいて、それを attachMovie で動的に作成しています
その作成したボタンに字を書こうと、createTextField で文字を追加しようとしているのですが、上手く行きません

下記のコードを実行しても、ボタンには何も表示されません

new_mc.createTextField("caption_txt", new_mc.getNextHighestDepth(), 2, 2, 100, 50);
new_mc.Name_txt.autoSize = true;
new_mc.Name_txt.text = "ボタンのキャプション";

コードの「new_mc」を「_root」にすると、ステージ上にテキストが追加されるため、もしかしてボタンには使えないコードなのかとも思っています
ちなみにボタンには「アップ」と「オーバー」にキーフレームが設定されてます

今回初めてボタンのシンボルから attachMovie しているのですが、もしかしてボタン相手に createTextField するときの作法みたいなのがあるのでしょうか?
分かる方教えてください
838Now_loading...774KB:2006/08/27(日) 01:16:44 ID:QhBcbJtx
ボタンシンボルの存在を忘れてしまえばいい。
この世にはムービークリップしかないと思えばいいんだよ。
839Now_loading...774KB:2006/08/27(日) 02:48:28 ID:Mm8MGlpW
>>838
レスありがとうございます。
助言に従い、ボタンシンボルをムービークリップシンボルにし、RollOverとRollOutを使ってボタンっぽく見せかけることで対処しました。
ありがとうございました。
840Now_loading...774KB:2006/08/27(日) 03:19:44 ID:k+FfQUmi
ボタンでスクリプトは動作しないよ。
動的に動作を変えたいならムービークリップにするしかない。
フレームラベルに_upとか_overとか入れれば似たような作り方ですむし。
841Now_loading...774KB:2006/08/27(日) 04:09:56 ID:j7hfMplJ
質問。flashMX2004で作っています。
SharedObject に、自作クラスのインスタンスを保存したいんですが、
どうもできないみたいです。
SharedObject には基本型しか保存できないのでしょうか?
それとも何かやり方があるのでしょうか?
842Now_loading...774KB:2006/08/27(日) 05:00:19 ID:IJeoLSCt
>>841
何種類かの基本型(プリミティブというわけでもない)しかできない。
ユーザー定義クラスも出来ないから、バラすか配列を使ったりする。
どの型が保存可能かの詳細はヘルプで確認。
843Now_loading...774KB:2006/08/27(日) 05:14:47 ID:QwmXnK4s
ナウローディングみたいなバーで変数Xが500の時バーが最大、0の時バーは最小ということをバーに記述したいです。わかる方おられましたらお願いします
844Now_loading...774KB:2006/08/27(日) 05:23:01 ID:jvEvWqga
>>843
日本語でおねがいします
845Now_loading...774KB:2006/08/27(日) 06:52:07 ID:j7hfMplJ
> 842
できないんですか。
オブジェクトの共有に使うって言っても微妙に不便なんですね…。
解答ありがとうございました。
846Now_loading...774KB:2006/08/27(日) 10:58:33 ID:jvEvWqga
TextField.setTextFormat()
は、TextFieldの内容を変更する毎に実行しないといけないのでしょうか?

a_txt:TextField と x_fmt:TextFormat があるとして

x_fmt.font = "a_font";
a_txt.text = "aiueo";
a_txt.embedFonts = true;
a_txt.setTextFormat(x_fmt);

を実行すると、 "a_font" で描写されますが、
この後、

a_txt.text = "kakikukeko";

を実行すると、なぜか描写されません。
ということは、
a_txt.textに対して、setTextFormatする
のであって、
a_txtの(これから先も)すべてに適用されるものではないのですよね?

こんな解釈で間違っていませんか?
847Now_loading...774KB:2006/08/27(日) 11:59:57 ID:n0dss3x2
>>838
ワロタ
848Now_loading...774KB:2006/08/27(日) 13:44:00 ID:VBmfyNPh
>>846
そういうときは setNewTextFormat() を使いましょう。
おっしゃる通り、setTextFormat は現在あるテキストに対して設定します。
849Now_loading...774KB:2006/08/27(日) 18:49:50 ID:IJeoLSCt
>>843
「あしぷろ」でいんじゃねーの。ぐぐればすぐ出るとおも。
850Now_loading...774KB:2006/08/27(日) 20:42:22 ID:ss2uUXta
すいません教えてください。

100フレームまでのループするムービーの中に、
30、60、90フレームでそれぞれ20秒間停止するようにしたいのですが
どのように記述すれば良いんですか?
調べてみても、一定時間停止するには一時停止ボタンとか書いてあったり
するんですがボタンを配置していないので、
流れるムービーが一時停止するようにしたいのです。

だれかおねがいします。
851Now_loading...774KB:2006/08/27(日) 21:05:20 ID:E4EoTAOA
>>850
this.stop() ;
kameda = setInterval(waitplay , 20000) ;
function saisei(){
_root.play() ;
clearInterval(kameda) ;
}
852851:2006/08/27(日) 21:06:08 ID:E4EoTAOA
ごめん関数名間違えた。
>>851は無かったことに。

this.stop() ;
kameda = setInterval(waitplay , 20000) ;
function waitplay(){
_root.play() ;
clearInterval(kameda) ;
}
853Now_loading...774KB:2006/08/28(月) 00:24:00 ID:r+ZThOpL
すごく基本的な事のはずがなぜか出来ない・・・。
誰か助けてください!!

this.createEmptyMovieClip(clipA_mc, 0);
clipA_mc.loadMovie("clipB.swf");
clipA_mc.clipB_mc.onPress = function(){
trace(clipA_mc.clipB_mc._x);
}
clipB.swfの中にはclipB_mcがある状態なのに、なぜか反応しない・・・。

clipA_mc.clipB_mc.onPressをonMouseDownにしてみたところ、
traceが実行されてプロパティーを取得できてる・・・。

な、なぜ?
俺すごい勘違いしてるのかな・・・?
助けてまじでお願い!!
854Now_loading...774KB:2006/08/28(月) 00:35:49 ID:7a2GYN74
>>853
関係ないかもだけど、clipA_mcという空のMCを作りたいなら、
this.createEmptyMovieClip("clipA_mc", this.getNextHighestDepth());
じゃないの?
855853:2006/08/28(月) 00:43:25 ID:r+ZThOpL
>>854
早速レスありがとう!
深度を常に前にしたいならそっちの方だよね。
念のため試したけど駄目だったw
856Now_loading...774KB:2006/08/28(月) 01:29:41 ID:cIAKmuOt
FP7用に作ったswfを未だに6インスコしてる変な人達の為にFP6用にコンバートしてFLASH6plugin
入れなおしてブラウザで検証したところ問題が発生いたしました。
別ドメインのPHPとの連携でFP7からはcrossdomain.xmlが使えるのですが、FP6pluginだと
別ドメインにアクセスできないようです。バージョン6で書き出してもFP7以上がインスコされていれば
問題ないのですがFP6だとアウチです。別ドメインにアクセスするにはどうしたらよいでしょうか?
857Now_loading...774KB:2006/08/28(月) 01:36:46 ID:7a2GYN74
>>855
言いたかったのは深度のことじゃなくて、第一引数は文字列だよって事。
clipA_mcじゃなくて"clipA_mc"何じゃないのっていう。
で、反応がないってのはonPress()内を通ってないって事?
trace(clipA_mc.ClipB_mc)でundefinedにならない?
858853:2006/08/28(月) 02:08:16 ID:r+ZThOpL
>>857
第一引数の方か!
○this.createEmptyMovieClip("clipA_mc", this.getNextHighestDepth());
×this.createEmptyMovieClip(clipA_mc, this.getNextHighestDepth());

って事ね。ごめんごめん。

onPress()が通らないっていうのか分かんないんだけど、

this.clipA_mc.clipB_mc.onPress = function(){
trace(clipA_mc.clipB_mc);
//反応なし
}

_rootにclipC_mcを試しに作って

this.clipC_mc.onPress = function(){
trace(clipA_mc.clipB_mc);
//_level0.clipA_mc.clipB_mc と出力
}

って感じなんだよね。何がおかしいんだろう・・・。






859Now_loading...774KB:2006/08/28(月) 02:21:44 ID:7a2GYN74
>>858
clipA_mc.loadMovie("clipB.swf");
trace(clipA_mc.ClipB_mc);
だったらどう出る?undefinedじゃない?
そうなら全部読み込まれる前に定義しちゃってるのが原因。
ためしに1フレームで読み込んで10フレームくらいでonPressのトコ書いたら動くと思う。
完全に読み込まれたかどうかを知るには・・・確か、
MovieClipLoaderって感じの名前のクラスがあったはず。
860853:2006/08/28(月) 02:34:46 ID:r+ZThOpL
>>859
undefinedが出た・・・。
試しに10フレームでやったらちゃんと動いたよ!
今Moock本見てみたら、

loadMovie()関数はステートメントブロックに現れた時に実行するわけではありません。
実際は、そのブロックの他の全てのステートメントが実行されてから実行されます。

って書いてあるんだけど、関係あるのかな・・・。

リファレンス見てみたら、

このクラスを使用すると、SWF、JPEG、GIF、および PNG の各ファイルのムービークリップへのロード時に
ステータス情報を提供するリスナーコールバックを実装できます。
MovieClipLoader の機能を使用するには、loadMovie() や MovieClip.loadMovie() ではなく、
MovieClipLoader.loadClip() を使用して SWF ファイルをロードします。

ってあるからこっちを使った方が便利そうだね。
遅い時間にありがとう!感謝します!

861853:2006/08/28(月) 02:36:24 ID:r+ZThOpL

MovieClipLoaderクラスのリファレンスの事wごめん
862Now_loading...774KB:2006/08/28(月) 03:34:49 ID:ezTYwyWe
ある点を基点にしてカーソル位置までmovieclipを拡大縮小・回転させて伸ばしたい
(カーソル位置まで伸びる矢印のようなものとお考えください)
が、式がまったくわかりません。お助けください。数学やっとけばよかった
863Now_loading...774KB:2006/08/28(月) 05:10:39 ID:xu9NSEhK
外部からテキストをテキストフィールドに読み込ませたいのだけど、
テキストフィールドに角度を与えると、文字が再生されないんのだけど。
これは、仕様?
斜めに文字を読み込ませたいのだが、、。
864Now_loading...774KB:2006/08/28(月) 05:45:09 ID:vZQnIJvR
>>862
式がまったくわかりませんではどうしようもないです。
MCを拡大縮小、回転するASぐらいは理解していないとね。
>>863
動的テキストの場合文字のベクタ情報を持ってない(不定)ので、
変形や_alphaなどエフェクトをかけた場合は表示されない。
フォント埋め込みで情報を埋め込んでおけば回避可能だが、
全ての日本語フォントを埋め込むとファイルサイズが大幅に増える。
865Now_loading...774KB:2006/08/28(月) 11:00:58 ID:pUYjaBux
お絵かきツールにアンドゥ機能を付けたいのですが
どのようにしたらよいかわかりません。

lineToなどの描画メソッドで描いたものを
一つづつ消すにはどのようにしたらよいでしょうか?

一つづつMC化しないといけない?
866Now_loading...774KB:2006/08/28(月) 11:43:20 ID:6Wx79R2o
>>865
アンドゥということは、ワンストロークごとの手続きでいいんだから
ワンストロークごとにMC化すれば可能ですね
配列を使うという手もありますけど
その場合、アンドゥと同時に書き直しが必要なので重くなるかもです

そもそも、内部的には描画メソッドは、毎フレーム書き直ししてるので
ちょっと線の量が増えると、直ぐ重くなりまして、お絵描きツールには向かないですよ
867Now_loading...774KB:2006/08/28(月) 11:54:49 ID:uoYK28X9
■10年間毎日くさやを焼く、男性(47)に周辺住民困惑(08/28 10:24)

埼玉県草加市に住む男性(47)が、10年間毎日くさやを七輪で焼き
異臭?トラブルを起こしていることが分かった。周辺住民の話によると、
10年前に、大阪から引っ越してきた男性は当時から七輪で好物の
くさやを焼いて食べるのが日課だったというが、あまりの臭いに近所の
人、数人が苦情を言い渡した、ということがが発端となった。それ以来毎日、
くさやを焼き続け10年が経ってしまったという。男性は「自分はくさやを
焼いて食べるのが好きなんや、人が何を食べようと勝手やろ。」と意に介しない。
住民はこのトラブルで干物を食べることができなくなってしまったという。
http://news18.2ch.net/test/read.cgi/news7/1156419324/l50
868827:2006/08/28(月) 11:59:42 ID:OgLqqYLj
そこで8ならビットマップキャッシュの出番ですよ。

>>828-829
回答ありがとう
亀レスになりましたが
ID = setInterval(this,"func",interval,"ID");
・・・
function func(StringId){
 ・・・
 clearInterval(this[StringId]);
}
ヘルプを見たところ、IDは呼んだ先の関数のメンバになってくれるそうなので
こんな風にIDを文字列で送って、参照すればできました。
869866:2006/08/28(月) 12:07:26 ID:pUYjaBux
回答ありがとうございます
MC化で実装してみます

環境がMXなのでとりあえず描画メソッドで・・・。
870Now_loading...774KB:2006/08/28(月) 12:38:33 ID:O6pnhVsc
>>869
アンドゥは構造体のリストで管理すると楽だよ。
ちょっと汚いけどこんな感じ。長いと書き込めないの変な処理でスマン。
リストで管理する雰囲気だけ掴んでちょーだい。
backspaceキーでアンドゥね

var isDrawing = false;var lmp;var rootmp;
//構造体mp
//x:x座標 y:y座標 n:次の座標 p:前の座標 d:描画モード
function mp(__x,__y,_p,_d){this.x = __x;this.y = __y;this.p=_p;this.d=_d}
onMouseDown = function() {isDrawing = true;recordMP(_xmouse,_ymouse,false)};
onMouseUp = function() {isDrawing = false;};
onMouseMove = function() {if (isDrawing)recordMP(_xmouse,_ymouse,true);};
function recordMP(__x,__y,_d){
if(!rootmp)
{lmp = new mp(__x,__y,null,false);rootmp = lmp;}
else
{var tmp=new mp(__x,__y,lmp,_d);lmp.n = tmp;lmp=tmp;}
}
onEnterFrame=function(){
if(Key.isDown(Key.BACKSPACE)){lmp=lmp.p;lmp.n = null;}
var tmp = rootmp.n;
clear();lineStyle(5, 0x000000, 100);moveTo(rootmp.x,rootmp.y)
while(tmp.n){
(tmp.d) ? lineTo(tmp.x,tmp.y) : moveTo(tmp.x,tmp.y);
tmp = tmp.n;
}
}
重い絵を描きたい場合には、描画確定MCと、アンドゥ可能MCに分けて、
最後の5手順ぶんだけはアンドゥ可能MCに書いておいて、それ以外は
描画確定MCに書いておけばおけ
871Now_loading...774KB:2006/08/28(月) 13:32:50 ID:/7ymNHxy
誘導されてきました。

初歩的な質問なんですが
ActionScriptはマルチスレッド処理で、
逆に、一般的な上から順に実行していく処理はなんというのですか?

それともうひとつ質問を、
同じ量の処理をするとして、その時の実行速度についてなのですが

1.コンパイラ型>インタプリタ型(ActionScript>Ajax(javaScript))
2.マルチタスク処理>上から順に処理(ActionScript>PHP java ...etc)

この認識は合ってますか?
872866:2006/08/28(月) 15:13:38 ID:pUYjaBux
>>870
わ、これはすごいですね!
勉強になりましたm()m
873Now_loading...774KB:2006/08/28(月) 19:45:47 ID:+qMrYMUS
>>871
あってねえ
874Now_loading...774KB:2006/08/28(月) 21:20:00 ID:W8Bybx5U
ここまでメチャクチャな人は始めてみた
875715:2006/08/28(月) 22:40:55 ID:7OPRXEX1
質問なんですが、ActionScriptでJPEGファイルなどを作成することはできますか?
ラクガキしたやつを保存してみたいのです。
ちなみに、715のとこの問題は未解決orz
876Now_loading...774KB:2006/08/28(月) 22:49:27 ID:5YF/oqEj
>>875
サーバサイドスクリプトとImageMagickとで連携
877Now_loading...774KB:2006/08/28(月) 23:27:18 ID:6Wx79R2o
>>875
>>715の問題はデバッガで丁寧にブレークポイント追えば解る問題な筈
878Now_loading...774KB:2006/08/29(火) 18:22:47 ID:5IpY/iUV
質問させてください。
4
同じフォルダに abcd.txt というテキストファイルを保存しておき、そのテキストファイルの中は
hensu=12345
としておきます。

そして、1フレーム目にボタンを配置し、そのボタンに

on(press){
System.useCodepage=true;
_root.loadVariables("abcd.txt");
trace(hensu);
}

というコードを書きました。
これで出力ウィンドウには 12345 と表示されると思ったのですが
undefined と表示されてしまいます。

また、hensuという変数名のテキストフィールドを作り、違うフレームに移動すると
そのテキストフィールドには12345と表示されます。

うまく説明ができませんが、loadVariables直後では上手くテキストファイルのデータを
取得することができないのかな?と考えています・・・。

もう2日ほど悩んでいます。
分かる方いらっしゃいますか?
(長文スミマセン)
879Now_loading...774KB:2006/08/29(火) 18:24:03 ID:5IpY/iUV
878です。

↑の2行目
「4」はミスですので、気になさらないで下さい。
880Now_loading...774KB:2006/08/29(火) 18:33:02 ID:LIDNVhF6
>>878
いつの時代の話だ?LoadVars使え。
881Now_loading...774KB:2006/08/29(火) 19:33:55 ID:Q7+tjdsU
>>878
> また、hensuという変数名のテキストフィールドを作り、違うフレームに移動すると
> そのテキストフィールドには12345と表示されます。
> うまく説明ができませんが、loadVariables直後では上手くテキストファイルのデータを
> 取得することができないのかな?と考えています・・・。

答え出てんじゃん。
882Now_loading...774KB:2006/08/29(火) 19:42:59 ID:jemqCAnQ
WindowsXP,Flash8(AS2.0)です。
ボタンに以下のコードを書きました。
on (release) {
var h:Number = Math.floor(Math.random()*100+1);
if (h >5){
gotoAndPlay("miss");
}
var i:String = "waza"+_root.waza_effect[jibun_waza1];
gotoAndPlay(i);
}
しかし、クリックしても、必ず以下のif文がスルーされて実行されてしまいます。
本来なら19/20の確率でmissラベルに飛ぶはずなんですが……orz
わかる人いましたらお願いします。
883Now_loading...774KB:2006/08/29(火) 19:54:04 ID:QRunn5xr
>>882
 t r a c e し ろ

マジレスすると
gotoAndPlayはそのフレームのスクリプト全部読んでから実行される
ということは
>gotoAndPlay(i);
を必ず通る
よって必ずiに行く
884866:2006/08/29(火) 20:16:41 ID:HfWXLxrA
おかげさまで無事にアンドゥ機能実装できました
ありがとうございました

ところでflash版お絵かきツールで
近似値による曲線描画の機能を持ったものを見つけました。
ぜひまねして実装したいと思っているのですが
curveToのコントロールポイントをどうやって求めてるか分からなくて・・・

座標の標準偏差でコントロールポイントを求めるのかな?と思いつきで
やってみましたが、近似値に程遠いほどぶれてしまいますorz

885Now_loading...774KB:2006/08/29(火) 20:48:39 ID:CneTBBKW
>>882
gotoAndPlay()を呼び出したからといって、そこで関数が終わるわけではないので、
その後のgotoAndPlay(i)まで必ず通っているのでは?
gotoAndPlay("miss");の後にreturn;を入れればいいんじゃないかな?
886Now_loading...774KB:2006/08/29(火) 21:30:48 ID:jemqCAnQ
>>883
>>885
解決しました
dクス
887878:2006/08/29(火) 22:41:55 ID:AQF8J60B
レスどうもです。

loadVarsで試してみます。
888Now_loading...774KB:2006/08/30(水) 09:25:08 ID:vllqLHXD
XMLファイルを読み込みたいのですが
フレームに

myXML = new XML();
myXML.load("sample.xml");
trace(myXML.firstChild.nodeName);

同じディレクトリのXMLファイル(sample.xml)に

<?xml version="1.0" encoding="UTF-8" ?>
<data>
<sample>
a
</sample>
</data>

と書いて実行したらundefinedとでてきます。
ちゃんと読み込むにはどうすればよいのですか?
889Now_loading...774KB:2006/08/30(水) 09:32:58 ID:99OjeZ0z
>>888
loadが完了していないうちにtraceしているのが問題。
myXML.onLoad = function(){
trace(myXML.firstChild.nodeName);
}
としてXMLの読み込み完了時に処理を行いましょう。
890Now_loading...774KB:2006/08/30(水) 09:36:53 ID:fx/Sv4pI
>>888
最初に読み込んだ後にどうするかって処理をonLoadイベントハンドラに
書いておいてからloadを実行するとよいよ
読み込んですぐには手元にデータ届かないのよ

あと、XMLファイル内で改行を入れてるんだったら空白ノード対策で
「ignoreWhite=true」も入れておいた方がいいかな。

myXML = new XML();
myXML.ignoreWhite = true;
myXML.onLoad=function(){
trace(myXML.firstChild.nodeName);
};
myXML.load("sample.xml");
891Now_loading...774KB:2006/08/30(水) 10:05:11 ID:vllqLHXD
>>889
>>890
読み込めました!
そういうことだったんですねー

回答ありがとうございました
892715:2006/08/30(水) 21:48:44 ID:U605ajJL
>>876
くわしくお願いします!!!!
>>877
すいません。ブレークポイントってよく分からないんです。軽く説明してもらえませんか??
893Now_loading...774KB:2006/08/30(水) 22:01:10 ID:8cRt8/lm
>>892
何故自分でヘルプで調べない・・・
894Now_loading...774KB:2006/08/30(水) 22:04:17 ID:rdXQaFu8
>>892
ブレークポイントを設定しておけばActionScriptの実行を特定の場所でを停止させることが出来る。
詳しくは↓Flashドキュメンテーション
環境によっては重いページなのでFlashのヘルプ見たほうがいいかも。
ttp://livedocs.macromedia.com/flash/8_jp/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001632.html

画像の出力はcgiとか使う。
教えてくださいの前に教えてもらった言葉で検索しましょう。「サーバーサイドスクリプト」「ImageMagic」
895Now_loading...774KB:2006/08/30(水) 22:04:47 ID:NUUiXHaZ
>>893
>>892にとっては2chがヘルプなんだよ。
896Now_loading...774KB:2006/08/30(水) 23:20:07 ID:8ItsDRnd
文句を言いつつ答えてくれるからやめられない
897715:2006/08/30(水) 23:58:54 ID:U605ajJL
すいません。
その通りですね^^;
>>896の言葉が重い・・・
898Now_loading...774KB:2006/09/01(金) 07:54:10 ID:9O7EonGQ
一つのフレームの中でもa.onEnterFrame→b.onEnterFrame→c.onEnterFrameというように実行される順番がありますが
ここで強制的にb.onEnterFrameをフレームの最初に実行させたり、a.onEnterFrameを最後にしたり…ということは出来るんですか?
899Now_loading...774KB:2006/09/01(金) 08:15:04 ID:rsSUVo+Q
質問なのですが、
テキストフィールドに文字が入力されたら自動的に次のフレームを表示することは可能でしょうか??
どうぞ教えてください!
900Now_loading...774KB:2006/09/01(金) 08:20:10 ID:yODwFnXv
>>898
順番を制御するなら、親MC側のonEnterFrameに、子MCの処理を
実行したい順番で記述する。それか、子MC側のonEnterFrameが、
何らかのグローバルなフラグを参照して、制御を待つような処理(コード)を書くとか。
>>899
テキストフィールドのonChaged使うとか。
901Now_loading...774KB:2006/09/01(金) 13:47:29 ID:Jnx2c4GH
こんにちわ、質問させてください。

ttp://www.prodrive-japan.com/

このページのように、ブラウザの幅に応じて常にセンターにコンテンツを配置するのは、
どういったスクリプトで実現したらよいのでしょうか。
お願いします(´・ω・`)
902Now_loading...774KB:2006/09/01(金) 14:14:38 ID:LKRGa6Wv
>>901
ヘルプのステージってところをじっくり読むのだ
903Now_loading...774KB:2006/09/01(金) 14:25:31 ID:Jnx2c4GH
ありがとうございます(`・ω・´)
早速調べてみます。
904Now_loading...774KB:2006/09/01(金) 14:44:04 ID:mgs5tQlW
だれか教えてください!
これ↓を使わせてもらっていたのですが、MX2004でパブリッシュしたらホイールは効いたのに
最近、flash8に変えたのでそれで書き出したらホイールが効かなくなってしまいました
ttp://www.trick7.com/blog/2006/08/08-112615.php
しかも、もう一回MX2004で開こうとしたらもう開けませんでした…
どこかasの部分に追加や修正したら8でも同じようにホイルが効くようになりませんか?
905Now_loading...774KB:2006/09/01(金) 15:05:35 ID:nvzg26DZ
FlashMX(ver6)って、もしかしてattachMovie()のinitオブジェクト渡しの初期化で
_widthと_heightの初期化を受け付けていない?
なぜか初期化するとどんな値を指定しようが、0にfixされてしまう。
そして、作成後に_width/_heightにどんな値を設定しても無視されてしまう。

逆に、初期化しなければattach元のMCのサイズがそのまま残る。
詳しくテストしてないので他の要因かもしれないけど・・・


■他の考えられる要因
・MX2004(ver7)で記述し、Player6(ver6)向けに書き出している。
・特定フレームに配置してあるMCロード処理時にattachMovie()される
906Now_loading...774KB:2006/09/01(金) 15:11:49 ID:zIceps3b
コード書け
907905:2006/09/01(金) 16:24:00 ID:nvzg26DZ
>>906
俺へのレス?
じゃないと思うけど、単独テストしてみたので書いてみる。
どうもバグっぽいなこれ。


// _rootの1フレーム目に記述
this.attachMovie("test", "test", 0, { _width:100, _height:100 });


testってリンケージIDで中身に何か置いたMCをライブラリに作成しておく。
MX2004で作ってFlashPlayer6向けに書き出しする。
真っ白け。でも、実はサイズが0なだけでMCは作られている。
initオブジェクト部分を削除すると問題なく書き出される。
FlashPlayer7向けに書き出しすれば、当然問題はおきない。
908Now_loading...774KB:2006/09/01(金) 16:32:44 ID:zIceps3b
普通にできるぞ
呼び出すMCで変なことしてんじゃねーの?
909Now_loading...774KB:2006/09/01(金) 16:34:53 ID:rrxngBle
flash8pro

filterや、そのパロメータの変更方法について質問です

持っている本にfilterプロパティを一旦別の変数に取得して変更した物を
filterプロパティに代入すると書いてあるのですが、いまいちやり方がわかりません
どういった感じのスクリプトになるのか教えて貰えないでしょう?
910905:2006/09/01(金) 16:47:54 ID:nvzg26DZ
>>908
うそん。
何度やっても問題でるよ。
MX2004で作って、パブリッシュ設定をPlayer6向けにした?
もしかしたらFlashプレイヤーバージョンのせいもあるかもしれないけど。
7.0.19でとりあえず確認。
911Now_loading...774KB:2006/09/01(金) 16:49:46 ID:zIceps3b
だから普通に動くって
912Now_loading...774KB:2006/09/01(金) 16:56:26 ID:zIceps3b
>>909
フィルタは設定できる項目が種類によって違ってくるので、とりあえず
hogeってインスタンスにドロップシャドウがかかってるとすると、

//↓いったん別の変数「myList」にフィルタの内容を取得
var myList:Array = _root.hoge.filters;
//取得した内容を変更する
myList[0].blurX *= 1.5;
//変更した内容を代入して元に戻す
_root.hoge.filters = myList;
913905:2006/09/01(金) 16:57:51 ID:nvzg26DZ
>>911
ttp://up.spawn.jp/file/up37425.zip

ちょっとこれ書き出してみてもらえるとうれしい。
100px100pxの黄緑正方形できる?

914Now_loading...774KB:2006/09/01(金) 17:00:13 ID:rrxngBle
>>912
ありがとう!

直接変更出来ないので、単純にコピーした物を変更するって事ですね。
915Now_loading...774KB:2006/09/01(金) 17:17:18 ID:nJAmrchl
>>905
initObjectは確かFlash7から
916Now_loading...774KB:2006/09/01(金) 17:24:42 ID:zIceps3b
>>913
勘違いしてた。すまん。確かに表示されない。
_xや_yはいけるけど、_width,_heightは駄目だった。
917905:2006/09/01(金) 17:25:06 ID:nvzg26DZ
え?そうだっけ?
でも_width、_heightじゃなくて_x、_yの初期化はinitObjectでうまくいくよ
上で上げたflaとか書き換えてテストしてもらえるとわかるけど
なぜかサイズの初期化だけうまくいかない

918905:2006/09/01(金) 17:34:04 ID:nvzg26DZ
バグと判明したのでいいや
お手数かけました
かわいいほうかFlashのバグとしては
ひどいのは嵌るとなかなか抜け出せない
919Now_loading...774KB:2006/09/01(金) 17:34:49 ID:nJAmrchl
>>905
勘違いしてた。すまん。
6以降だから6も入るね。
920Now_loading...774KB:2006/09/01(金) 17:53:47 ID:WDXyX+Dm
>>905

サイズは_xscaleと_yscaleならいけた。
_xscale=10000/340と_yscale=10000/20

_width、_heightは確かにバグっぽい
(flashplayer6の設計ミスで)初期化時にまだ取得できてない
_widthと_heightに無理矢理値入れたからかなぁ?

不思議。
921Now_loading...774KB:2006/09/02(土) 08:12:06 ID:xT6UetcI
このスクリプトをフレームにいれて動作させたいのですがうまくいきません
どうしてでしょうか?
on (press) {
e = e+4;
if (cursor_mc<=cursor2) {
xChangeCursor("cursor10");
}
}
on (release) {
if (cursor_mc<=cursor10) {
xChangeCursor("cursor2");
}
}
922Now_loading...774KB:2006/09/02(土) 08:25:11 ID:cAE/SEj2
>>921
それはボタンアクションだから、フレームじゃなくてボタン等に対して書かないといけない。
923Now_loading...774KB:2006/09/02(土) 09:05:47 ID:xT6UetcI
>>922なるほど
どうしてもフレームに書く必要があるので、少し記述をいじって
このスクリプトと同じ内容のことをフレームに書くことは可能でしょうか??
924Now_loading...774KB:2006/09/02(土) 09:19:56 ID:KWMRGY3R
>>921
if (cursor_mc<=cursor2) {
って変数だよね?MCを比較してるわけじゃないよね。
925Now_loading...774KB:2006/09/02(土) 10:15:08 ID:5Iyr7dmh
説明不足ですいません。フレームごとにマウスカーソルを変化させ、かつそれぞれにプレスアクションをつけようとしています。カーソルはMCです。
926Now_loading...774KB:2006/09/02(土) 10:33:09 ID:QqgAq2EX
聞いてる事に答えろ
927Now_loading...774KB:2006/09/02(土) 10:44:14 ID:5Iyr7dmh
変数ではありません。MCです。
928Now_loading...774KB:2006/09/02(土) 12:00:46 ID:o6hDriO1
ここで聞くのは悪いことじゃないけど
ASのリファレンスを1日くらいかけて読んだほうがいいよマジで。
ちょっと聞きたい程度の質問なら答える気になるけど
丸投げ気味なのはまじで勘弁。
基礎わかってない人も同じ。
929Now_loading...774KB:2006/09/02(土) 12:42:24 ID:ke2wLfsp
>>928
マジで?
930Now_loading...774KB:2006/09/02(土) 12:54:45 ID:5Iyr7dmh
初心者以外くるなというスレで質問し、聞いてること答えろといわれて答えたら、リファレンス嫁か
どうしてもわからないからきてるのに
931Now_loading...774KB:2006/09/02(土) 13:07:57 ID:sC7fEpAE
それは、小学生の勉強しないで、高校や大学受かりたいんです!みたいな要望を持ってくるからじゃないか?
その場合可能なのは代理受験(製作依頼)か、諦めて遠回りする(小学生の内容からやる)かだろ。
ここは製作依頼スレじゃないし、一度に小学生〜高校生までの内容を教えるのだって大変だ。
わからないにしても、どこまではわかるかをはっきりさせないと。
932Now_loading...774KB:2006/09/02(土) 13:15:06 ID:poZ9Isj9
>>930
>>921のコード自体は、今、意図したとおりに動いてるわけ?
正直ムービークリップの比較って意味分らん。
「cursor_mc<=cursor2」でやってること(やりたいこと)を日本語で説明してみて。

動いてるなら
ボタンインスタンス.onPress= function(){
e = e+4;
if (cursor_mc<=cursor2) {
xChangeCursor("cursor10");
}
}
ボタンインスタンスonRrelease=function (){
if (cursor_mc<=cursor10) {
xChangeCursor("cursor2");
}
}
でいいんじゃないかな
933Now_loading...774KB:2006/09/02(土) 13:25:57 ID:tEajRBJI
初心者とか以前に質問するときに言葉足らずなのが問題なんだと思うよ。
if (cursor_mc<=cursor2) {
この内容をちゃんとした日本語でどういう処理にしたいのか伝えないと
誰も理解できないよ。
ASなんかより人とのコミュニケーションの仕方を勉強した方がいい。
934Now_loading...774KB:2006/09/02(土) 14:04:36 ID:5Iyr7dmh
自分の能力のなさを棚にあげて愚痴ったりしてスマンかった。言葉で伝えるのは難しいのでアップロードしていいだろうか?少々エロい内容なのだが
935Now_loading...774KB:2006/09/02(土) 14:11:15 ID:/cVKzzE/
>>934
エロでも気にしないからうp
936Now_loading...774KB:2006/09/02(土) 14:15:51 ID:QqgAq2EX
丸なげうぜーよ
937Now_loading...774KB:2006/09/02(土) 14:25:53 ID:QQJKCF+d
やけにアクロバティックなスクリプトだな
>>932の3行目に答えないかぎり、fla上げたところで
誰にもどうにもできないよ


>>1に●作業丸投げは無視されます
を次スレには入れるといいかもしれない。
というか、入れて立ててくる。
少し早いが。
938Now_loading...774KB:2006/09/02(土) 14:33:02 ID:QQJKCF+d
立てられなかった・・・
そのうち誰か立てて。



AcitonScriptのことなら
初歩的な質問でもなんでもおk

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

●質問する時は自分の環境を書く
書いてない場合WinXP,FlashMX2004(AS2.0以降)を前提で
●質問はものすごい勢いじゃなくて結構
●できるだけコードも示す
●自分が試してみた処理を書く
●作業丸投げは無視されます

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

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

Flashの超基本的な質問はここでしろ! part30
http://pc8.2ch.net/test/read.cgi/swf/1150620143/
サイト、参考書籍、関連情報は>>2-10あたり
939Now_loading...774KB:2006/09/02(土) 14:36:43 ID:xT6UetcI
http://i-fucked-your-mother.ath.cx/up/up.cgi
タイトルはFLASHパスは0
フレームごとにマウスカーソルを変化させるスクリプトをフレームにおきたい
スクリプトだけ教えてほしい
940Now_loading...774KB:2006/09/02(土) 14:40:01 ID:QqgAq2EX
説明できねーってのはデコンパイルでもした他人のファイルだからだろ
しかもそれがエロフラwww 終わってるな
941Now_loading...774KB:2006/09/02(土) 14:45:57 ID:xT6UetcI
マジレスするとその部分のスクリプトは共同制作者に組んでもらった。
べつにエロフラでも終わっているといわれても気にしない
942Now_loading...774KB:2006/09/02(土) 15:12:44 ID:QqgAq2EX
なら共同制作者に聞け
943Now_loading...774KB:2006/09/02(土) 15:13:22 ID:QqgAq2EX
脳内じゃなきゃいいけどなww
944Now_loading...774KB:2006/09/02(土) 15:15:05 ID:PQ/YaIqf
cursor_mc はMCインスタンス名
cursor2 cursor10はcursor_mc内フレームのラベル名

・・・・・
黙っておしフラASでも何でも買ってきて読んでくれ
945Now_loading...774KB:2006/09/02(土) 15:31:05 ID:/cVKzzE/
各フレームに
this.cursor_mc.gotoAndStop("cursor" + _root._currentframe) ;

呼び出さなくても勝手に更新されるようにしたいんだ、とかは重くなるだけ。
それ以前に中身(ASとMC階層)見たが、こだわる部分が違うんじゃないかな。
ハンドカーソルとか唇カーソルとか、press/release時のシンボルは一つのMCにまとめる方が良いよ。
そうすると、体のpress/release判定用のボタンアクションが全て統一出来る。

最後に右側のボタンアクション。
pressでカーソル画像変えて、releaseで_rootフレーム移動してるけど
releaseOutsideが未定義だから、press状態でボタン領域外releaseするとバグるよ。

何はともあれ構成ミス。作り直す気が無いのなら一つ一つ地道に記述していくべき。
あとライブラリの汚さに吹いた。
946Now_loading...774KB:2006/09/02(土) 15:48:15 ID:PQ/YaIqf
>>945
>this.cursor_mc.gotoAndStop("cursor" + _root._currentframe) ;
右のアイコン部分だけだとそれでいいかもしれないけど
質問部分だと意図が違うのでは?

on (press) {
e = e+4;
if (cursor_mc<=cursor2) {//常にtrue
xChangeCursor("cursor10");
}
}
on (release) {
if (cursor_mc<=cursor10) {//常にtrue
xChangeCursor("cursor2");
}
}
なので
on (press) {
e = e+2;
if (cursor_mc._currentframe<=2) {
xChangeCursor("cursor10");
}
}
on (release, releaseOutside) {
if (cursor_mc._currentframe<=10) {
xChangeCursor("cursor2");
}
}
書き換えてみたがっ!
947Now_loading...774KB:2006/09/02(土) 15:51:49 ID:5Iyr7dmh
ありがとう
そういうのがききたかった
よかったら手伝っていただけませんか?しかるべきお金はだします。
丸投げする気はないのですが自分で参考書読んでもわからなかったので、ロムってて不快になった方ごめんなさい
948Now_loading...774KB:2006/09/02(土) 15:54:00 ID:PQ/YaIqf
構成上要らないものをどけたらこうなった
 
on (press) {
e = e+2;
xChangeCursor("cursor10");
}
on (release, releaseOutside) {
xChangeCursor("cursor2");
}

じゃあこれをフレームに書こう、ってなら
まずインスタンスに名前付けようなw

あと[e]ってのは快感のパラメータだと思うんだけど
どこ揉んだりしても同じ数値でいいのか?
つーかどこで判定してるんだ?<[e]
ツッコミどころがありすぎてどこからつっこんでいいのやら
949Now_loading...774KB:2006/09/02(土) 16:07:19 ID:QQJKCF+d
まぁでもこんなめんどくさそうなもの、よく作ろうと思ったもんだ
プリプロの素材作りがすでに面倒そうだし
その点は評価したい

答えてないのに偉そうだけど(w
答えもうほぼ出てるからいいよね
950Now_loading...774KB:2006/09/02(土) 16:19:28 ID:xT6UetcI
945から948ありがとう
でもヒントこんだけもらいながらまだできないorz
こういうフラッシュ手伝ってくれるの頼めるとこないよね?
お金かかっていいんだけど
951Now_loading...774KB:2006/09/02(土) 16:46:11 ID:aUJXsU/o
>>950
自分に出来そうなことなら手伝ってみたい気もするが。
ここだとちょっとスレ違いだが、ゲーム関係のメンバー募集サイトとか見てみたら?
こういうとことか。
ttp://www.gamecreators.net/bbs/bbs250_/wforum.cgi
952Now_loading...774KB:2006/09/02(土) 16:57:02 ID:PQ/YaIqf
中身見た限りこれくらいだったらめんどくさいだけで難易度高くないし
このスレでも暇そうな奴がやってくれるんじゃないか?

俺はやらんけど

>>938で新スレよろ
953Now_loading...774KB:2006/09/02(土) 16:59:39 ID:xT6UetcI
951
ありがとうございます
内容としてはコレと同じくらいのレベルスクリプトを二つ、三つ
組んでいただくくらいなんですが
もし誰か手伝っていただける方おられましたらサブ
アドさらすのでメールお願いします!三万ほど謝礼いたします。
そろそろスレチ(だいぶ前からか)なので消えます
いろいろお騒がせいたしました。
954Now_loading...774KB:2006/09/02(土) 17:16:58 ID:PQ/YaIqf
>>953
共同製作者はどうした?
同じくらいのレベルスクリプトを二つ、三つってのは誰の判断だ?
ASというかこのFLASHの構成わかってるか?
作ってるのはおまいだけか?ほかにも人間が携わっているのか?

任せる仕事量もわからずにいきなり金の話か?
ひょっとして釣りか?
955Now_loading...774KB:2006/09/02(土) 17:24:24 ID:xT6UetcI
共同製作者の力でここまできましたが
その方もflashはそこまで詳しくなく限界があります・・
ASが記述できないけど
構成、全容は頭に描いております。
グラフィックは全て俺が作ります。
956Now_loading...774KB:2006/09/02(土) 17:31:48 ID:uNz8AgEi
製作依頼系のとこで頼んだほうがいいんじゃないかな
このスレッドの趣旨とは違う気がする
957Now_loading...774KB:2006/09/02(土) 17:38:42 ID:hPbPJS5C
UIはともかくモデルは普通にできてるね。
同人の予定?
958Now_loading...774KB:2006/09/02(土) 17:46:28 ID:xT6UetcI
957
はい
956
製作依頼にもさっき書きこみしました
959Now_loading...774KB:2006/09/02(土) 18:01:06 ID:PQ/YaIqf
452と466か

エロいフラッシュ作るじゃなくて、
コンテンツのAS部分を手伝ってくれる方募集しますなら少しはマシな結果だったろうに
960Now_loading...774KB:2006/09/02(土) 19:24:03 ID:rr6mJKQx
a.swfとb.swfの2つのswfファイルがあって、a.swfの_rootに

loadMovieNum("./b.swf",1)
hensuu = "num0001";

と記述しています。
このhensuuをb.swfに渡すにはどうすればいいでしょうか?
961Now_loading...774KB:2006/09/02(土) 19:51:33 ID:Dh7Q+ku0
>>960
b.swf 内で
a = _level0.hensuu;
962Now_loading...774KB:2006/09/02(土) 20:23:26 ID:rr6mJKQx
>>961
_levelを使うんですね。分かりました。
どうもありがとう御座いました。
963Now_loading...774KB:2006/09/03(日) 07:00:21 ID:Hk8EduwA
trace()を実行しても出力ウィンドウに何も表示されなくなる現象に出くわしました。
actionscriptにただ
trace("Hello");
とだけ入力してCtrl+Enterで実行しても出力ウィンドウにHelloが表示されない。
trace("Hell
とかやってわざとエラーになるようにして実行しても何も表示されない。
出力ウィンドウを閉じた状態で上記のHelloを出力するコードやエラーになる
コードを実行すると自動的に出力ウィンドウが開くからtrace()自体は
実行されて何かしら出力しようとしているらしいのだがtrace()の引数や
エラーメッセージが表示されない。
編集→環境設定とか見てもそれっぽい項目ないしお手上げです。
964Now_loading...774KB:2006/09/03(日) 08:28:25 ID:5fXNqcAk
パブリッシュ設定の、トレースアクションを省略、にチェックはいってるんでは?
965Now_loading...774KB:2006/09/03(日) 10:09:03 ID:ANgiLNMJ
>>963
再インストールとチェックディスクでも試してみたら?
パソの問題と思われ。
966Now_loading...774KB:2006/09/03(日) 11:39:35 ID:dD71CSsK
Flash8で使えてMX2004で使えないコンポーネントって何ですか?
967Now_loading...774KB:2006/09/03(日) 18:15:02 ID:T/Nz9xvG
フラッシュ内に YouTube のオンライン上の動画を読み込んで
再生する事は可能でしょうか?

試しに、ルートに新規ビデオ my_video を配置し、
my_nc = new NetConnection();
my_nc.connect(null);
my_ns = new NetStream(my_nc);
my_video.attachVideo(my_ns);
my_ns.play(url);

これで url に、ローカルに保存したFLVのパスを入れると再生できましたが、
YouTube の動画アドレスを入れても再生できません。
どなたか御教授願います。

FLASH 8 Basic Windows です。
968Now_loading...774KB:2006/09/03(日) 18:21:59 ID:XFsjfEDh
>>967
セキュリティ上無理なんじゃ
969Now_loading...774KB:2006/09/03(日) 18:36:01 ID:lXcXg0+G
>>967
動画アドレスってflvへのパス?
YouTubeのサイトで動画見てるときのアドレスはflvのパスじゃない。
↓これをurlに指定したら再生できた。
ttp://youtube.com/get_video?video_id=UV4_BjqTYsk&t=OEgsToPDskLDFpg3stBF6ZnEz9b8sIdW
アドレスは ttp://javimoya.com/blog/youtube_en.php ここで取り出す。
970967:2006/09/03(日) 19:35:27 ID:iuD5Bb4W
>>969
ありがとうございます。その方法で試してみたら出来ました。

ちなみに、YouTubeのサイトで動画を見てるときのアドレスから
flv のパスを取り出すというのをフラッシュ内で行う事は可能でしょうか?
971Now_loading...774KB:2006/09/03(日) 19:40:18 ID:UGoSyTYK
972Now_loading...774KB:2006/09/03(日) 20:14:51 ID:pvkA2tn4
そういうのって、YouTube的にありなのか?
いわゆるコンテンツただのりだろ。
973Now_loading...774KB:2006/09/03(日) 20:16:16 ID:v5JyPDHy
>>972

本人のモラル次第
974Now_loading...774KB:2006/09/03(日) 20:59:48 ID:wpFYFLnb
API出してるからYouTube的にはありなんでしょ。
コンテンツ提供者にはありじゃなくても登録するとき同意ボタン
押してるだろうし・・・
975967:2006/09/03(日) 23:33:53 ID:ZtYfVh6o
>>971
YouTubeAPI で XML 取得しても
flv のパスまではわかりませんよね?
976Now_loading...774KB:2006/09/04(月) 10:00:36 ID:JlA/DmGn
ナンバープレイスをフラッシュで作ろうとしています。
自分の考えた方法は1〜9をテンキーに反応させて
数字を表示する部品(MC)を81個並べることを考えたのですが、
キーを押すとすべてのMCが反応してしまいました・・・
アニメーションの作成はしたことがあるのですが、
パズルの作成は初めてで戸惑っています。
何かいいアイデアはありませんでしょうか?
977Now_loading...774KB:2006/09/04(月) 13:02:13 ID:beNtmoNR
初めてでナンプレ作るのは多分無理 とマジレス
978Now_loading...774KB:2006/09/04(月) 13:05:10 ID:e5vmLlYx
979Now_loading...774KB:2006/09/04(月) 13:41:11 ID:ot7JOz+R
>>976
今どこのMCを変えようとするのかを内部管理してなければ、全部のMCが変わると思うよ。
質問が抽象的すぎて、どう回答しようかちょっと悩むんだけど、
アニメーション以外の作成をしたことがないのなら、段階踏んでやってみると良いと思うよ。
まずは4つのMCでも良いから、個別に数値が設定できるようなAS書いてみるといいかも。

ナンプレ作るには、
 ・問題をどうするのか(自動生成?あらかじめデータを作る?)
 ・インターフェイス
 ・正解かどうかのチェック
大まかなところでこれくらいがポイントになるのかな?

ASぽくない、抽象的な回答でスマソ
980Now_loading...774KB:2006/09/05(火) 22:00:08 ID:5qdqg97Y
Flashでメールフォームを作ったのですが、送られるメールが文字化けしてしまいます。
CGI側で、Flashから投げられた文字列のコードがSJISって言うのまでは掴んだのですが、CGIの方でSJIS対応しても文字化けてしまいます。

Flash8のデフォルト設定ですが、FlashからEUCで文字列を投げる事って出来ないのでしょうか?
981Now_loading...774KB:2006/09/05(火) 22:16:28 ID:wEOlWLLN
flashは基本的にUTF-8のはずだが。
982Now_loading...774KB:2006/09/05(火) 22:46:30 ID:LaNQtSb9
>>980
CGI側で文字コード変えればいいじゃん
983Now_loading...774KB:2006/09/05(火) 23:08:44 ID:kGj3Ef19
インプットテキストとか使うと貼り付けたHTMLのメタタグのコードになったような
記憶もあるけど忘れた。そのCGIって普通のSJISのHTMLのフォームからデータ送って
ちゃんと文字化けせずに使える?
984Now_loading...774KB:2006/09/06(水) 14:32:22 ID:fY6MVT0s
>>981-982
UTF → EUCがどうも上手く言ってないんですよね。

>>983
それは問題ないんです。
985Now_loading...774KB:2006/09/06(水) 15:30:19 ID:CaXvOM1x
>>984
そのうまくいってない変換部分を見直すべきだと思う。
986Now_loading...774KB:2006/09/06(水) 17:26:31 ID:RAIUqk9W
サーバー側のCGIって何?
Perlか?
987Now_loading...774KB:2006/09/06(水) 22:20:27 ID:j4MizUIr
FLASH で使える文字コードは UTF-8 または OS 依存のどちらか。
OS 依存では web で公開するのに嫌すぎるため、普通は UTF-8 を使う。
なので、FLASH + CGI で作る web アプリだと、文字コードは UTF-8 を使う選択しかないかと。

CGI内部で無理矢理EUCを使わなきゃいけない理由がないなら、

Flash / UTF8で入力 → CGI / UTF8で処理。CGIもUTF8で書く。
   → 最後の最後に jis に変換して出力(メールは sjis じゃなくて jis だったような)

みたいな流れですかね。
988Now_loading...774KB:2006/09/06(水) 22:33:19 ID:j4MizUIr
あと質問です。
MX2004なんですが、あるムービークリップの子ムービークリップへの参照を
すべて取得することは可能ですか?
989Now_loading...774KB:2006/09/06(水) 22:50:02 ID:aDHM/st+
for inで出来ると思う
あるいは配列を持たせて配列で管理するか
990Now_loading...774KB:2006/09/06(水) 23:33:17 ID:CnBM2r4Q
すいません
初心者です

MXを使っているのですが、ASを使って、閲覧者がそのFLASHを見た時間を測定し、その時間を変数Aの値に代入することってできます??
991Now_loading...774KB:2006/09/06(水) 23:37:21 ID:oHIQSWz1
>>990
可能
var a = getTimer();
992963:2006/09/07(木) 03:29:39 ID:FOvOOLJu
>>964,965
出力パネルのフィルタレベルがなしになってた。
詳細をチェックしたらtrace()の出力が出るようになった。
しかし"なし"ってなんに使うんだ?
993988:2006/09/07(木) 07:58:39 ID:jH+EygBZ
>>989
「あるムービークリップの中に MovieClip を継承した
自作クラスのインスタンスがあったらむにゃむにゃする」
という処理を想定しているので、
for in を使うんでも、 static な配列を自作クラスに作って、
コンストラクタでターゲットパスをしまっておくんでも、
思った通りに行けそうです。
ありがとうございました。
994Now_loading...774KB:2006/09/08(金) 05:30:47 ID:peXOqRoX
どなたか次スレよろ。修正済みテンプレは↓
タイトル:
ActionScript 誰かが物凄い勢いで解答するスレ 14
>>1の内容:
AcitonScriptのことなら
初歩的な質問でもなんでもおk

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

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

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

関連スレ
Flash製作初心者の質問スレッド レイヤー34
http://pc8.2ch.net/test/read.cgi/swf/1153147930/l50
Flashの超基本的な質問はここでしろ! part30
http://pc8.2ch.net/test/read.cgi/swf/1157035508/l50

サイト、参考書籍、関連情報は>>2-10あたり
995Now_loading...774KB:2006/09/08(金) 06:06:56 ID:at2p8gXn
たてた

ActionScript 誰かが物凄い勢いで解答するスレ 14
http://pc8.2ch.net/test/read.cgi/swf/1157663122/

不備あったらスマソ
996Now_loading...774KB:2006/09/08(金) 06:07:57 ID:at2p8gXn
あと、>>994さん、テンプレありがと。とても助かった
997Now_loading...774KB:2006/09/08(金) 06:51:21 ID:peXOqRoX
>>995
乙カレ〜
998Now_loading...774KB:2006/09/08(金) 07:21:27 ID:at2p8gXn
>>997
テンプレの保管サンクスです
999Now_loading...774KB:2006/09/08(金) 08:48:05 ID:uu8ROI6w
>>995
おつかれさまんさ
1000Now_loading...774KB:2006/09/08(金) 08:52:09 ID:uu8ROI6w
ま、まさかとはおもいますが。。。

生まれて初めての1000ゲットです!
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。