ActionScript 誰かが物凄い勢いで解答するスレ 20at SWF
ActionScript 誰かが物凄い勢いで解答するスレ 20 - 暇つぶし2ch390:Now_loading...774KB
08/08/27 12:32:30 Z00E6Rmg
なるほど。。。
前者の方法だと例のサイトのように抑揚がつかないんです。
後者だとFPSがかなり下がってしまって。。。

391:Now_loading...774KB
08/08/27 12:43:45 nMjtOeRo
ActionScript3.0で質問させてください。

16進数を扱う場合には0xFFFFFFのように
先頭に0xをつけることで16進数であることをあらわしますが
2進数を扱いたい場合はどういった表記ルールがありますでしょうか。
FlashCS3のヘルプを見てもそれらしい記述が見当たりませんでした

初歩的な質問で申し訳ありませんがお教えいただけないでしょうか。

392:Now_loading...774KB
08/08/27 12:55:56 MK9Vk3wy
>>390
キャッシュみると別ファイルだから、スクリプトでリアルタイムに変化させずに
単にムービーに変換したのを流してるぽい

>>391
ないんじゃない?
AS3から8進数の0表記もなくなったって書いてるし。

393:Now_loading...774KB
08/08/27 13:13:40 g2p94euP
>>383
ブレンドの加算だと思うよ

394:391
08/08/27 14:22:10 nMjtOeRo
>>392
やはりないんですね。
チョット別の方法を模索してみます。
レスありがとうございました。

395:Now_loading...774KB
08/08/27 17:09:54 Z00E6Rmg
383です。
加算やブレンドで表現出来ました。
例のサイトの様なトランジションをつけて背景に読み込んだんですが、サイズをステージの大きさに合わせて可変させるようにすると、かなり処理が重くなって染まします。
AS2で書きました。

リサイズ処理
this.onResize = function() {
boxResize();
};
Stage.removeListener(this);
Stage.addListener(this);
function boxResize():Void{
var boxRate:Number = imgBox._height/imgBox._width;
enterBtn.posY = Math.floor(Stage.height-320);
enterBtn.posX = Math.floor(Stage.width-122);
imgBox._width = Stage.width;
imgBox._height = Stage.width*boxRate;
if(Stage.height>imgBox._height){
imgBox._height = Stage.height;
imgBox._width = Stage.height/boxRate;
}
};
imgBoxというのに作ったムービーを読み込んでます。
他のちょっとした動きのメニューなどがかなり重くなってしまいます。

396:Now_loading...774KB
08/08/28 00:16:56 HIPE1BF0
フラッシュでおまんこに肉棒がつきささるフラッシュをつくりたぃんですがどうしたらいぃんですか?
あふれ出すマン汁もリアルに表現したいです

397:Now_loading...774KB
08/08/28 04:25:46 rdqOZFTz
>>394
むしろ2進数表記しなくちゃいけない場面ってどんなの?
何がしたいかが分かれば違う解決法も普通に提示できるかもしれない

>>395
AS3に切り替えるってのはだめ?
少なくともAS2で同じ処理書くより断然速いよ

398:394
08/08/28 10:37:29 D4/u9BBw
>>397
AS3.0の学習を兼ねてゲーム的なものを作ってます。
やりたかったことは、キー入力に対応したキャラの移動処理の部分で
斜め移動(2キー以上同時入力)の検出に2進法をつかった以下のような
処理を考えてました。
var val:Number = 0;
if(右キー押下なら){
val += 0001;
}
if(上キー押下なら){
val += 0010;
}
(中略)
swith(val){
case 0001:
右移動処理
break;
case 0011:
右上移動処理
break;
(後略)
同様の処理は10進数でも可能だったので、現在はそのようにしております。
他にスマートな方法がありそうにも思えるのですが…。


399:Now_loading...774KB
08/08/28 11:10:26 sCtlFI1r
>>398
こんなのはどうでしょうか
参考程度にどうぞ

const up:int = 1;
const right:int = 1 << 1;
const left:int = 1 << 2;
const down:int = 1 << 3;

var val:int;

//例1:左下同時押し
val = left | down;

//例2:右キー単独押下
val = up;

//例3:上キー押下追加
val |= right;

switch(val)
{
  case right:
    //右移動処理
    break;
  case right | up:
    //右上移動処理
    break;
}

400:Now_loading...774KB
08/08/28 11:11:05 /ttrGSMI
if(右キー押下なら && 上キー押下なら){
上移動処理;
右移動処理;
}
じゃだめなん?

401:399
08/08/28 11:11:48 sCtlFI1r
すみません訂正

//例2:右キー単独押下
val = right; //upになってました

//例3:上キー押下追加
val |= up; //rightになってました

402:Now_loading...774KB
08/08/28 11:48:23 D4/u9BBw
>>400
レスありがとうございます。
その方法だと斜め移動時と上下左右移動時を比較したときに
1フレームあたりの移動距離が変わってしまう(斜め時の方が速くなる)のが
今作成中のものでは問題となるため、今回は採用できませんでした。

>>399
レスありがとうございます。
ビット演算については正直放置してたのですが、調べてみたところ
もともとの処理のイメージに近い記述が可能なようですね。
ビット演算の用法についてチョット学習をすすめていこうと思います。


403:Now_loading...774KB
08/08/28 22:35:54 rtj/VMTN
>>397
AS3は書けないんですよね。。。これを機に勉強するようにします。。。



404:Now_loading...774KB
08/08/29 04:41:10 XbYxuVwl
環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0)

PCへの負荷で質問です。

ある処理を0.05秒毎にやりたいとき、その処理をフレームアクションで書いて20fpsと
する時と、setInterval()で50ms毎に行う場合とでは、どちらがPCの負荷として軽く
なるのでしょうか?

Flash開発用PCはCore2Duoの3GBなので多少の負荷には耐えられますが、そうで
ないPCの動作を考え、質問しました。


405:Now_loading...774KB
08/08/29 07:49:41 g253lIgq
>>404
負荷自体は変わらんが、ある処理が重い画面描画を伴うとかだと
当然fpsの数値が影響する

406:Now_loading...774KB
08/08/29 14:16:15 067/jyDZ
>>404
負荷がかかった場合を考えるなら、どちらが軽いかなんてどうでもいいことではなく、
実際に負荷がかかっても問題ない動きにするにはどうしたら良いかを考えた方がいいよ
想定する低スペックなPCがなくても、重い処理の代わりに適当な待機処理を時間を変えながら挟んで、
長くかかってもちゃんと動くかどうかシミュレートすればOK

407:Now_loading...774KB
08/08/29 16:36:15 ubRo66Sb
>>405-406
なるほど。さんきゅうです。

408:Now_loading...774KB
08/08/30 01:12:05 PuG3gNuJ
WindowsXPでFlash8-Proを使っています。

ランダムな値を監視して、それが基準値を超えたら音が鳴るようなASを書きたいの
ですが上手くいきません。下は基準値を80にして、Beep音を鳴らすようにしています。
(すいません、一応ASの全文を貼りました)

Sound0 = new Sound();
Sound0.attachSound("beep.wav");
//
this.onEnterFrame = function() {
volume0 = Math.random()*100; //0~100の間のランダム値
//
if (volume0>80) {
trace("Sound0");
Sound0.setVolume(volume0); //音量はそのときのランダム値
Sound0.start();
}
};

どうしたら良いでしょうか?
beep.wavのリンケージは確認しています。


409:Now_loading...774KB
08/08/30 01:34:34 6t+3clUJ
>>408
やってみたけど上手くいったよ

410:408
08/08/30 02:50:49 PuG3gNuJ
>>409
レス有難うございます。

原因が分かりました。リンケージ確認が不十分でした。
AS上では Sound0.attachSound("beep.wav");  と書いていますが、
識別子の方に拡張子「.wav」を書いていませんでした。



411:Now_loading...774KB
08/08/30 16:04:46 alZNorf2
よくRPGの戦闘突入にガラスが割れた感じで戦闘に入るエフェクトがあると思いますが、あれをAS(SWF7)で再現することはできますか?検索の仕方が悪いのかいくら検索してもでません。分かる方がいればお願いします。

412:Now_loading...774KB
08/08/30 20:50:33 k46PNrWv
それはASの問題ではないと思いますが?
ゲーム製作技術等で聞いて下さい

413:Now_loading...774KB
08/08/30 20:55:47 alZNorf2
ASが分からないからこのスレで聞いているんですが・・

414:Now_loading...774KB
08/08/30 20:57:37 DBikczHq
>>412は頭悪杉

ゲームのエフェクトをFlashで
やりたいってことだろうよ

415:Now_loading...774KB
08/08/30 21:36:48 CPmq3bky
あんなエフェクト、AS使わなくても出来るじゃん
ASよりマスクを活かしたほうが楽だと思う

416:Now_loading...774KB
08/08/31 01:36:36 jDjmDkpi
アルゴリズムの問題だからそういうスレで聞いた方が早いだろ
>>415のいうようにASじゃなくてもできるし、どちらにしてもスレ違い
>>414は頭悪杉

417:Now_loading...774KB
08/08/31 02:16:45 z86i8kxI
マスクでどうやってやるんだ?
複数のMCが置いてある状態から
全体をガラスが割れる感じにするんだろ?
BitmapとMatrix使って、
計算速度を考えるとAS3でやるのが一番で
SWF7じゃBitmap使えないから無理だと個人的に思うのだが


418:Now_loading...774KB
08/08/31 03:10:48 kEwlxsqo
てかソフト自体のエフェクト機能にそういうのあった気がするぞ


419:Now_loading...774KB
08/08/31 13:31:58 oCTpVupL
良く分からんがパーティクル表現のこと?
検索が下手なのは、質問が下手ってのと同じだろうから、
語彙力身に着けるのが近道。

420:Now_loading...774KB
08/09/01 00:10:48 RNNFq7ev
リアルタイムでレンダリングしたものを
テクスチャにして飛ばすなら
Flash8でないと無理。

>>417
AS1でもAS3でもAPI内部の処理速度は同じだろ。

421:Now_loading...774KB
08/09/01 02:08:16 S42pfC23
>>420
AS1,2とAS3とではplayerのエンジンが違う

422:Now_loading...774KB
08/09/01 08:44:11 sqP7dL9d
質問です。
フルFlashサイトを作っているんですが
Flashファイルの1フレーム目にnoborderを記述し、htmlファイルには縦横100パーセントで設定しているんですが、自分のブラウザでみたらちゃんと縦横きれいに100パーセントで表示されてるんですが、他のブラウザで見たら大きく拡大して表示されてしまいます。
どなたかこの様な現像の解決方法をご存じないでしょうか?
宜しくお願い致します

423:Now_loading...774KB
08/09/02 14:01:00 P0oI6p2k
actionscriptのインクリメントで2ずつ増やす方法

424:Now_loading...774KB
08/09/02 16:53:33 ThoXrYs6
for(i=0;i<2;i++)n++;

425:Now_loading...774KB
08/09/02 17:55:09 INqlUf3c
>>422
Flashのバージョン
自分の使っているブラウザ名
うまく表示されない他のブラウザとはどれか
ちゃんと書こうね

426:Now_loading...774KB
08/09/02 17:59:31 P0oI6p2k
424どういう事ですか?nの値??
i=++i; ←こんな感じでお願いします。


427:Now_loading...774KB
08/09/02 18:21:22 ekR0fb/p
i += 2;
↑こうゆう事?

428:Now_loading...774KB
08/09/02 23:09:14 oiCr7SLs
427ありがとうそんな感じ( ^∀^)

429:Now_loading...774KB
08/09/03 02:32:49 GoFVdVhF
質問です。Flex 3 SDK+AS3でやっています。
public static const list:Object =
{
a:"xx",
b:"yy",
c:"zz"
};
これをa->b->cの順でfor文で走査したいです。
arr:Array = ["a", "b", "c"];という配列を作って、list[arr[i]]としたら出来るのですが、
この配列を定義するのが冗長な感じがします。
何か他のやり方があれば、ご教授いただきたいです。
よろしくお願いします。

430:Now_loading...774KB
08/09/03 04:54:35 Hu7fuEpR
>>429
キーの部分の順番付けが無いとどういう順番で表示するかわからんだろ
連想配列使うのなら冗長では無く必須

431:Now_loading...774KB
08/09/03 08:46:21 GoFVdVhF
>>430
そうでしたか・・・。お馬鹿な質問をしてしまってすいません
ありがとうございました

432:Now_loading...774KB
08/09/03 10:42:24 ciIfMOKQ
import flash.display.BitmapData;
var MainBmpData:BitmapData= new BitmapData(100,100);
var main:MovieClip = this.createEmptyMovieClip("MainMC", this.getNextHighestDepth());

MainMC.attachBitmap(mcPath.palette.MainBmpData, MainMC.getNextHighestDepth(), true);
この部分を、
main.attachBitmap(mcPath.palette.MainBmpData, main.getNextHighestDepth(), true);
こう書くと「タイプが一致しません。」とエラーが出るのはなぜなんでしょうか。



433:432
08/09/03 10:44:37 ciIfMOKQ
すいません。書き忘れましたがAS2.0です。

434:Now_loading...774KB
08/09/03 11:12:38 Hu7fuEpR
>>432
何故といわれてもそのまま「タイプが一致しないから」と返すしかないだろw
引数の型をチェックするとか、traceしてちゃんと値が入ってるか調べるとか汁

435:Now_loading...774KB
08/09/03 11:17:40 QPp3ylWS
環境)OS:WinXP-Pro,Mem=2GB,ソフト:FlashCS3-Pro(Player9)

hoge_mc.addEventListener(Event.ENTER_FRAME,function(){
/* スクリプトの記述 */
});

質問です。
この ENTER_FRAME のイベントを removeEventListener することって可能ですか?


436:432
08/09/03 11:38:13 ciIfMOKQ
>>434
trace(main);
//_level0.MainMC
trace(typeof(main));
//movieclip

とくに問題ないような気がするのですが
おれは何か勘違いしてるんでしょうか

437:Now_loading...774KB
08/09/03 13:10:56 YfC11098
>>435
つarguments.callee

438:Now_loading...774KB
08/09/03 20:14:37 QPp3ylWS
>>437

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

439:Now_loading...774KB
08/09/04 20:34:32 xNkMf3ka
AS3の文法について質問ですが、以下のようなスクリプトが例文で良く出てきます。

hoge.addEventListener(MouseEvent.CLICK, onMouseClick);
function onMouseClick(e:MouseEvent):void {
hogehoge.x = mouseX; //ここは何でも良いんですが
}

この関数名の次の引数「e:MouseEvent」について、その関数内で変数(e)を使っていないのに
ほぼ毎回必ず記述されていますが、これは文法上の決まりなんでしょうか?
これを書かないことで(使わないのに)、何か整合性が取れなくなるんでしょうか?


440:Now_loading...774KB
08/09/04 20:38:57 xNkMf3ka
あと、これはどうでも良いことなのかもしれませんが、変数の宣言でintとuintだけ
頭文字が小文字なのは何か理由(とか逸話)があるんでしょうか?
NumberとかBooleanとかStringとか全部頭文字が大文字なのにこの2つだけ小文字なのが気になります

441:Now_loading...774KB
08/09/04 21:19:08 2QekdjO0
軽く答えようと思ったけど、うまい説明が浮かばなかった
普通にAS3を使いこなしてるつもりでいたけど適当にやっていたようだ・・

442:Now_loading...774KB
08/09/04 21:42:03 Y9QIAA7S
ECMAScript 準拠でそうなってるんだよ


うん。適当に言ってみた

443:Now_loading...774KB
08/09/04 21:48:47 TWqANbo2
AS3.0がそういう設計だからっていうこと意外に説明できるかな

URLリンク(livedocs.adobe.com)()
>listener:Function ? イベントを処理するリスナー関数です。
>この関数は、次の例のように、Event オブジェクトを唯一のパラメータとして受け取り、
>何も返さないものである必要があります。

>function(evt:Event):void

