
何度もすみません。今度は変数の受け渡しの質問なのですが
動的に配置したボタン(ムービークリップへの埋め込み)を押したときに、PHPに変数を送りたいです。
参考にしているソースだと
function test(id, namae, title, comment, oya_x, oya_y, x, y, midoku, writer, user_id)
{
this.id = id;
this.namae = namae;
this.title = title;
this.comment = comment;
this.oya_x = oya_x;
this.oya_y = oya_y;
this.x = x;
this.y = y;
this.midoku = midoku;
this.writer = writer;
this.user_id = user_id;
}
bbs_data = new Array();
<<中略>>
for(i = 0 ; i < len ; i++)
{
bbs_data[i] = new test(get_data[0 + i*11], get_data[1 + i*11], get_data[2 + i*11], get_data[3 + i*11], get_data[4 + i * 11], get_data[5 + i*11], get_data[6 + i*11], get_data[7 + i*11], get_data[8 + i*11], get_data[9 + i*11], get_data[10 + i*11]);
x = get_data[6+i*11] * 1;
<<中略>>
this.attachMovie("star_sq_bl",theName, i, {id:bbs_data[i].id, namae:bbs_data[i].namae, title:bbs_data[i].title, comment : bbs_data[i].comment, midoku:bbs_data[i].midoku, user_id:bbs_data[i].user_id});
で動いているそうです。
それを参考にためしで
function go(atai)
{
this.atai = atai;
}
ddgo = new Array();
for(d = 0; d < 6; d++)
{
ddgo[d] = new go( d );
}
<<中略>>
this.attachMovietable,to,indent,atai:table.atai} );
としてみたのですがうまくいきません。
ボタンには
this.getURL("http://spike.hit.dj.kit.ac.jp/~morioka/System/te … "Post");
が入っています。どこが悪いのでしょうか
No.3ベストアンサー
- 回答日時:
様々な要因が複雑に絡み合っているので、
一度設計を見直すのが宜しいと思います。
恐らく、各機能を抽象的な部品化するのが問題をとく鍵かと。
個々のスレッドオブジェクト(以下objS)情報は、
ダイナミックテキスト(以下D_TXT)にでも保持してもらい
objSのプロパティ値を取得すれば、同一タイムライン上なら
変数のスコープに悩まされる事はないかと思います。
objSの座標移動は
_x,_y等のプロパティ値を変化させるだけ!の関数を用意し
onEnterFrame内で関数にobjSのインスタンス名を渡すなど。
とにかく、objS複製と座標移動は別々に関数化しておく。
PHPに送りたい情報群を格納する入れ物(以下objNow、値は空)を用意し
onSetFocusで現在フォーカスがあたっているobjS内のD_TXTから、
情報群をobjNowに格納してあげる。
(onSetFocusではなくhitTestでもよいかも)
フォーカスがあたっているobjSがonPressされたら、
objNowから情報群を取得し、
LoadVars(必須)のインスタンスに格納し、
sendなり、sendAndLoadしてあげる。
多分、スレ番号を送ったら、PHPでDBやTEXTから情報を取得し
Flashに返してあげると思うので、やっぱりsendAndLoadかな。
onPressというイベントハンドラがForループに入っている
のが最も違和感を感じます。
No.2
- 回答日時:
/********************************
getURLではブラウザが開きますが、良いのでしょうか?
sendAndLoadで送・受信しては?
(ごみがあるのでまだ未完成)
PHP側
#をセパレータに使わない方法も検討されては?
if($_POST['isRequest']=="myswf"){
$sNum="1#2#3#4#5#6#7";
$sID="1#2#3#4#10#11#12";
$sMother="1#1#1#4#4#10";
print(urlencode($sNum."&".$sID."&".$sMother));
}
実行結果
1#2#3&1#2#3&1#1#1
となり、これをFlash側で
tableNo[0]=1
tableNo[1]=2
tableNo[2]=3
とする
********************************/
urlPHP = "http://example.com/test.php";
function setArr(sVarName, aParam, sSeparator) {
set(sVarName, aParam.split(sSeparator));
}
var lv = new LoadVars();
// このSWFからのリクエストである事をPHPに知らせる
lv.isRequest = "myswf";
// onDataで変数名=値形式以外でも取得できる
lv.onData = function(data) {
if (data.length > 0) {
buf = unescape(data).split('&');
setArr("tableNo", buf[0], "#");
setArr("tableID", buf[1], "#");
setArr("motherID", buf[2], "#");
trace("OK");
} else {
trace("でーたなし");
}
};
// デフォルトでPOSTとして送受信
lv.sendAndLoad(urlPHP, lv);
/*******************************
この取得した値で、ボタンを複製する部分は省略
その複数あるボタンでどんな変数をPHPに送るのか不明
ですが、sendAndLoadがわかれば問題なし?
*******************************/
_root.oya_mc.ko1_btn.onPress = function() {
// ここに上記のような送受信するコードを記述
//lv.resendVar="でーた";
// 等々・・・・
};
this.stop();
この回答への補足
何度もすみません、もう少し補足させてもらいます。作っているのは動的にスレッドオブジェクト(ボタンといっていたものです)の場所を動かす掲示板です。スレッドはテーマ別に分かれており、テーマを選ぶとそのテーマに関するスレッドが、その中身の情報(参加人数や発言数、スレッド番号など)によって動的に配置されます。
そのスレッドオブジェクトをクリックすることで、別のフレームにそのスレッドの情報を送り、中身を表示させるようにしたいのです。
教えていただいた方法ではうまくいかなかったので、別の方法でやってみたところ、値は遅れたのですがForループでまあしているために最後の値しか遅れません。スレッドごとのスレッド番号を送るにはどうすればいいでしょうか?
現在のソース
this.tablemc();
function tablemc(){
MatherX = new Array();
MatherY = new Array();
for(t = 0; t <= Tables; t++){
var depth = t;//this.getNextHighestDepth();
var x = 60 * Children[t];
MatherX[TableID[t]] = x;
var y = 60 * Indent[t];
MatherY[TableID[t]] = y;
var props = {_x:x, _y:y};
//var Line[] = props;
this.moveTo( MatherX[MotherID[t]] ,MatherY[MotherID[t]])
this.lineTo(x,y);
var mcname = "Tobj" + depth;
var table ="Tobj" + TableVoice[t] + TableJoin[t];//TableNo + TableNo;
this.attachMovie(table,mcname, depth);
test.atai = mcname;
this[mcname]._x = x;
this[mcname]._y = y;
trace("table="+table);
trace("mcname="+mcname);
trace("depth="+Indent[t]);
trace("props="+table_data[t]);
//trace("voice"=TableVoice);
this.onPress = function(){
trace("movie")
test.send("http://spike.hit.dj.kit.ac.jp/~morioka/System/te … "Post");
}
}
}
No.1
- 回答日時:
とりあえず、参考にされているソースは忘れて。
Flash側にどのような項目がいくつあり、
PHP側でどんな変数名で受け取りたいのか示してください。
ところで、traceにてボタンクリックされている事を
確認できてますか?
Flashのバージョンは?
ということで、補足要求。
この回答への補足
説明不足ですみません
Flashは8を使っています
ボタンのクリックは確認できており
var atai = 1;
this.getURL("http://spike.hit.dj.kit.ac.jp/~morioka/System/te … "GET");
ではPHPで値が受け取れていることを確認できました。
今は試している状態なので、PHP側には[atai]という変数で受け取っています。
実際には
TableNo = tableNo.split("#");
TableID = tableID.split("#");
Children = children.split("#");
でPHPからとった値(中身は)
tableNo=1#2#3#4#5#6#7&tableID=1#2#3#4#10#11#12&motherID=#1#1#1#4#4#10
をforループで書くムービークリップに入れてもう一度それをクリックすることでPHPに返したいと思っています。
つたない説明ですみません。よろしくお願いします・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- その他(SNS・コミュニケーションサービス) 自分のpcがハッキングされたようなメールが来たのですがどうすればいいですか? 4 2022/10/02 16:14
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- JavaScript WordPressのコンタクトフォーム7にて送信者の位置情報を送らせたい 2 2022/09/14 23:28
- JavaScript 【jquery】EasyUIのSubGridにMySQLのテーブルデータを表示&編集にしたい 5 2022/05/02 13:10
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- 英語 all of this と get it all doneのallの役割がわかりません。 ① all 3 2023/08/06 17:01
- その他(プログラミング・Web制作) python fbprophetについて 1 2022/09/29 19:44
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スライドプレゼンテーション機...
-
かなり困っています。FlashMXに...
-
FLASH ボタンフォーカスインし...
-
getURLでURLが表示されません・...
-
1つのボタンで外部ファイルを...
-
ボタンのカウント数でムービー...
-
ボタンでウィンドウを閉じたい
-
ボタンクリックでダイナミック...
-
FLASH 8 でのボタン作成
-
2つのムービークリップをスク...
-
ボタンのアニメーション
-
「”ニコスクリプト”、”ニワン語...
-
ボタンをクリックしたらボタン...
-
ムービークリップ内のムービー...
-
ボタンから一つ上の階層のムー...
-
MCの中のダイナミックテキスト...
-
特定のムービークリップの上で...
-
_widthから数値を導き出したい
-
Flashにサイトを表示させたい
-
文字列の分解・格納
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スクリプトはどこに書く?MCと...
-
スクロールメニュー
-
ムービークリップボタンの連動?
-
ボタンの上に重なっているMCを...
-
arduino プログラムについて
-
PHPでボタンをクリックすると変...
-
×ボタンを無効化したいのですが...
-
flash 計算機について
-
フラッシュ中に表示されるスク...
-
PDF
-
前月表示ですけど
-
adobe frash CS5.5について
-
buttonModeでボタン化したもの...
-
ループで使用している変数をう...
-
flashでボタンを押したら違うサ...
-
ボタンと連動したフェードイン...
-
ボタンの無効化
-
的当てゲーム
-
ボタンの重ね順について
-
Flash ActionScript3でHPを作成...
おすすめ情報