ActionScript 誰かが物凄い勢いで解答するスレ 17at SWF
ActionScript 誰かが物凄い勢いで解答するスレ 17 - 暇つぶし2ch299:273
07/09/14 02:28:42 IuUz1TI2
お返事が遅くなってしまいすみません。

>283
やはり「難しいから」なんですね。取り組んでみて実感しました。

>284-285
>まずは、簡単な特徴的な文章(1行程度)を試しにパースしてみよう。

こちら、>278のソースを参考に作ってみようと思います。
方針としては、文字列を先頭から1文字づつバッファーに貯めて行き:

・数字が出現したら、演算子か英文字(プロパティ)が出るまで連続して読み込み、
 そのバッファーを「項」の配列にスタック
・演算子が出たら、数字か英文字が出るまで連続して読み込み、そのバッファーを
 「演算子」の配列にスタック
・それ以外はプロパティ。演算子が出るまで連続して読み込み、そのバッファーを
 「項」の配列にスタック
・演算子の文字列に優先順位をつけ、その優先順位の高い演算子を
 挟んでいる項を演算し、後ろの項をスプライス(削除)し、この項とその次の項を……
 を繰り返して行全体を処理
・優先順位が0になるまで、着目優先順位を1づつ下げながら繰り返す
・項が1つになったとき、それが解

カッコの処理は、開きカッコがでたら、その後の開きカッコの個数を数え、同数の閉じカッコが出たら
バッファーの内容を引数にして再帰呼び出しするようにしてみます。

>294
最悪、上記のことで実現できなければ、JSONで
[ { "left" : "a", "fugou" : "==", "right" : "1", "renketsu" : "||"}, {式}, {式} …… ]
等の記述をするように、仕様を考えてみます。

300:Now_loading...774KB
07/09/14 10:01:05 j38Gt5NV
>>299
XMLでやった方が早いんじゃねーの?

301:286
07/09/14 15:42:25 RvW1gVaf
setInterval()で無事それらしく出来ました。ご指導感謝します。
ありがとうございました!

302:Now_loading...774KB
07/09/14 20:39:48 LYhDOI8p
回転させるには_rotationを使えばいいんですよね?
でも、回転するにあたって中心位置指定をするASはあるのでしょうか?
rootを回転させたいので・・・

303:Now_loading...774KB
07/09/14 21:13:33 y9xVRtWv
>302
無い。それと、_rootは回転しないじゃろ?
全体を回転させたいなら、1つのMC(中心が回転軸)に全部ぶっこむ
中心を左上等にする必要があるなら、mcの中心を回転軸とした円運動の式を組む

304:Now_loading...774KB
07/09/14 21:28:34 Vf34kzq9
>>303
_rootもMCなので、回転します。

305:Now_loading...774KB
07/09/15 02:40:22 u0PubEBn
質問です。Flashをメールクライアントとして使いたいと思っています。
受信したデータなどをローカルに保存したいんですが、ファイル入出力
ができません。
ここで質問なんですがFlashとCなどを組み合わせてFlashにない機能を
Cなどで補うことは可能でしょうか?
たぶんアプリケーションにFlashをのせたらなんかできそうな気がするんですが
調べてもなにもでてこないのでご教授願えれば幸いです。

306:Now_loading...774KB
07/09/15 03:34:56 B3bx7q3w
>>305
Cのことはわからないんだけど、vb2005やC#2005ではフォーム上にFlash貼って
fscommandでやり取りできる。

C#だけど。
URLリンク(web.sfc.keio.ac.jp)

でもそういう使い方すると
>Flashにない機能を Cなどで補う
っていうよりもCで作ったアプリにFlashで色づけするって感じになると思う。

307:Now_loading...774KB
07/09/15 03:55:10 ngWHqH2K
ローカルファイルの読み書き程度ならAIRとかZincで十分できるけどな

308:Now_loading...774KB
07/09/15 05:00:27 U1a+GSCe
FLASHってXML出力ならできたよな確か

309:Now_loading...774KB
07/09/15 07:14:13 0mhcD0mY
>>305
ヘルプでExternal APIあたりを参照する
>>308
出力というのが、ファイルとしてという意味なら不可能

310:273
07/09/15 09:35:24 bmSbVgmK
お返事が遅れて、申し訳有りません
(仕事が忙しかったもので……)

>300
最初はXMLも考えたのですが、それよりはJSONのほうが
記述もデバッグもしやすいだろうと考え、フリーのJSON for ActionScript2を
使用しています。

なお、>>284の「1行のパース」は成功し、きちんと演算ができました。
ただし、カッコの部分で手間取っているので、らちが明かないようなら
設計を見直し、>>278の逆ポーランド記法を参考にさせていただこうと思います。

目処がつきましたので、これにて>>273の質問は終了とさせていただきます。
皆様、ありがとうございました。

311:Now_loading...774KB
07/09/15 09:40:06 bmSbVgmK
>309
余談だが、FlashCommunicationServerは、「flv形式なら生成できる」
という仕様を利用して、ログファイルを生成していたりする。

ファイル書き込みができないのはセキュリティ面では意義のあることだが、
アプリ作成側にとっては、けっこう頭が痛い。

312:Now_loading...774KB
07/09/15 15:34:15 U1a+GSCe
力を貸して欲しい。どうしても出来なくて困ってるorz

環境:FlashCS3 ActionScript3.0
目的:niconicoやYoutubeのFLVを、ローカル環境でストリーム再生する

現在、niconicoでテスト中。
手動でCookieを取得し、FLVのURLを渡しているが、開けないとのエラーが出る。

ルートタイムライン(StageにFLVPlaybackを配置)
import fl.video.*
//var FLVPlayer:FLVPlayback
FLVPlayer.source = "URLリンク(smile-com32.nicovideo.jp)

また、FLV再生コンポーネントのFLVPlaybackが「?」を含むURLや「.flv」を含まないURLを
弾く仕様になっていたので、NCManagerの下記個所を修正

NCManagerクラスの変更箇所(614行:条件分岐をコメントアウト)
//if ( parseResults.streamName.indexOf("?") < 0 && parseResults.streamName.slice(-4).toLowerCase() == ".flv" ) {
 canReuse = canReuseOldConnection(parseResults);
 _isRTMP = false;
 _streamName = parseResults.streamName;
 return (canReuse || connectHTTP());
//}

313:Now_loading...774KB
07/09/15 16:05:53 jSpkWWWt
>>312
ニコニコは外部アクセス遮断してるかと思われ

314:Now_loading...774KB
07/09/15 16:20:25 0Z2nAOxw
Flash CS3 (ActionScript 2.0)

外部ファイルで、下のような、回転を制御する簡単なサンプルを作っているんですが、
class Rect {

private var mc:MovieClip;
private var mc1:MovieClip;

function Rect(base:MovieClip) {
mc = base;

mc1 = mc.attachMovie("rect", "rect", mc.getNextHighestDepth());

mc1.onEnterFrame = function() {

this.rotationMovie();
};
}
function rotationMovie():Void {

mc1._rotation++;
}
}
をつくり、flaファイルのフレームアクションで
var rect:Rect = new Rect(_root);

という感じで記述しているんですが、何も起きませぬ;
どこかマズいんですかね・・・

ステージ上のMCのMC名・リンケージ名は共にrectです。


315:Now_loading...774KB
07/09/15 16:24:59 U1a+GSCe
SWFがクライアント側で動くから、サーバーが遮断してるわけじゃないと考えてたんだけど違うのかな?
再生ページのタグをそのままコピってローカルで動かしても正常に動くから、
自作のFLASHからFLVへアクセスできないのは、自分のソースが間違ってるか、
デフォルトのプレイヤーにASからIDか何かを送るような処理いれてるかだと思うのだけれど。。。

316:Now_loading...774KB
07/09/15 16:32:10 0mhcD0mY
>>314
>this.rotationMovie();
この前にtrace(this);してみる

317:314
07/09/15 17:52:33 0Z2nAOxw
>>316
手直ししたら、動きました。リンケージ名の登録忘れと、
var scopeという変数を利用して、

function Rect(base:MovieClip) {
mc = base;
var scope = this;

mc1 = mc.attachMovie("rect", "rect", mc.getNextHighestDepth());
mc1._x = 200;
mc1._y = 200;

mc1.onEnterFrame = function() {
//trace(this);
scope.rotationMovie();}
}
のようにしたら、動きました。

でも、scope.rotationMovie()の部分は、this.rotationMovie()にすると動かないんですが、thisはダメなんですかね・・・

318:Now_loading...774KB
07/09/16 00:40:31 Yqhe3f+A
305です。回答ありがとうございます。

>306
それはヘルプにのってたんでしってるんですが、fscommandの引数として巨大なデータを。
渡せるんですかね?バイナリとかも。
データ取得とかはFlashでして、それをCに渡して保存とかはやっぱり
無理だと考えたほうがいいですかね。
どうもありがとうございます。

Airはつくったのをインストールしてもらわないと使えないので
今回は使おうと思っていません。

319:Now_loading...774KB
07/09/16 01:02:43 NgBRFJ+T
>317
クラスファイルでのスクリプトと、FLAファイルでのスクリプトでは
入れ子にした場合のthisの指すものが変わるんだよねぇ……。

FLAファイルでは、thisをつけると入れ子、つけないと「スクリプトを
記述している部分」を指すので、スマートな記述ができたんだが
クラスだとそうならない。
なんで、こんな仕様にしたんだろう。
マクロメディア(アドビ)は、おそらく意味があってやってるんだろうけど。

320:Now_loading...774KB
07/09/16 01:51:38 /j12KesV
>>319
mc1のonEnterFrameの中じゃ this が指すのは mc1 になる
それだけの話じゃね? と思ったんだけど

何かよく分からんないので
もう少し詳しく説明してほすぃ

321:Now_loading...774KB
07/09/16 10:21:25 NgBRFJ+T
>320
ああ、言われてみれば>317の挙動はたしかに正しかった。
俺が言おうとしていたのは、thisをつけるかつけないかの
挙動の変わり方が、タイムラインとクラスファイルで
異なってしまうってこと。
>317の例で言うと、

var scope=this;
mc1.onEnterFrame = function() {
scope.rotationMovie();
};
}
の部分は、タイムラインでの記述のようにこう書かせて欲しい。

mc1.onEnterFrame = function() {
rotationMovie()
};
}
クラスファイルでは、thisが無くてもthisを記述したようにふるまってしまうが
タイムラインでは、thisが無ければ(非公式テクニカルガイドで言う)デフォルト参照をする。
で、おれはこっちの書き方のほうが、thisの有り無しで処理を分けられるので
スマートに思えるわけ。いちいち外側から参照を渡すってのは気持ち悪いんだな。

322:317
07/09/16 10:39:57 saZ5CG3k
>>318 >>319

ああ、分かってきました。
scope.rotationMovie();はRect自身のメソッドだけど、
スコープの範囲でthisだと(function内なので)ダメってことですかね。

mc1.onEnterFrame = function() {
rotationMovie()
};
}
と書くほうが分かりやすいですな



323:317
07/09/16 10:40:55 saZ5CG3k
スコープの範囲で > スコープで

324:Now_loading...774KB
07/09/16 12:15:10 /j12KesV
>>321
なるほど ややこしいんだな thx

325:Now_loading...774KB
07/09/16 13:29:42 DCj6dDCu
AS2は付け足しだからレガシー仕様引っ張ってるからな。
そういう意味では初心者にこそむしろAS3をおすすめしたい。

326:Now_loading...774KB
07/09/16 15:58:04 s1MthOZf
>>325
それはない

327:Now_loading...774KB
07/09/16 23:19:16 ESTiE0oe
MovieClipのインスタンスを複製したいんだけどどうやるの?

328:Now_loading...774KB
07/09/16 23:41:52 pMx+rz+m
>>327
duplicateMovieClipを使う

329:Now_loading...774KB
07/09/16 23:43:32 5aMPC9TN
>>321 >>322 >>324
なんかおまいら言ってることおかしくないかー?
この場合、onEnterFrameをmc1のメンバにしてるのが変
this.onEnterFrame = function()にすりゃ良い
「rotationで影響を及ぼしたい場所=Rectインスタンス自身」なのに何故、mc1の中に入れ込んじまうんだw

あとthisの有り無しで処理を分けるなんてことやめた方がいいぜ?
読みにくいスクリプトの見本みたいなもんだよ。

thisは省略しない方がいいとか色んな本に書いてるけど、
あれは「参照をちゃんと記述しないとスパゲッティコードになる」って意味だよ

330:Now_loading...774KB
07/09/16 23:43:37 ESTiE0oe
すいません。>>328
ActionScript3.0と書くのわすれました。

331:329
07/09/16 23:59:15 5aMPC9TN
ごめw ミス

