Actionscript2.0,3.0 - flash 如何讀取被載入圖片JPG資訊

把圖片透過 loader 載入,並且addChild是件很容易的事, 但有網友問那要讀取被載入圖片的資訊

應該怎麼辦?



該不會直就是 _mc.width ? (假設 _mc.addChild 剛才的loader內容)

答案是否定的,不能這樣去做它!



//////////////以下提供as3.0 跟 as2.0 作法///////////////////



//as3.0 ------------

import flash.display.Loader;

var myMCL:Loader = new Loader();

var info:LoaderInfo = myMCL.contentLoaderInfo;

//AS3.0是靠LoaderInfo 變的蠻好理解!

myMCL.load(new URLRequest("01.jpg"));  



mcA.addChild(myMCL)





info.addEventListener(Event.COMPLETE,completehandler);



//記得不能心急直接讀info.width ,一定要等到info載入完整時!

function completehandler(event:Event):void{     

trace(info.width)   

}





//as2.0 ---------------------

var myMCL:MovieClipLoader = new MovieClipLoader();

myMCL.loadClip("01.jpg", mcA);  



//2.0作法就顯的麻煩,要去監聽new出來的物件 並且讀取

//跟3.0比較起來 較不好理解

var myObject:Object = new Object();  

myObject.onLoadInit = function(target:MovieClip) {

trace(target._width)

trace(target._height)

}

myMCL.addListener(myObject); 

  • 留言者: 知識+
  • Email:
  • 網址:
  • 日期: 2010-06-08 21:29:53
{

var Mc = this.product["image" + i];

loadMovie

("http://www.hidel.co.kr/main/flash00/0" + i

+ ".jpg", "Mc.img");

Mc._x = 0;

i == 1 ? (Mc._y = 1) : (Mc._y = movePos * (i -

1) + 0);

++i;

} // end while



請問以上語法如何去更改jpg圖片路徑呢?

謝謝!




  • 留言者: 知識+
  • Email:
  • 網址:
  • 日期: 2010-06-09 13:15:06
sorry 我看不懂....

您能告知它指向jpg圖片位置為何嗎?3Q




  • 留言者: carlc5lqt3h
  • Email:
  • 網址: http://lvmiss.com/
  • 日期: 2013-03-19 01:15:28
加油!加油!

精美禮品送完即止

訂購 www.Lvmiss.com

冂劳侩




  • 留言者:
  • Email:
  • 網址: http://5sisters.org/
  • 日期: 2013-03-19 07:53:03
厔唢凉



華碩多國語翻譯公司

tel:(02)2369-0931-

超低價翻譯服務:

多國語言專業翻譯,

台師大教育部長期配合,

韓文0.9日文0.8英文0.7元起!

網址:http://www.5sister.tw/



倻亭吽

Actionscript - 角度計算

角度的問題 在設計遊戲時 , 時常會用到以下情況:

1. 你的物件面朝向 滑鼠改變 而旋轉 物件角度.
2. 你的角色被敵人追著跑時 , 敵人的面向角色問題
3. 人物被日光照射的陰影,影子


如果你可以得知 一物件角度,很多事情都可以解決, 但許多時候 即使你可以決定角度 ,
你也無法決定到底要轉幾度,因為這不再是單一物件的事, 是兩物件之間的事

就如同以上例子: 敵人面向角色的問題存在


想知道 物件該旋轉幾度, 首先必要條件 , 兩物件X與Y距離 需得知.
在利用三角函數反正切餘弦求出弧度 , 許多人念高中時不知道三角函數是做什麼,
如果此時的你正在設計遊戲 ,你就會開始懷念當初高中應該認真上數學課


一個完整的圓的弧度是2π,所以2π rad = 360°,1 π rad = 180°(約57.29578°),1°=π/180
rad。以度數表示的角度,把數字乘以π/180便轉換成弧度;以弧度表示的角度,乘以180/π便轉換成度數。


角度 = 弧度 x  180/π ; //如此一來便可以計算物件旋轉角度

但 弧度是怎麼來的呢

以下是 atan2 半角公式:
<dl><dd> \operatorname{atan2} (y, x)=2 \arctan <br />\frac{y}{\sqrt{x^2+y^2}+x}.
</dd><dt>利用 arctan 計算 , 所以 tan 當然要搞清楚

</dt></dl>但在 flash 中, 你大可不必這麼麻煩 , 只要利用 Math.atan2(); 即可算出弧度

var angle:Number = Math.atan2(兩物件Y距,兩物件X距)*180/(Math.PI);
//如此便可以輕鬆算出 物件該旋轉幾度


  • 留言者: somebody1212
  • Email:
  • 網址:
  • 日期: 2010-12-01 01:25:55
我已經開始懷念高中數學了...



您好

我有在知識加發問(大富翁那題)

有看到你的留言,我覺得你教的東西對我很有幫助



所以我想請問您

我對flash不太熟...只會很基本的影格操作

如果想要做一個flash的遊戲(像是大富翁的遊戲)

是不是不太容易做成



我完全沒有程式的基礎

看到您發表的flash遊戲文章,好像是要以程式去控制物件的動態

或角度

這樣的話你比較建議我從哪裡建立基礎比較好呢?



其實...

我很想把這個大富翁形式當成5月展的畢製內容XD

只是我很怕我的能力不夠,但我願意學。



希望您給我一點建議



謝謝您。




  • 留言者: somebody1212
  • Email:
  • 網址:
  • 日期: 2010-12-01 02:30:29
