• 締切済み

AS2.0 XML 画像を全部読み込むまでローディング表示にしたい

はじめまして、アクションスクリプト2.0を勉強中の身であります。 今回どうしてもわからないものが出てきてしまったため、ご質問をさせていただきました。 xmlをつかってflash8のスライドショーのメニューを作っているのですが、 このスクリプトだと、一回一回画像を取りにいくようになります。 これを最初にすべて読み込むまで次の動作を待ちたいのですが、どのように修正すればいいでしょうか? よろしくお願いいたします。 // ON MENU BUTTON PRESS FUNCTION // Identifies target image to load once menu item is pressed _global.clickAction = function(obj) { clearInterval(timeInterval); menu_mc["bttn_mc"+ID].select_mc.gotoAndPlay('off'); ID = obj.ID; imageLoad(); }; // AUTOMATED BANNER FUNCTION bannerTimer = function () { clearInterval(timeInterval); menu_mc["bttn_mc"+ID].select_mc.gotoAndPlay('off'); ID += 1; if (ID == total) { ID = 0; } imageLoad(); }; // CSS STYLESHEET var styles = new TextField.StyleSheet(); // Set hyperlink colour and decoration here styles.setStyle("a:link", {color:'#00FFFF', textDecoration:'none'}); styles.setStyle("a:hover", {color:'#00FFFF', textDecoration:'underline'}); txt_mc.txt.html = true; txt_mc.txt.styleSheet = styles; // BUILD BANNER DISPLAY construct = function () { for (i=0; i<total; i++) { //Vars from XML Image[i] = xmlNode.childNodes[i].attributes.Image; Delay[i] = xmlNode.childNodes[i].attributes.Delay; Link[i] = xmlNode.childNodes[i].attributes.Link; Headline[i] = xmlNode.childNodes[i].attributes.Headline; Blurb[i] = xmlNode.childNodes[i].attributes.Blurb; Copy[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue; //Build menu メニューオブジェクトの生成 menu_mc.bttn_mc.duplicateMovieClip("bttn_mc"+i, i); menu_mc["bttn_mc"+i]._y = menu_mc.bttn_mc._height*i; menu_mc["bttn_mc"+i].ID = i; menu_mc["bttn_mc"+i].headline_txt.text = Headline[i]; menu_mc["bttn_mc"+i].blurb_txt.text = Blurb[i]; //Build image holder イメージオブジェクトの生成 holder_mc.holder.duplicateMovieClip("holder"+i, i); holder_mc["holder"+i]._y = imageHeight*i; holder_mc["holder"+i].isLoaded = false; } }; //CALL FUNCTION TO LOAD IMAGE imageLoad = function () { clearInterval(timeInterval); txt_mc.txt.htmlText = Copy[ID]; txt_mc.headline_txt.text = Headline[ID]; if (holder_mc["holder"+ID].isLoaded == false) { loadMovie(Image[ID], holder_mc["holder"+ID]); } else { holder_mc["holder"+ID].gotoAndPlay(1); timeInterval = setInterval(bannerTimer, Delay[ID]); menu_mc["bttn_mc"+ID].select_mc.gotoAndPlay('on'); } }; //CALL FUNCTION ONCE IMAGE HAS LOADED imageLoaded = function (obj) { obj.isLoaded = true; if (obj._name == "holder"+ID) { clearInterval(timeInterval); timeInterval = setInterval(bannerTimer, Delay[ID]); menu_mc["bttn_mc"+ID].select_mc.gotoAndPlay('on'); txt_mc.txt.htmlText = Copy[ID]; } }; this.onEnterFrame = function() { //Apply tweening to menu and banners destX = -ID*imageHeight; holder_mc._y += (destX-holder_mc._y)/scrollTween; txt_mc._alpha += (destAlpha-txt_mc._alpha)/alphaTween; /* if (menu_mc._height>boundryHeight) { menu_mc._y += (destY-menu_mc._y)/scrollTween; if (menu_mc._y>0) { menu_mc._y = 0; } else if (menu_mc._y<(boundryHeight-menu_mc._height)) { menu_mc._y = boundryHeight-menu_mc._height; } } */ // Info text display if (holder_mc["holder"+ID].isLoaded == true) { if (_xmouse>0 && _xmouse<imageWidth && _ymouse>0 && _ymouse<imageHeight) { destAlpha = 100; } else { destAlpha = 0; } } else { destAlpha = 0; } txt_mc.txt._height = txt_mc.txt.textHeight+5; txt_mc.bg._height = txt_mc.txt._height+20+txt_mc.headline_txt.textHeight+5; txt_mc._y = imageHeight-txt_mc._height; };