>>thisは省略しない方がいいとか色んな本に書いてるけど、
>>あれは「参照をちゃんと記述しないとスパゲッティコードになる」って意味だよ

シンタックスを使ったオブジェクトのメンバメソッド内でのthis省略、ね
書籍などには「thisは省略しない方がいい」などとは書いてないので注意
まぁ普通にドットシンタックスを把握してる人にとっては、デフォルト参照は分かりにくいのではって話です。

332:Now_loading...774KB
07/09/17 00:17:23 Y5dZ1OyR
>>330
this.addChild(new MCのクラス名()) クラスは自動生成されるから別に作らなくてもおk

333:Now_loading...774KB
07/09/17 00:18:36 2hvSJKkL
>>326
プログラム言語として言えばAS3.0の方がスマートだしわかりやすいよ。
まあ、AS2.0しか知らない人には、今まで苦労して理解したのに。。
っていういうことはあるかもしれんけど。

334:Now_loading...774KB
07/09/17 00:26:43 2jshZNy/
AS2->AS3の移行で戸惑う人はほとんどいないだろ。
AS1しか書いてなかったからAS3が理解できないってんなら分かるが。

335:Now_loading...774KB
07/09/17 00:29:23 Y5dZ1OyR
そうだな。
ていうかJavaや.NETから入った俺からすれば、AS2.0を覚えれたのはすごいと思うけどな。
ワケ分からん仕様多いしさ。2.0理解したんなら3.0理解するのなんてすぐだろう
ていうか2.0にどっぷりはまっちゃうと正直危ないと思う

>>322
あんた危ない方向に進んでるよw

336:Now_loading...774KB
07/09/17 00:30:25 2hvSJKkL
>>334
AS1.0-->AS2.0は普通に拡張な感じだけど、3.0へはちと、、、
移行するにしても、相当コーディングし直さなきゃならないとおも

337:Now_loading...774KB
07/09/17 00:41:40 2jshZNy/
AS2からAS3への書き換えは何度かやったがそんなに大変じゃなかったな。
むしろonClipEventとか使ってるAS1をAS2でOOP化するほうが手間だよ。

338:324
07/09/17 00:50:23 lLsXrzzj
>>331
>「rotationで影響を及ぼしたい場所=Rectインスタンス自身」なのに

これは質問主にしか分からない事だと思うよ。
掲示されたのがonEnterFrameをmc1のメンバにしているソースなのだから
それをベースに答えるしかないよ。効率や正しい書き方を聞かれたのなら
まったくおっしゃる通りだと思うけど。

僕は デフォルト参照なんてものを初めて知ったので
「ややこしいんだな」と思ったんだ。

339:Now_loading...774KB
07/09/17 01:14:20 iNf8t6Bu
OOPなんて言葉まだあったんか。

別にAS3自体を否定する訳じゃないけど、初学者が学ぶには
言語だけでなく概念を理解しなければならないから途中で
投げてしまう人口を増加させてしまうと思う。

エスペラント語ってすっきりしていて便利だよね、みたいな話だと思う。

340:Now_loading...774KB
07/09/17 01:17:35 6k7bATPM
>>338
ん? 横から入って悪いけれど、それは違うんじゃない?
もいっかいソースやレス見直してみたらどーかな

俺にも、onEnterFrameをmc1のメンバにしてる意味がわからないよ。
そしてソースが動かない原因も、onEnterFrameをmc1のメンバにしてるせいだしね。
提示されたソースが間違ってたから動かないんだよ。見当違いな解決策だすより、そこを指摘するのが妥当でしょ。

341:322
07/09/17 02:13:05 6fW/4BX0
んーんと、ちょい混乱してるわけですが。

まず、Javaちょこっとかじって来ました。AS始めたばっかりです。
で、指摘されてる部分は、mc1.onEnterFrame...でいいんですよね?

この場合
MovieClip(flaファイルに慣れてないので)をあんまり弄らなくても、いい手法かなと思ったんで、こう書いてみたわけですが、異端な書き方なんですかね?
あくまで、MovieClip側に何かアクションを起こしたいわけです。

サンプルでMovieClipにextendsさせる方法も見ましたが、そっちのほうが主流なんでしょうか?

342:Now_loading...774KB
07/09/17 03:43:08 lLsXrzzj
>>340
ソースとレスを見直した結果
僕は間違っていました。申し訳ない。


MovieClip を extends するなら

/// 外部ファイル
class Rect extends MovieClip{
function Rect() {
this.onEnterFrame = rotationMovie;
}

function rotationMovie():Void {
this._rotation++;
}
}

//fla メインタイムライン
var rect = _root.attachMovie("rect", "rect", mc.getNextHighestDepth());
rect._x = 200;
rect._y = 200;

みたいな感じかな。


343:Now_loading...774KB
07/09/17 06:02:05 Y5dZ1OyR
てかなんでみんなクラス内でENTERFRAME使うの?
俺はIntervalの方が、関数名指定するだけで出来るから好きなんだけどなー
ENTERFRAMEと違ってスレッド削除にも殆ど制約ないし

344:Now_loading...774KB
07/09/17 09:32:00 N8Y+FRzQ
>343
俺もsetInterval派。
onEnterFrameで行う部分は、setIntervalにしたほうが色々と便利だし。
(ただ俺は、そこに匿名関数を記述するんではなく、関数名をこしらえて
 その関数に処理を渡していくのが好き)

でも、onハンドラから匿名関数をつないでいくって言うイベント記法は
ActionScriptに馴染みのない人でも分かりやすいんだよ。
「対象MCが.どうなったら=処理する{その内容は……です}」
と、一つの塊を見れば一目瞭然だし、
enterFrameだけでなく、loadやpressなどでも同じ書き方ができるので
応用範囲も広い。

イベントを直接管理する記法が主流になれば、いずれ廃れる
書き方かもしれないが、現時点では悪くないと思ってる。

345:Now_loading...774KB
07/09/17 13:26:00 1rQVYVzg
>>342
この場合はthisだからいいけどAS2の場合は関数に処理渡すのもDelegate使う
のが基本と覚えといた方がいい。そうすりゃsetIntervalもonハンドラも使用感は大して変わらん。
>>339
初心者が途中で投げてしまうのは難解さじゃなくてレガシー対策のイレギュラーな処理やバグで
思い通りに動かないからだろ。

346:Now_loading...774KB
07/09/17 18:56:51 rqoIZ334
毎フレーム処理したい のと 一定時間ごとに処理したい の違いじゃないの?

347:Now_loading...774KB
07/09/17 19:14:22 1rQVYVzg
>>346
そうだよ。setInterval派とかいう派閥はない。処理に応じて使い分ければいいだけ。

348:Now_loading...774KB
07/09/17 20:13:22 6k7bATPM
どちらの状況でもないときに使う方の話をしてるんだと思うが。”連続して実行させたい”とか。実際コレが一番多い罠

349:Now_loading...774KB
07/09/17 21:21:42 yNgKhKTu
こういう話になるとがぜんはりきる俺様を見てくれって奴が多いんだよ。ほっとけ。

350:Now_loading...774KB
07/09/17 21:22:08 N8Y+FRzQ
>347
>348の言うとおり、大半の人は「MCを動かす」目的で使う。
そのアプローチが「clipEvent(enterFrame)派」、「onEnterFrame派」
あるいは「setInterval派」などに分かれているのが現状。

他の処理系の人から見れば噴飯ものの分類だろうけど、
これらは「MCを動かす」という目的のもと、同じ分類になっている。
それぞれの意味の違いが分かって、最適のスクリプティングができれば
AS使いとしては上級の部類になるだろう。

個人的には、”デザイナー上がり”の人たちも、これらの奥深さに
触れてもらえればと思っている。プログラマと話が通じると楽しいし、
「絵筆」が増えることで、よりアーティスティックな表現もできるはずだから。

・forループで100個のMCをいちどきにattachMovieするのでなく
 10分の1秒ごとにわらわらとattachMovieしたい……setIntervalでattachMovieし
 100個になったらclearIntervalする
・ボタンクリックを、ムービーの状態によって違う動きにしたい
 ……同じイベントトリガを、別のイベントリスナに登録しなおし、各処理は
 そのリスナのメソッドとして定義しておく

”プログラマ”には簡単すぎるこうした処理も、”デザイナー”には高難易度。
このスレッドは、彼らの架け橋になってくれたら嬉しい。

351:Now_loading...774KB
07/09/17 21:24:23 Mfkvi56+
OOPってもう古い概念なの?

352:Now_loading...774KB
07/09/17 21:25:38 yNgKhKTu
勝手に奥深いとか難しくて高度な事と位置付けたい馬鹿に踊らされてるだけ。可愛そうに。

353:Now_loading...774KB
07/09/17 21:27:11 yNgKhKTu
>>351
全然古くない
ただ「OOPとはこれ」「OOPやらなきゃ馬鹿」とか大上段に構えてる奴らが笑い物になってるだけ
普通に使う考え方

354:Now_loading...774KB
07/09/17 21:31:39 Mfkvi56+
>353
それは良かった。今更ながらFLASH OOPを読んで歓心してた所だ

355:Now_loading...774KB
07/09/17 21:38:20 yNgKhKTu
>>354
あの本は悪くないけど気を付けた方がいい。
よく日本人の英語学習の笑い話で「外資系の会社に、英語は完璧ですという入社希望者が来た
、で、その希望者に『なるほど、じゃああなたはウチの業務がどういうものがご存じですか』と聞い
たら黙ってしまった」というものがあるけれども、あの本はまさにその典型。

FlashOOPが~とか言う奴は実際にやらせてみるとコードひっかきますだけで、成果だすまでに
以上に時間かかるという事が結構あった。そうならないように、あれはあくまで文法の本だってことを
キモに銘じておいた方がいい。

356:Now_loading...774KB
07/09/17 22:14:51 N8Y+FRzQ
>352
さっきから気になってるんだが、きみはまさか
「AS=簡単、気軽な言語」とかおもってないかい?
キミが相当の知識があることは>355を見てもわかるし、きみにとっては
ピクニック気分の言語なんだろう。そこは尊敬する。

でも違う。大半の開発者にとっては、イベントとかクラスとかスコープとかは
いまだ「大上段ニ構える」概念だよ。
なぜって、開発者の大半はきみのようなプログラマじゃない。
アーティストだのデザイナーだのと呼ばれる、絵描きさんだからだ。
専門的な訓練をろくに受けていない頃なら、概念を理解するのは
一大事だってことは分かるだろ。
だから、このスレが有るんじゃないのかい?(ちょい脱線気味だけど)

357:Now_loading...774KB
07/09/18 00:55:05 2sKulJ4Y
Flashみたいなちょこっとスクリプト書く程度の物に
わざわざオブジェクト指向を持ち出してくる輩は哀れ。

358:Now_loading...774KB
07/09/18 01:27:36 cAw2l+pm
それは規模によるでしょ。

フルFLASHのサイトで5000行を超えるASを書いたりしていると
開発技法とデザイナとのやり取りについてあれこれ考えないと
いけないなと思うよ。

でも、気にせずクラスなんて使わずにコーディングするけどな!
それがActionScriptのお気軽お手軽なところなんだし。

359:Now_loading...774KB
07/09/18 01:48:13 pAUTaWBv
>>357
ちょこっとしか書けないんだろw

360:Now_loading...774KB
07/09/18 02:34:22 fRxYsA1E
>>358
ゲームならまだわかるけど、フルFlashサイトで5000行もいくものなの?
ていうかオブジェクト指向にするかどうかは行数で決めるの?

361:Now_loading...774KB
07/09/18 02:46:56 qkhusDJy
プログラムは最終的に思った通りに動けばいい。
過程や…方法なぞ…!どうでもよいのだァーッ!

362:Now_loading...774KB
07/09/18 11:08:56 MvRIbmuP
ウボァ。すごい勢いで挫折しそうなんでエロい人教えて。

1.外部テキストを読み込む
2.読み込んだ文字列をMCに入れる
3.MCのアルファを変化させる

って事がやりたいんですが、MCのアルファは変化してもMC内テキストのアルファが変わってくれません。
flash内で事前にテキストを分解(アウトライン化?)しておけばアルファを弄れるのですが、
なるべく、"テキストデータのまま"で処理したいのです。

現在は応急処置として、マスクレイヤーを追加してMCを無理やり透過させていますが、
他の良い方法でなんとかならんでしょうか。

363:Now_loading...774KB
07/09/18 12:15:23 CPBdjEuF
>>362
基本的には、デバイスフォントではアルファ変化とかはできない。
その場合は、テキストを分解じゃなくて、テキストフィールドに必要な文字を埋め込む。
必要な文字数が膨大だと、ファイルサイズも膨大になる。