不好意思~我忘了說



因為有考慮到大富翁的難度

所以我有想到99形式的小遊戲

(我想做的形式是:使用者從我準備的三個角色選其一去玩。就和我

們玩的99遊戲一樣。只是當使用者快死掉的時候,就會出現一個場

景問使用者問題,答對就免死一次然後繼續遊戲......大概是這

樣)



想請教您

和上面一篇的留言一樣,這樣的我需要從哪裡開始建構^^"



感謝~:)

My Work - 第一次 為畢業光碟 製作

高中好友 呂科(目前是位攝影師), 在某些機緣下介紹這個份外的 job .

當然了,我不是專業平面設計, 只是位業餘的設計者, 在設計過程中, 費了許多心思

如何將 flash 在我設計程度下 發揮到最大品質.







在 2008年 10月, 經過搜集各方資料匯整設計出第一份草稿!











同年又經過一個多月努力,開發出我理想中的介面!!





[2009.3]經過了風風雨雨,不斷的設計與討論溝通之下,終於完全修正符合公司理想中的版本!









班級團照,原本想走精緻路線,不過基於對像是國中小學, 還是要改變風格!











理想總是與現實作對, 原以為以動態翻書方式是最好的呈現,結果我錯了,

這麼做只會造成電腦負擔(話說現在大家經濟應該都不錯,電腦硬體也相對提升)

沒辦法, 總是有那麼幾人還停在單核... 所以說我們設計師應為廣大的群眾著想

也是我們的責任!
    這點留待以後再慢慢討論... :)

  • 留言者: Frankie
  • Email: fang_frankie@kbronet.com.tw
  • 網址:
  • 日期: 2010-08-25 00:38:56
好棒唷~好想玩玩會動的!

ActionScript3.0 - Error #1009: 無法存取 Null 物件參考的屬性或方法。

#1009: 無法存取 Null 物件參考的屬性或方法。





2012.4.13
一些遊戲時常會用到 大廳去外載遊戲進來 , 或是不論何種情況一個載體去外載swf
時常會出現一些 , 莫名的錯誤 導致載體無法正常運作 , 程式碼中斷的情況


因為載體去外載外部swf 時 , 會先載入 外部swf 的 宣告 , 接著才去載 內容(MovieClip )
仔細發現 順序似乎錯了 , 應該是 先載內容 -> 宣告 (程式) , 否則就會發生 1009 null物件 情況

解決辦法 , 如果你有以上情況 , 在製作結構時要注意 ,     把程式碼往後推一個影格    
讓場上實體物件 先載入內容 , 才去做宣告



2010.5.12

最近在替幾位網友製作一些範例時發現, 當不斷監聽下去判斷超過一個以上 IF 條件 ,此時判斷結果又跳影格

就會產生 #1009: 無法存取 Null 物件參考的屬性或方法。


如下:

if (判斷式內容1) {

假設成立  gotoAndStop();

}

if (判斷式內容2) {

假設成立  gotoAndStop();

}



#1009: 無法存取 Null 物件,本身的意義是 因為你在原影格內寫了 listener ,當你(跳)換影格時, listener不到物件內容,

導致產生錯誤. 如果listener 只是一次 那倒沒有問題 因為它只listener一次,



如果是持續不斷像是  addEventListener(Event.ENTER_FRAME   這種東西 , 那麼你的錯誤訊息就會一直跑出來煩你

因為 當你寫這段監聽時,記憶體已載入占用, 只要你一天不移除 它就會一直keep work.





所以有解決方法有兩種:



1. 在條件式 IF下 remove 掉listener ,當判斷跳影格時 ,記憶體釋放 不再listener.

    請注意當你code,有很多個listener時 記得都要 移除掉.



if (判斷式內容1) {

假設成立  gotoAndStop();

removeEventListener(Event.ENTER_FRAME,  ); //記得在判斷式完後remove

}

if (判斷式內容2) {

假設成立  gotoAndStop();

removeEventListener(Event.ENTER_FRAME,  );

}



2. 第二種方法, 非常簡單,既然你跳影格會出問題,那就不要跳了 ,乾脆直接把 code 寫在 要操作內容的上一層去遙控


if (判斷式內容1) {

_mc. gotoAndStop(); //對_mc內容做操作 語法影格並不會受影響 此時就算不remove也不會產生錯誤

}





但是請保持良好習慣, 當你有一天EventListener 越來越多時 , 效能就會降低 , ,

所以不用的listener 就將它從記憶體中移除.

GameDevelopment - 2010 名稱未定

常看到我的老媽不知道怎搞的 , 老是喜歡玩 "連連看" , 找相同的圖案 在不碰到連線情況下消去 ,
可是這樣實在太無趣 , 單純盯著螢幕找一樣的東西 , 既沒刺激感也沒有創意 , 我想唯一好處是
消磨時間 , 真不知道我媽是怎麼玩的下去 , 身為他的兒子是不是該做點什麼,........


設計圖1

這是一款操控角色移動 ,觸碰遊戲 ,必須在限時內完成條件任務
內容包含許多事件 , 敬請期待


2010 / 5 .. : 當然這不是我第一次製作Game , 2.0與3.0轉換交替 , 藉由這次全面使用
                  3.0語法,當然也遇到一些問題,鍵盤兩方向量疊合就是一大問題

2010 / 5/8 : 註冊點的問題,看來只能靠雙層movieclip來解決