08/10/18 12:27:08 /detIIrw
数値じゃない状態で入ってたんだろ。普通に考えて。
外部からデータ読み込んで、ちゃんとキャストしないまま配列に突っ込んだとかじゃねーの?
856:Now_loading...774KB
08/10/18 13:59:29 dvawCTvx
加算演算子は文字+数値の場合には文字にキャストされるでしょ
つまりA[0][0]の値によって変わる
-演算子は数値にしか使われないので自動的に数値としてキャストされる
あとvarは予約語なので使ってはいけない
857:847
08/10/18 14:45:31 taHr2dU+
>>855-856
はうあ。外部データを文字と読んでたみたいです・・・
というか外部データーって書くべきでしたね。反省
読み込みの時にNumberを挟んだら無事数値として認識してくれました!
直前では数値を認識していたのでまさかでした・・・orz
型がゆるいのもまた問題かな。。。
varは書き込みミスですね^^; すみません
解答ありがとうございました!
858:Now_loading,..774KB
08/10/18 16:32:57 IFG6QdA5
すみません、以前と似たような質問になるのですが…
ペイントツールを作ったのですが、それを外部ファイルに静止画データとして
保存する方法がわかりません。どなたか詳しい方が居たら教えてください。
~を使えばいいかも、とか~のサイトが参考になる、といった情報でも何でもいいです。
返信待ってます。。。
859:858
08/10/18 16:52:13 IFG6QdA5
ちなみに、以下がソースです。
//-- 空ムービークリップの生成
this.createEmptyMovieClip("view_mc", 1);
//--ムービークリップに絵を描く
//--線の設定
view_mc.lineStyle(3, 0x000000, 100);
//--描画用のフラグをfalse
view_mc.drawFlag = false;
view_mc.onMouseDown = function() {
//--マウスが押されたらフラグをtrueにして始点を設定
this.drawFlag=true;
this.moveTo(this._xmouse,this._ymouse);
};
view_mc.onMouseMove = function() {
//--描画用のフラグがtrueなら線の続きを書く
if (this.drawFlag == true){
this.lineTo(this._xmouse, this._ymouse);
}
};
view_mc.onMouseUp = function() {
//--描画用フラグをFalse
this.drawFlag = false;
};
これに保存機能を付けたいのですが。。。
860:Now_loading...774KB
08/10/18 20:27:13 WQ4JwyBV
>>853
仕様で決まっていることは覆せんのですよ。
設計から関わりたかった…
861:Now_loading...774KB
08/10/18 20:50:08 eyRl/r/f
>>860
ランタイム内の時間計算の途中でオーバーフローしてたら
対策しようがないしAdobeに問い合わせたほうがよさげ。
業務ならインシデントつかえるでしょう?
862:Now_loading...774KB
08/10/18 23:23:24 +ZXaVvtP
よくわからんけど、たまにTimerをresetしてみるとかはダメなん?
863:Now_loading...774KB
08/10/19 02:34:09 KATs3Tjv
急かしてすみません、どなたか>>845がわかる方いませんか?
ゲームを作りたいのにキャラがなめらかに動いてくれないし、斜め移動もできないんです。
isDownはAS3で廃止されちゃったみたいですし…
864:Now_loading...774KB
08/10/19 10:57:54 rpe86YVs
>>863
flash持ってないんで試しては無いです。参考程度にどうぞ。
this.stage.addEventListener(KeyboardEvent.KEY_DOWN,onKeyDown);
this.stage.addEventListener(KeyboardEvent.KEY_UP,onKeyUp);
var key:uint;
function onKeyDown(event:KeyboardEvent):void {
key = Keyboard.LEFT :
addEventListner( Event.ENTER_FRAME, moveSama );
}
function moveSama(event:Event):void {
switch ( key ) {
case Keyboard.LEFT :
Sama.x -= 4;
}
}
function onKeyUp( event:KeyvoardEvent):void{
removeEventListner( Event.ENTER_FRANE, moveSama );
}
865:Now_loading...774KB
08/10/19 11:02:17 rpe86YVs
いやん、スペルミス発見。すみません。
function onKeyUp( event:KeyvoardEvent):void{
~~~~~~~~
keyvoard -> keyboard
866:Now_loading,..774KB
08/10/19 20:35:00 VfO7m91y
どなたか>>858の問題を解決できそうな人居ないですか・・・?
マジで困ってます。助けてください。
867:Now_loading...774KB
08/10/19 20:42:01 U6YzU/ET
>>866
Flash単体で保存することはできないので、php等にデータ渡してそっちで保存する。
868:Now_loading,..774KB
08/10/19 20:59:53 VfO7m91y
サーバにデータを渡す必要があるのはわかってます。その保存の為に、flashで書いた絵を一度pngに
変換する方法、もしくは座標データとして値を送る方法がわからないのです・・・何かご存じないですか?
869:Now_loading...774KB
08/10/19 21:57:06 U6YzU/ET
>>868
URLリンク(www.pixelimage.jp)
870:Now_loading...774KB
08/10/19 22:48:31 cWB9H25D
AS3の質問です。
progression frameworkはとてもいいんだけど、重い。
パブリッシュも遅いし、asも多くてなんか壮大。
フルフラッシュサイトでページを移動したりする仕組みは
いろいろ考えられるけど、みなさんどうされてますか?
シンプルで軽いページ遷移フレームワークってないですか?
871:Now_loading...774KB
08/10/20 13:16:18 EQKgS0vH
AS3で外部からswfに変数渡すのってどうやるんでしたっけ?
どっかで見たような気もするんですけど見つからなくて・・・
javascriptの変数に突っ込んで、それを返す関数を
ExternalInterfaceで呼ぶって言うのは思いついたんですけど
もっと簡単に出来ますよね?
渡したい変数が数値一個だけなので
swfがら別リクエストで取ってくるんじゃなくて、一発で渡したいんですけど。
お願いします!
872:Now_loading...774KB
08/10/20 14:05:50 6hmRAMgb
swf読み込み時のみでいいならFlashVars使うかhoge.swf?key=valueとでもして
var vars:Object = loaderInfo.parameters;
for (var key:String in vars) {
// key, vars[key]で取得
}
873:871
08/10/20 15:25:47 EQKgS0vH
>>872
ありがとうございます
loaderInfo.parameters
うまく出来ました。
874:Now_loading...774KB
08/10/20 15:47:30 JZ6dE4dy
as3です。
ドキュメントクラスで設定したpublic varの変数に、
リンケージされたmcのフレームアクションから
アクセスするにはどうすればいいですか。
----------ドキュメントクラス-------------
public var _hoge:String = "hogehoge";
----------mcのフレームアクション---------
trace(MovieClip(root)._hoge);
とすると、パブリッシュはできても、
TypeError: Error #1034: 強制型変換に失敗しました。
flash.display::Stage@24d5df99 を flash.display.MovieClip に変換できません。
となってしまいます。
どうすればいいでしょうか?
875:Now_loading...774KB
08/10/20 19:02:02 eAnGTrdb
AS3の質問です
ゲイナーと加速度センサーを使ってアクションスクリプトで
表示させようとしています。
ムービープレビューで加速度センサーの値はできるようになったのですが
出力画面にreturnstring:[文字列]とずっと出てきてしまい止まりません
何もしていないとフリーズしてしまいます
出力画面のreturnstringだけを止まる方法はありませんか?
876:Now_loading...774KB
08/10/20 21:23:49 Vfa5GADU
AS3
配列を
var a:Array=new Array();
と定義したとします。
a.push(1);
a.push(2);
a.push(3);
これでa[0]だけメモリ解放出来たりしますか?
877:Now_loading...774KB
08/10/20 22:15:25 7tabBMja
>>875
何を言ってるのかまったく意味不明だけど、
出力されてるってことはどこかでtraceしてるんじゃないの?
878:Now_loading...774KB
08/10/20 23:44:38 +gY1mBrg
あるMCに、あるMCが少しでも重なった(触れた)かどうかを
検知したいのですが、そういうリスナー登録というのは
可能ですか?
一つのMCは常に同じ場所で待機していて、
もう一つのMCは動き回っていて、時々、
その待機しているMCの一部の上を通り過ぎます。
そのときだけ、いま上を通り過ぎましたよって
反応したいのです。
as3です
879:Now_loading...774KB
08/10/20 23:54:34 9tKbZnvY
>>864
ありがとうございます!参考にさせていただきます!
しばらくはこれ見ながら自分でがんばってみます
880:Now_loading...774KB
08/10/21 10:10:52 p4wdKNMj
>>876
メモリの解放は難しいような・・・。
そもそもガベージコレクション次第では?
a[0]を削除したいだけならa.shift()か、splice(0,1)
※splice(startIndex:int, deleteCount:uint, ... values):Array
881:Now_loading...774KB
08/10/21 10:20:39 tJNPdNSg
とあるフラッシュのClassのサンプルファイルです。
概要は外部のjpg画像を読み込み、コンストラクタのMCにその読み込んだjpg画像を取り込むといった感じです。
まずはソースを記述します。
class FileLoad {
var MC:MovieClip;
var mcLoader:MovieClipLoader;
function FileLoad() {
MC = _root.createEmptyMovieClip("Photo", 1);
}
function Load():Void {
mcLoader = new MovieClipLoader();
var url = "●●.jpg";
var obj:Object = mclObj();
mcLoader.addListener(obj);
mcLoader.loadClip(url, MC);
}
function mclObj():Object {
var mcl = new Object();
mcl.onLoadInit = function(target:MovieClip) {
};
return mcl;
}
}
ここで質問なんですが、
最後の 『mclObj』 メソッド内で記述している、『mcl.onLoadInit = function(target:MovieClip)』 部分の
『target』なんですが、traceしてみると上記ソースでいうところのMCがトレースされます。
なぜここの『target』に『MC』が引数で受け取れるのか、いまいち分かりません。
一体どこのタイミングで『target』部分に『MC』が引数で入り込んでいるのでしょうか?
どなたかご教授お願い致します。m(__)m
882:Now_loading...774KB
08/10/21 11:20:59 Qj6DW/0U
>>878
簡単にならAS3でもhitTest使えばいんじゃね
DisplayObjectのメソッドだし
>>881
AS2だと微妙だが、発行したイベント(メッセージ)が保持してる参照が取得されるんじゃね
883:858
08/10/21 11:24:27 XseoKwdD
回答ありがとうございました。ソースの質問になるのですが、
//-- 空ムービークリップの生成
this.createEmptyMovieClip("view_mc", 1);
//--ムービークリップに絵を描く
//--線の設定
view_mc.lineStyle(3, 0x000000, 100);
//--描画用のフラグをfalse
view_mc.drawFlag = false;
view_mc.onMouseDown = function() {
//--マウスが押されたらフラグをtrueにして始点を設定
this.drawFlag=true;
this.moveTo(this._xmouse,this._ymouse);
};
view_mc.onMouseMove = function() {
//--描画用のフラグがtrueなら線の続きを書く
if (this.drawFlag == true){
this.lineTo(this._xmouse, this._ymouse);
}
};
view_mc.onMouseUp = function() {
//--描画用フラグをFalse
this.drawFlag = false;
};
以上は同じソースです。
このソースで、描画データの変数はどれになるのでしょうか?また、それを変数に入れて、サーバに保存し、
再び呼び出せば同じ絵が出てくるのでしょうか?
884:Now_loading...774KB
08/10/21 13:01:35 1YwA0gRr
>>883
結論から言うと、保存できない。
その描画方法で描画データを保存したい場合には、2つの方法があるけど、どっちも結構面倒だよ。特にAS2.0では。
1:描画時のマウスの移動座標を連結リストにでも保持しておいて、そのデータを自分でテキスト等に起こし、保存
2:MCのデータをjpegやpng画像に変換し、それを保存
2に関しては、前も書いたし、提示してくれてるサンプルにもあるとおり、変換用のライブラリが必要。
AS2.0だと、もう見つからないかもね。今は皆AS3.0のadobe製のライブラリ使ってるから。
一番簡単な解決方法は、AS3.0で作れば?ってことなんだよねこれが。
最近になってFlash手描き系のサービスが増えてきたのは、そのライブラリが配布された事が大きいのよ。
885:883
08/10/21 13:35:40 XseoKwdD
あ、使ってるのはAS3です;
886:Now_loading...774KB
08/10/21 14:06:29 1YwA0gRr
AS3なら>>869のリンク先にサンプルあるじゃんw
なんだそれw
887:Now_loading...774KB
08/10/21 14:07:51 TDhTN/zB
stage.focus = textField;
としてtextFieldにフォーカスを当てた後
if(stage.focus == textField)
のように条件文を書いてもif文が実行されません。
書き方がおかしいでしょうか?
888:Now_loading...774KB
08/10/21 14:11:14 XseoKwdD
>>886
見たけどあんまり良く解らなかったんですよね・・・取りあえず、試して見ます。
ありがとうございました~
889:Now_loading...774KB
08/10/21 14:30:11 Qj6DW/0U
>>887
if文が実行されませんってなんだよw
trace入れるなりして問題点を絞り込むぐらい汁
890:887
08/10/21 15:15:50 TDhTN/zB
あるアクションで
if(stage.focus != textField){
stage.focus = textField;
}else if(stage.focus == textField){
stage.focus = stage;
}
この処理を実行するとstageにフォーカスがあたっているときは
textFieldにフォーカスされるのですが、
textFieldにフォーカスされているときもif(stage.focus != textField)
こちらの処理がされてしまうということです。
891:Now_loading...774KB
08/10/21 15:27:15 Qj6DW/0U
あるアクションでフォーカス変わってるとか
そのif文だとtextField以外にフォーカスがあるときには必ず上の処理だね
traceして確認しろと何度(ry
892:887
08/10/21 15:44:05 TDhTN/zB
function checkKey(event:KeyboardEvent){
if(stage.focus != textField){
stage.focus = textField;
}else if(stage.focus == textField){
stage.focus = stage;
}
}
このように書いていて、キーが押されるとフォーカスがstageとtextFieldで
交互に切り替わるように書きたいんですが。
traceはもちろんしていて上の処理しか実行されないで困っています
893:Now_loading...774KB
08/10/21 15:51:47 Qj6DW/0U
どういうtraceしたのw
まずはif文の前でstage.focusとtextFieldをtraceするんだぞ
894:Now_loading...774KB
08/10/21 16:36:47 gJPnAObS
>>892
ヘルプに出てるようなことを自分で調べないってどういうこと?
検索しにくいのは確かだけどさ
895:887
08/10/21 16:49:11 TDhTN/zB
今日はじめてActionScriptを触って何を調べれば解決できるかも
わからないレベルでしたので、解決はおいておいて勉強します。
893アドバイスありがとうございました。
896:Now_loading...774KB
08/10/21 17:18:29 ALjd7S5P
なんでtrace結果を書くのをいやがってるんだ?
897:Now_loading...774KB
08/10/22 00:39:45 0Amo7WuQ
flex3+as3で自作コンポ―ネントを作ってます。
で、mxmlで記述する際に
<自作:コンテナ>
<自作:ヘッダ>
<mxとか:コントロール1 />
</自作:ヘッダ>
<mxとか:コントロール2 />
</自作:コンテナ>
みたいな記述ができる感じで作ってますが、
現状、DefaultPropertyをArray型にして、
ヘッダ,コントロールをまとめて受取り、commitPropertiesで個別のメンバに振り分けてます。
これを最初から個別に受け取るように記述したいです。
可能であれば、サンプルのある場所なぞ教えてください。
898:Now_loading...774KB
08/10/22 21:18:51 ga1um3+m
AS3
flex2
FlashDevelop
木構造で、ひたすらノード増やしてるのですが、
プログラム実行時にメモリオーバーしたらエラーって出ますかね?
899:Now_loading...774KB
08/10/22 21:58:55 erucnat3
URLリンク(web.alvas.jp)
上記のようなコンボボックス付きのFlashでの
アンケートフォームが作りたいんですが、
サンプルみたいなものが、どこかサイトにアップされてないでしょうか?
もしくはヒントになるようなものを教えて頂けないでしょうか?
900:Now_loading...774KB
08/10/22 22:34:59 6lpgwkG7
>>898
ひたすら増やしてテストすればいいじゃない
901:Now_loading...774KB
08/10/23 00:32:12 rGn+Ut0l
>>899
まんまFlexやん
FlexSDK落としてComponent Explorer見てみれ