364:Now_loading...774KB
07/09/18 12:16:32 d/VnrghS
>>362
アルファベットくらいなら全部埋め込みフォントにすれば透過できたと思う。日本語あるときっついね。
Fla8以降なら一旦bitmapdataにdrawして、それを透過表示するとかでできるんじゃないかな?

365:Now_loading...774KB
07/09/18 12:18:35 bWu2MPRH
システムフォントはアルファ変更できない。
上レイヤに背景色をかぶせてアルファを変えるか
フォントを埋め込みにすれ。

366:Now_loading...774KB
07/09/18 12:49:59 pAUTaWBv
>>360
ステップ数は規模の大きさの判断の指針として使える
100行のプログラムと5000行のプログラムが同じコストがかかるとは思えないよね

367:Now_loading...774KB
07/09/18 13:52:30 AAm22yJ7
>>360
俺は仕様追加や更新するかどうかでOOPにするか決めるな。
最初多少手間でも後から相当楽できるから結局楽をしたいことには変わらん。

368:Now_loading...774KB
07/09/18 20:51:57 MvRIbmuP
>>363-365
ありがとごじます。なんと。埋め込みフォント。知らなかったです。
日本語を使わないので英数字のフォントを埋め込んで解決しました。

BitmapData.draw()でフォントを画像データにする方法でも無事透過出来ました。
日本語をダイナミックテキストで扱う場合はこちらの方法が良さそうですね。

ASスレのはずなのにスレチで失礼。

369:Now_loading...774KB
07/09/20 20:18:26 Rm1sHKpH
環境)OS:WinXP-Pro,Mem=1GB,ソフト:Flash8-Pro(Player7,AS2.0)

セキュリティについて質問です。

現在swf内部の記述(AS)が読めるソフトが出回っていますが、今のところ
『最も中身が見れない(バレない)方法』にはどのようなものがあるのでしょ
うか?

つまりは、プロテクトを掛けたいと思っています。
この辺りの技術はイタチごっこでいずれ破られるとは思いますが、一時的に
せよ保護したく思っています。

一応、「Flash便利帖」(インフォメディア著 毎日コミュニケーションズ)のp202で
パブリッシュ設定 → 読み込みプロテクト は勉強しました。

370:Now_loading...774KB
07/09/20 20:26:49 YnUhWzLm
URLリンク(www.amayeta.com)

371:369
07/09/20 23:30:37 Rm1sHKpH
>>370
有り難うございます。