みんなの回答

  • tkmkok
  • ベストアンサー率66% (2/3)
回答No.1

スクリプト長すぎです。 これを全部読んで回答してくれる人はなかなかいないんじゃ・・・。 問題の部分だけに絞り込んだ方が良いかと。 表題の件はにゃあプロジェクトさんとこのが参考になりますよ。 http://www.azug.jp/~mayor/monkey/work_test/t643363.html 他、CASAframeworkなどのフレームワークを使うともっと楽チンかも。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • XMLで画像を読み込むと巨大化します・・・

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

    • ベストアンサー
    • Flash
  • XMLを利用したFLASH画像ギャラリーでローディングさせたい

    環境:FLASH8 XMLを利用したFLASH画像ギャラリー(スライドショー)を 制作しています。 スクリプトはあるFLASHの勉強サイトを参考にさせていただきました。 機能としては、スライドショーが自動再生から始まり アルファのフェードが入りながら画像の数だけループして、 自動再生の一時停止、次ボタンと戻るボタンでスライド内を 移動できるようになっています。 ここまではいいのですが、回線が遅い環境でみると 6枚目くらいから、画像の読み込みがついてこれなくなって 枚数カウントだけが進み、画像が黒のまま表示されなく なってしまいます。 改善したいポイントとしては、 最初の段階でローディング画面(前処理)を設けて、ある程度 読み込みが完了した時点で自動スライド開始としたいと 思っています。 もしくは、全て画像を読み込み終えてからスライド開始。 これでメモリ不足や回線スピード不足が解消されれば 今回の問題はクリアでるのではないかと考えています。 画像は50枚前後の少し大きめの画像を使用しています。 どうか、お知恵を貸していだだければと思います。 ★使用スクリプト photos_xml = new XML(); photos_xml.load("photo.xml"); photos_xml.ignoreWhite = true; photos_xml.onLoad = SlideShow; function SlideShow(success) { if (success) { rootNode = photos_xml.firstChild; Slides_num = rootNode.childNodes.length; first_Slide = rootNode.firstChild; last_Slide = rootNode.lastChild; currentSlide = first_Slide; currentNo = 1; passSlide(first_Slide); ID = setInterval(autoExchange, 5000); } } function passSlide(newSlide) { image = newSlide.attributes.image; imageWidth = newSlide.attributes.p_width; imageHeight = newSlide.attributes.p_height; slideTitle = newSlide.firstChild.nodeValue; screen._alpha = 0; delay = getTimer(); _root.onEnterFrame = function() { if (getTimer()>delay+200) { screen._alpha += (100-screen._alpha)/30; screen._width = imageWidth; screen._height = imageHeight; screen._x = 305-imageWidth/2; screen._y = 220-imageHeight/2; } frame._x += (305-imageWidth/2-frame._x)/3; frame._y += (220-imageHeight/2-frame._y)/3; frame._width += 2+(imageWidth-frame._width)/3; frame._height += 2+(imageHeight-frame._height)/3; }; loadMovie(image, screen); } function autoExchange(nextSlide) { nextSlide = currentSlide.nextSibling; if (nextSlide == null) { passSlide(first_Slide); currentSlide = first_Slide; currentNo = 1; } else { currentNo++; passSlide(nextSlide); currentSlide = nextSlide; } } auto_on.onRelease = function() { ID = setInterval(autoExchange, 4000); mx.behaviors.DepthControl.sendBackward(this); }; auto_off.onRelease = function() { clearInterval(ID); mx.behaviors.DepthControl.sendBackward(this); }; next_btn.onRelease = function() { nextSlide = currentSlide.nextSibling; if (nextSlide == null) { passSlide(first_Slide); currentSlide = first_Slide; currentNo = 1; } else { currentNo++; passSlide(nextSlide); currentSlide = nextSlide; } }; back_btn.onRelease = function() { previousSlide = currentSlide.previousSibling; if (previousSlide == null) { passSlide(last_Slide); currentSlide = last_Slide; currentNo = Slides_num; } else { currentNo--; passSlide(previousSlide); currentSlide = previousSlide; } };

    • ベストアンサー
    • Flash
  • xmlから作ったサムネールを移動させる

    こんにちは。 flashを勉強中です。XMLからサムネールの一覧を作ろうとして、 なんとかステージに配置するのはできたのですが、サムネールの 数が多いので、マウスの位置によって垂直に移動させる様なことを したいのですが、どうして動かせばよいのかがわからずに困って おります。 アクションスクリプトは以下の様にしております。 このサムネールをMCに埋め込む方法だけでもお教え頂ければ 幸いです。よろしくお願いします。 ----------------------------------------------- myXML = new XML (); myXML.ignoreWhite = true; myXML.load ("data.xml"); myXML.onLoad = function (loaded) {    if (loaded) {      v_rootNode = myXML.firstChild;      v_num = v_rootNode.childNodes.length;      _root.total = v_num;      v_currentPhoto = v_rootNode.firstChild;      v_currentNumber = 0;       for (i=0; i < v_num; i++) {        duplicateMovieClip (icon , "mc_icon"+i, i+1);        path = v_currentPhoto.childNodes[1].firstChild;         _root["mc_icon"+i]._x = 30;         _root["mc_icon"+i]._y = 65 * i + 30;         _root["mc_icon"+i].picture.LoadMovie(path);         _root["mc_icon"+i].title = v_currentPhoto.childNodes[0].firstChild;        v_currentPhoto = v_currentPhoto.nextSibling;        }     } else {      trace ("error occured");   } };

    • ベストアンサー
    • Flash
  • [actionscript] XMLを使ってスライドショーを作成しましたが・・・

    こんにちは。 FLASHアクションスクリプト初心者です。 XMLを使ってスライドショーを作成した外部SWFを メインのSWFに読み込ませたいのですが、うまくいかなくて困っています。 構成としては、メインとなるSWFファイルがあり、 そこに外部にある各ページのSWFファイルを読み込んでいます。 現在、メインのSWFファイルに読み込ませるページAのSWFファイルを作成ました。 その外部SWFファイルには、こちらのサイト (http://www.oman3d.com/tutorials/flash/slideshow/index.php) を参考にして、XMLを使って読み込んだ画像で スライドショーを作成しました。 この外部SWFファイルをメインのSWFファイルに読み込ませたのですが、 メインSWFをパブリッシュして確認したところ、 画像スライドショーの部分が表示されませんでした。 (テキストやMCなどは表示されます。) 外部SWFのパブリッシュプレビューでは表示されています。 actionscriptは、外部SWFの一フレーム目に記述されています。 ****actionscript**** import mx.transitions.Tween; import mx.transitions.easing.*; var myShowXML = new XML(); myShowXML.ignoreWhite = true; myShowXML.load("slideshow.xml"); myShowXML.onLoad = function() { _root.myWidth = myShowXML.firstChild.attributes.width; _root.myHeight = myShowXML.firstChild.attributes.height; _root.mySpeed = myShowXML.firstChild.attributes.speed; _root.myImages = myShowXML.firstChild.childNodes; _root.myImagesNo = myImages.length; createContainer(); callImages(); }; function createContainer() { _root.createEmptyMovieClip("myContainer_mc", 1); myContainer_mc.lineStyle(5, 0x000000, 100); myContainer_mc.lineTo(_root.myWidth, 0); myContainer_mc.lineTo(_root.myWidth, _root.myHeight); myContainer_mc.lineTo(0, _root.myHeight); myContainer_mc.lineTo(0, 0); myContainer_mc._x = (Stage.width - myContainer_mc._width) / 2; myContainer_mc._y = (Stage.height - myContainer_mc._height) / 2; } function callImages() { _root.myMCL = new MovieClipLoader(); _root.myPreloader = new Object(); _root.myMCL.addListener(_root.myPreloader); _root.myClips_array = []; _root.myPreloader.onLoadComplete = function(target) { _root.myClips_array.push(target); target._alpha = 0; if (_root.myClips_array.length == _root.myImagesNo) { _root.target_mc = -1; moveSlide(); myShowInt = setInterval(moveSlide, (_root.mySpeed * 1000) + 1000); } }; for (i = 0; i < _root.myImagesNo; i++) { temp_url = _root.myImages[i].attributes.url; temp_mc = myContainer_mc.createEmptyMovieClip(i, myContainer_mc.getNextHighestDepth()); _root.myMCL.loadClip(temp_url, temp_mc); } } function moveSlide() { current_mc = _root.myClips_array[_root.target_mc]; new Tween(current_mc, "_alpha", Strong.easeOut, 100, 0, 1, true); _root.target_mc++; if (_root.target_mc >= _root.myImagesNo) { _root.target_mc = 0; } next_mc = _root.myClips_array[_root.target_mc]; new Tween(next_mc, "_alpha", Strong.easeOut, 0, 100, 1, true); } 宜しくお願いいたします!

  • attachMovieでのインスタンス名

    以下のようなスクリプトを書いているのですが、 traceの値がすべてmenu_mcとなってしまいます。 インスタンス名をmenu1_mc,menu2_mc,menu3_mc,・・・としたいのですが、どうすればいいのでしょうか? i = 10; for(y = 0; y < i; y++) { trace(y); m = y+1; obj = _root.attachMovie("menu", "menu"+m, y); obj._x = 30; obj._y = 70*y; trace(this._name); } 環境はFlashCS3、ActionScript2.0です。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • スクリプト改善

    おねがいします こちらのスクリプトは縦スクロールの音ゲームです。こちらを編集して横スクロールの音ゲームにしてもらえませんか?自分でやってもなかなかできなくて、、、 mport flash.events.Event; import flash.display.DisplayObject; import flash.events.KeyboardEvent; stop(); var se:SE1 = new SE1(); var hit:int,time:int; const speed:int = 10; var key:Array = [65,83,68,70,74,75,76,187]; var timeline:int = 0; var onp_y:Array = new Array(); init(); function init(){ txt_score.text = "0"; txt_combo.text = "0"; hit = 0; onp_y[0] = [36,110]; onp_y[1] = [42,123]; onp_y[2] = [48,155]; onp_y[3] = [81,165]; onp_y[4] = [89,200]; onp_y[5] = [95,211]; onp_y[6] = [103,260]; onp_y[7] = [110,300]; var onp_x = [160,220,280,340,460]; var clazz:Class = getDefinitionByName("o_001") as Class; for (var k:int=0; k<onp_y.length; k++){ for(var i:int=0; i<onp_y[k].length; i++){ var obj = new clazz(); obj.name = "onp"+k+i; obj.addEventListener (Event.ENTER_FRAME,update_onp); addChild(obj); obj.x = onp_x[k]; obj.y = -onp_y[k][i]*speed+mc_line.y; trace(-onp_y[k][i]); if(time < onp_y[k][i]){ time = onp_y[k][i]; } } } time += 12; //0.5秒 stage.addEventListener(KeyboardEvent.KEY_DOWN,pressKey); stage.addEventListener(Event.ENTER_FRAME,update_stage); stage.focus = stage; } function term(){ for(var k:int=0; k<onp_y.length; k++){ for(var i:int=0; i<onp_y[k].length; i++){ var ins:DisplayObject = getChildByName("onp"+k+i); ins.removeEventListener(Event.ENTER_FRAME,update_onp); removeChild(ins); } } stage.removeEventListener(KeyboardEvent.KEY_DOWN,pressKey); stage.removeEventListener(Event.ENTER_FRAME,update_stage); SoundMixer.stopAll(); } function update_stage(e:Event){ timeline++; if(timeline>time){ term(); if(hit<4){ gotoAndStop("bad"); }else if(hit<8){ gotoAndStop("nice"); }else{ gotoAndStop("great"); } } } function update_onp(e:Event){ var ins:Object = e.target; ins.y += speed; if(400<ins.y && ins.visible == true){ txt_combo.text = "0"; ins.visible = false; mc_hantei.gotoAndPlay("miss"); } } function pressKey(e:KeyboardEvent){ for(var k:int = 0;k<key.length;k++){ for(var i:int = 0; i<onp_y[k].length; i++){ var ins:Object = getChildByName("onp"+k+i); if(e.keyCode == key[k] && ins.hitTestObject(mc_line) && ins.visible == true){ txt_score.text = String(Number(txt_score.text)+10); txt_combo.text = String(Number(txt_combo.text)+1); hit += 1; //se.play(); ins.visible = false; mc_hantei.gotoAndPlay("great"); k++; break; } } } }

  • オブジェクトがありませんのエラー

    過去ログを呼んで近いのがあったのでよく読んだのですが よくわかりませんので書き込みします。 以下のスクリプトで「オブジェクトがありませんのエラーが発生します。3行目のfor文の「obj.childNodes」でエラーが発生します。 「document.getElementById」が「null」であるのが原因のようですが、なぜ「document.getElementById」に値が入らないのかがつかめません。 お手数ですがよろしくお願いします 【script】 --------------------------------------------- if(document.getElementById && document.all && !navigator.userAgent.match(/Opera/)){ var obj = document.getElementById("mainmenu"); for(var i=0;i<obj.childNodes.length;i++){ if(obj.childNodes[i].className=="pullmenu"){ obj.childNodes[i].onmouseover = function(){pull(this) }; obj.childNodes[i].onmouseout = function(){pull(this) }; } } } --------------------------------------------- 【html】 --------------------------------------------- <ul id="mainmenu"> <li id="Begginer" class="pullmenu"><a href="http://www.○○○.co.jp/b/w.php">○○○</a> <ul> <li><a href="http://www.○○○.co.jp/b/w.php">○○○ </a></li> <li><a href="http://www.○○○.co.jp/b/s.php">○○○ </a></li> <li><a href="http://www.○○○.co.jp/b/m.php">○○○ </a></li> </ul> </li> </ul>

  • 外部XMLからFlashに読み込んだ画像にリンクをつける方法

    初めまして。 この度初めて外部XMLをFlashに読み込むコンテンツを制作しており、最後の段階でハマっておりますため、皆様のお力をお借りできればと思い投稿させていただきました。 ちなみに制作環境はMac OS10.3、flashはCS3です。 よくあるパターンのflashによる横スクロールメニュー(画像がマウス操作で左右に流れるもの)を作成しておりますが、表示される10枚の画像をflash内ではなく、外部imagesフォルダに置いておき、XMLにてflash内に作成されたムービークリップに読み込み表示させるコンテンツで、表示されたそれぞれの画像に、やはりXML内に記述されたそれぞれ別のURLを指定して、クリックでジャンプさせようとしています。 横スクロールに関しては問題なく表示できましたが、問題はリンクです。traceでは10個のURLが戻ってくるのですが、実際に各画像をクリックしてみると、全ての画像が10番目のリンク先となってしまっています。 ネットでも色々調べてみたのですが、getURL(this.変数)ではなくgetURL(this._parent.変数)にする等試してみましたがうまくいきません。 下記にActionScriptとXMLファイルの内容を記載致しますので、ご参考の上、ご回答いただけましたらありがたく思います。 ~以下1フレーム目のフレームスクリプト~ var obj_array:Array = new Array(); var center:Number = Stage.width/2; var menu_num:Number = 10; var maxlength:Number = 120*menu_num; var friction:Number = -0.03; System.useCodepage = true; 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; _root.attachMovie("menu", menu_str, i); obj_array[i] = eval(menu_str); obj_array[i].num = i; obj_array[i]._x = 120*(i-1); obj_array[i]._y = 30; obj_array[i]._alpha = 70; var jpg_str:String = obj_xml.firstChild.childNodes[i-1].firstChild.firstChild; obj_array[i].jpg_mc.loadMovie(jpg_str); var jumpURL:String = obj_xml.firstChild.childNodes[i-1].lastChild.firstChild.nodeValue; jump = jumpURL; trace(jump); obj_array[i].onEnterFrame = scrollphoto_me; obj_array[i].onPress = press_me; obj_array[i].onRollOver = roll_me; obj_array[i].onRollOut = rollout_me; } } else { seltext = "xml read error"; } } function scrollphoto_me():Void { var speed:Number = (_root._xmouse-center)*friction; var vx:Number = this._x+speed; if (vx<=-120) { vx += maxlength; vx = Math.round(vx); } else if (vx>=Stage.width-5) { vx -= maxlength; } vx1 = Math.round(vx); this._x = vx1; updateAfterEvent(); } function press_me():Void { getURL(this.jump); } function roll_me():Void { this._alpha = 100; } function rollout_me():Void { this._alpha = 70; } stop(); ~以下XMLファイルの記述~ <?xml version="1.0" encoding="Shift_JIS"?> <jpeg> <jumpURL> <jpegURL>images/fla/image1.jpg</jpegURL> <URL>http://www.yahoo.co.jp</URL> </jumpURL> <jumpURL> <jpegURL>images/fla/image2.jpg</jpegURL> <URL>http://www.exnos.co.jp</URL> </jumpURL> <jumpURL> <jpegURL>images/fla/image3.jpg</jpegURL> <URL>http://www.sony.co.jp</URL> </jumpURL> <jumpURL> <jpegURL>images/fla/image4.jpg</jpegURL> <URL>http://www.toyota.co.jp</URL> </jumpURL> <jumpURL> <jpegURL>images/fla/image5.jpg</jpegURL> <URL>http://www.nissan.co.jp</URL> </jumpURL> <jumpURL> <jpegURL>images/fla/image6.jpg</jpegURL> <URL>http://www.honda.co.jp</URL> </jumpURL> <jumpURL> <jpegURL>images/fla/image7.jpg</jpegURL> <URL>http://www.mafdamino.com</URL> </jumpURL> <jumpURL> <jpegURL>images/fla/image8.jpg</jpegURL> <URL>http://www.nakata.net</URL> </jumpURL> <jumpURL> <jpegURL>images/fla/image9.jpg</jpegURL> <URL>http://www.nifty.com</URL> </jumpURL> <jumpURL> <jpegURL>images/fla/image10.jpg</jpegURL> <URL>http://www.adobe.com</URL> </jumpURL> </jpeg> 以上、よろしくお願致します。

    • ベストアンサー
    • Flash
  • マウスの基準点について

    www.i-tv.in/test/shop_menu.swf 上記のものスクリプトの参考書を見ながら作りました。マウスが摩擦をおく基準が上の方になっています。 これを中央にもっていきたいと思いましたが、このような単純なことは調べても出てきません。どなかた教えて頂ければ幸いです。宜しくお願いします。 function start_me(success:Boolean):Void { if (success == true) { for (var i = 1; i<=menu_num; i++) { var menu_str:String = "menu"+i; _root.attachMovie("menu",menu_str,i); obj_array[i] = eval(menu_str); obj_array[i].num = i; obj_array[i].mctext = i; obj_array[i]._y = 125*(i-1); obj_array[i]._x = 10; obj_array[i]._alpha = 40; var jpg_str:String = obj_xml.firstChild.childNodes[i-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; } } else { seltext = "xml read error"; } }

    • ベストアンサー
    • Flash
  • ボタン

    以下のようなスクリプトで、写真のメニューを作っています。 画像の読み込みまでは、うまくできたのですが、ボタンにする ところでつまづいています。 以下のスクリプトでは、どのボタンをクリックしても、変数mに10が代入されているため、10.jpgがphoto_mcに表示されてしまいます。どのようにすれば、 menu1_mcをクリックすれば、1.jpg、 menu2_mcをクリックすれば、2.jpg、 menu3_mcをクリックすれば、3.jpg・・・ のようになるのでしょうか?説明が下手で申し訳ありません m(_ _)m i = 10; /*trace(i);*/ for (y=0; y<10; y++) { m = y+1; obj = this.attachMovie("menu", "menu"+m+"_mc", y); obj._x = 30; obj._y = 70*y+10; /*画像読み込み*/ name = "menu"+m+"_mc"; this[name].photo_mc.loadMovie("photo/"+m+".jpg this[name].photo_mc._xscale = 15;//% this[name].photo_mc._yscale = 15;//% /*ボタン化*/ this[name].onRelease = function() { _root.photo_mc.loadMovie("photo/"+m+".jpg"); }; } 環境はFlashCS3、ActionScript2.0です。 よろしくお願いします。