XMLに記述されているサムネイル画像(複数)を帯状に横に等間隔に並べたいのです。
XMLは各ノードに画像名とサイズが属性として記述されており、
画像サイズは横幅は同じですが、高さがそれぞれ異なるので、単純に箱に入れるわけにはいかないようです。
そこで、
1.伸縮可能な箱を用意する。
2.XMLから、属性[高さ]を取得し、1の伸縮可能な箱に設定
3.2つめからは、箱のy座標を、足していく。
4.これを繰り返す。
5.指定の場所まで行ったら、改行する。
4までは以前の質問項目を参考にうまく行ったのですが、
5.「指定の場所まで行ったら、毎回改行する。」
というのが、うまくいきません。
誰かご指南いただけないでしょうか?
Flashはcs3です。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
何か難しいことをしているように見えます。
シンプルに考えましょう。
//貼り付けたい写真の総数
picNum = ???;//xmlから取り出す
//初期座標(最初の左上の座標)
X_INIT = ???;//好きな位置に決める
Y_INIT = ???;//好きな位置に決める
//写真をおける領域の幅と高さ
SCREEN_WIDTH = ???;//好きに決める
//写真と写真の横の間隔
sh = 30;
//現在の座標
px = X_INIT;
py = Y_INIT;
for(i = 0 ; i < picNum ; i++){
// 空のムービークリップ p_mc0~ノード数 を作成
pic = _root.createEmptyMovieClip("p_mc"+i,i);
//picに写真を突っ込む
//写真の位置を決める
pic._x = px;
pic._y = py;
//写真の幅
picWidth = ???;//xmlから取り出す
//----現在位置の更新処理
//現在のx座標に、今取り出した画像の幅と間隔分足す
x += picWidth + sh;
//表示領域の幅を上回っていたら一段下ろす
if(x > X_INIT + SCREEN_WIDTH){
x = X_INIT;//x座標は初期位置
y = ???;//写真の高さ
}
//----------------------
//次の写真へ~
}
No.1
- 回答日時:
箱のheightを加算して、指定したyを超えたら改行する。
左上から右下に向かって縦に並べていく感じでしょうか。
現在列のy座標 = 最新の画像のy座標 + 最新の画像のheight
if(現在列のy座標 > 指定した座標y){
現在列のy座標 = 0;
列番号++;
}
それぞれの画像のx座標は
列番号 * (画像幅 + 列間幅)
この回答への補足
早速の回答、ありがとうございます!
すみません、少し質問を間違えていました。
「箱のwidthを加算して、指定したx座標を超えたら改行する」でした。
さっそく、参考にしながら進めているのですが、
一度だけ改行され、次に指定の座標までいっても改行されません。
参考までに現在進めているスクリプトをのせておきますので、ご参考にして下さい。
px = 100;
py = 100;
// 写真と写真の間の隙間 sh のサイズを設定
sh = 30;
// i=0→ノード数未満 で i に 1 を加算しながらループ
for (i=1; i<n_len; i++) {
if (i == 1) {
// i が 0 のとき写真の高さを 0 とする
ph = 0;
} else {
// i が 1以上 で 写真の高さに h属性数 を加算
ph += Number(this.firstChild.childNodes[i-0].attributes.h);
}
// nm 属性の取得
pnm = this.firstChild.childNodes[i].attributes.nm;
// 空のムービークリップ p_mc0~ノード数 を作成
_root.createEmptyMovieClip("p_mc"+i,i);
// p_mc0~ノード数 の x 座標を指定
_root["p_mc"+i]._x = px+sh*i+ph;
// p_mc0~ノード数 の y 座標を指定
_root["p_mc"+i]._y = py;
if(_root["p_mc"+i]._x > 1000) {
_root["p_mc"+i]._x = -960+(px+sh*i+ph);
_root["p_mc"+i]._y += py+sh;
}
いかがでしょう?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- AJAX 自作の地図をグーグルマップのようにしたい 3 2022/11/15 11:53
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- YouTube ユーチューブへの動画投稿にサムネイルを付ける方法は? 1 2022/07/21 23:45
- その他(Microsoft Office) 複数の写真を1枚に印刷 5 2023/05/05 22:41
- 引越し・部屋探し 【冷蔵庫搬入の幅について】 引っ越しをします。 冷蔵庫をかおうと思っています。 急ぎです。 価格は安 2 2023/06/15 19:12
- その他(プログラミング・Web制作) プログラミング pythonの問題について 2 2022/04/19 00:41
- HTML・CSS 疑似要素で背景画像に指定したSVG画像の色変更 2 2023/01/30 22:45
- ホームページ作成・プログラミング CGIが実行可能なHP領域又はレンタルサーバーでおすすめの所を教えてください 現在ホームページ領域の 1 2023/01/01 11:47
- 確定申告 【白色申告】1月に引越したがe-taxでの納付先は新住所でいいのか? 2 2023/02/26 01:47
- ピクニック・キャンプ 【画像あり】ワグネルのテント前にある木箱は何用ですか? ベンチかなと思ったら傾斜が 1 2023/07/13 17:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
斜めに移動
-
photoshopで書いた四角の枠の中...
-
YOASOBI
-
【Photoshop】レイヤー効果の境...
-
ドラッグ&ドロップからの取得
-
VS2008 C# ボタンのテキストを...
-
テキストボックスの中身をリセ...
-
PythonのTkinterイベントについて
-
python ボタンを押すと複数の関...
-
VBScriptでMsgBoxのYesNoボック...
-
五芒星は、悪魔崇拝とどういう...
-
変数に256文字以上のテキストを...
-
キープレスとボタンクリックの...
-
パーセントで配置したフラッシ...
-
×ボタンを無効化したいのですが...
-
【VB.NET】別Formのボタンが押...
-
VBAで改行の入ったデータの正規...
-
テキストボックスにセルの値を...
-
ダブルクリックと2回クリックの...
-
ダミーウインドウ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ボタンのサイズの単位
-
物体の衝突判定について教えて...
-
Flashパブリッシュエラー
-
flash lite の質問です。flash ...
-
duplicateMovieClip
-
photoshopで書いた四角の枠の中...
-
VBScriptでMsgBoxのYesNoボック...
-
webページ上、TABフォーカス出...
-
プログラミング、アーキテクチ...
-
VBAで改行の入ったデータの正規...
-
python ボタンを押すと複数の関...
-
YOASOBI
-
RPG(AS400)の本、サイトってあ...
-
別のアプリケーションのテキス...
-
テキストボックスの中身をリセ...
-
ホームぺージ制作で間違って重...
-
五芒星は、悪魔崇拝とどういう...
-
else if文の順序を変えることに...
-
【VB.NET】別Formのボタンが押...
-
テキストボックスにセルの値を...
おすすめ情報