444:Now_loading...774KB
08/09/04 23:12:56 Ckei/Cw6
>>439
文法上の決まりというよりは、サイト上の書き方を統一しているだけでしょう。
文法上はfunction onMouseClick():void{...としても問題なく通ります。
AS3の元となっているECMAScriptでは本来引数のない関数に値を渡すこともできますし、
その関数内で渡された引数を処理することもできるような仕様になっています。

>>440
伝統的なものです。AS3に限らず大抵の言語が何らかの言語の影響を受けて作られています。
完全なオブジェクト指向でない言語ではintやuintはクラスではありませんでした。
現在でもこれらはプリミティブ型と呼ばれ、他の型とは振る舞いが異なる場合があります。
intやuintのように伝統的な理由で小文字となってる型は、他にvoidがあります。
voidはundefinedという値のみを持つ特殊な型ですが、これも由来は他言語です。

445:439=440
08/09/04 23:28:48 xNkMf3ka
レスくださった方ありがとうございます。
慣習や伝統的な意味合いが強いんですね。勉強になりました。
確かに使わなくても引数を書いておいた方が、その関数がどこから
呼ばれているのかを探すときにわかりやすいような気もします。

446:Now_loading...774KB
08/09/05 00:46:40 eL48yTkR
>>444
書かなくてもコンパイルは通った
でもイベント起きなくなった

447:Now_loading...774KB
08/09/05 03:15:41 emEZhJKX
いいオチだw

448:Now_loading...774KB
08/09/05 03:22:36 L+1/upAK
そりゃイベントディスパッチャに渡すeventがなければ
メッセージ走らんだろう。



449:Now_loading...774KB
08/09/05 06:06:58 vaVogdaU
>>446
書き方が悪かっただけじゃないですか?
今手元で簡単に試したけどコンパイルは通るしイベントも起きます。
というかこの書き方で動かないようじゃECMAScript準拠が嘘になっちゃう。

>>448
この場合、関数定義での仮引数はあくまで仮引数であって、
EventDispatcherに渡すeventオブジェクトの実体作ってるわけじゃないですよ。

450:Now_loading...774KB
08/09/05 06:15:43 vaVogdaU
ついでに書けば>>444に書いてあるように引数のない関数を登録しても、
値はちゃんと渡されるのでargumentsを使えば普通にeventにアクセスできます。
・・・わりと一般的な知識だと思ってたので>>446見てちょっと焦ったw

451:Now_loading...774KB
08/09/05 11:11:36 eL48yTkR
>>446
なんか書き方悪いのかな・・・?俺も動きそうな気はするんだけど
これではイベント起こらない。e:MouseEventって書いたら起きる
ちなみにFlex SDK 3.1 AS3.0

public class Main extends Sprite
{
public function Main():void
{
var sp:Sprite = new Sprite();
sp.graphics.beginFill(0xaaaaaa);
sp.graphics.drawRect(100, 100, 200, 200);
sp.graphics.endFill();
sp.addEventListener(MouseEvent.CLICK, spClickHandler);
addChild(sp);
}
private function spClickHandler():void
{
FlashConnect.trace("mouseclick");
}
}

452:Now_loading...774KB
08/09/05 12:00:01 q/gLz4Ls
as1での質問です。
変数を含むムービークリップのフレーム数を取得したり
指定したフレームへジャンプさせたりしたいんですが

for(i=1;i<=5;i++){
tellTarget("/inu"+/:i){
trace(_currentFrame);
gotoAndPlay(12);
};

こういった書き方では出来ないんでしょうか?
初歩的な質問で申し訳ないですが、どういう事を
勉強すればいいかなどでも教えていただければと思います。
今まではthisを使っていたんですがflashlite1.1用なので
使えないみたいで…よろしくおねがいします。

453:452
08/09/05 12:52:47 q/gLz4Ls
452の質問をした者です。
もしかして、flash4の段階では
telltargetのターゲットに変数を入れることは出来ないんでしょうか…。

454:Now_loading...774KB
08/09/05 15:07:56 Sp68lRAI
FlexBuilder3でFlex3での質問です。

カスタムコンポーネントで設定した関数から
親コンポーネントの関数を呼びたいのですが、どうすればよいのでしょうか?

parentDocument とか parentApplicationとか使ってみたのですが
目的が違うもののようです。

よろしくお願いします。

455:Now_loading...774KB
08/09/05 16:03:35 VQ75W2pK
>>452
CS3のドキュメントみたら
「Flash Lite でストリングを連結するには、次の例に示されているように add 演算子を使用します。」
とのことなので

tellTarget("/inu" add /:i){

FlashLiteはよく知らんけど、試したところ一応これで動いた


456:Now_loading...774KB
08/09/05 16:25:57 0c6OXxbY
>>454
よくわからんけど単純にparentでは駄目なの?
親の方でaddChildしてからじゃないとnullだけど。

457:Now_loading...774KB
08/09/05 17:19:00 hym4ZNm2

親の表示リストに含まれている場合は
" 子オブジェクト.parent "で親オブジェクトが呼ばれるはずだけどね

458:Now_loading...774KB
08/09/05 17:32:07 Sp68lRAI
>>456,457
返答ありがとうございます。

parentでもだめなんですが、何か根本的な勘違いをしていそうな気がしています。
もう少し調べてみます。
ありがとうございました。

459:Now_loading...774KB
08/09/05 18:00:24 vaVogdaU
>>451
それがダメなのは登録しているのが関数ではなくクラスに所属するメソッドだからです。
ただの関数として宣言したものや、無名関数は引数がなくてもイベントが起きます。
Functionクラスにも書いてありますが、メソッドと関数は厳密には別物です。

460:454,458
08/09/05 19:02:33 Sp68lRAI
自己解決しました。

parentAppricationのドキュメントみると
Applicationを使用すると書いてありました。

やってみたところうまくいきました。

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

461:Now_loading...774KB
08/09/05 21:37:53 JJ6BJ8bT
Math.min(64, a << 1 )

の << はどういう意味ですか?

462:Now_loading...774KB
08/09/05 21:44:02 Sp68lRAI
aを1ビット、レフトシフトしたものと、64とを比べて小さい方を返す

463:Now_loading...774KB
08/09/05 21:47:04 Sp68lRAI
うう、ごめん。<<だけでいいのか。

<<は左側にビットシフトする。
普通は倍になるけど、32ビットからあふれたビットがどうなるかは知らん

464:Now_loading...774KB
08/09/05 22:10:53 eL48yTkR
>>459
動きました。ありがとうございます
理由がいまいち分からないので勉強してきます

465:Now_loading...774KB
08/09/05 23:20:54 db5vsGq7
キャリーフラグが立つ

466:Now_loading...774KB
08/09/05 23:33:19 JJ6BJ8bT
>>463
俺の入っちゃいけない領域だってことは分かったw
Tks

467:Now_loading...774KB
08/09/07 23:01:08 xVVDcg5n
携帯ゲームやデコメアニメが作りたいんですが、
何かお勧めの本ってありませんか?

468:bgcolor
08/09/08 01:31:50 /E5TQ3To
こんばんは、質問です。
ActionScriptでHTMLの背景色を変更したいと思っています。
外部のJavaScriptファイルをGetURLで
読み込んでくるところまで解り、
試したのですがうまくいきません。
JavaScriptファイルの記述の仕方は下記で合ってますでしょうか?
(すごく短いので絶対足らないと思いますが・・・)
ちなみに、FlashMX、WINDOWS XPです。
すみませんが、お教えください。

function color() {
document.bgColor = "#ccffcc";

}



469:Now_loading...774KB
08/09/08 02:39:32 lUTMFn+/
>>468
JavaScript側はそれで背景色が変わると思います
外部のjavascriptファイルってのがいまいち分からないんですが

getURL("javascript:void(document.bgColor="#ccffcc")")

これで出来ませんかね

470:bgcolor
08/09/08 13:19:20 UGN1o8eb
>>469さま
ありがとうございます!できました!!
ここ何日か、本やネットを探しまくってましたが、やっと解決できました。
それで、情報が錯綜して勝手に外部のjavascriptファイル.jsファイルを
作ると思い込んでいました。ありがとうございました!

471:Now_loading...774KB
08/09/08 16:55:48 1nbwiOuH
ずっと引っかかってる事があるんですけど

var a:Array = new Array();
for (var i:uint = 0; i<100; i++) {
a[i] = i;
}

これと

var a:Array = new Array();
for (var i:uint = 0; i<100; i++) {
a.push(i);
}

これは同じですか?
使い分けとかありますか・・・?

472:Now_loading...774KB
08/09/08 19:04:13 MKRMzHnB
>>471
内部実装がどうなってるか分からないから確実なことは言えないけど、
普通に考えたらpushの方が実行速度は速いと思う
添字アクセスの場合、iがlengthの範囲内かチェックする処理が入った後に領域の拡張が行われると思うけど、
pushであれば範囲チェック無しで拡張が行えるわけだし
ただ、配列の長さがわかってるならnew Array(100)とした後に添字アクセスした方がより良い書き方だと思う
pushは数がわからないような場合に使えばいいんじゃないかな

473:Now_loading...774KB
08/09/08 21:20:10 rwcJevZ1
そりゃ他言語の知識だろ

474:Now_loading...774KB
08/09/08 22:00:53 o/QDWrOl
>>473
うそつけ

475:Now_loading...774KB
08/09/08 22:59:37 VB6m8COM
ASの配列なんてObjectのhashを再利用してるだけだし。

476:Now_loading...774KB
08/09/08 23:23:02 rwcJevZ1
その通り。領域なんて考えねーし。lengthなんてチェックしねーし。
クラステーブルにアクセスしない分速いし。
つーか速い遅いで論じてる時点でおかしな話だ。

477:Now_loading...774KB
08/09/09 00:13:14 FxLxuCwE
クリックした時に変化(A→B)するボタンを
マウスを離してからも、Bのままでいるには、どうすりゃいいんですか?

478:Now_loading...774KB
08/09/09 00:36:20 q5dEo94n
マウスボタンを押したまま、その領域を離れた場合ってことか?

479:471
08/09/09 00:46:33 95Ww71Pl
>>472
Tks. パフォーマンステスト検証してみます。


480:Now_loading...774KB
08/09/09 00:55:53 hSXn0beI
>>476
>配列エレメントに値を割り当てるとき (my_array[index] = value など)、index が数値でかつ index+1 が
>length プロパティよりも大きい場合、length プロパティが index+1 に更新されます。
って書いてあるよ
あなたが公式ドキュメントより正確な知識を有してるというなら、その通りかもしれないけど

>>479
気になったから今ソース見たけどやっぱりlengthチェックして拡張処理やってた
しかも添字アクセスがネイティブ(C++)で実装されてるのに対して、
pushは実装がASレベルでされてたから、直接アクセスの方が実は速いかも
ソースはtamarin

481:Now_loading...774KB
08/09/09 01:13:19 Omu1X1w5
ああ、そうか。lengthプロパティの値をチェックしなきゃならんのね。
それは配列っ「ぽく」見せるためのASの独特の処理。拡張してるわけじゃない。
もっと言えばASのArrayにとって添え字の1は文字列の「1」と対して変わらん
>>475が全て

var arr:Array=[];
arr[10]=1;
trace(arr.length);//11
for (var o in arr)trace("hoge"); //1回だけ表示

arr = [0,1,2]
arr[10]=1;
trace(arr.length);//11
for (o in arr)trace("hoge"); //4回表示

482:Now_loading...774KB
08/09/09 01:28:13 hSXn0beI
>>481
たぶんそれは今まで信じられてきた噂ってだけじゃないかな?
もしくは昔のバージョンがそうだったか。
現在のArrayの内部実装はObjectで使われるものとは別に、
数値インデックス専用のm_denseArrというプライベート配列を別に持ってて、
添え字が0以上の場合は恐らく高速化のためにそっちを使ってるみたい
ま、自分も今ソース見て初めて知ったけどw

483:Now_loading...774KB
08/09/09 01:31:34 hSXn0beI
ああ、ちなみに高速化されるのは>>471みたいな場合ね
>>481みたいにインデックスが飛ぶ場合とかマイナスの場合は従来通り


484:Now_loading...774KB
08/09/09 02:14:00 Omu1X1w5
>>482
お、そうなの?
プリミティブと一緒に頑張ってくれてたのか
そりゃ朗報だわ

ちなみに信じられてる噂じゃなくて、思いっきりリファレンスにObjectを継承してる事書いてあるからw

485:Now_loading...774KB
08/09/09 02:36:54 Ty7wfbmp
継承してる=動作が同じ、じゃないぞ?
そんなんじゃオブジェクト指向の意味ないじゃん
継承先で動作が変わってるなんてよくあること
ましてやこの場合C++で書かれてる部分じゃ形式上の継承とか関係ないし

486:Now_loading...774KB
08/09/09 12:38:53 hgoyihFv
Arrayで盛り上がってますな

AS3 Flex3
var array:Array = [];
array[0] = 0;
trace( array.length );

array[1] = 1;
trace( array.length );

array[-1] = -1;
trace( array.length );

array[0xfffffffe] = 0xfffffffe;
trace( array.length.toString(16) );

array[0xffffffff] = 0xffffffff;
trace( array.length.toString(16) );

array[2] = 2;
trace( array.length.toString(16) );

暇な人は上から順にtraceの出力がどうなるか当ててくれ

487:Now_loading...774KB
08/09/09 14:13:22 bLVyBvDv
自分でやれよw

488:Now_loading...774KB
08/09/09 18:15:47 zUyIkZud
>>486
マイナスのインデックスで高速化が働かないことは>>483に書いてあるけど、
他にMAX_INTEGER_MASK(0xF0000000)と論理積とって引っかかるものも除外される
つまりこれらは添え字に文字列を指定したのと同じような効果になる
lengthはこれら文字列インデックスの数と>>482にあるm_denseArr.lengthの合計値が返される
こんな回答でいい?

489:Now_loading...774KB
08/09/09 19:13:48 YFM1Sy0D
変数の_btnNameにbtn00, btn01・・・と連番ボタン名を入れていって、
それらのbuttonModeをtrueにしてやりたいだけなのですが、
_btnName.buttonModeとすると、
_btnNameという変数自体が、プロパティ名と解釈されてしまい、
btn00.buttonMode = true;
のように出来ない状態です。

_btnNameの中に格納されているのは、
btn00、btn01という、ボタンの名前ですよ、というようにするにはどうしたらいいのでしょうか。。。

for(var i:uint=0; i < 6; i++){
var _btnName:String = ("btn0" + i) as String ;
_btnName.buttonMode = true;
}


490:Now_loading...774KB
08/09/09 19:25:29 zUyIkZud
this["btn0"+i].buttonMode = true;

491:486
08/09/09 19:54:26 hgoyihFv
>>487
質問ではなく、個人的に意外な結果になったので聞いてみただけっす。すんません。

解答は
var array:Array = [];
array[0] = 0;
trace( array.length ); //1
array[1] = 1;
trace( array.length ); //2
array[-1] = -1;
trace( array.length ); //2
array[0xfffffffe] = 0xfffffffe;
trace( array.length.toString(16) ); // ffffffff
array[0xffffffff] = 0xffffffff;
trace( array.length.toString(16) ); // 0
array[2] = 2;
trace( array.length.toString(16) ); // 3

負の数字がlengthにカウントされない事と0xffffffffでlengthが0になるのに驚いた。常識?

おまけ
for ( var hoge in array ){
  if( hoge is String )trace( hoge );
}
// -1
// 4294967294 (0xfffffffe)
// 4294967295 (0xffffffff)

>>488
> lengthはこれら文字列インデックスの数と>>482にあるm_denseArr.lengthの合計値が返される
上記だとarray[-1]してもlengthが増えないので、文字列インデックスとして使われる部分はカウントされないのでは?

492:Now_loading...774KB
08/09/09 20:10:25 zUyIkZud
>>491
lengthの実装がreturn m_denseArr.getLength()ではなくreturn m_lengthだったから、
その辺も足したものになってると勝手に勘違いしてた
ハッシュ周りは上位のScriptObjectクラスに丸投げしてArrayObjectクラスでは触ってないね
0xffffffffが使えない理由は、↓のようにコメントで書いてあった
// We can NOT use 0xFFFFFFFF for this since x[0xFFFFFFFE] is a valid prop
// which would make our length 0xFFFFFFFF

493:Now_loading...774KB
08/09/09 21:18:03 E9N+ZKV7
すみません、いろいろググってみたのですが、方法がわからなかったので教えてください。

おみくじのようにランダムにフレームへジャンプするASを組みたいのですが、指定したフレームの中でランダムに飛ぶ方法はありますか?

例えば、3、136、369フレームのどれか一個に飛ぶ、という具合です。
教えていただければ幸いです

494:Now_loading...774KB
08/09/09 21:28:27 FxLxuCwE
>>478
すみません。質問に補足させていただきます。
例えば「押すとAからBに変わる」というボタンを作ります。
そのボタンを押している間は”B”になっているのですが、
離すとまたAに戻ってしまいます。
一度クリックすると、変化したままでいるスクリプトを教えてください。

495:Now_loading...774KB
08/09/09 22:52:12 YFM1Sy0D
489です。
>>490
動きませんでした。
この[]という表記方法は何なのでしょうか。

一箇所表記を間違っていました。
_btnNameの前に_btnSetというのがつきます。
_btnSetというのは、ボタンを複数梱包しているMCの名前です。

for(var i:uint=0; i < 6; i++){
var _btnName:String = ("btn0" + i) as String ;
_btnSet._btnName.buttonMode = true;
}

496:Now_loading...774KB
08/09/09 22:53:48 u4lZQ3fW
flvファイルのプログレッシブダウンロードが時々途中で止まってしまう事があるのですが、
どのような対処が考えられますでしょうか?
AS2です。

497:Now_loading...774KB
08/09/09 22:54:37 YFM1Sy0D
489です。
補足です。

_btnSet._btnName.buttonMode
というのは、_btnNameが変数で、
その場所の値を入れ替えることで、

_btnSet.btn01.buttonMode
や、
_btnSet.btn02.buttonMode

というように、まとめて、buttonMode=trueにしたいという目的があります。
お助けください。

498:Now_loading...774KB
08/09/09 23:11:53 wI6DLpeX
CS3で gotoAndPlay の挙動が ActionScript3.0 でパブリッシュするとどうもおかしいのだが、
何か解決法はあるのかな・・・
具体的には2フレームのキーフレームを作って3フレーム目に gotoAndPlay(1); とすると、
ActionScript2.0 でパブリッシュすると2フレームのパターンを交互に表示するループに
なるのに、3.0 でパブリッシュすると gotoAndPlay で1フレーム待たされて、1フレーム
目のパターンが2回に2フレーム目のパターンが1回という繰り返しになって
しまう。これだとアニメーションを綺麗につなぐことができなくってとても困るのだが・・


499:Now_loading...774KB
08/09/09 23:43:18 q5dEo94n
>>497
よくわからないが、こうか?

for(var i:uint=0; i < 6; i++){
_btnSet["btn0"+i].buttonMode = true;
}

500:Now_loading...774KB
08/09/09 23:46:24 q5dEo94n
>>494
Flex3+AS3の俺がアドバイスできるのは
SimpleButtonクラスとかButtonクラスを使えば出来る、と言うことぐらいだ

501:Now_loading...774KB
08/09/10 00:26:21 uaunU19J
環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0)

getRGB()で質問です。

root上のMC(mc1,mark1)の色を取得するため、mc1のイベントハンドラに

onClipEvent (load) {
trace("Color= "+this.getRGB()+", "+_root.mark1.getRGB());
}

と書いたところ、 Color= undefined, undefined の表示になりました。
問題点はどこでしょうか?


502:Now_loading...774KB
08/09/10 00:36:16 f39TfBvC
>>493
var array:Array = new Array(3, 136, 369);
var rndFr:uint = array[Math.floor(Math.random()*3)];
trace(rndFr);

503:Now_loading...774KB
08/09/10 01:31:04 xMzCU6+I
>>495
>この[]という表記方法は何なのでしょうか。
配列アクセス

>>496
止まってしまう原因を解明する

504:Now_loading...774KB
08/09/10 01:38:44 xMzCU6+I
>>501
原因はMovieClipクラスにgetRGBってメソッドがないから。
getRGBがあるのはColorクラス。

だけどgetRGBで取得できるのは
最後のsetRGB() 呼び出しで設定されたRGB値だけだから、
一度setRGBで設定しないと取得できないと思う


505:493
08/09/10 01:46:39 7T/b55CI
>>502
御早いご返答ありがとうございます。
しかし、私はCS3は使っていますが、AS2.0の設定にして制作しておりますので、unitがエラーで表示されてしまいました。
AS3.0の設定にして、もう一度パブリッシュをすると、今度は
「警告 : ActionScript 3.0 では、ボタンインスタンスまたは MovieClip インスタンスのアクションはサポートされていません。オブジェクトインスタンスのすべてのスクリプトは無視されます。」
と表示されてしまいました。

AS2.0=unitは使えない
AS3.0=ボタンが使えない

となり、行き詰まってしまいました。
お手数ですが解決策がありましたら教えてください。お願い致します。




506:493
08/09/10 02:07:43 7T/b55CI
>>502
自己解決しました!AS3ではunitですがAS2ではNumberなのですね!
教えてくださってありがとうございます。

on (press) {

var array:Array = new Array(3, 136, 369);
var rndFr:Number = array[Math.floor(Math.random()*3)];
gotoAndPlay(rndFr);
}

507:Now_loading...774KB
08/09/10 02:32:19 uaunU19J
>>504
さんきゅう

508:Now_loading...774KB
08/09/10 10:54:42 qB/ZNCv0
489、495,497,です。
>>499
>>503
_btnSet["btn0"+i].buttonMode = true;では駄目でした。
配列アクセスを使用したときのプロパティとして当たらないということでしょうか。

TypeError: Error #1010: 条件は未定義であり、プロパティがありません。
となってしまいます。
何故でしょうか・・・・??もう一度整理すると、

_btnSetというインタンス名のMCの中に、
6つのボタンMC(btn00~btn05※インスタンス名です)が入っています。
それら6つをまとめて、forループですべてbuttonMode=trueにしたいのです。
そこで、

for(var i:uint=0; i < 6; i++){
var _btnName:String = ("btn0" + i) as String ;
_btnSet._btnName.buttonMode = true;
}

が駄目で、、、

for(var i:uint=0; i < 6; i++){
var _btnName:String = ("btn0" + i) as String ;
_btnSet["btn0"+i].buttonMode = true;
}

も駄目でした・・・。いずれも同様のエラー、「条件は未定義であり、プロパティがありません」お助けください


509:Now_loading...774KB
08/09/10 11:08:09 KqdSTiA8
>>508
とりあえずこうしたらダメでしたが延々続くだろw
AS3.0の本一冊読むか、ヘルプ一通り見るかしてから来い
オブジェクト指向なAS3.0は付け焼き刃じゃ何も出来ないよ

510:Now_loading...774KB
08/09/10 11:15:06 6r2RrxdQ
AS3.0なの?
_btnSet.btn00.buttonMode = true;
だったら意図したように動くの?


511:Now_loading...774KB
08/09/10 11:47:46 qB/ZNCv0
>>509
すみません、いけました!
指摘の内容、仰るとおりです。本は読んでいますが、理解がまだ追いついていません。

>>510
勘違いでした。エラーは次の行で起きていたようで、
ここのループはばっちり配列アクセスで設定できました。
大変失礼しました。ありがとうございます。

512:Now_loading...774KB
08/09/10 14:29:08 raTDs9XY
AS3.0にて外部から読み込んだテキストを使ってリンクを貼りたいのですが、どうしたらいいでしょうか?

513:Now_loading...774KB
08/09/10 14:37:16 raTDs9XY
補足
読み込むテキストは下記のようにテキストファイルにひとつにまとめるようにして。。。
date.txt

url0=URLリンク(www.google.co.jp)

514:Now_loading...774KB
08/09/10 17:19:27 lqrF0YFV
>>513
private function loadCompleteHandler(e:Event):void
{
var loader:URLLoader = URLLoader(e.target);
var vars:URLVariables = new URLVariables(loader.data);

var tf:TextField = new TextField();
tf.htmlText = "<a href=\"" + vars.url0 + "\" target=\"_blank\">link</a>";
this.addChild(tf);
}

515:Now_loading...774KB
08/09/10 17:47:03 raTDs9XY
>>514
ありがとうございます。

すみません補足不足でした。
画像にリンクを貼りたいです。

申し訳ございません。

516:Now_loading...774KB
08/09/10 18:42:44 f39TfBvC
>>514を見てふと思い出したけど、波カッコ“{”を改行するコーディングスタイルを
よく見かけるようになったんだけど、何か理由があるのかな?
AS3のIDEであるFlashDevelopも途中のバージョンから改行するスタイルに変わってて、
違和感を感じたんだけど、元々あるものか、最近どこかで提唱されたとか、知ってる人
いたら教えてほすぃ

517:516
08/09/10 18:55:25 f39TfBvC
> AS3のIDEであるFlashDevelopも途中のバージョンから改行するスタイルに変わってて

これだとちょっと誤解を与えちゃうか。波カッコを改行するかしないかは設定で変えられるんだけど、
デフォルトの設定が改行しないスタイルから改行するスタイルに途中で変わった、ということです。

518:Now_loading...774KB
08/09/10 19:06:36 McByLcsR
Flexのコーディング規約がそうなっているから。

URLリンク(blog.dclick.com.br)

519:Now_loading...774KB
08/09/10 19:14:22 f39TfBvC
>>518
あーそうなんだ、情報ありがとう。もっと大きな流れか何かかと思ったけど、AS内だけの決まり事なんだね

520:Now_loading...774KB
08/09/10 19:20:50 DYCDIn9X
言語の開発元が提唱した規約は十分大きな流れだと思うが

521:Now_loading...774KB
08/09/10 19:29:35 Li8Y4T1n
スコープでブレースを使う多くの言語の中で、改行を推奨する言語なんてAS以外にあるっけ?

522:223.4.100.220.dy.bbexcite.jp
08/09/10 19:48:16 uNHkqmF5
最近の Microsoft の規約は大体そうでしょ
何故そこだけ Sun Java 的にならなかったのか謎だけど

523:Now_loading...774KB
08/09/10 19:51:14 f39TfBvC
>>520
あーそんな深い意味で言った訳じゃ無いんだけど、>>521が言うようなプログラミング業界(?)全体的な意味でw
この改行すんごい違和感あるんだけど、改行するメリットって見やすさかしら

524:Now_loading...774KB
08/09/10 20:03:15 AJTMLu9R
なんだろね?ブロックを把握しやすくするとかかね?

525:Now_loading...774KB
08/09/10 20:09:56 e6nacen+
慣れなんだろうけど、昔からこの書き方違和感あって読み辛いし馴染めなかったなあ


526:Now_loading...774KB
08/09/10 20:48:37 McByLcsR
改行を好む人と好まない人がいるよね。

for (var i = 0; i < 10; i++) {

// comments
trace(i);
}

こう書く人と

for (var i = 0; i < 10; i++) {
// comments
trace(i);
}

こう書く人がいるのね。規約に従うと万人がこうなって、
コミット時に精神衛生上よろしくなりました。

for (var i = 0; i < 10; i++)
{
// comments
trace(i);
}



527:Now_loading...774KB
08/09/10 21:02:16 f39TfBvC
>>526
おぉ~かなり納得できる理由だっ! ちょっと規約に従う気になれました。

528:Now_loading...774KB
08/09/10 22:23:28 lqrF0YFV
>>515
TextFieldの画像表示でハマッてました・・・
解決したけど、画像なら素直にnavigateToURLの方がいいかな?

private var url:String;

private function imageClickHandler(e:MouseEvent):void
{
if (url != null)
{
var request:URLRequest = new URLRequest(url);
navigateToURL(request, "_blank");
}
}

private function urlLoadCompleteHandler(e:Event):void
{
FlashConnect.trace("urlLoadComp");
var loader:URLLoader = URLLoader(e.target);
var vars:URLVariables = new URLVariables(loader.data);
url = vars.url0;
}

529:Now_loading...774KB
08/09/11 01:03:47 r5skrcaQ
AS3で、MovieClipやSpriteのオブジェクトの「中心点」を操作できるプロパティってありますか?
Livedocで調べたりしてみたんですがそれっぽいのが見つかりませんでした
今は以下のように中心を計算して操作してるんですが、書いてたらそれ用のプロパティがあるような気がしてきて・・・

var xx:Number = stage.stageWidth / 2;
var yy:Number = stage.stageHeight / 2;
var mm:MovieClip = new MovieClip();
mm.x = xx - (mm.width / 2);
mm.y = yy - (mm.height / 2);
addChild(mm);


530:Now_loading...774KB
08/09/11 06:29:16 13AYJM+Q
画像を外部から読み込んでいるフラッシュがあるのですが、
特定の日付以降になると、その日付のファイル名の画像ととりかえたいのです。

531:530
08/09/11 06:39:58 13AYJM+Q
途中送信してしまった…
たとえば、8月12日までは main.loadMovie(image/0711.png)
8月13日になったら main.loadMovie(image/0813.png)にきりかわるようにしたいのです。

月と日付を取得してそれを以下ので4桁にして、
today = ("0"+mm).substr(0, 2)+("0"+dd).substr(0, 2);

0123,0222,0309 …と、必要な分の日付を,で区切ったテキストファイルを読み込み,で分割、
todayよりその数字が大きくなったら、その部分を取り替えて新しい日付の画像を読み込ませたいのですが、if文がよくわからなくなってしまいました。
お手数おかけしますが、よろしければご教授ください。


532:Now_loading...774KB
08/09/11 07:21:27 tcBQ2exE
>>531
日付の比較はDate自体ですればいんじゃないかな
var targetDate:Date = new Date(2008,9-1,12);
var today:Date = new Date();
trace(targetDate < today);

533:Now_loading...774KB
08/09/11 07:24:23 tcBQ2exE
あ、こっちだなw
trace(targetDate.getTime( )<today.getTime());

534:Now_loading...774KB
08/09/11 15:26:55 eKrSoIzd
>>531
あなたの書いた文だとよくわからんところがあるが

>0123,0222,0309 …と、必要な分の日付を,で区切ったテキストファイルを読み込み,で分割、
この0123とか0222は、それぞれ1月23日、2月22日ってことかな?
で、今日が1月30日だとすると、0123.pngを表示したいってことだよね?
ま、そうだと仮定すると、こんな感じかなぁ

var dtArr:Array = [ "0123", "0222", "0309", ...];
var today:Date = new Date;
var result:String = "";
for each( var dtStr:String in dtArr ) {
    var showDate:Date = DateField.stringToDate( dtStr, "MMDD" );
    if ( showDate.getTime() < today.getTime() ) {
        result = dtStr;
    } else {
        break;
    }
}
trace ( "result:" + result );


535:Now_loading...774KB
08/09/11 15:46:35 eKrSoIzd
ちゃんと実行してみたら、まちがってた・・・・。
正しくは

var today:Date = new Date;
var result:String = "";
var fm:DateFormatter = new DateFormatter();
fm.formatString = "YY";
for each( var dtStr:String in dtArr ) {
    var showDate:Date = DateField.stringToDate( fm.format(today)+dtStr, "YYMMDD" );
    trace( fm.format( showDate ) + " " + fm.format( today ) );
    if ( showDate.getTime() < today.getTime() ) {
        result = dtStr;
    } else {
        break;
    }
}


536:Now_loading...774KB
08/09/11 18:23:58 vCS/oIpm
初歩的な質問ですが、下のような記述はやってもいいのでしょうか

if(A && B || C)
{

}

これだと、条件が「AかつB、または、C」なのか「A、かつ、BまたはC」なのか定まらない気がします…。説明が下手ですいません。
ちなみにAS1.0です。

537:Now_loading...774KB
08/09/11 18:40:15 Bo2l1Y+f
>>536
定まらないってことはないです。
それだけの事をなぜ試してみないのでしょうか。
また、なんでそれをやりたいのか理解に苦しみます。


538:Now_loading...774KB
08/09/11 19:08:32 5JiCGQfN
>>536
普通のプログラミング言語なら,演算子には
優先順位と(同一順位での)実行順序が決められています。
必ず結果は一意に定まります。

539:Now_loading...774KB
08/09/11 19:09:05 ucNAtdoc
>>536
演算子には優先順位や結合性といった規則があります。
これは、異なる演算子が同時に表記されたときに、どのような順番で実行されるのかを決めるものです。
例えば 5 + 3 * 6 という式ではまず 3 * 6 を実行しますよね?
これは+よりも*の方が優先順位が高いからなのです。

この優先順位は全ての演算子に決められていて、&&と||の場合は&&の方が優先順位が高いことになっています。
(詳しくはリファレンスを読めば載ってる・・・・はず)

よって A && B || C と書いた場合は必ずA&&Bが先に評価され、
> AかつB、または、C
となります。

というわけでそのような記述はして構いません。
ただ、慣れないうちは括弧をつけた方がわかりやすいかもしれませんね。
Ex. if( (A && B) || C )

540:Now_loading...774KB
08/09/11 20:37:29 Xp0IiQNA
AS3の質問です。

ドキュメントクラスので宣言したオブジェクトに
メインのタイムラインからならアクセスできると思うんですけど
メインタイムラインにインスタンス名をつけて設置したムービークリップからは
どうやってアクセスするんですか?

そのムービークリップの1フレーム目にキーフレームをセットして
アクションにroot.hoge.func();ってやってもアクセスできないです。

rootってドキュメントクラスとは違うんですか?

541:Now_loading...774KB
08/09/11 22:10:18 DWF+Q7IN
AS3で質問です。
あるswfファイルから他所のswfファイルを呼び出すとき

test.swf?param=abc

みたいに、GETパラメータみたいにデータを渡す事って可能ですか?
それとも もっと良い方があるのでしょうか?

542:536
08/09/11 22:38:08 vCS/oIpm
>>537
確かに、試せば済む事でした。すいませんでした。

>>538 >>539
なるほど、優先順位という物があるんですね。分かりやすく説明していただきありがとうございます。

543:540
08/09/12 00:27:12 K/AgP6Fb
すみませんスルーしてください。
rootはドキュメントクラスでした。

544:Now_loading...774KB
08/09/12 01:30:03 Gp7WZnSK
>>541
可能です。
LoaderInfo.parameters
あたりでググってみてください。

545:Now_loading...774KB
08/09/12 06:22:50 44hRgaAX
環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0)

Matrixクラスで質問です。

インスタンスを傾斜を加えながら回転させるため、Matrixクラスの変換機能を使う
ことにしました。
ここで参考にしたサイトは、URLリンク(www.flashiroha.com)
なのですが、Flash8-Proのヘルプと照らし合わせたところ不明な点が浮かんだの
で質問することにしました。

サイト中に var myMatrix:Matrix = new Matrix(a, b, 0, 1, 200, 200); という記述
があります。一方ヘルプでは、傾斜用のマトリックスの要素と、コンストラクタが

 0 SKy 0
 SKx 0 0
 0  0  1

 Matrix([a:Number], [b:Number], [c:Number], [d:Number], [tx:Number], [ty:Number])

になっており、a → 0, b → SKy, c → SKx, d → 0 (平行移動は省略)になる筈で
すが、サイトのMatrix(~)定義と異なっています(例:0になるべきaの値がサイトでは
「var a」で定義されている)。

※SKx,yはx,y軸方向にスライドする量です

自作のMCでもサイトのASで目的の動作は出来ましたが、何故この記述で可能なの
でしょうか?

546:Now_loading...774KB
08/09/12 08:26:21 3Moz3j0n
Flashデザインラボ -プロに学ぶ、一生枯れない永久不滅テクニック
URLリンク(www.sbcr.jp)

この本買ってただいまAS3を勉強中なんですが
AS2と3のサンプルが混在してます。AS3に作り直したいんですが
AS2→3変換するのに参考になるようなサイトありますか?

3をマスターしてからやればいいんだけど、ちょっと急いでまして・・・

547:Now_loading...774KB
08/09/12 11:36:01 A7U1lIF/
>>546
急いでるならプロに頼めばいんじゃね

548:Now_loading...774KB
08/09/12 14:37:55 tSCrohbh
それ捨ててAS3の本を買えばいい

549:Now_loading...774KB
08/09/12 15:00:28 QUgAVx+L
>>545
ASの話じゃなくて行列計算の話じゃん
数学板でも行くか数学の入門書でも買って読めばいいよ

550:Now_loading...774KB
08/09/12 17:29:24 eTsVjFLg
ボタンアクションで全く同じ処理で押すボタンだけを複数したいのですが良い方法が思いつきません。

例えば上キーか下キーを押したとき同じ処理をする場合
on(keyPress"<Up>") {
 //長ーい記述
}
on(keyPress"<Down>") {
 //上と同じ記述
}
上のやり方しか思いつきません。記述が長いのでできれば一つにまとめたいのですが……。分かる方がいましたらお願いします。SWF7です。

551:Now_loading...774KB
08/09/12 18:24:43 MhCs3KCg
>>550
一言で言うと

functionを使うべし

552:545
08/09/12 21:37:48 Pm1dpESb
>>549
すみません、紙上で演算しても、本(行列・ベクトルの本)
を読んでも分かりません。

解説をお願いします。


553:Now_loading...774KB
08/09/12 22:18:10 jBiyDvgh
>>545
いまちょっと確認できないけど、ヘルプはバージョンによって行列の記述が間違ってるから、
結果から正しい定義を見出したほうが良いよ。

554:Now_loading...774KB
08/09/12 22:31:46 QUgAVx+L
>>552
サイトに書いてあるのは回転と傾斜をするためのパラメータ
あなたが引っ張ってきたのは傾斜だけのパラメータ
違ってて当たり前なんだけど、紙上で演算しても気づかなかったの?
本当に計算できるなら気付いて当たり前だから、入門書読んだら?と勧めたんだけど
Matrixクラスの使い方ならともかく、その動作原理なんてスレ違いもいいとこだし

555:Now_loading...774KB
08/09/13 02:08:58 vGrTszC3
>>550
function

ルートのフレーム1にでも書いておく↓

function botandetukau() {
//長ーい記述
}

これで botandetukau() というアクションがセットされたことになるので、使いたい場合は

on(keyPress"<Up>") {
botandetukau();
}
とか

on(keyPress"<Down>") {
_root.botandetukau();
}

などで最初に定義したのと全く同じ処理をたった一行の命令でさせられます。
functionの使い方の詳細はググれ。

556:545
08/09/13 06:36:47 qsfxqZIr
>>553-554
さんきゅうです。

「回転と傾斜をするためのパラメータ 」
ああそうか、回転作用を見落としていた。


557:Now_loading...774KB
08/09/13 06:50:33 89RRUaTA
理系の大学入れば1年の最初で線形代数習うよ

558:Now_loading...774KB
08/09/13 11:29:05 8H2ps9gO
>>523
1行目をコメントアウトするだけでスコープになるからデバッグしやすい。

559:Now_loading...774KB
08/09/13 11:41:08 8H2ps9gO
>>556
行列の3*3それぞれのパラメータの意味分かってる?
とりあえず、aとbだけマウスの座標にあわせてグリグリ動かしてみな。

560:Now_loading...774KB
08/09/13 14:10:43 RB9oiSHO
すみません教えてください!
tmpArrayという配列に、10個のMovieClipを格納しました。
その中でvisible=trueのものを1つだけx=100にしたいのですが、

for each (var m:MovieClip in tmpArray) {
 if (m.visible) {
  m.x = 100;
  break;
 }
}

と書いたのですが、一件も処理されません。
ちなみにbreakを外すと、全部のMovieClipがx=0になります。

どこがおかしいのでしょうか!?

561:Now_loading...774KB
08/09/13 16:58:06 FYlNsvuR
>>551
>>555
遅レスになりましたが初心者級の質問に答えてもらいありがとうございました!そんな便利な関数?(関数を作る関数ってことですかね)があったんですね。おかげさまでできました!

562:Now_loading...774KB
08/09/13 18:42:24 Awdzv9Mo
>>560
どこにもxに0を代入する文がないのに
全部0になるの?

563:Now_loading...774KB
08/09/13 18:48:06 yuty1s/G
>>560
>ちなみにbreakを外すと、全部のMovieClipがx=0になります
デフォが0じゃないのに0になるってこと?
俺のエスパー能力は他の場所に問題があるってよ

564:Now_loading...774KB
08/09/13 19:24:07 RB9oiSHO
>>562
>>563
すいません、「全部x=100になる」の間違いです!!!!


565:Now_loading...774KB
08/09/13 19:43:33 yuty1s/G
>>560
書き方に問題はないっぽい。
tmpArrayの一つ目が処理されてることに>>560が気づいてないんじゃないかな。
breakの前にtrace入れるとかして確かめてみたら?

566:Now_loading...774KB
08/09/13 20:16:47 p6C70/Cx
URLリンク(livedocs.adobe.com)

↑の検索ボックスからの検索って正常に行えます?

567:Now_loading...774KB
08/09/14 01:17:49 SmmHzNmF
稀に検索できることがある

568:Now_loading...774KB
08/09/14 13:37:20 bkvVbWVJ
AS3のコンポーネント ComboBoxのリスト部分の文字をでかくしたい!
選択されているところは、

var tf:TextFormat = new TextFormat();
tf.size = 50;
InstanceName.labelField.textField.setStyle("textFormat", tf);

でいけるのに。。。
ComboBox内のListがReadOnlyだから?
どうにかならん????


569:Now_loading...774KB
08/09/14 16:17:58 pqCIPrSB
リスト項目全部に設定すりゃいんじゃね

570:Now_loading...774KB
08/09/14 21:00:12 kUfVg168
>>560

”一件も処理されません。 ”ってのは、m.x=100 にならないってこと?
どうやって確かめた?

571:Now_loading...774KB
08/09/15 02:41:16 5uJPuCG3
指定座標を中心に地図を拡大縮小するにはどうしたらいい?
地図をクリックする場所はユーザーが自由に決めれたらいいんだが。
matrixで画像を動かしたりはできるけど、、
もう一つまだ掴めてないっす。

572:Now_loading...774KB
08/09/15 02:54:24 28GbVigF
>>571
予め元の地図の下にに(深度を下に)もう一枚おく。
→ 下の地図はマウス座標に追従するようにして、クリックしたら上下が入れ替わる。
→ このとき下の画像の拡大縮小もする。

ではどう?

573:Now_loading...774KB
08/09/15 02:56:35 UyWqr5ne
入れ子MCの消去で質問です。
ソフトはFlash8-ProのAS2.0で、OSはWinXP-Proです。

親MC(mcA)の入れ子MCとしてmc1, mc2, ab1, ab2・・・ があったとき、これらを
一括して消去する方法はありますでしょうか?

for文で指定すれば良いのですが、状況により入れ子MCが細かく変わるので、
インスタンス名に関わらずclear()の様に消したく思っています。


574:Now_loading...774KB
08/09/15 03:29:49 N6tdtdpv
>>573
・親MCを消す
・for in で消す

575:Now_loading...774KB
08/09/15 03:34:25 5uJPuCG3
571っす
>>572
マウスに追従してきてたら、指定の箇所をクリックして、
拡大にはなんないよ。
中心座標を毎回計算しないとダメだと思うので、
マトリックスを使わないとダメみたいで、
その正しい使い方がいまひとつわからないです

576:Now_loading...774KB
08/09/15 04:25:56 yAUknH1/
AS2のswfからAS3のswfをloadMovieした場合、
子のAS3swfから親のAS2swfの関数を呼ぶのは
どうしたらよい?displayObject.rootとかやってみたけど
だめなんだ。


577:573
08/09/15 04:39:54 UyWqr5ne
>>574
あんがと。


578:Now_loading...774KB
08/09/15 04:55:39 DFR6R1mV
>>576

AS2とAS3は互いにアクセスできなかったような気がするけど

579:Now_loading...774KB
08/09/15 07:45:53 2QoVj6ou
>>532-535
ありがとうございます!
説明わかりづらくて申し訳ない。

580:Now_loading...774KB
08/09/15 12:50:10 eOmUEHkg
test

581:Now_loading...774KB
08/09/15 15:41:00 cwMsq1Cf
flash8、AS2に関する質問です。
フレームでmenuとmainに分けたサイトのmenu部分にflashを置いて、flash内のボタンを押すと
main部分が切り替わるようなものが作りたいのですが、

getURL("top.html", "main");

のように自サイト内のページを開くときは問題ないんですが

getURL("URLリンク(blog.xxxx.com)<)", "_blank");で外部ウィンドウで表示させれば問題なく読み込まれました。
allowscriptaccess="always"とかも関係ないっぽいですし、解決策が分からないです。
ご指導お願いします。

582:Now_loading...774KB
08/09/15 18:48:30 nQYCYh1u
わざわざフルパスにする必要ないからいいんじゃないの?


583:Now_loading...774KB
08/09/15 20:47:33 mbaHHWXi
As2.0 WIN XPです。
マウスが近づくとMCが拡大するというスクリプトをMCに書いて
実行させています。
これをrootのタイムラインにfunctionとして定義して、
MCにはfunctin();にて実行させる場合、
rootにはどのように書けばいいのでしょうか?
多分、xm、ymあたりの変数あたりに工夫をしなければならない
と思うのですが、迷路に入り込んでいます。
よろしくお願いいたします。
//
onClipEvent (enterFrame) {
xm = _xmouse;
ym = _ymouse;
span = Math.sqrt(xm*xm+ym*ym);
if (span>100) {
mcScale = 80;
} else {
mcScale = 80+(span-100)*-20/100;
}
this._alpha = this._xscale=this._yscale=mcScale;
}


584:Now_loading...774KB
08/09/16 00:11:38 GSu0om6T
>>583

//onEnterFrame
onClipEvent (enterFrame) {
  _root.HOGE(this)
}

//_root
function HOGE(mc:MovieClip) {
  xm = mc._xmouse;
  ym = mc._ymouse;
  span = Math.sqrt(xm*xm+ym*ym);
  if (span>100) {
    mcScale = 80;
  } else {
    mcScale = 80+(span-100)*-20/100;
  }
  mc._alpha = mc._xscale=mc._yscale=mcScale;
}


585:Now_loading...774KB
08/09/16 00:39:42 6xqxL9rV
>>582
サイトの構造的に、どうしても新規ウインドウを開かずに表示したい

586:Now_loading...774KB
08/09/16 02:27:25 K06s6cYa
AS3でSpriteやMovieClipオブジェクトの基準点を指定(変更)する方法ってありますか?
FlashCS3でシンボル変換時に出るウィンドウの9つの点で指定出来るやつです

587:Now_loading...774KB
08/09/16 10:59:51 Wsjd8HP6
>>584
お陰様で無事実装できました。
ありがとうございました m(_)m

588:Now_loading...774KB
08/09/16 19:41:29 bK4IUF1/
>>581
問題の絞込みはどこまでやってる?
ちょこっと試して見たけど問題ないみたいだった。
ASの問題じゃないだろ?
その他の環境によるもんじゃないのかな?

つか>>582は解決策暗示してんじゃないの?
>フルパスにする
まぁ、パクリサイトだったらいじれないから無理だろうけど、

589:Now_loading...774KB
08/09/16 20:39:18 s2/Veykc
環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0)

入れ子MC内のテキストフィールドのハイパーリンクで質問です。

URLが指定されたテキストをクリックすると当該HPにジャンプするようなムービーを作るため、
あらかじめ空のテキストフィールドを含んだMCをfor文とattachMovie()で10個生成しました。

確認のため、TextFormat()で太字になるように設定したところ、テキストフィールドの文字列
は狙い通りに10個全て太字になりましたが、生成されたテキストフィールドにマウスポインタを
重ねてもリンク動作をしません(下はASの抜粋です)。

fmt_name.url = "URLリンク(www.yahoo.co.jp)"; //URL設定
fmt_name.html = true;
fmt_name.bold= true;
//
this["textM"+id].txt = id; //idは0~9で、縦に0~9が表示
this["textM"+id].txt_ins.setTextFormat(fmt_name); //太字にはできる

どうしたら良いでしょうか?

590:Now_loading...774KB
08/09/16 21:04:53 ujAwUn32
Flash8です。

loadMovieで外部のフラッシュを
完全に読み込んでから次のフレームに進みたいです。

完全に読み込んでから次のフレームに進むスクリプトを
教えてください。

591:Now_loading...774KB
08/09/16 22:15:54 SavpeRG8
>581
自分が言ってるように、
フレームの場合のCSSの定義をもう一度確認した方がいいんじゃないかな。
スタイルシートは外部ファイルだよね?



592:Now_loading...774KB
08/09/16 23:31:56 N0mY7K2a
なんだかクソスレ化してきたなw

593:Now_loading...774KB
08/09/17 00:43:50 JKJE719G
今までどんだけ良スレだったんだよw

594:589
08/09/17 00:49:09 MlH37Gk0
すいません。目標とは若干違いますが、TextFormat()をMCの
フレームアクションとして指定し、getURL()で表示出来るように
なりました。

つまり、MCで
this.onPress = function() {
フォーマット指定
getURL("http://~");
}
という感じです。

これでクリックすると目標のHPが表示され、数字の太さや色も
指定できました。

595:Now_loading...774KB
08/09/17 04:39:56 FCyk1IHm
WinXP-ProでFlash8を使用。

指定したディレクトリ(パス)にあるファイル名の一覧を得るにはどうしたら良いでしょうか?
よくソフトなどで、フォルダを階層毎に開いて、目的のフォルダの中身を表示する感じです。
出来ればAS2.0以下で願います。

先ずは、trace()表示をしたく思います。


596:Now_loading...774KB
08/09/17 10:02:09 tnMIb4Rw
>>595
import flash.net.FileReferenceList;
import flash.net.FileReference;
var listener:Object = new Object();
listener.onSelect = function(fileRefList:FileReferenceList) {
trace("onSelect");
var list:Array = fileRefList.fileList;
var item:FileReference;
for (var i:Number = 0; i<list.length; i++) {
item = list[i];
trace("name: "+item.name);
}
};
var fileRef:FileReferenceList = new FileReferenceList();
fileRef.addListener(listener);
fileRef.browse();

597:Now_loading...774KB
08/09/17 12:17:51 MRmnZX1b
>>592
クソが言うなら間違いないでしょww

598:Now_loading...774KB
08/09/17 13:57:51 p+3YDTsR
質問です

ボタンで外部swfを空mcに読み込み、表示されるコンテンツを切り替えたいのですが
初期でロードするムービークリップにリンケージで識別子を設定して読み込んでいる
モノがあり、ボタンで他のに切り替えても、残ってしまいます。

完全に他のswfに切り替えたいのですが、どなたかよろしくお願いします。

599:Now_loading...774KB
08/09/17 13:58:26 MTrr1q0f
mcBoxを、シフトキーを押しながらクリックした場合は
onShiftClickというファンクションを呼び出したいんだけど、
それはどのようにaddEventLisntenerしたらいい?

mcBox.addEventListener(ここがわからない);

600:Now_loading...774KB
08/09/17 14:54:16 a0YqYiNg
>>599
試してないけど、多分こう。

mcBox.addEventListener( MouseEvent.MOUSE_CLICK, onClick );

public function onClick( e:MouseEvent ):void{
  if( e.shiftKey == true ) trace( "shiftキーを押しながらクリックされました。" );
}

601:Now_loading...774KB
08/09/17 14:58:16 QPxJsoy0
>>596
レス有難うございます。
早速、試してみます。


602:595
08/09/17 17:43:56 QPxJsoy0
(ファイル名一覧の取得)
>>596さんの方法を元に、browse()のヘルプを参照し、JPGのみを選択するように

fileRef.browse(); → fileRef.browse([{description:"Images", extension:"*.jpg"}]);

と加工しました。
しかし出来れば、任意のパスを指定して、そこにある全てのJPG名を自動的に取得
したく思っています。一応、考えられる箇所を細工しましたが駄目でした。

どうすれば良いでしょうか? 再度アドバイス願います。

603:Now_loading...774KB
08/09/17 18:00:10 MNJurFNW
そんなんできたらローカル環境のファイルリストを勝手にどっかに送られんだろ
ユーザーが手で選択するしかできないようになってんだよ

604:Now_loading...774KB
08/09/17 19:23:22 MTrr1q0f
>>600
ありがとうございます。
バッチリできました~!!

605:595&602
08/09/17 23:41:44 xbqfJnCv
>>603
有難うございます。
確かにそうですね。

606:Now_loading...774KB
08/09/18 03:14:55 VObT4N/z
煮詰まってしまったので質問させて下さい。

ボタンなんですが、上レイヤーのボタンを押すと下レイヤーの
ボタン(…といっても、わけあってhitTestで作ってます、しかも大量)まで反応します。
#タイムラインを使えばいいんですが、再ロードさせたくないので、単に無効になってくれるのが理想です。

一般的なenabledや空ボタン程度だとダメっぽいのです。
何とか簡単に下レイヤーのhitTestを無効化出来ないでしょうか。

607:Now_loading...774KB
08/09/18 05:19:51 MnhKerfn
>>606
要は、100個位あるMC型のボタンの1個を押すと、その1個のみを
Onの状態にしたいということ?

attachMovie()でインスタンス生成(ボタンMC生成)すれば、レイヤーを考慮せずに
好きな数だけ好きな位置に配置できるが・・・ 
(ただし、この場合には、各深度に注意)

タイムラインも、gotoAndStop()で制御すれば、各ボタン単位で有効/無効が設定
できるよ。これじゃ駄目?


608:606
08/09/18 09:46:19 av1fhiPK
>>607
いえ、その方法が使えません…
具体的には塗り絵Flashで、100個くらいあるシンボルにhitTestで色付けする方法を採っています。
で、その上に「○○しますか?はい いいえ」的なダイアログを出したいんですが、下の
シンボルが反応してしまうので困っている次第ですw

609:Now_loading...774KB
08/09/18 10:15:01 O4g/dmhW
どう作ってるのか知らないけど、
それならダイアログだしたらhitTestの処理なくせばいいんじゃない?

610:Now_loading...774KB
08/09/18 13:54:46 kq5/cFrH
ドキュメントクラスの中で
public宣言して作成した関数hoge()を、
ムービー内の一つのmcBtnがクリックされたときに呼び出したいけど
うまくいかないです。
普通に
mcBtn.addEventListener(MouseEvent.CLICK, hoge);
と書くだけじゃ駄目ですか?

611:606
08/09/18 15:53:14 Rh63+pHt
>>609
有り難うございます。
結局for++iで100個のMC全部指定するか各MCにひたすらhitTestオフ条件を書き込む
ベタな方法でしか回避できないんですかね…

612:Now_loading...774KB
08/09/18 17:33:52 gWGFd90t
>>610

引数の型をMouseEventにした?

613:Now_loading...774KB
08/09/18 17:36:25 1tHlJm9w
>608
シンボルクリックしたら全体を覆うMCを表示させる

614:Now_loading...774KB
08/09/18 17:57:41 kq5/cFrH
>>612
610です。
すみません、省略し過ぎました。
もう少し詳しく書きます。

ドキュメントクラスmain.as内で、
public function hoge():void{
trace("きてます");
}

としておいて、

ムービークリップの、mcBtnのフレームアクション上で、

mcBtn.addEventListener(MouseEvent.CLICK, onJump);
function onJump(e:MouseEvent):void{
hoge();
}

としています。これを実行すると、
「1180:未定義である可能性が高いメソッドhogeの呼び出しです」
となってしまいます。root.hoge()でも駄目でした。
何が駄目なんでしょう?

※ドキュメントクラス内からの命令でhoge()は普通に呼び出せます。



615:Now_loading...774KB
08/09/18 18:13:19 gWGFd90t
>>614

MovieClip(root).hoge();

616:Now_loading...774KB
08/09/18 18:27:53 O4g/dmhW
>>611
AS2だけど、こんな感じでフラグたてればいいだけじゃない?

URLリンク(www.uploda.org)
Pass : swf

617:Now_loading...774KB
08/09/18 18:38:50 qqfvG/t6
教えてください
タイムラインのMcPageの1フレーム目にTOPページ、
2フレーム目に2ページと置いて、各ページの中に
mc001、その中に入れ子にしてBtn001というボタンが
いくつかあり、ボタンをロールオーバーするとswapDepthsにて
最上層に出てくるような感じにしています。
(ロールオーバすると吹き出しが出るようになっていて、重なり防止のため)
rootには
var depth:Number = 0;
と書き
外部Asには
Mcpage.mc001.Btn001.onRollOver = function() {
this._parent.swapDepths(_root.depth++);
と書いて、TOPページ内ではSwapDepthsが効いているのですが
2ページ目になるとSwapされていません。
ご教授よろしくお願いいたします。

フラッシュ8使用です

618:Now_loading...774KB
08/09/18 21:44:49 kq5/cFrH
>>615
610です。
ありがとうございます。
無事できました!!思いつきませんでした・・・!
感謝いたします。

619:Now_loading...774KB
08/09/19 17:44:00 fb6qmjPM
AS3で、TextFieldの文字の色を赤→緑→青と変えたいのですが
上手くいきません。以下コードです。

var f = new TextFormat("Arial", 12, 0xFFFFFF, false, false, false);
var t = new TextField();
t.defaultTextFormat = f;
addChild(t);

Tweener.addTween(f, {color:0xff0000, time:0, delay:0.0});
Tweener.addTween(f, {color:0x00ff00, time:0, delay:1.0});
Tweener.addTween(f, {color:0x0000ff, time:0, delay:2.0});
...

なんとなく書き方自体ダサい気がするんですが何か方法はないでしょうか。

620:619
08/09/19 18:35:13 fb6qmjPM
自己レスです、MovieClipでフレームアクションさせたらうまくできました。
お騒がせしました。

621:Now_loading...774KB
08/09/19 19:56:23 a7Md/rG7
突然ながら質問が。

AS2.0の_url(絶対パスをとるやつ)から最後のファイル名を除いたフォルダパスだけとるにはどうしたらいいんですか?

できるだけRegExpとかは使いたくないです。

622:sage
08/09/19 23:32:49 O0Pn9FxL
>>621
trace( str.lastIndexOf( "/" ) );出力10
trace( str.substr( 0, 10 ) );


623:Now_loading...774KB
08/09/19 23:57:13 Q1m+63Rt
>>622

最後のファイル名の長さを調べてそれ以外を抜き出すのですね。

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

624:Now_loading...774KB
08/09/19 23:58:27 Q1m+63Rt
最後の/の位置ですね。

625:Now_loading...774KB
08/09/20 10:02:27 3vGib9u4
>>617
全ての深度をしっかり紙に書いて把握してみれ
いい加減に作るとわけわかんなくなるよ

626:Now_loading...774KB
08/09/20 11:33:40 4Os7R83x
現在パー速クリエイタースレで人員募集中です。
現行スレ&テンプレ
URLリンク(ex14.vip2ch.com)

・html、CSS、SNSを作れる言語が書ける人(一番大変な部分です。数人必要かも。)
・Flashができる人(お絵かき、通信等)
・aiやpsdをいじれる人
・宣伝活動に長けている人
・ちょっとしたスキルがある方(動画作成等)

他にもどしどし募集中。
勉強中の方からプロの方まで、気軽にお願いします。

627:Now_loading...774KB
08/09/20 22:22:26 TTTyQOrz
Flashのゲームが作りたくて、本を読んで勉強しています
ある本のサンプルにジグソーパズルの作り方が載っていて
その本ではjpegをライブラリに入れて、ジグソーパズル全体の大きさの四角
を「塗りのカラー」をビットマップとしてjpeg画像を塗り込み、それを線で切って
ピースとしています。
この方式は理解出来たのですが、Jpeg画像の枚数を増やすとSWF自体が
大きくなってしまうので、画像を外部から読み込めないか考えています。
外部Jpegの読み込みに関しては理解していますので、どなたかヒントを
よろしくお願いします

628:Now_loading...774KB
08/09/20 23:01:56 7XsEm7lK
>>627
バージョンは?
何がわからないの?

629:Now_loading...774KB
08/09/21 00:39:54 O2iVbcSU
ローカルの画像を取り込んで、それを変形させるものを作りたいのですが、
ローカルの画像を読み込ませる方法についてヒントをください。
おおざっぱな流れとして、
1.ボタンとかでダイアログを開いて、画像を選択。
2.読み込み開始
3.BitmapDataとかに入れる
を考えているのですがどのように出来るでしょうか?
とりあえず、埋め込みで画像を変形できるところはできているので、
とにかくBitmapDataに入れられればこっちのものと考えているのですが…。
開発はFlashDevelopで、AS3書いています。

630:Now_loading...774KB
08/09/21 00:44:59 NRPdhyww
それはプレーヤー10から実装される機能だから無理
URLリンク(weblogs.macromedia.com)
個人でテストしてみる分にゃ問題ないんじゃね?

普通は画像DBサーバー用意してそこにアップロードしてもらったのをムービーに読み込む

631:Now_loading...774KB
08/09/21 00:55:11 O2iVbcSU
なるほど…。9までは一旦サーバ側に保存して、そこから読み出すのが定石なんですね。
あくまで趣味程度なんで fileReference に手を出してもいいかもしれません。
ありがとうございます。

632:Now_loading...774KB
08/09/21 08:06:50 Op68wWqx
基本的な質問になるかもしれないですがどなたか教えていただければ。。。

シーン1の1フレーム目にAというムービークリップがあり
Aの中にplayというフレーム名を設定しているとします、
同じくシーン1の2フレーム目にBというムービークリップ
があり(この時同じ2フレームにAはありません。)、
Bの中にあるボタンをon(release)でAのplayというフレーム
には飛ばせないのでしょうか?

同じフレーム内になければ_root.A.gotoAndPlay("play");
では動かないことまではわかったのですが、その場合の
動かし方がわかりませんでした。

ちなみに、playから動かしたいので、シーン1のフレーム1
に飛ばす方法は取れない状態です。

FlashCS3のAS2で記述しています。

633:Now_loading...774KB
08/09/21 09:33:51 ExkPAyGw
・1フレームにA(タイムラインを持ちフレーム名"play"がある)、2フレームにB
・Bを押して1フレに戻ると、Aが"play"へ飛んでいる
ってことに置き換えていいなら、フラグを用意するといい

//1フレームアクション
this.stop();
this.A.stop();
if (flg == undefined) {//flgが定義されていなければ初再生
flg = 0;
}
this.A.onRelease = function() {
this._parent.gotoAndStop(2);
};
if (flg) {
this.A.gotoAndStop("play");
} else {
this.A.gotoAndStop(1);
}
//2フレームアクション
this.B.onRelease = function() {
flg = 1;
this._parent.gotoAndStop(1);
};

634:Now_loading...774KB
08/09/21 10:01:27 Op68wWqx
>>633
632です、
ありがとうございます!
早速設置してみます!

635:Now_loading...774KB
08/09/21 12:29:52 w4Dwe9YB
最近「FLASH CS3&AS3.0」を勉強しはじめた初心者です。

「タイトル画面」→「ゲーム画面」→「ゲームオーバー画面」→「タイトル画面」・・・
という流れの、簡単なシューティングゲーム作りを通してAS3.0を覚えようとしています。

スクリプトは全てasファイルに書きたいと思っているのですが、「addFrameScript」を使うのが一般的なのか、
「addFrameScript」を使わないで書くのが一般的なのか、いまいちよくわかりません。

「addFrameScript」を使ったほうが簡単のような気もするのですが・・。
どちらが一般的なのでしょうか?

ちなみに、手元にあるAS3.0の本には載っていませんでした。。


以上、よろしくお願いします。

636:Now_loading...774KB
08/09/21 12:35:58 eAUhmQ4X
>>635
ASオンリーでいくなら使わないのが一般的
addFrameScriptはリファレンスに載ってない隠しAPIだから
これを使うと流れがわかりにくくなってしょうがない

637:Now_loading...774KB
08/09/21 14:26:07 w4Dwe9YB
>>636
あ、かえってわかりにくくなるんですね。
ではaddFrameScriptを使わずに作ってみます。

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

638:Now_loading...774KB
08/09/21 17:11:44 P37WDfX1
質問です。

スペースで区切られた文字列を分解する方法を教えてください

"abc def ghi" -> ["abc","def","ghi"]

639:Now_loading...774KB
08/09/21 17:14:48 P37WDfX1
自己解決しました。

split関数を使えば良いですね

640:Now_loading...774KB
08/09/21 20:43:59 tEegqrXh
教えてください!
A_mcのフレームに
onClipEvent (load) {
var imgFlder:String = "mein/sub/img/BtnImage";
//
loadMovie(imgFlder+"1.jpg", this.sum_01_mc.board);
loadMovie(imgFlder+"2.jpg", this.sum_02_mc.board);
loadMovie(imgFlder+"3.jpg", this.sum_03_mc.board);
と書いて外部から画像を読み込ませています。
これを外部テキスト、もしくは外部XMLに書いて読み込ませ、
実行させる場合にはどのようにしたらよいのでしょうか???

今日、朝からやってて疲れました・・・・

641:Now_loading...774KB
08/09/21 21:30:57 f4CJrqyl
>>640
LoadVarsクラスでテキスト内容を読み込む

642:Now_loading...774KB
08/09/21 21:34:55 P37WDfX1
actionscriptの質問なのですが、ブラウザでflashを実行したとき、
そのswfファイルが置かれていたサーバのIPを取得するにはどうすればいいですか?

643:Now_loading...774KB
08/09/21 21:46:07 /2CLYRzH
>>642マルチ

644:Now_loading...774KB
08/09/21 21:49:36 P37WDfX1
>>643
質問は放置する癖にそういうことだけは素早いですね。

645:Now_loading...774KB
08/09/21 22:02:29 /2CLYRzH
>>644
テンプレ読んでな
掲示板のルール理解してな
ルール理解する気がないならromってるかどっか行ってな

646:Now_loading...774KB
08/09/22 01:04:46 MeHJvrfG
>>644
逆切れw

647:Now_loading...774KB
08/09/22 12:40:57 BkvG6UuJ
var my_lv: LoadVars = new LoadVars();
my_lv.onLoad = function(success: Boolean) {
if (success) {
trace(this.toString());
} else {
trace("Error loading/parsing LoadVars.");
}
};
my_lv.load("http: //www.helpexamples.com/flash/passvars.php");


648:Now_loading...774KB
08/09/22 15:17:08 Em2KzTUV
flash上で書き込んだデータを同じflashに保存するには(ニコ動みたいな感じ)
どうすればいいかわかる人、教えてくださいませんか?

649:Now_loading...774KB
08/09/22 15:29:56 dTXx/bN6
>>648
> flash上で書き込んだデータを同じflashに保存する
こういう事はできません。
データを保存するためには別途サーバーサイドのプログラムを用意して、それにデータを渡すしかありません。
ニコ動のコメントは外部のデータベースにアクセスしてます。

ただし、保存場所がローカルで良ければSharedObjectで実現可能です。
(この場合保存したデータに他の人からはアクセスできません。)

650:Now_loading...774KB
08/09/22 17:13:31 8HHf2bZX
526 名前:Now_loading...774KB[sage] 投稿日:2008/09/22(月) 14:06:59 ID:Em2KzTUV
ニコニコ動画みたいに、動画とコメントを同期させて表示させるにはどうするんでしょうか?
だれかわかる人います?


651:Now_loading...774KB
08/09/22 19:36:36 dTXx/bN6
>>648
マルチポストって知ってます?
複数の場所で同じ質問をする事です。
これってインターネット上で共通のマナー違反なんです。次からやめましょうね。

652:Now_loading...774KB
08/09/22 19:44:44 lApgHlK/
すぐに知りたいことだからここに書き込むんです。
すぐに情報が引き出せないなら別のところに移ります。
マルチポストかどうか判定されるまでに情報が引き出せなければあきらめるだけです。
そして次の新しい質問は別のIDでポストすればいいですからね。

653:Now_loading...774KB
08/09/22 19:45:27 lApgHlK/
マナー違反?知ったこっちゃない。
すぐにレスポンスが返せないやつが悪いんだよw

654:Now_loading...774KB
08/09/22 20:01:13 96vD5jSN
まぁ結果を急ぐあまり解答が貰えなくなる君が一番損をするからどうでもいいんだけど

655:Now_loading...774KB
08/09/22 20:03:27 WVP9KMKi
>>653
他力本願の人間が言う言葉ではないなw
頭悪過ぎてまともな質問文も書けないみたいだから
どこいったって駄目だと思うよ
自分で解決しなさい。

656:Now_loading...774KB
08/09/22 20:24:17 lApgHlK/
俺がここに書くことは20分以内に解決しろ。
20分あれば大抵解決するからな。

657:Now_loading...774KB
08/09/22 20:27:05 P8JVubbf
>>656
自分で解決しろ。


658:Now_loading...774KB
08/09/22 20:28:44 lApgHlK/
お前らに解決させて、その時間で俺は別の問題を解決する。
いわば並列処理

659:Now_loading...774KB
08/09/22 20:55:26 8Z1q56Lc
NGID登録:ID:lApgHlK/
これですべて解決

660:Now_loading...774KB
08/09/22 20:58:37 lApgHlK/
別のIDを使って、もっとおしとやかに質問するので無問題

661:Now_loading...774KB
08/09/22 21:20:17 FL13m+We
(´・ω・`)おっぱい

662:Now_loading...774KB
08/09/23 03:34:42 gHzMX3Uq
あれ?夏休みってもう終わったんじゃ・・・

663:Now_loading...774KB
08/09/23 05:50:57 0qFcPSYw
なんか無能な奴がまた湧いてるなw
単位落としたぐらいでやけになるなw

664:Now_loading...774KB
08/09/23 12:35:40 pJ+lVFAH
お決まりのセリフ 「何の役にも立たないクソスレだな」

665:Now_loading...774KB
08/09/23 17:35:35 2Q9R5tXZ
ここみると自信がつく

666:Now_loading...774KB
08/09/24 09:01:47 TCcpr8Vv
下を見るな上を見ろ

667:Now_loading...774KB
08/09/24 10:36:26 tv0R1bAh
665<>666
教えてください。
obj = _root.attachMovie("side_obj","str" + i,i,~
深度が10以上は、visibleプロパティを変更したいです。

668:Now_loading...774KB
08/09/24 10:58:58 HjFrBIgV
obj = _root.attachMovie("side_obj","str" + i,i,{visible:i < 10});

669:Now_loading...774KB
08/09/24 11:25:27 tv0R1bAh
>>668
,{visible:i < 10}
iが10より小さければvisible = true
という意味でしょうか?

670:Now_loading...774KB
08/09/24 13:02:52 E+4wGvaE
648です。マルチポストっていうんですね。マナー違反とは知らず、失礼いたしました。以後気をつけます。

また、ご回答ありがとうございました。また困ったときに助けていただければ幸いです。それでは失礼します。


671:Now_loading...774KB
08/09/24 22:13:54 Iv49WfgF
環境)OS:WinXP-Pro,Mem=3GB,ソフト:Flash8-Pro(Player8,AS2.0)

ピクセル単位の色の取得

白黒の10*10ピクセル程のBMPをMC化し(bmp_mc)、このピクセル単位の白黒の
位置をBitmapDataクラスを使って把握しようとしていますが、うまく出来ません。

目的の動作の前段階としてBMPサイズを取得しようと思っています。動作を書いた
bmpPixcelFunc() をボタンアクションで呼び出すことはできるのですが、肝心の高さ
と幅が undefined になります。 
フレームアクションに書いたASは以下の通りです。

import flash.display.BitmapData; //BitmapDataクラスをインポート
var bmpData:BitmapData = new BitmapData(bmp_mc._width, bmp_mc._height, true); //新規ビットマップデータのインスタンス
//
function bmpPixcelFunc(bmd:BitmapData) { //ビットマップデータを解析
trace("bmpPixcelFunc"); // bmpPixcelFuncは表示される
trace("高さ= "+bmd.height);
trace("幅= "+bmd.width); // bmp_mc._heightなら、10などと出ますが・・・
//
var pixelColor:String = bmd.getPixel(0, 0).toString(16); //試しに位置(0, 0)の色を取得
}

ボタンの方は、on (release) で bmpPixcelFunc(bmd); です。
すいませんが、アドバイス願います。

672:Now_loading...774KB
08/09/25 01:23:48 IOgy4g0T
bmdって渡してるけど、それどこにもなくね?

673:Now_loading...774KB
08/09/25 10:14:33 HQvuZ209
>>671
ボタン押下時
bmpPixcelFunc(bmd);

bmpPixcelFunc(bmpData);
では?

674:Now_loading...774KB
08/09/25 21:34:32 qvFstGVn
CS3のAC2で書いています。
attachMovieで増やしたmcをステージ上のmcに追わせ、
ヒットしたら、当たったmcが変化するというのをやりたいです。

_root.mca = "mc_a"+_root.adep;
this.attachMovie("mc_a",_root.mca,_root.adep);
_root.adep++;

こうやって増やしているのですが、hitTestで当たった先のmc名をどうするかで困っています。
相手は連番で無限に増えて行くので、どう指定したらいいのか解りません。

どなたか宜しく御願いします。

675:671
08/09/25 21:41:00 nS8BIz8Q
>>672-673
レス有難うございます。

bmpPixcelFunc(bmpData); を試しましたが、駄目でした。
あと、「bmdを渡す」とはどういう意味でしょうか?


676:Now_loading...774KB
08/09/25 21:53:24 iRc54cLX
>>674
逆に考える。
増加するMCのフレームアクションに、追跡するMCに当たったら変化を生じるようにする。
つまり、100匹のネズミを追う猫の場合、ネズミMCをダブルクリックして上のようなASを書く。


677:Now_loading...774KB
08/09/25 22:21:43 qvFstGVn
>>676
有り難う御座います!そうですね…気づきませんでした。なんという馬鹿…。
とりあえず試してみます!

678:Now_loading...774KB
08/09/26 15:28:26 THIGXRlX
as3です
Loaderオブジェクトで外部からサムネイル画像を100枚ぐらい読み込むとします。

そのために、forループ文で、
・Loaderオブジェクトを梱包するスプライト(Wrapper)
と、
・写真を読み込むLoaderオブジェクトそのもの
を作り、100枚の写真がずらりと横に並ぶまではうまくいきました。
※一つのスプライトの中に一つのLoaderオブジェクト(写真)が入っているということです

ですが、traceで、Loaderオブジェクトの横幅を調べると、
ゼロになっています。

さらにLoaderオブジェクトを梱包するスプライトの横幅も、
traceするとゼロになっています。

Loaderオブジェクトの横幅は読み込んだ写真の横幅に関係なく、ゼロになるんでしょうか?

スプライトのWrapperのwidthを仮に100pxとすると、
写真がすべて見えなくなってしまいました。
横幅はどうやって設定したらいいでしょうか。


679:Now_loading...774KB
08/09/26 16:36:50 F8YDLd+O
いや普通に読み込んでからwidthでいいだろ
Spriteでラップする意味もわからん

var l:Loader = addChild(new Loader()) as Loader
l.contentLoaderInfo.addEventListener(Event.COMPLETE,function(){trace(l.width)})
l.load(new URLRequest("hoge.jpg"))

680:Now_loading...774KB
08/09/26 23:04:59 eDty70e3
sendAndLoadのことで現在悩んでおります。お助け下さい。

name1というテキスト入力とresultというダイナミックテキストがあり、ボタンに次のようなスクリプトを書きました。

on (release) {
System.useCodepage = true;
var send_lv:LoadVars = new LoadVars();
var load_lv:LoadVars = new LoadVars();
send_lv.name1 = name1.text;
load_lv.onLoad = function(success) {
if(success==true){
result.text=this.name2;
}else{
result.text="通信失敗";
}
};
send_lv.sendAndLoad("PHP絶対パス", load_lv, "POST");
}

そして、PHPは次のようにしました。

<?php
print('name2='.$_POST['name1']);
?>

このswfを直接動かしても、HTMLの中に埋め込んでもうまく動作しますが、そのHTMLファイルをホームページにアップすると
「通信失敗」となってしまいます。
この原因がわかりません。どなたかお知恵をお貸し下さい。

681:Now_loading...774KB
08/09/27 00:43:44 EZpr8eQE
"PHP絶対パス"って何を指定してるの

682:680
08/09/27 00:50:32 FzKvB/W5
眠れないので、一応開いてみたら、レスがあったのでびっくりしました。
ありがとうございます。

PHP絶対パスとは、URLリンク(cgi.movie.geocities.jp)というような
PHPファイルのホームページ上の絶対パスです。



683:Now_loading...774KB
08/09/27 01:07:31 6SdSMo/P
>>682
crossdomain.xmlはあるの?

684:680
08/09/27 07:53:36 FzKvB/W5
>>683さん、「crossdomain.xml」というのは初めて聞きました。

私は、URLリンク(www.1art.jp)を参考に勉強しているのですが、FLASHからPHPにデータを送ったり、
データを保存したり、データを読み込んだりすることは問題なかったのですが、このsendAndLoadが
どうしてもうまくいかないのです。

crossdomain.xmlはおそらく無いと思いますが、今から調べてみたいと思います。
ありがとうございました。

685:Now_loading...774KB
08/09/27 08:00:27 Vaav7MB0
Airでキーロガーみたいなのって作れますか?
アプリケーションのウィンドウがアクティブじゃなくても
キー取得できるみたいなのです。

686:Now_loading...774KB
08/09/27 08:40:57 6u5xdhJN
できない。
一時期それでユーザー名とパスワード抜き取るクラックが流行って、
できないように修正された。

687:Now_loading...774KB
08/09/27 09:56:11 +pZF67nb
ランタイム共有用に書き出しの際に入力する URL って
どんな意味があるの?

読み込む側が必要なのは判るんだけど…

688:Now_loading...774KB
08/09/27 11:34:04 DkWrR+XD
Away3Dなどのライブラリを試そうと思って、サンプルを漁っていたのですが
ほとんどがflaファイルで提供されていました。
フリーでflaファイルを扱えるソフトはないのでしょうか?

開発にはflexSDKとエディタのみでちまちま作るつもりなので、サンプルの中味さえ見れればいいんですが

689:Now_loading...774KB
08/09/27 11:52:50 0ok+QN84
super()でスーパークラスのコンストラクタの引数をサブクラスのコンストラクタ引数で書き換える方法はやった事があるのですが
スーパークラス内のメゾットの引数をサブクラスから書き換えるという事はできるのでしょうか?

スーパークラス側で
protected function goMove(x:Number, y:Number, w:Number, h:Number):void {
このx,y,w,hをサブクラス側で指定するという事は可能なのでしょうか

actionscript3です、よろしくお願いします

690:680
08/09/27 12:27:21 rd6K8L3s
crossdomain.xmlを試してみましたが、どうもうまくいきません。

そもそも、swfとPHPは同じフォルダにアップされているので、crossdomain.xmlは要らないのでは?

>>682に書いたことには少し誤りがあって、PHPファイルの絶対パスはURLリンク(movie.geocities.jp)なのですが、
Yahooジオプラスでは、cgiをリクエストする際にURLリンク(cgi.movie.geocities.jp)とcgiを付ける必要があるのです。
こういう場合でも、crossdomain.xmlが必要なのでしょうか?

691:Now_loading...774KB
08/09/27 17:14:03 Kr6MFw+j
>>689
super.goMove(1,2,3,4);

692:Now_loading...774KB
08/09/27 21:31:24 s4wheZgr
>>690
ホスト名がぴったり一致しない限り必要だよ。
IPアドレスなんかが同じだったとしても。

693:689
08/09/27 23:09:13 dT4DedqN
>>691
super.メゾットで試した所値を渡す事ができました
ありがとうございました!

694:690
08/09/28 04:37:36 Y0qa1f5w
>>692さん、ありがとうございます。
もう一度やってみます。

695:Now_loading...774KB
08/09/28 10:05:04 2gqkkW7m
WinXP-ProでFlash8-Pro(AS2.0)を使っています。

ヘルプを参照し、Matrixクラスを使ってMCを歪ませたいのですが、うまく出来ません。

下のASでは、root上にあるmc1というMCを、ボタンで関数disorting()を呼び出すことに
よって、元の正方形の上辺を移動させて(スライドさせて)ひし形を作ることを目的に書
きました。(MCの基準点は左下の角です) 

import flash.geom.Matrix;
//
Tx = this.mc1._x;
Tx = this.mc1._y; //位置はそのまま
//
function disorting() {
var skX = 1; //仮に1を入れています
var skY = 1;
//
var myMatrix:Matrix = new Matrix(0, skY, skX, 0, Tx, Ty);
//
_root.mc1.transform.matrix = myMatrix;
//
}

skXの値を色々変えましたが、MCが回転してしまいます。
どうしたら良いでしょうか?

696:Now_loading...774KB
08/09/29 10:52:37 aC09E/Gj
CS3 AC2.0を使っています。
先頭のMCを頭にして、後ろに小さいMCがしっぽのように付いてくるようにしたいです。
配列に記憶した先頭MCのx,y座標に移動してくるようにはできたのですが、
思っていたような動きになりませんでした。
こちらのFlashにある、マウスを追尾する生物のような動きにしたいです。
URLリンク(intihuatani.usc.edu)
どうすれば良いでしょうか、お願いします。


697:Now_loading...774KB
08/09/29 11:57:32 ejpryKDp
>>695
URLリンク(www.fumiononaka.com)

698:Now_loading...774KB
08/09/29 19:31:41 DstKV62m
SEFファイルからサーバにデータを送る方法を探してます。SWFで書き込んでファイルとしてサーバに飛ばしたいのですが、
(その逆も)わかる人いたら教えてください。

699:695
08/09/29 19:40:01 szGcbCaQ
>>697
Thx。出来ました(座標値変数の間違いを併せて修正)。

紹介のサイトの行列要素はFlash8のヘルプの並びと違っていますね。
(b⇔c)
そのせいか、歪の方向がXYで入れ替わっています。


700:Now_loading...774KB
08/09/30 00:04:02 JnRCOEdp
インポート文でワイルドカード使わずに個々にインポートする事が推奨される理由って、
厳格さ的な意味合いでですか?

import flash.events.*;
ってした方が楽ですし、FlashDevelopなんかではコード補完も効いて使いやすいんですが、
こういう指定(使わないものも読み込む)すると何かデメリットありますか?


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