[問題] 陣列如何自定義 類~?

看板Flash作者 (奇寶~)時間11年前 (2013/12/03 00:43), 編輯推噓1(109)
留言10則, 2人參與, 最新討論串1/1
晚安 小弟搞了一天,成功的自定義類 但立即就卡關了 原因如下 小弟的自定義類中,有一個會用到陣列 問題是 陣列的宣告是 var xxx:Array= 但自定義類也是 var xxx:自定義類= 直接寫成 var xxx:自定義類=[10] 理所當然被系打槍了~~~ 請問該如何把陣列弄上自定義的類呢? 原程式碼如下~~ 勝利後產生一個裝備,裝備有幾個屬性、屬性數值皆為亂數公式決定 所以裝備的屬性皆以陣列存取 ------------------------------------------------------------------ 場景中的程式碼 import equ; //把類弄進來 import magiccontent; //把類弄進來 var item:equ=new equ(); //把item設定成equ類 item.qualityy=Math.ceil(Math.random()*4) //決定item於equ類中的參數 ---------------------------------------------------------------- //第一個自定義類equ public class equ //這個類叫equ { public var qualityy:int;//有幾個魔法屬性 public var used:String;//是否裝備 public var magic:macontent=[qualityy]; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 問題在這一段,亂數算出的qualityy決定幾個屬性後 屬性和數值由另一個類magiccontent(如下段)中決定 故magic要是個 陣列 才能裝屬性和數值 quilityy=1 出來會是 magic[1].matype=1 magic[1].num=16 quilityy=2 出來會是 magic[1].matype=1 magic[1].num=16 magic[2].matype=4 magic[2].num=17 但現在沒辦法用陣列@@",小弟卡死了~~~ } ---------------------------------------------------------------------- // 第二個自定義類macontent public class magiccontent //在第一自定義中有用到 { public var matype:int=Math.ceil(Math.random()*6); //增加哪個屬性 public var num:int=Math.ceil(Math.random()*20); //該屬性增加的數字 } 請高手指教 怎麼把陣列弄上自定義類~~?? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.173.113.227 ※ 編輯: mucoci 來自: 218.173.113.227 (12/03 00:47)

12/03 08:20, , 1F
public class magiccontent extends Array
12/03 08:20, 1F

12/03 08:20, , 2F
但是你這情況跟上一行無關
12/03 08:20, 2F

12/03 08:21, , 3F
magic[1]指的是你magic"陣列"中的第一個位置的"元素"
12/03 08:21, 3F

12/03 08:21, , 4F
1.你的magic根本不是個陣列,magiccontent更不是
12/03 08:21, 4F

12/03 08:22, , 5F
2.你的magic[1]也不是個magiccontent
12/03 08:22, 5F

12/03 08:22, , 6F
所以magic[1].matype沒東西
12/03 08:22, 6F

12/03 08:22, , 7F
你要作的是var magic:Array=new Array() 先宣告陣列
12/03 08:22, 7F

12/03 08:23, , 8F
magic[1]=new magiccontent 放一個magicccontent進去
12/03 08:23, 8F

12/03 08:24, , 9F
magic[1].matype才能存取
12/03 08:24, 9F

12/03 13:26, , 10F
成功解決了~~~再次感謝大大~~~
12/03 13:26, 10F
文章代碼(AID): #1IdBYsXt (Flash)
文章代碼(AID): #1IdBYsXt (Flash)