372:Now_loading...774KB
07/09/21 13:19:47 RC2nJwul
for文でカウントにiを慣例で使うと思いますが
複数入れ子にする場合も、何か文字があるのでしょうか?
for(var i=0~
 for(var ii=0~
  for(var iii=0~

ii,iiiやi,j,kだとjが見難かったりしますよね?

373:Now_loading...774KB
07/09/21 15:37:21 iyDIO6ly
教科書なら慣例でi,j,kだと思うが、実際には用途に合わせて名前つけたほうがいいんじゃね?
page,line,wordとか

374:Now_loading...774KB
07/09/21 19:10:51 RC2nJwul
>373
なるほど。名前試して見ます。ありがと。

375:Now_loading...774KB
07/09/22 10:36:04 KZSU70kv
>374
あくまでも俺のやり方だが、>373だと、すでにそのクラスの
プロパティとして使う名前とかぶってしまう場合があるので、
ループに使う変数名は自分の中で決めてしまうのも手だ。

たとえば、i、j、k……ときたら間違いなくループカウントだと
ルール付けしてしまえば、あとからソースを見たときに
視線がまごつかなくてすむ。
反面、その変数が何を表しているのかは、ソースを読まないと
分からなくなるわけだが。

376:Now_loading...774KB
07/09/22 14:55:45 M/Y5Y738
昔は>>373みたいな意見も多かったけどねー
今はループ用一時変数は統一されてるのが殆どじゃない? 下手につけると衝突するでしょ

377:Now_loading...774KB
07/09/22 17:12:11 BHL4zl0l
ループカウンタはカウンタとしてわかる無意味な短い変数名ならば良いと思う。
一般的に使われているi,j,kとかx,y,zとか。3次元以上のループはわかりにくいので
設計をデータクラス(レコード)にしたりして次元を落として見やすくする方が良いと思う。
ソースを読んでいてfor文の中にrow,colとか書いてあるとカウンタではなく、
なにか意味のある、スコープが大きい変数かなと思って思考が一時停止しちゃう。

378:Now_loading...774KB
07/09/23 10:19:37 wCi0nQ10
LoadVarsのonLoadで困っているのだが、知恵をお貸しいただきたい。

LoadVarsのsendAndLoadで読み込んだ結果を、関数の結果として返したいのですが
onLoadが完了する前に関数の結果がnullとして返ってしまう。

function hoge(str)
{
 var re = new LoadVars();
 var se = new LoadVars();
 se["msg"] = str;
 se.sendAndLoad(URL, re);
 
 re.onLoad = function(success)
 {
  if(success)
  {
   //ここがreturnされてほしい
   return re["result"];
  }
 }
}

test = hoge("aaa");
trace(test); //null

うまく関数の結果を返す方法が分かる方、ご教授ください。

379:Now_loading...774KB
07/09/23 10:38:01 V2WFfrq8
メインの方でsetIntervalを使って処理待ちすればいいのではないかな

380:Now_loading...774KB
07/09/23 11:27:40 VB6Lvfzs
読み込み待ちできない奴多すぎるな
>onLoadが完了する前に関数の結果がnullとして返ってしまう。
これ自分で書いてて当たり前だと思わないんだろうか?

381:Now_loading...774KB
07/09/23 11:48:04 QIjd3skm
>378
詳しくソースは追い掛けてないけど、ひとつ気になったことは、
なんでイベントハンドラの処理を定義する前に
sendAndLoadを実行しちゃってるのかな、ってこと。
定義前に結果が帰ってきたら、結果の行き場がない。
それじゃー空振りするでしょ。

382:Now_loading...774KB
07/09/23 13:00:25 wCi0nQ10
>>379
その方法でうまくいきました。
setIntervalとか、意外と使いやすいですね。

>>380
いやぁ、薄々は感じていたのですが、じゃあどうすれば、というところで
躓いていたわけです。

>>381
確かに。順序を入れ替えました。

383:Now_loading...774KB
07/09/23 15:37:27 2FSlMhjA
え、ちょっと待て。
setInterval使わないとロード待ちできないなんてことないだろ?
なんのためのLoadVarsだよ。

384:Now_loading...774KB
07/09/23 17:06:04 b4lv3C7V
>>378
非同期読み込みなんだからコールバックにしたほうがいい

385:Now_loading...774KB
07/09/23 19:00:28 QIjd3skm
>378の問題点は、関数の中にコールバックを作った上で、
その処理結果を戻り値としたことだな。
test = hoge("aaa");
trace(test);
で、イベントを待ってtraceしてくれるわけではないから
戻ってきたときにはすでにtraceは終了してるわけだし。

でも正直、俺も「関数の戻り値」として、こういう結果を取得したいと
よく思う。いちいちルートにコールバックを書くのはなんかダサく見えるし、
かといってコールバック内に処理(この場合はtrace)を入れるのも
見づらいし。

みんなは>378みたいなことをしたいとき、どうやって書いてる?

386:Now_loading...774KB
07/09/23 19:14:59 +wLcGl6I
function hoge(str){
 var se:LoadVars = new LoadVars()
 var re:LoadVars = new LoadVars()
 se["msg"] = str
 
 re.onLoad = function(success){
  (success) ? re["LoadFin"]() : false
 }
 se.sendAndLoad(URL, re)
 return re
}

var test:LoadVars = hoge("aaa")
test.onLoadFin = function(){
 trace( test["result"] )
}

普通にコールバックしかねぇだろw

387:Now_loading...774KB
07/09/23 19:18:00 +wLcGl6I
re["LoadFin"] → re["onLoadFin"] のミスス(´・ω・`)

ASにスレッド同期処理があればいいんだけどね。

388:Now_loading...774KB
07/09/23 20:16:13 r6NmunPI
AS2.0まではデコンパイラもそれを防ぐソフトもあるようですが、
AS3.0では同様のツールはまだ出ていないんでしょうか?
もしくは根本的に必要がなかったりするのでしょうか。

389:Now_loading...774KB
07/09/23 23:12:39 ZV3VxgoD
remoteProxy系は2も3もDispatcher使うのが普通だろ。ツールなんかいらんはずだぞ。

390:Now_loading...774KB
07/09/24 00:01:05 ZV3VxgoD
ゴメン酔っ払ってたから読み間違えた

391:Now_loading...774KB
07/09/24 15:04:25 GtWrn8iA
>>388
すでにAS3仕様書が公開されてるから何をやっても無駄。

392:Now_loading...774KB
07/09/24 16:03:31 aQ9jWDUm
>>392
つーことは、AS2.0は仕様書が公開されていないから、デコンパイラを防ぐソフト
が出来たということ?

393:392
07/09/24 16:04:24 aQ9jWDUm
いかん、自問してもうた。

392は391への質問です。

394:Now_loading...774KB
07/09/24 23:28:55 GtWrn8iA
>>392
バイトコードをアセンブラのごとく読めば
何やってるのか普通にわかるって事。
ASも8以前のswf仕様書も全部公開されてる

395:Now_loading...774KB
07/09/24 23:47:05 tWcvQwzk
>>394
レス有り難うございます。
デコンパイルに対するプロテクトといっても、結局は一時的なものなんですね。

396:Now_loading...774KB
07/09/25 03:05:53 TBCw7Ifp
質問です。
波の動きをさせようと以下のスクリプトを組み込んだが、
1回再生したっきり何も起こりません。

コードを記載してあったURLリンク(hakuhin.hp.infoseek.co.jp)のサンプルは連続再生出来ています。
何がおかしいのでしょうか?

onClipEvent (load) {

length = 30; // 波の幅
rot = 0; // 角度(位相)

dx = 5 // x方向移動量
posy = 150; // 元となるy座標
height = 100
}
onClipEvent (enterFrame) {

_x = _x + dx; // x方向移動
rot = rot + 10; // 0~360まで一定の速度で増やし続ける
if(rot > 360) rot -= 360; // 360を過ぎると0に戻す
rad = rot * Math.PI/180; // 角度からラジアンに変換
_y = posy + Math.sin(rad) * height; // y方向移動

}

397:Now_loading...774KB
07/09/25 03:41:41 TBCw7Ifp
永遠にx軸+方向に波打ってる。ステージから消えたときにでも_xをリセット

398:Now_loading...774KB
07/09/25 03:43:01 TBCw7Ifp
うお、ID同じだ。初体験w 自演じゃないからねw

399:Now_loading...774KB
07/09/25 03:52:03 /JBjbjXA
可能性は否定しないけど
これは自演ですね

400:Now_loading...774KB
07/09/25 03:52:07 TjOZ2AMF
はいはい自演自演

401:Now_loading...774KB
07/09/25 03:57:38 yRCc23vB
>>398
俺も経験あるから、
じぇんじぇん気にすることないよ。

402:Now_loading...774KB
07/09/25 04:38:33 mp9864L/
>401
この勇者にActionScriptの女神の加護があらん事を

403:397
07/09/25 05:26:45 TBCw7Ifp
じぇんじぇん気にしてないよ。
取り合えず今日1日は初心者を装って色々デキル訳だな。
ちょうどいい機会なんで悩んでたこと質問してみる。XMLを拾って解析するコードです。

var XmlLoad = function(e:MouseEvent):void{
 var myLoader:URLLoader = new URLLoader( new URLRequest(XMLのURL) );
 function XmlLoadFin(e:Event):void{

  /*var root_MC:MovieClip = this.root as MovieClip;
  root_MC.addChild(myXML)*/  ←質問2を試してみた残骸

  LoadXmlNode( XML(myLoader.data) );
  ↑質問1の箇所。ターゲットパス(thisやMC化したroot)を付けると動かなくなる。何故・・・
 }
 myLoader.addEventListener(Event.COMPLETE, xmlLoadFin);
}
XmlRead_btn.addEventListener(MouseEvent.CLICK, XmlLoad)

var LoadXmlNode = function(myXML:XML){
 for each (var Node:XML in myXML.Person.(@id==2).*){
  Node_txt.text += Node.name() + ":" + Node + "\n"
 }
}

AS3.0です。ごちゃごちゃ書いてますが、したいことは
1.もしLoadXmlNodeの呼び出しにターゲットパスを付けるとしたら…、一体何を?(root_MCやthisでは動かず)
2.もしもmyXMLを引数でなく、どちらの関数からも直接参照できる、フィールド変数(?)として、
「関数XmlLoadFinの中から」宣言するにはどうすれば?(2.0ではverを省略すれば出来た。見辛いソースになるし廃棄された?)
3.myLoaderのListenerは、ステートメントから出て、myLoaderが消えた時に一緒にデリートされてるのかな?

動くには動くので特に困っているわけではないのだけれど、分からないので何となくスッキリしなくて。。
良ければ誰か教えてほしい、長文スマン

404:Now_loading...774KB
07/09/25 08:19:01 w7qxoptu
何で無名関数なのか、また2.0のxmlNodeなのかよくわからんな
MC化したrootとは↓みたいなことかな。できないかな。
var rootas:MovieClip = this.root as MovieClip;
リスナーは明示的にremoveするか、弱い参照にしておくと良いと思う。

いずれにせよclassと3.0のxml,xmllistを使った方がスマートにできるよ。

405:Now_loading...774KB
07/09/25 08:26:48 w7qxoptu
ああ、XmlNodeって名前のxmlか、、、

406:Now_loading...774KB
07/09/25 08:30:00 w7qxoptu
関数名とか変数名は大文字で始めないでほしいなあクラスかと、、、あ、もう書きませんすみません。

407:Now_loading...774KB
07/09/25 13:59:08 gqhvmMp6
どどんまい

408:Now_loading...774KB
07/09/25 20:36:12 HFb2puJu
なんでIDが同じだと
>今日1日は初心者を装って色々デキル訳だな。
になるんだ?

409:Now_loading...774KB
07/09/25 21:53:50 TBCw7Ifp
ノリで言ってみただけだよ。マジにとらえないでくれ

410:Now_loading...774KB
07/09/25 22:13:51 HFb2puJu
あぁ、そうなの。
IDが同じじゃなくても初心者を装えるだろって思ったから
どういう意図で言ったのか知りたかったの。

411:Now_loading...774KB
07/09/26 10:54:39 Rr04CYhD
CS3は持ってるんですがしばらく使えない環境に行くことになりました
その間にもAS3の勉強をしたいのですが、どうにも本を読んでいるだけでは頭に入ってきません
実際いじりながら覚えていこうと思うんですが
AS3対応のフリーのFlashソフトなどありますか?

412:Now_loading...774KB
07/09/26 11:15:42 sqrU35UX
マウスを動かすと、ball(mc)が動くASでaddListenerで質問です

myObject=new Object();
myObject.onMouseMove = function() {
ball._x +=1;
};
Mouse.addListener(myObject);

or

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

どちらでも動きますよね
なんでmcだとaddListenerは不要なんでしょうか?

413:Now_loading...774KB
07/09/26 13:26:09 KXUCHuTQ
>>

414:Now_loading...774KB
07/09/26 13:26:13 zl06CDKy
>412
そんな理屈は考えたことがないなあ。動けばOKなんだし。
しいていえば、Mouse.addListener()はMouseオブジェクトで、
MovieClip.onMouseMove()はMovieClipオブジェクトだからだろうな。
アーキテクチャの違いってやつだろ。好きな方を使えば良いんじゃね?

415:Now_loading...774KB
07/09/26 13:49:14 KXUCHuTQ
>>411
Flex 2 SDK

416:Now_loading...774KB
07/09/26 14:16:16 KXUCHuTQ
>>403
コード書いて動かしてみたがワカランカッタ(´・ω・`)
なんでターゲットパスつけると動かなくなるんだコレ。何か3.0の階層構造にまだ慣れないわ
取りあえず3つ目の質問だけになるが、ハンドルしてるObjectが消えたらハンドラも消えたはず。by.NET

>>404
無名関数にするとブロック内でカプセル化されるんじゃなかったっけ
3.0じゃどうかしらんけど、2.0のときは衝突避けるときに使ってた希ガス
てかローダー部分は置いといて、XML読み込みの部分はE4X使ってるみたいだし十分スマートだと俺はオモ

417:Now_loading...774KB
07/09/26 14:56:56 VGxwHg04
質問です。

AS3で、SharedObjectを使ってFlash Communication Serverとデータの送受信
をするときの挙動なんですが、AS1のときは

共有オブジェクト.data.xxx = 1

のような書き方でサーバーの共有オブジェクトにデータが送信されたんですが
AS3で同じ書き方をしてもデータがいかないようなんです。

サーバーサイドASで共有オブジェクトを更新するときに使う、
setPropertyメソッドを使えばいけたんですが、ヘルプを見ても、それは
サーバーサイドで使うメソッドだと書いてあります。

AS3ではsetPropertyを使わないと送信できない仕様になったんでしょうか。
どうかご教授ください。



418:Now_loading...774KB
07/09/26 15:30:00 f57mUZHx
winXP・flash8使用です。

actionscriptをある程度使える人になりたいと思って
早1年が過ぎましたが
未だに、ボタンにgotoAndPlayつけたりとか
そんなのしか出来ません。
力技でアニメーションを作るのは得意ですが
AS使わないと出来ない事も出来るようになりたいです。

何をどう勉強すりゃいいの?状態なんですが
おすすめの参考書籍教えてください。

419:Now_loading...774KB
07/09/26 15:38:13 /udwhN6y
本なんて頼りに出来ない
知らないものは自分で触って感覚的に覚えるのが一番

420:Now_loading...774KB
07/09/26 15:41:43 V0/aBcXj
>>418
URLリンク(www.amazon.co.jp)

421:Now_loading...774KB
07/09/26 15:45:53 V0/aBcXj
>>403
その書き方だとfunctionのスコープがたぶんglobalになる。よってrootは無意味。
ターゲットを書かないその方法が一番楽なはず。つーっか汚なすぎ。
通信専用のクラス作ってそこに処理まとめればいいじゃん。

422:Now_loading...774KB
07/09/26 15:48:04 V0/aBcXj
>>412
MovieClipクラスにはonMouseMoveという名前のイベントハンドラがあるから。それだけ。

2.0では、addEventlistenerはイベントハンドラ無いオブジェクトでもイベントをハンドリングできるために用意されているもの。
あとは、違う名前の関数を使ってハンドリングしたい時に使うもの。

423:Now_loading...774KB
07/09/26 15:49:00 Ayy9C01V
>>415
ありがとうございます

424:412
07/09/26 16:03:50 sqrU35UX
>422>412
MovieClipクラスに用意されてんのね
何かのクラスでextendsした場合は楽なんかな
処理がaddListenerより早いし
納得した。thx

425:418
07/09/26 19:12:04 f57mUZHx
>>419
勉強する取っ掛かり?みたいなのが欲しいんですよね。
でも言い得てるレスだと思います。

>>420
とりあえず、その本買ってみて
全部理解できるように頑張ってから、次考えてみます。
URLリンク(www.amazon.co.jp)
こっちもいいのかな?

426:Now_loading...774KB
07/09/26 21:56:16 zl06CDKy
>417
クライアントサイドで、
SO.data.foo=1;
SO.setDirty('foo');
をためしてみて。

427:Now_loading...774KB
07/09/26 22:40:33 wY4KIGeW
質問しにきました。
Flashの背景色をASで変えたいのですが、描画メソッドしか方法ないですか?
直接弄れたら楽だろうなと思って・・もしそういうASあるなら教えてもらえますか?

428:Now_loading...774KB
07/09/26 23:21:06 d/6D0Tgc
>>427
回答するために書き込みます。
AS2.0ならColor クラスや flash.geom.ColorTransform クラスがあります。
ただしFlashの背景色ではなくムービークリップの色を変えるものです。

429:Now_loading...774KB
07/09/27 20:22:24 84OqS0wk
actionscriptで日付フォーマットができる関数って無いですかね?

trace(dateFormat(new Date(),"yyyy/mm/dd"); //2007/09/27
とか。

430:Now_loading...774KB
07/09/27 21:03:07 z4JJWENT
>>429
エクセルのセル書式設定のようなのは無いよ。自作汁。

431:Now_loading...774KB
07/09/27 21:13:35 1lNoZk5Y
createEmptyMovieClipもattachMovieも
for文内で複数作ると最後の奴しか表示されないんですが、
これはなぜですか?


432:Now_loading...774KB
07/09/27 21:16:05 AktNaF/L
>>431
関数引数の深度が全部同じだからだろう。
同じ深度に存在できるMCは1つだけ。

433:Now_loading...774KB
07/09/27 21:44:50 1lNoZk5Y
>>432
解決しました。ありがとうございました。


434:Now_loading...774KB
07/09/28 00:44:31 Wb48mEx6
再び質問お願いします。

矩形ツールでムービークリップをつくり、
その1フレーム目にイベント(onRollOut,onRollOver)を記述してるんですが、
思うように動いてくれません。

画像をロードする前ならちゃんと記述したとおりに動いてる事はわかったんですが、
ロード後になるとイベントの関数も呼ばれてないようです。

マウスが上に行ったら画像を表示(_alpha = 100)し、マウスが離れたら非表示(_alpha=0)
としたいです。

よろしくお願いします。


435:Now_loading...774KB
07/09/28 00:52:05 Ndx6R9i0
>>434
矩形ツールによるMCと画像とのパスの関係は?
とりあえず、trace(This)などであちこちチェックしよう。

436:Now_loading...774KB
07/09/28 00:53:19 Ndx6R9i0
435です。訂正。
trace(this)です

437:Now_loading...774KB
07/09/28 00:55:16 /cBcPpAg
環境)OS:WinXP-Pro,Mem=1GB,ソフト:Flash8-Pro(Player7,AS2.0)

hitTest()のヒット先MC枠ついて質問です。

root上に2つの円形MC(en1, en2)があり、en1をドラッグさせ、en2の座標を使って
en2へのhitTest()をさせています。ASは、

on (rollOver) {
if (this.hitTest(_root.en2._x, _root.en2._y, true) == true) {
trace("en2塗り内の点にHit中");
}
}
※ on (press) と on (release) で、en2をstartDrag()とstopDrag()をする。

これは目的の通り動作したのですが、次に
if (this.hitTest(_root.en2._x, _root.en2._y, false) == true) として、en2の枠を対象に
hitTest()判定を試みましたが何の反応もありませんでした。変更部分のASは下の
通りです。
on (rollOver) {
if (this.hitTest(_root.en2._x, _root.en2._y, true) == true) {
trace("枠にHit中");
}
}

目的通りなら、「枠にHit中」と出る筈ですが何も出ません。
アドバイス願います。

438:437
07/09/28 00:59:10 /cBcPpAg
上記、訂正します。

下段の変更部分は、正しくは
on (rollOver) {
if (this.hitTest(_root.en2._x, _root.en2._y, false) == true) { //hitTestの第3引数は、true じゃなく false
trace("枠にHit中");
}
}

439:437再
07/09/28 01:10:05 /cBcPpAg
すみません。質問文中に他に細かい間違いがあるので、改めて質問します。
((以下の質問文でお願いします))

----------------------------------------------------
環境)OS:WinXP-Pro,Mem=1GB,ソフト:Flash8-Pro(Player7,AS2.0)

hitTest()のヒット先MC枠ついて質問です。

root上に2つの円形MC(en1, en2)があり、en1をドラッグさせ、en2の座標を使って
en2へのhitTest()をさせています。ASは、

on (rollOver) {
if (this.hitTest(_root.en2._x, _root.en2._y, true) == true) {
trace("en2塗り内の点にHit中");
}
}
※ on (press) と on (release) で、en1をstartDrag()とstopDrag()をする。

これは目的の通り動作したのですが、次に
if (this.hitTest(_root.en2._x, _root.en2._y, false) == true) として、en2の枠を対象に
hitTest()判定を試みましたが何の反応もありませんでした。変更部分のASは下の
通りです。
on (rollOver) {
if (this.hitTest(_root.en2._x, _root.en2._y, false) == true) {
trace("枠にHit中");
}
}

目的通りなら、「枠にHit中」と出る筈ですが何も出ません。
アドバイス願います。

440:Now_loading...774KB
07/09/28 07:08:28 lHJbwdHV
>439
枠って矩形?
this.hitTest(_root.en2);

円の重なりなら
URLリンク(hakuhin.hp.infoseek.co.jp)

441:434
07/09/28 14:36:18 Wb48mEx6
だめでした。
onPressイベントで画像のロードとtraceをやったんですが
画像ロード後にはonPressイベントが呼ばれません。


flash professional 8です。

442:Now_loading...774KB
07/09/28 15:21:26 xlWELBUc
>>441
画像読み込んだら基本的にフレームに書いてたスクリプトは無効になるよ。
読み込み完了後にあらためてイベントハンドラ設定しなおすか、
その矩形上でさらに画像読み込み用のMCか、createemptymovieclipで作ったMC用意して
そこに画像読み込めばいいんじゃないかな。

443:437再&439
07/09/28 15:48:06 UTLPObPc
>>440
そうです。矩形(境界ボックス)です。Flash8のヘルプを読み直すと

 shapeFlag: Boolean は、指定したインスタンスのシェイプ全体を評価するか (true)、
 境界ボックスだけを評価するか (false) を指定するブール値です。このパラメータは、
 x 座標と y 座標のパラメータでヒット領域を指定する場合にのみ指定できます。

ということなので、
if (this.hitTest(_root.en2._x, _root.en2._y, false) == true)
という判定には意味が無いようです。

つまり、このif文の記述は、en2の境界ボックスを判定基準に使っているので、実質
this.hitTest(_root.en2) と同じと考えてよろしいでしょうか?

444:Now_loading...774KB
07/09/28 17:46:13 lHJbwdHV
引用に座標でしか機能しないって書いてアンジャン

445:Now_loading...774KB
07/09/28 20:16:01 x25CWzzO
acl=2.5;
brk=1.5;

n=1;
rmt=100;

function copy(){
ball.duplicateMovieClip("ball"+n,n+10);

for(i=1;i<=n;i++){
this["xRnd"+i]=Math.random()*rmt-rmt/2;
this["yRnd"+i]=Math.random()*rmt-rmt/2;

this["xm"+i]=_xmouse+this["xRnd"+i];
this["ym"+i]=_ymouse+this["yRnd"+i];
}

this["ball"+n].onEnterFrame=function(){
this._x+=((this["xm"+n]-this._x)*acl)/brk;
this._y+=((this["ym"+n]-this._y)*acl)/brk;
}
n++;
}

st.onRelease=function(){
copy();
}

のonEnterFrame内のthis["xm"+n]とthis["ym"+n]にfor内のthis["xm"+i]とthis["ym"+i]を渡したいのですが、
onEnterFrame内でthis["xm"+n]をtraceするとundefinedが出ます。どうしたらいいでしょうか?

446:Now_loading...774KB
07/09/28 20:22:52 ybBbtSQv
酷いなこりゃ

447:Now_loading...774KB
07/09/28 20:24:27 x25CWzzO
>>446
どういった具合にひどいんでしょか?

448:Now_loading...774KB
07/09/28 20:53:35 1PbB8mYe
>>447
パスが違うんだろ。とりあえずtrace(this);

449:Now_loading...774KB
07/09/28 21:29:08 x25CWzzO
>>448
ball+iの変数にアクセスするのにはどう指定したらいいんでしょうか?

↓こんなんありえないですし…。
this["ball"+n]["xm"+n]

450:Now_loading...774KB
07/09/28 21:39:42 1PbB8mYe
>>449
おまえ、なんでレス無視して自分思考してるんだよ
レスする意味無いじゃん
traceしたのならその結果どう思うかとか書けよ

451:Now_loading...774KB
07/09/28 21:46:23 x25CWzzO
>>450
すみません。

onEnterFrame内のtrace(this)は_level0.ball1、
for内のtrace(this)は_level0、
ということでonEnterFrame内のthis["xm"+n]を_root["xm"+n]に変えてみたのですが
undefinedです。

もう少しヒントを…

452:Now_loading...774KB
07/09/28 22:07:17 SXV0X6Oy
>>445
ballをduplicateMovieClipして、それぞれにメソッドを割り当てたいの?なら、
ball.duplicateMovieClip("ball"+n,n+10);
を1回しかやってない以上、ムリだ。
同時に、thisの理解に不十分なところがある。むしろこっちがマズイ。
いま手元にflashがないので検証はできないが、次のを参考にしてみて。

var acl=2.5;
var brk=1.5;
var n=1; //何を表現したいのかを良く考えて、妥当な値にすること
var rmt=100;
function copy(){
for(i=1;i<=n;i++){
//thisにballというMCがあると仮定
this.ball.duplicateMovieClip("ball"+i,i+10);//「ball1」等の名称でデュプリケートする
var xRnd=Math.random()*rmt-rmt/2;
var yRnd=Math.random()*rmt-rmt/2;
this["ball"+i].xm=_xmouse+xRnd;
this["ball"+i].ym=_ymouse+yRnd;
this["ball"+i].onEnterFrame=function(){
this._x+=((this.xm-this._x)*acl)/brk;
this._y+=((this.ym-this._y)*acl)/brk;
}
}

このスクリプトでやりたいことが良く分らなかったから、n回のデュプリケートおよび
おのおののプロパティ、メソッドを定義する例を示したが、君のやりたいこととは
異なる可能性もあるので、そこは自力でやってほしい。
まずはthisの意味、とくにonEnterFrame内のthisとその外側のthisとの違いを、
もういちど勉強しなおしてみよう。

453:Now_loading...774KB
07/09/28 22:44:16 x25CWzzO
>>452
解決しました。
ありがとうございました。

454:Now_loading...774KB
07/09/28 23:00:48 SXV0X6Oy
>453
それはよかった。でも、なぜさっきのがダメで今のがいいのかという
理屈を理解しないと、また同じことをしようとしたときに行き詰まるから、
面倒がらずに勉強して欲しい。
あと、こういうことをやるので有れば、クラスというものを勉強して
そこで各MCの挙動を一気に定義した方が、のちに繋がると思う。

455:Now_loading...774KB
07/09/29 03:00:34 1NUzXdGg
URLリンク(www.s-grant.co.jp)ここのサイトの下部のように
DirectLink : を押すとtextフィールドのURLが選択されてコピーも自動でされている方法を
ご存知な方はおられませんか?

456:437再&439
07/09/29 04:23:29 VQczcND3
>>444
あっ、そうだった・・・・

457:Now_loading...774KB
07/09/29 04:37:05 hT9x5Zjr
>>455
System.setClipboard()
Selectionクラス

で可能。

458:Now_loading...774KB
07/09/29 11:54:01 BikqFSV8
onMouseDown()でクリックを感知するMCの上にボタンを配置する、という状況で、
そのボタンを押した時に onMouseDown() の処理をさせないようにするには
どうしたら良いでしょうか?

459:Now_loading...774KB
07/09/29 12:15:36 ck3NS+A7
>458
Button._enabled=false;

460:Now_loading...774KB
07/09/29 13:09:26 BikqFSV8
>>459
ありがとうございます。
ボタンを無効化ではなくて、ボタン領域内で、
下のMCのonMouseDown()を無効化させたいのですが、これは無理でしょうか?

461:Now_loading...774KB
07/09/29 13:40:37 BikqFSV8
460ですが自己解決しました。
ボタンのマウスオーバーを監視してフラグを立て、
onMouseDownでそのフラグを参照して分岐処理するようにしました。

462:Now_loading...774KB
07/09/29 18:22:42 teUbErkq
FLASH5です
loadMovieで外部ファイル(png)を読み込みたいのだけども読んでくれない。
試しに同階層のjpgで試した所問題無く読めたのですが、PNGってサポートしてない?
ちなみにプレビューでも特にエラーは吐き出されていない。

463:Now_loading...774KB
07/09/29 18:26:00 mmaP319h
>>462
Flash5では無理。確か8以降対応ではなかったかな

464:Now_loading...774KB
07/09/29 18:30:29 teUbErkq
>>463
そうかありがとう。
でも8以降って随分後回しな扱いなんだな。。

465:Now_loading...774KB
07/09/29 19:00:55 mmaP319h
>>464
そうだね。
PNGを読み込んだswfを作ってそれを読み込むことで代用できなくもないけど、どうかな。

466:Now_loading...774KB
07/09/29 19:24:58 teUbErkq
>>465
いいアイデアだけど
定期的に自鯖から自動生成されるpngを読込みたいので固定じゃないんだ。
convertコマンドで同時変換して読込む事にしたよ


467:Now_loading...774KB
07/09/29 19:32:07 Rixkm1ET
FLASH5って、、何年前のソフトだよwww
Flash5-->FlashMX-->FlashMX2004-->Flash8-->FlashCS3

468:Now_loading...774KB
07/09/29 19:46:18 teUbErkq
>>467
1. 古くて対応してない、困った
2. どうせ買うなら最新
3. 値段的に手が届かない or 踏ん切りがつかない
4. あ、少し工夫すればなんとかなるじゃん

以下1から繰り返し
でも流石に新しいのほしいお

469:Now_loading...774KB
07/09/29 21:12:55 x75dQQB8
MXでいいと思うよ

470:Now_loading...774KB
07/09/29 22:54:25 1NUzXdGg
>>457
遅くなりましたがどうもありがとうございました。

471:Now_loading...774KB
07/09/30 11:38:10 Uzv0anZG
質問です。環境はWIN2000, FlashMX2004Professionalです。

マルチウィンドウのRPGゲームを作ろうとしています。
その際、マウスではなくキーボードによる操作で行わせたいのですが:

・通常のフィールド移動なら、主人公を動かす(正確にはマップをスクロールさせる)
・コマンドウィンドウを開いたら、カーソルを動かし、ボタンで決定
・メッセージパネル表示中は、ボタンで次の文に進む
・戦闘中は、戦闘用のウィンドウからコマンド決定。メッセージ用パネルに実況文を表示。ボタンで次の文章を読む

などと言ったように、キーボード操作を受け付ける対象が頻繁に変わります。
またウィンドウやフィールド、メッセージパネルは、それぞれ「dialogue_mc」「fileldMap_mc」「message_mc」の中に
attachMovieClip()することで、管理しやすくしようとしています。

この切り替えを、Key.addListner(ウィンドウ、マップもしくはメッセージパネルのMC)で行なおうと思っていますが、
オブジェクト指向を考えて、ウィンドウ自体の操作とリスナーの切り替えは、分離しようと考えています。
しかし、それをどのように実現して良いのか、思いつきません。例えば、

1.各ウィンドウ等に、「決定ボタンを押したとき()」「カーソルキーを押したとき()」のメソッドと、「どのウィンドウ等
  から操作を受け渡されたのか」のプロパティを用意
2.初期設定では、「fieldMap_mc.マップ」がリスナーである
3.コマンド表示ボタンが押されると、「開くウィンドウ」「自分自身」を、_rootのリスナー管理用メソッドに渡す
4.リスナー管理用メソッドは、「開くウィンドウ」に示されたMCをattachMovieClip()しそれをあらたなリスナーとし、
  今までのリスナーを削除

とした場合、ウィンドウなどは別々の階層構造を持っているので、階層情報ごと「_root.リスナー管理用メソッド」に
渡さねばなりません。そうなるとウィンドウごとに対象ウィンドウの階層構造を既に持たなくてはいけなくなり、
ウィンドウとリスナー管理の分離が難しくなってしまいます。

こうした場合は、どのように管理するのが妥当でしょうか?

472:Now_loading...774KB
07/09/30 16:21:43 zkpY0an3
そんなもん普通にウィンドウごとにイベントハンドラメソッド作っとけよw
考えすぎのOOP中毒患者だな。お大事に。

473:Now_loading...774KB
07/09/30 20:03:10 fQQ1lFrp
>>471
もう一歩先の考え方を取り入れないとだめ。
状態遷移とか、タスクシステムとか。

474:Now_loading...774KB
07/09/30 20:04:01 Uzv0anZG
>472
実は最初はそう考えていたんですが、
その時に操作を受け付けたくないウィンドウ等(=操作対象)も
複数存在します(たとえば、マップにウィンドウを1枚重ねたとき等)
この場合でも、「カレントではない操作対象のイベントを無視する」
ようにしなくてはなりません。

そうなると、例えば「fieldMap_mc.マップ」から「dialogue_mc.コマンドウィンドウ」を
表示させる際、fieldMap_mc.マップ.イベントハンドラ=null」としたうえで
dialogue_mcに内にattachMovieClip()することになりますが、
このコマンドウィンドウは必ずしもマップから開かれるとは限らないため、
ここにイベントハンドラを記述すると、消したときの制御の戻し先が
1つに限定されてしまいます。
「開きもとによって、イベントハンドラ内でswitch等を使い処理を分岐させる」
ということも、のちのデバッグや仕様変更の妨げになるので避けたいところです。

以上のように煮詰まってしまい、Selectionクラスのようなフォーカスを管理する
クラスを使う方を考えたのです。なので逆に、ウィンドウごとに管理できれば
それで他の操作対象との分離は果たせると思いますので、うまい方法をご存じの
肩がいれば、教えていただきたいと思います。

475:471
07/09/30 20:16:01 Uzv0anZG
(>474も>471です)

>473
わかりました、取り急ぎそのキーワードで検索してみます。
ありがとうございました。

476:Now_loading...774KB
07/09/30 22:58:09 G0c/8C0p
>>475
473も言ってるがタスクに乗せたら簡単に出来る

477:Now_loading...774KB
07/10/01 01:14:51 MzPSHq+U
突然なんですが、このスレってWikiないですよね?
状況別のTipsみたいな感じでまとめるようにしたら需要ありますかね?

478:Now_loading...774KB
07/10/01 01:24:57 WcJXrPf3
案件別の事例の解決法
何をどうしたら良いか分からない人へアドバイス
これ以外はググレば分かるし、これをどうやってwikiにするんだる?

479:Now_loading...774KB
07/10/01 01:29:28 HbBblWBZ
>>477
それってASの解説サイトみたいになるんじゃないる?

480:Now_loading...774KB
07/10/01 06:38:35 t4z8/HR/
質問の解答は、大抵リファレンスやGoogleにある。

それに乗ってない解答は、プログラムの組み方等、概念的な質問が多いので、
Tips化は難しい。OOPやアルゴリズム系の本を嫁。としかいえない。

481:Now_loading...774KB
07/10/01 16:19:13 ZxTzfNCI
●質問をする前に、Googleで↓のように検索をかける。FLASH系の過去ログ全体からレスを検索できます。

「"質問したい内容" site:f9.aaa.livedoor.jp/~fcafe/index.php/2chlog/test/read.cgi/」
その後、引っ掛ったページから、Ctrl+Fなどのページ内検索を利用し、該当項目を探し出す。

例:getURLコマンドについて調べたい場合
getURL site:f9.aaa.livedoor.jp/~fcafe/index.php/2chlog/test/read.cgi/


こんなのがあってもいんじゃね? 過去に同じ質問がなかった訳ではないし。たまーに俺も利用してたりする。

482:Now_loading...774KB
07/10/01 16:24:29 ZxTzfNCI
あ、ちなみに上のコマンド使って検索すると、時々Googleさんに

「申し訳ありません・・・ウィルスまたはスパイウェアが自動的にリクエストを送信しており~~」

みたいな感じのこと言われるけど、Google側の問題なんで気にしないでね

483:Now_loading...774KB
07/10/01 20:58:19 tySUn27l
>>477
ある。絶対にある。

でも大変だと思うよ。

484:477
07/10/02 04:35:41 qTEiSYTO
なるほど・・自分自身質問はしないまでも、スレを流し見してて「あ、これ試してみようかなー」っていうことが多々あったので
Wikiを思いついたのですが、とりあえず今回は見送りということにしてみます。

485:Now_loading...774KB
07/10/02 10:19:19 vdSGIAYB
>484
いや、やるんだ!人の意見に流されていたらチャンスを逃すぞ
君がやりたいと思ったことをやらないと後悔が待ってるぞ

486:471
07/10/02 22:51:38 SFJCwra1
>>473>>476
あれからタスクシステムについて調べたのですが、
シューティングゲームを例に出している物が多く、よく理解が
できませんでした。今のところの理解は:

・タスク管理をするクラスを_rootに作成
・初期のタスクは、ある操作対象(例えば「_root.fieldMap_mc.マップ」)にセットしておく
・マップから呼び出す出すウィンドウを「コマンド」および「システム」にする場合は、
 「マップ」のポインターを「コマンド」と「システム」としておく
・決定ボタンが押されたとき、ポインターをたどって、「コマンド」ウィンドウを表示
・この時、コマンドは戻り方向のポインターとして「マップ」を持っている
・「コマンド」ウィンドウが消滅したとき、戻りポインターをたどって「マップ」に
 制御を移す

という程度なのですが、おそらく根本的に理解が足りていないと思います。
どのようにアプローチしていけばいいのか、あるいはどこか解説している
サイトがありましたら、教えていただければと思います。

487:Now_loading...774KB
07/10/03 00:13:54 l6/jlcJA
>>486
ウィンドウを子タスクとして生成すれば処理しやすいかなぁ。
子タスク動作中は親タスクの実行を停止するようにしたら
再帰的にウィンドウを何個でも作れるし。


488:Now_loading...774KB
07/10/03 04:59:28 hMF8jjqW
質問です!
体験版のCS3を使っています。

現在、Flash上で外部画像を読み込み、その読み込んだが像に落書きをしたり拡大・縮小できたりするツールを作成しています。
最初からつまづいているのですが、質問させてください。
xmlを使ってFlash上で画像(jpg)を読み込みました。
それをビットマップに変換したいのですが、どのようなActionScriptの記述をしたらいいのか分かりません。
Flash上でJPGをビットマップに変換する事は可能でしょうか?
質問です!
体験版のCS3を使っています。

現在、Flash上で外部画像を読み込み、その読み込んだが像に落書きをしたり拡大・縮小できたりするツールを作成しています。
最初からつまづいているのですが、質問させてください。
xmlを使ってFlash上で画像(jpg)を読み込みました。
それをビットマップに変換したいのですが、どのようなActionScriptの記述をしたらいいのか分かりません。
Flash上でJPGをビットマップに変換する事は可能でしょうか?
質問です!
体験版のCS3を使っています。

現在、Flash上で外部画像を読み込み、その読み込んだが像に落書きをしたり拡大・縮小できたりするツールを作成しています。
最初からつまづいているのですが、質問させてください。
xmlを使ってFlash上で画像(jpg)を読み込みました。
それをビットマップに変換したいのですが、どのようなActionScriptの記述をしたらいいのか分かりません。
Flash上でJPGをビットマップに変換する事は可能でしょうか?
質問です!
体験版のCS3を使っています。

現在、Flash上で外部画像を読み込み、その読み込んだが像に落書きをしたり拡大・縮小できたりするツールを作成しています。
最初からつまづいているのですが、質問させてください。
xmlを使ってFlash上で画像(jpg)を読み込みました。
それをビットマップに変換したいのですが、どのようなActionScriptの記述をしたらいいのか分かりません。
Flash上でJPGをビットマップに変換する事は可能でしょうか?

489:Now_loading...774KB
07/10/03 05:07:55 pjGVRKft
ワロタw

490:Now_loading...774KB
07/10/03 05:12:47 3AbZX5i5
スレリンク(swf板)
の753だろ。
何?スルーされて切れてんの?

491:Now_loading...774KB
07/10/03 05:51:01 TK0Rhve5
>>488
xmlを使ってjpgを読み込むってどうやったんだよw
まず自分がどうやってjpgを読み込んだのかのソースを書け。
話はそれからだ。

492:Now_loading...774KB
07/10/03 07:54:58 cGWCv3xx
JavaとActionScriptの違いってなんですか?

493:Now_loading...774KB
07/10/03 08:26:28 TK0Rhve5
>>492
犬と猫の違いって何ですか?って言ってるのと同じだぞw

494:Now_loading...774KB
07/10/03 08:30:19 8Ff4h+/n
いい得て妙だな
ある段階まではまったく同じなわけだし

495:Now_loading...774KB
07/10/03 10:50:48 0wfXYpRK
>492
双方ちも:
・ECMAという規格(EUにおけるJIS規格みたいなもの)に
 基づいているから、ある程度似通ってるし、テクニックも
 ある程度通用する
・オブジェクト指向の書き方ができる。原則としてプロトタイプベース

ActionScript:
・フレーム(処理レート)の概念がある
・MCという表示単位(処理単位でもある)が基準
・インスタンスの生成に独特のスタイルを持つクラスがある
 (SharedObject.getLocal、attachMovieClipなど)
・クラスベースのオブジェクト指向の記述ができるようになった

JavaScript
・HTMLの要素(エレメント)が、すべてインスタンスとして準備されていて、
 そのプロパティを変更することで表示を変更できる
・ブラウザごとの方言がかなり大きいので、複数のブラウザに
 対応させるのは大変(フレームワークを使い、軽減は可能)

さいきん、JavaScriptも脚光を浴びているので、勉強してみると面白い。

496:Now_loading...774KB
07/10/03 10:57:57 nZ2O8iAm
>>495
レスには敬服するが、一応突っ込んでおくw

492はJavaとActionScriptなのだが。

497:Now_loading...774KB
07/10/03 11:07:11 pjGVRKft
まぁ未だにJavaScriptのコトをJavaって言う人は多いからなw
このスレで「Java」って言われると、本人の質問レベルにもよるが、どっちか分からん場合が多い

498:Now_loading...774KB
07/10/03 13:23:16 pjGVRKft
(゚д゚)

スレリンク(av板)

634 名前:名無しさん┃】【┃Dolby[] 投稿日:2007/10/03(水) 07:54:04 ID:gnEnTDei0
JavaとActionScriptの違いってなんですか?

499:Now_loading...774KB
07/10/03 18:05:10 fAta8ByA
テキスト文字をテキスト色とは違う色で縁取りしたいんだけど
ASでできますか?

500:Now_loading...774KB
07/10/03 21:16:00 BIo1p0Q3
ムービーが終わったら、指定したURLへ飛ぶようにする記述を教えてください。

501:Now_loading...774KB
07/10/03 21:25:53 7zUuXylz
>>499
文字を分解して、インクボンドツールで縁取りするのは駄目か?

502:Now_loading...774KB
07/10/03 23:53:16 36EYCXki
>>500
最後のフレームに
getURL("http://~");

503:Now_loading...774KB
07/10/04 00:18:06 /gnLzFBM
>>502
ありがとうございます。

504:Now_loading...774KB
07/10/04 00:37:37 /gnLzFBM
>>502
シーンにレイヤーを追加して、最後のフレームをキーフレームにして

getURL("http://~"); を記述したのですが、上手くいきません。。。

505:Now_loading...774KB
07/10/04 03:39:44 tk3jOMPZ
>>504
最後のフレームいくまえにstopしてるとか何か心当たり無い?

506:Now_loading...774KB
07/10/04 05:18:16 /gnLzFBM
>>505
stopは無いです。むしろstop ():を書いてないので、ムービーがループします。。。

507:Now_loading...774KB
07/10/04 05:32:39 /gnLzFBM
自己解決しました。

stop();
getURL("URLリンク(www.yahoo.co.jp"));

stopと併記したら、飛んでくれました。なぜstopがいるのでしょうか。。。

508:Now_loading...774KB
07/10/04 09:15:51 cJVG4P9M
>>507
getURLをFPSが30なら1秒間に30回呼んでるわけだろ?
それが、ずーっとループしてるならどうなるかわかるだろ。

509:Now_loading...774KB
07/10/04 11:26:40 v5miPgjM
Flash CS3 を使ってます。
ActionScript3の質問です。

テキストフィールドを任意の個数作りたいのですが、
コンストラクタとFunctionでの使い方がよくわかりません。

var mesFld:TextField; ←コンストラクタ
var i:Number;

関数内
for (i = 0; i <=3; i++) {
  mesFld[i] = new TextField();
}

こんな感じで3つのテキストフィールドを作りたいんですが
TypeError: Error #1009: null がでてダメです。
どうやったらいいんでしょうか?

510:509
07/10/04 11:34:46 v5miPgjM
訂正:上記の場合は4つのテキストフィールドでした。

511:Now_loading...774KB
07/10/04 15:33:21 cJVG4P9M
>>509
何で配列じゃないんだよw

512:Now_loading...774KB
07/10/04 16:24:26 v5miPgjM
>>551
private var mesFld:Array; ←コンストラクタ

にしてもダメなんですが、どうしたらいいんでしょう?

513:Now_loading...774KB
07/10/04 16:25:02 v5miPgjM
未来レスしちゃった。
>>511 へのアンカーっす。

514:Now_loading...774KB
07/10/04 16:52:19 TG+YqKG0
var mesFld:Array = new Array();

515:Now_loading...774KB
07/10/04 17:54:35 v5miPgjM
それだと配列が4つ出来るだけで型が違うらしい。

var i:Number;
var messagE:Array=["メッセージ1","メッセージ2","メッセージ3"];
var mesFld:Array = new Array();

for (i = 0; i >=2; i++) {
mesFld[i] .y = 20*i;
mesFld[i] .text = messagE[i];
addChild(mesFld);
}

TextFieldを並べて、メッセージを表示したいだけなんだよ…

516:Now_loading...774KB
07/10/04 18:14:13 cJVG4P9M
>>515
基本的なことが何も出来てないじゃん。そのfor文の終了条件とかよく考えろ。


var messagE:Array=["メッセージ1","メッセージ2","メッセージ3"];
var mesFld:Array = new Array();

for (var i:uint = 0; i <3; i++) {
mesFld[i] = new TextField();
mesFld[i] .y = 20*i;
mesFld[i] .text = messagE[i];
addChild(mesFld[i]);
}


517:Now_loading...774KB
07/10/04 19:27:07 c5eLT4pF
知識もないのに背伸びするとこうなるんだな、と思った・・・
せめてコンストラクタの使い方くらい理解してからオブジェクト配列に進んだ方がいいぞ

518:Now_loading...774KB
07/10/04 21:54:46 sYfm0mAE
>>516
>mesFld[i] = new TextField();
mesFldはまだlengthが0だと思うんで、
mesFld.push(new TextField());
かな

519:Now_loading...774KB
07/10/04 21:57:48 sYfm0mAE
>>518書いて思ったが、
mesFld[i] = new TextField();
でも自動的に配列伸びてくれるんだっけ?

520:Now_loading...774KB
07/10/04 22:07:27 cJVG4P9M
>>519
var mesFld:Array = new Array();
mesFld[256] = "256のめっせ";
trace(mesFld);

521:Now_loading...774KB
07/10/04 22:32:56 a3pcYCHN
>519
mesFldは配列で、その配列の各要素がインスタンスになっている
ということじゃないかな。
mesFld:Array で、 nesFld[n]:TextField ということ。

522:Now_loading...774KB
07/10/04 23:47:18 sYfm0mAE
>>521
それはわかってるけどね
配列のサイズ指定してなくて[i]とかいいんだっけと思ってさ

>>520からすると、大丈夫なのか

523:515
07/10/04 23:56:15 pDhMSZxc
>>516-521
色々とありがとう。
実際、コンストラクタとかの知識が全然無いので見よう見まねでスクリプトを書いてる状態です。
教えてくれたスクリプトを見て少し理解が進んだかなって感じです。

ActionScriptって難しい。

524:Now_loading...774KB
07/10/05 05:02:28 CFI1QzYY
>>522
[i]はキーを作ってるだけ、ハッシュ表と同じような感じだが

525:Now_loading...774KB
07/10/05 16:04:22 0bKQBS6U
(i) (())

526:Now_loading...774KB
07/10/05 16:07:32 qdXfoWhh
ωつ  (i) (())

527:Now_loading...774KB
07/10/05 16:15:11 EfOsco5h
(+"="+)

528:Now_loading...774KB
07/10/05 16:40:38 ILpEDvrE
    ∩_∩
   ( ・( ェ)・)



529:Now_loading...774KB
07/10/05 17:34:43 EfOsco5h
クマはerrorだろw カワイイからいいけど

530:Now_loading...774KB
07/10/05 23:05:21 MbYqf4iv
環境)OS:WinXP-Pro,Mem=1GB,ソフト:Flash8-Pro(Player7,AS2.0)

MC内に連続して出現するオブジェクト(MC)の色で質問です。

MC(インスタンス名:XY)内にattachMovie()でmarkAというドット状のMC(識別子名:markA)
をrootのonEnterFrameで

newMark = "markA"+id;
_root.XY.attachMovie("markA", newMark, id, prop);

によって円を描く様に並べる前に、出現するmarkAの色を、このフレームアクション

my_color = new Color(this);
this.onEnterFrame = function() {
my_color.setRGB(_root.cn_r << 16 | _root.cn_g << 8 | _root.cn_b);
・・・
・・・
}

のcn_rなどで指定しようとしています。

作成したASを実行すると、確かにmarkAの色は希望した色で出現し、また円を
描いている途中でも色の変更は可能ですが、先頭のドットだけが初期設定の
色(青)のままです。
つまり蛇に例えると、胴体,尾の色は変えられるが、頭の色は変えられない状態
です。考えられる原因は何でしょうか?
アドバイスを願います。

531:Now_loading...774KB
07/10/05 23:58:31 OAHwSxYT
>530
先頭のドットをアタッチするとき、
_root.cn_r等には、何が入っているか調べてみて。
trace()を使えばできるはずだ。

未定義なら、定義のタイミングをかえてみた方がいい。

532:530
07/10/06 00:26:41 GxwfyOES
>>531
レス有り難うございます。1個目の色を調べるためにtrace()を以下のように
したところ、 色= 128, 128, 128 となり、希望の(設定した)灰色にはなっていま
すが実際は、やはり青色です。
if (id == 1) {
trace("色= "+cn_r+", "+cn_g+", "+cn_b);
}

引き続き、調査と細工を試みます。

533:Now_loading...774KB
07/10/06 00:45:27 iGOdbPbG
>>532
文字型になってるのかも試練から足してみて
trace(_root.cn_r + _root.cn_g + _root.cn_b)

534:Now_loading...774KB
07/10/06 00:48:48 h+XnUfIk
すみません。↓のURL先のFlash内でYoutubeのインタフェースを含んだ
動画を表示してますが、これってインタフェースは自作しているんでしょうか?
URLリンク(www.itmedia.co.jp)

535:Now_loading...774KB
07/10/06 00:50:36 +D8Od/X0
境界条件調べるだけだろ。idの範囲は?

536:Now_loading...774KB
07/10/06 03:49:39 gn4a/fSp
>534
記事を見る限りでは「別のウィンドウが開いて」となってるから
その中に自作のインターフェースを表示させてるんでしょ。
で、そっからNetConnectionとNetStreamでムービー取得と。

537:Now_loading...774KB
07/10/06 03:56:21 irfaKOH+
YouTubeってクロスドメイン許してんの?

538:Now_loading...774KB
07/10/06 04:07:55 gn4a/fSp
>537
予想だけど、そう言う契約をそこの企業としてるんじゃないか。
FCSでは、ドメイン単位で許可する事はできるはずだから。

539:Now_loading...774KB
07/10/06 17:03:19 MqQBbmkL
Adobe Flash で作成した fla や swf をactionscriptファイルに書き出す方法ってあるのですか?


540:Now_loading...774KB
07/10/06 18:22:21 +D8Od/X0
>>539
flaのMCなどをASスクリプトに書き出すという機能は、CS3であるけど、たぶん539の思ってることとは違うと思う。
リバースエンジニアリングがしたいのでしょ。

541:530
07/10/07 00:00:50 wBXoAs42
>>531, 533
原因箇所が分かりました。出現させるmarkAのイベントハンドラで
my_color = new Color(this);
this.onEnterFrame = function() {
my_color.setRGB(_root.cn_r << 16 | _root.cn_g << 8 | _root.cn_b);
trace("色markA= "+_root.cn_r+_root.cn_g+_root.cn_b);
・・・
・・・
}

としていたのですが、my_color.setRGBの行をthis.onEnterFrameの前に置いた
ところ、先頭のMCが希望した色に変わりました。
どうやら、this.onEnterFrameでmy_color.setRGBが呼び出せた際には元の色で
呼び出され、その後に希望色に変わるようです。

ただし、この場合もその前の場合も trace("色markA= "+_root.cn_r+_root.cn_g+_root.cn_b);
は、128128128で、文字列のままです。

542:Now_loading...774KB
07/10/07 00:00:55 +hy5b/9S
>>540
すんません。
Flash作成 初心者なので根本的に間違ってるかもですが、

現在、Flash MX 2004 で作成したflaファイルが数個あるのですが、
これを asスクリプトに書き出す方法ってあるのかなって思ったのです
今後は asスクリプト にして Flex2 SDK でswfにしたいと思ってます。

flaファイル を 完璧に as化 する事って出来るのでしょうか?
画像等のリソースも出てくるのでしょうか?
CS3でしか無理なのでしょうか?
質問ばかりですいませんがよろしくお願いします。

543:Now_loading...774KB
07/10/07 00:12:01 o0ygbS31
>>541
trace("色markA= "+(_root.cn_r+_root.cn_g+_root.cn_b));

これで128128128と表示されるならどっかで文字列型化してるんだろう。
_root.cn_r = Number(_root.cn_r);
で一度数字型に変換汁。

544:530
07/10/07 01:39:51 QXoVJzdr
>>543
さんきゅうです。

545:Now_loading...774KB
07/10/07 06:01:58 Yu09fKPf
なんかムカツク礼だな・・・w

546:Now_loading...774KB
07/10/07 08:20:56 cZziyoLl
trace()の仕様と+演算子の仕様ぐらい解れやw
型チェックはtypeofあたりを使え。

aa=1250;
trace(typeof(aa));
aa="1250";
trace(typeof(aa));

547:Now_loading...774KB
07/10/07 08:35:46 sMY37Gcx
>>546もtypeofを関数だと勘違いしてる気がする

548:Now_loading...774KB
07/10/07 08:39:03 cZziyoLl
>>547
何で?根拠は?

549:Now_loading...774KB
07/10/07 08:57:07 sMY37Gcx
>>548
typeofは前置演算子なので typeof(aa) は ++(aa) と書くくらい不自然だから。
例えばこんなコードで"number"の1文字目の"n"は取れない。
aa=1250;
trace(typeof(aa).substr(0,1));

550:Now_loading...774KB
07/10/07 09:01:08 cZziyoLl
>>549
それはかまわんが、aaのタイプを知りたいときに、上記では間違ってるってことかい?
正解はどうなの?

551:Now_loading...774KB
07/10/07 09:09:10 cZziyoLl
ちなみに
trace((typeof(aa)).substr(0,1));
としなければだめなのでは?

552:Now_loading...774KB
07/10/07 13:26:25 gIQ5Oqpw
自分も>>550へのID:sMY37Gcxレスが見たい。
演算子だというのはわかるが、シンタックスは「typeof(expression) 」とヘルプにあるけど
それが間違いってことか?
でもtrace(typeofaa)じゃ、aaの型はわからない。
実際どうすべきなのかを教えてほしい。

553:Now_loading...774KB
07/10/07 14:00:33 8LOsNyLt
trace(typeof 10)
trace((typeof 10).substr(0,1))


554:Now_loading...774KB
07/10/07 14:09:49 gIQ5Oqpw
>>553
なるほど、理解した。thx
では、()を使うのは邪道ってこと?
そういう記述よく見るけど、実は正しくないのか?

555:Now_loading...774KB
07/10/07 16:03:10 XgtjyR+y
typeof(aa)とtypeof aaって理解しとかないとマズイ時ある?
ムービークリップアクションのボタン系、on(press)なんかだと
thisあるなしでターゲット変わるみたいな

trace((typeof 10).substr(0,1))は括弧つきでも
けっかは変わらんからいいけど


556:Now_loading...774KB
07/10/07 20:40:29 K/3Ic+Cu
環境 win2000 flash8
質問です、以下のようなコードで変数 videoList を function(a){} の中で作った場合に
 function(a){} の外でも使用する為にはどのように書いたらいいのでしょうか?
 function(a){} の外側に書くと配列の値が消えているようです

----ここから-----
System.useCodepage = true;
txtVars = new LoadVars();
txtVars.load("data.txt",txtVars,"GET")
txtVars.onData = function(a){
videoList = a.split(",");
}
------ここまで------

557:Now_loading...774KB
07/10/08 00:20:53 RBY5Oq8v
>>557
videoListをfunction(a){}の外に宣言する。

558:Now_loading...774KB
07/10/08 00:46:52 kVg3lbT6
>>556
loadの引数はurlじゃないのか?
取得できているのかどうか、aの値をチェックしてないじゃん。


559:556
07/10/08 00:56:46 qlH8uS6u
------ここから------
System.useCodepage = true;
txtVars = new LoadVars();
txtVars.load("data.txt",txtVars,"GET")
txtVars.onData = function(a){
videoList = a.split(",");
trace(videoList[0]);
}
trace(videoList[1]);
-----ここまで-----
このような書き方で videoList の値を確認しています
trace(videoList[0]); では適切な値が表示されますが
trace(videoList[1]); では値が入っていません

560:Now_loading...774KB
07/10/08 01:01:01 kVg3lbT6
>>559
trace(videoList);
して配列全部をチェックしてみ。

561:Now_loading...774KB
07/10/08 01:04:38 kVg3lbT6
ちなみにaの値(生の値)をチェックしろと書いたわけで、加工後の
videoListをチェックしろとは言ってないよ。

562:556
07/10/08 01:23:39 qlH8uS6u
trace(a);とtrace(videoList);の結果は同じで data.txtの中身が表示されています
function(a){} の外では共に undefined になっています

563:Now_loading...774KB
07/10/08 01:28:48 kVg3lbT6
>>562
それなら>>557でしょ。
System.use....の下行にでも
var videoList:Array;
としてみれば。


564:556
07/10/08 01:38:49 qlH8uS6u
563の方法も試しましたがダメなようです
function(a){} の中の変数名と外の変数名が同じでも別の変数として値を持っていると思うのですが
ちょっと判りません

565:Now_loading...774KB
07/10/08 01:55:37 kVg3lbT6
>>564
onMouseUp = function(){
trace(videoList);
}
でクリックしてみ。
もしくはテキストフィールドを作ってそこに表示。

566:Now_loading...774KB
07/10/08 01:59:37 EXT3QTW+
>>564
すごく大雑把で分かりにくいだろうけどとりあえず説明すると

txtVars.onData~trace(videoList[0]);の処理はイベントハンドラ言うて
data.txtの読み込みが完了したというイベントが
通知されて初めて実行されるから、多分>>564の思っている
処理順番とは違う。

>>559だけの処理の順番としては

txtVars.loadでtxtVarsオブジェクトにdata.txtを読みに行ってらっしゃいと命令
(この時点では読み込み自体はしていない)

txtVars.onDataにdata.txtを読みに行ったtxtVarsオブジェクトの読み込みが完了した時に実行させる
処理の内容を設定(この時点では処理内容の設定だけでonDataの中の処理が走らない)

trace(videoList[1]);※videoListなんて変数ここでは初めて出てきて知らないからundefined
この下でいくらvideoListの内容をtraceしてもundefined

 :※アクションフレームを抜けてtxtVarsオブジェクトがdata.txtを読み込みに行って、それが完了するまで
 :Flash上でいう1フレームか数フレームか詳しく分からないけど待つ

txtVarsオブジェクトがdata.txtの読み込みを完了したので、
ここでonDataに記述してある処理を初めて実行する。
videoList = a.split(",");でここで初めてvideoListという変数が現れて
かつ代入処理で特に注釈とかないから自動的にvideoList変数を_rootに定義。
trace(videoList[0]);は先に変数が定義されているので普通に表示される。

てな感じ。
>>559のtrace(videoList[1]);の位置でいくらvideoListの中身を確認しても
その時点ではonDataの中の処理が走ってないから値は入らないよ。

567:556
07/10/08 02:22:52 qlH8uS6u
>>566
trace(videoList[0]);とtrace(videoList[1]);の表示が逆になっていたのはそういうわけなのですか
解説ありがとうございます
問題は判ったのですが解決方法がわかりません、1フレーム目に上記コードを書いてgotoAndStop(2);で2フレーム目に飛ばし、2フレーム目でtrace(videoList);するもやはり値は入っていません


568:Now_loading...774KB
07/10/08 02:49:03 EXT3QTW+
>>567
色々方法はあるし、セオリーとか自分も良くわかって無いけど
とりあえず簡単な方法としては
1フレーム目の最後のgotoAndStop(2);は無くても勝手に2フレーム目に行くから削除して、
2フレーム目を空白フレームまたは空白キーフレームにでもして
3フレーム目のアクションに

if(videoList != undefined){←読み込み完了したかの判定。videoList変数の定義の仕方で判定式が変わるかも
trace(videoList);← 一応確認用、配列として読み込まれていたら(1,2,3とデータ毎に中身がカンマ区切りになっているはず)
gotoAndPlay(4);←4フレーム目に飛んで、そこから読み込み完了後の処理を行う
}else{
gotoAndPlay(2);←読み込みが完了してない場合、2フレーム目に飛ぶ
}

とでも書けば、いけるはず。
data.txt読み込み完了まで、2フレーム目と3フレーム目を行ったりきたりする感じ。
読み込み完了すれば自動的に4フレーム目に飛ぶと。
if(videoList != undefined)の部分はあくまで読み込みが完了したかどうかの判定で
>>559の処理でいけば読み込み完了時にvideoList変数が定義されることを利用してるだけで、
読み込み完了フラグ用変数を用意しておいて
先のonDataの中で読み込み完了フラグ用変数に値を入れて、その値かどうかの判定とかでもOK。
とりあえずこんなとこ。

569:556
07/10/08 03:07:10 qlH8uS6u
無事動きました

>>565>>568
ありがとうございました、今度一緒に呑みましょう(ぇ

570:Now_loading...774KB
07/10/08 12:52:37 Bwx4NhwV
(なぜコンプリートイベントでフレーム移動しないのだろう・・・?)

571:Now_loading...774KB
07/10/08 20:27:33 Tcjbzrlf
>>570
まだ初期化されて無いから

572:Now_loading...774KB
07/10/08 20:51:44 Bwx4NhwV
>>571
他意はないんだが、何が初期化されてないんだ?
「なんだまた読み込み待ちか」と思って>>378-386と書き込もうと思ったんだが、
まったく別のレスが連なってたんで少々驚いてる

573:Now_loading...774KB
07/10/08 22:08:23 LH+UT/54
外部ドメインにある画像にドロップシャドウをつけようと思っています。
サーバにswfを置かずに、ただswfを実行した際にはきちんと影がつくのですが、
サーバにアップしたとたん影が付かなくなってしまいます。
原因がどこにあるのか調べたのですが分かりませんでした。
どうしたらサーバにアップしたときにも影が付くのでしょうか?
よろしくお願いいたします。

574:Now_loading...774KB
07/10/08 23:22:13 Bwx4NhwV
>>573
FlashPlayerのバージョンあげてみたら?

575:Now_loading...774KB
07/10/09 00:06:55 kVg3lbT6
>>572
なんでファイル読み込みのときにエラーチェックしないんだろうか。
そういうサンプルソースとかが普通に出回ってるのかな。ということで。
あとloadの引数は1つでurlだしsendAndLoadの引数とは違う。
ヘルプのonLoadのサンプルソースでは引数3つで書いてあるけどw
内部的にどのように処理されてるかは解らないけど、第一引数だけ有効で後は無視なのかなw

576:Now_loading...774KB
07/10/09 00:35:49 g3z4xR9N
>>575
あーいや、ID:kVg3lbT6のレスの内容は何となく的を得てたから分かるんだけど、それ以外がちょっと分かりづらくてね。
てか>>575が言ってる「エラーチェック」ってのは「デバッグ」のことか?
確かにエラーチェックと言えなくもないが、大抵それで思い浮かべるのは例外処理のコトなんで少し困惑した。

つーか「loadの引数は3つ」ってのは俺も未だに謎だが明らかに本人のミスだと思ったのでスルーした(´・ω・`)

577:573
07/10/09 03:04:40 9Y7ORIFH
>>574
言葉が足りませんでした。
外部ドメインにある画像以外にはドロップシャドウが付くんです。
なので余計に分からなくて…

578:Now_loading...774KB
07/10/09 11:10:43 Kam84+8Q
>>573
>どうしたらサーバにアップしたときにも影が付くのでしょうか?

Flash8と9の両方で試したけど、ローカルとサーバーでドロップシャドウの違い
というのは発生しませんでした。
というか、ドロップシャドウ機能は画像がローカルかサーバーかを区別していないはず。

サーバーからの画像読み込みは時間がかかるから、画像を読む前に画像サイズを決め打ちした
処理が入ってるのかなと想像しますが、プラットフォームもコードも示さないんでは
適切な答えは返ってこないと思うよ。



579:Now_loading...774KB
07/10/09 11:23:21 w5b/Yavn
>>577
>外部ドメインにある画像以外にはドロップシャドウが付くんです。
セキュリティサンドボックスが適用されるから同じドメイン以外のものはbitmapdataとして扱えないよ。
読み込んで表示するまでができることの限界。

580:Now_loading...774KB
07/10/09 14:59:54 C8j8AshE
画面の左上にEnterFrameの度に増えるメーターのようなものを
描きたいんですがそれをすべてActionScriptでやるにはどうすればよいのでしょうか?

581:Now_loading...774KB
07/10/09 15:22:40 ggeyDQc0
>580
mc._xscale=0;
mc.onEnterFrame=function(){
this._xscale+=1;
}

582:Now_loading...774KB
07/10/09 18:08:38 rU2+dtCL
Fla8です。

ブラウザに縦横100%表示でフル画面表示できるようにswfを配置し、
ブラウザの大きさによって拡大縮小できるようにしています。

特定の縮尺以上に小さくしたくない(1024*768)のときは
ブラウザにスクロールバーを出す方法はありませんでしょうか。
100%表示だと無限に縮小されてしまいスクロールバーも出ません。

583:582
07/10/09 18:12:23 rU2+dtCL
追記
ASは下記のように記述することで必要以上に縮小できないようにできました。
w = Stage.width;
h = Stage.height;
if (w<=1024) {
w = 1024;
}
if (h<=768) {
h = 768;
}
ただし、ブラウザを1024*768以下に小さくするとFlash部分が縮小されないが
画面から切れてしまい、スクロールバーも出ないので困っております。

584:573
07/10/09 19:00:40 awnazd73
>>579
ありがとうございます。
サーバにアップさえしなければ影がつくのはなぜなんでしょうか?

585:Now_loading...774KB
07/10/09 20:22:51 QlW6ft08
>>582
そんなのはユーザにとって迷惑で使いづらい

586:Now_loading...774KB
07/10/10 00:02:18 UaeyZ6Um
>>584
ローカルはサンドボックスの対象外だから

587:Now_loading...774KB
07/10/10 01:28:40 EmibyRHS
>>572
onLoadInit
このイベント使え

588:Now_loading...774KB
07/10/10 09:33:54 290Y5orQ
環境)OS:WinXP-Pro,Mem=1GB,ソフト:Flash8-Pro(Player7,AS2.0)

CGIによるメール送信で質問です。

「Flash ActionScript 逆引き大全550」(ITフロンティア著,秀和システム)のp563を参考に
メールを送信を試みましたが出来ませんでした。getURL内の abc@xxx は宛先です。
何処が間違いか見当がつきませんので、とりあえずボタンMC内のASを全て書きます。

なお、タイトルはmailSubjectTで、本文はbodyMsgTです。

on (release) {
System.useCodepage = true;
//エンコード方式をShift-JISに変更
mailSubjectT = escape(mailSubjectT);
bodyMsgT = escape(bodyMsgT);
//タイトルmailSubjectTと本文bodyMsgTを一旦URLエンコードする
this.getURL("abc@xxx/cgi-bin/mailtome.cgi", "_blank", "POST");
//メール用信用デーモンにPOSTでパラメータを送る
mailSubjectT = unescape(mailSubjectT);
bodyMsgT = unescape(bodyMsgT);
//URLエンコードを元に戻す
}

アドバイス願います。

589:Now_loading...774KB
07/10/10 13:02:35 gXRoVw8Y
>588
>試みましたが出来ませんでした

これだと、問題をどう特定していいのかが分からない。
「出来ない」とは、どういう状態になっているの?
たとえば、

・サーバにデータが送信されない
・サーバに送信されているが、結果が帰ってこない
・予期しない○○という結果になる

などなど。
詳しく分からなくても、画面がどう変化したとかは分かるでしょ?
答える側は、そう言う情報から答えを探るから、出来るだけ
「出来ない」ではなく「どうなったか」を伝えて欲しい。

で、ソースを見て判断すると、
this.getURL("abc@xxx/cgi-bin/mailtome.cgi", "_blank", "POST");
でthisをつけているなら、変数にもthisをつけた方がいいんじゃないか。
(ボタンアクションはthisの扱いにレガシを引きずってるから、これが
引っ掛かっている可能性がある)
もし理解できるなら、LoadVarsクラスを使うことを、強くオススメしとく。

590:Now_loading...774KB
07/10/10 13:14:08 25V476Oo
TextInputの境界線を消すにはどういうスクリプトを書いたらいいのでしょうか?
setStyleとか調べたんですが、方法が見つからなかったです。

591:_
07/10/10 13:50:54 FtRfQ8y8
ActionScriptだけを使用してで座標(100,100)に縦横80,50の長方形を
MCというムービークリップとして描くにはどうすればよいのでしょうか?

592:Now_loading...774KB
07/10/10 14:13:14 25V476Oo
>>591
import flash.display.*;

var mc:MovieClip = new MovieClip();
var bitmapData:BitmapData = new BitmapData(80, 50);
bitmapData.fillRect(new Rectangle(0, 0, 80, 50), 0xffff0000);
mc.addChild(new Bitmap(bitmapData));
this.addChild(mc);

593:Now_loading...774KB
07/10/10 19:56:20 mS0tRZaZ
>>590
setStyle('borderStyle', 'none'); じゃね?

594:Now_loading...774KB
07/10/10 20:26:56 25V476Oo
>>593
無理でした

595:588
07/10/10 21:15:56 vLjJ+vOU
>>589
レス有り難うございます。ここでの「出来ない」とは、『宛先(PHS)にメールが届かない』
という意味です。その後、変数のパスに問題がありましたので、修正したところ、以下の
JPGのエラーメッセージが現れました。

URLリンク(vista.crap.jp)

黒塗りの後から cgi-bin/mailtome.cgi の部分があり、その後に送りたい文字列が現れ
ています。文字列中に%が頻出するのは、元の送信データを、提案頂いた LoadVars() 
でUTF-8にコーディングしているからです。

※元の送信文の構成:
UIコンポーネントによるチェックボックスのtrue/false,数字(1994),アルファベット(fukuda)
漢字氏名(福田),題名(TestCGI)。 これらは、myLV = new LoadVars(); でmyLVオブ
ジェクトを作り myLV = new LoadVars(); でエンコードしています。

LoadVarsによるUTF-8へのエンコードは『逆引き大全550』に載っていますが、これによる
送信方法は分かりません。引き続きアドバイス願います。

※チェックボックとテキスト入力によるアンケートなどの結果を、UTF-8変換し、CGIでPHS
のメアドに送信するのが最終目的です。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch