電子書籍の厳選無料作品が豊富!

Flash8にて、外部XML画像とURLを読み込みしています。
初の試みでして、たどたどしくも双方ともに読み込むところまでは皆様のこれまで作られたデータを基に作成出来たのですが、画像を読み込んだときに巨大化されてしまって困っています。

▼XML
---------------------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<jpeg>
<jpegURL>images/image1.jpg</jpegURL>
<link>http://yahoo.co.jp/1</link>
<jpegURL>images/image2.jpg</jpegURL>
<link>http://yahoo.co.jp/2</link>
<jpegURL>images/image3.jpg</jpegURL>
<link>http://yahoo.co.jp/3</link>
<jpegURL>images/image4.jpg</jpegURL>
<link>http://yahoo.co.jp/4</link>
</jpeg>
---------------------------------------------------

800×250で画像を読み込みたいのですが、
読み込むと、すさまじく巨大化してしまっています。。

作ろうとしているのは、横にスクロールするナビゲーションです。
XMLで画像とリンク先を指定、画像は同じ階層に「img」というフォルダを作って入れています。

下記が、1フレーム目に記載しているASです。

▼AS
---------------------------------------------------
var obj_array:Array = new Array();
var center:Number = Stage.width/2;
var menu_num:Number = 4;
var maxlength:Number = 800*menu_num; //サイズ指定箇所
var friction:Number = -0.03;

var obj_xml:XML = new XML();
obj_xml.onLoad = start_me;
obj_xml.ignoreWhite = true;
obj_xml.load("scrollslide.xml");


function start_me(success:Boolean):Void {
if (success == true) {
for (var i = 1; i<=menu_num; i++) {
var menu_str:String = "menu"+i;
obj_array[i] = _root.attachMovie("menu", menu_str, i);
obj_array[i].num = i;
obj_array[i]._x = 800*(i-1); //X座標
obj_array[i]._y = 0;
var jpg_str:String = obj_xml.firstChild.childNodes[(i-1)*2].firstChild;
var link_str:String = obj_xml.firstChild.childNodes[i*2-1].firstChild;
obj_array[i].jpg_mc.loadMovie(jpg_str);
obj_array[i].onEnterFrame = scrollphoto_me;
obj_array[i].onPress = press_me;
obj_array[i].onRollOver = roll_me;
obj_array[i].onRollOut = rollout_me;
//関数呼び出し
obj_array[i].onRelease = release_me;
obj_array[i].link = link_str;
}
} else {
seltext = "xml read error";
}
}

function release_me():Void {
trace(this.link);
getURL(this.link, "_parent");
}


function scrollphoto_me():Void {
var speed:Number = (_root._xmouse-center)*friction;
var vx:Number = this._x+speed;
if (vx<=-800) { //ステージ左に消えたら
vx += maxlength; //サムネイルの最後列の後ろに移動
} else if (vx>=Stage.width+10) { //ステージ右に消えたら
vx -= maxlength; //サムネイル最前列の前に移動
}
this._x = vx;
updateAfterEvent();
}



function roll_me():Void {
this._alpha = 80;
}

function rollout_me():Void {
this._alpha = 100;
}
stop();

---------------------------------------------------

サイズを指定している箇所に問題があるのでしょうか。
初心者でして、全く見当がつかず困っております。
もしよろしければ、先人の方たちにご意見とご指摘を頂ければと思います。宜しくお願いいたします。

A 回答 (1件)

シンボルに 「menu」 という識別子を付けたムービークリップがあって,


その中に 「jpg_mc」 というムービークリップを作成されていますよね。
その 「jpg_mc」 の作成工程に問題があると思います。

たとえば,
10px×10px の塗りを描いて,
その塗りをムービークリップに変換し,
その後,400px×300px に拡大させたとかです。

ロードするムービークリップを拡大させるとその中にロードされるものも拡大されていまします。
もし 400px×300px 「jpg_mc」 を作成したいのでしたら,上のようにするのではなくて,
400px×300px の塗りを描いて,
その塗りをムービークリップに変換しなければなりません。

そこら辺がアヤシイと思います。

この回答への補足

>BlurFiltanさん
ありがとうございます!ただ今帰ってきて試してみたところ、画像サイズがそのままで表示されるようになりました。助かりました!!


http://www.first-jp.com/
完成系がこのサイトの上部ナビを目指しているのですが、まだまだ変更しなければいけないですよね。。。


改善点1:スクロール方法を変更
関数 scrollphoto_me の変更
左から右へ一定の速度で流れ続ける。

改善点2:スクロールイベントの変更
変数 friction の変更?
rolloverでスクロールをストップ。

改善点3:ボタンの設置
メインタイムラインにボタンを左端と右端に設置。
ボタンアクションにする?

改善点4:ボタンへのアクションを設定
ボタンアクションにしてから、onRollOver で設定?

初心者のくせに、順番すっとばしでこんな難しい条件に挑んで非常に恥ずかしい限りです。これから1つずつ条件をクリアしていこうかと思いますが、今回は時間がなくてほとんどご支持いただく形になってしまいます。。

よろしければ、完成までお付き合い頂ける方が他にもいらっしゃいましたらご協力お願いいたします。

補足日時:2008/11/10 23:03
    • good
    • 0
この回答へのお礼

ありがとうございました!
補足に書いた質問は長くなりそうなので別の質問でしようかと思います。親切に教えいただきありがとうございました。

お礼日時:2008/11/11 01:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報