Autor | Zpráva | ||
---|---|---|---|
FlashManiac Profil |
#1 · Zasláno: 27. 1. 2006, 15:27:46
Cyao,
měl bych jeden dotázek.. Jak mám udělat to abych dostal do jednoho každého prvku pole, který naplním přes cyklus FOR vlastnosti, které si nadefinuju ve vlastní třídě např. class TPokus{ diky.. |
||
Hanz Profil |
#2 · Zasláno: 27. 1. 2006, 17:24:31
FlashManiac
A budou se ty názvy měnit? Jestli ne tak normálně for(i=0;i<5;i++){ nazev_pole.push(název_té_proměnné) } |
||
FlashManiac Profil |
#3 · Zasláno: 27. 1. 2006, 17:49:03 · Upravil/a: FlashManiac
no mě jdo o to abych se mohl na každé pole odkázat třeba takto:
pole[23][85].prvniVlastnost=... pole[23][86].druhaVlastnost=... if(pole[1][66].prvniVlastnost==...){ //akce } a tak podobně..Nevím esli jsi dělal v pascalu nebo Delphi,ale tam je to vyřešené tak, že si nejdřív nadeklaruju vlastní strukturu(např TPokus) a pak jen tuto sturkturu přiřadím každému prvku v poli. V pascalu to vypadá takto: TPole=Array[0..max,0..max] of TPokus; a tím každý prvek pole získá vlastnosti TPokus, čili se na to můžu odkázat: pole[23][85].prvniVlastnost a tohle nevím jak ve Flashi docílit.. |
||
FlashManiac Profil |
#4 · Zasláno: 27. 1. 2006, 17:54:22
pro ukázku hodím nějaký skriptík..
var mapa:TMapa=new TMapa(); |
||
Hanz Profil |
#5 · Zasláno: 27. 1. 2006, 18:06:23
FlashManiac
No pochopil jsem, ale nějak nechápu význam. K čemu je to dobré, když se stajně odkážeš pomocí toho mojePole[1][2] K čemu by tam bylo to .obsazeno, když to stejně jiné proměnné neobsahuje, nebo se pletu? |
||
FlashManiac Profil |
#6 · Zasláno: 27. 1. 2006, 23:28:19 · Upravil/a: FlashManiac
no já jsem to předvedl jenom jako příklad.. v praxi bych potřeboavl např. aby tam byly třeba číselné nebo booleanovské proměnné nebo stringy.. aby zkrátka jedno každé pole mohlo mít několik různých vlastností..
př. pole[1][1].obsazeno //boolean pole[1][1].cislo //number pole[1][1].cislo2 //number pole[1][1].retezec //string prostě aby to každé pole mělo stejnou strukturu...viz uvedený kód z Pascalu |
||
Hanz Profil |
#7 · Zasláno: 29. 1. 2006, 09:23:28
FlashManiac
No tohle nejde, ale takhle by to šlo: var pole:Array = new Array(); for (i=0; i<5; i++) { pole[i] = new Array(); for (a=0; a<4; a++) { pole[i]["neco"+a] = random(30); } } trace(pole[1]["neco2"]); trace(pole[1]["neco1"]); Je to jen příklad a možná to není přesně co potřebuješ, ale myslím, že svůj účel to plní. |
||
FlashManiac Profil |
#8 · Zasláno: 30. 1. 2006, 13:05:37
Rozhodně ti musím poděkovat za snahu.. ^-^ ale to není ani trochu to co bych potřeboval.. asi jsem to nevyjádřil dost jasně..*smutný pohled*, potřebuju,aby každé pole bylo jakýmsi kontejnerem na data, který může obsahovat proměnné toho typu,které si nadeklaruju ve své třídě... Pro přiblížení... pokud si vytvořím několik MC a do každého naperu proměnné stejné struktury..
př. MC budou mít jména CLIP1,CLIP2,CLIP3,.. v každém MC bude tato struktura proměnných: var rozhodni:Boolean; var cislo1:Number; var cislo2:Number; var retezec:String; a já se pak budu odkazovat: clip1.rozhodni=false; clip2.cislo1 . . No a podobnou stukturu potřebuju narvat do pole.(jestli bude jednorozměrné nebo dvourozměrné teď nehraje roli.. jen potřebuju do každého prvku pole naprat tuhle strukturu... NO a pokud by to AS neuměl..tak snad JAVA script by to dokázat měl,jen nevím jak se potom na to budu dotazovat pomocí AS..XD THX všem za případnou pomoc.. je to totiž pro mě dost zásadní problém a nikde jsem na něj nenašel odpověď ..zatím..doufám.. |
||
Časová prodleva: 4 dny
|
|||
FlashManiac Profil |
#9 · Zasláno: 3. 2. 2006, 10:12:47 · Upravil/a: FlashManiac
No tak už jsem na to přišel.. díky že ses tím zabýval...
to co jsem potřeboval vypadá takhle: var pole:Array=new Array(); teď už se na to můžu odkazovat jak jsem psal výše pole[2][2].vlastnost=hodnota |
||
Hanz Profil |
#10 · Zasláno: 3. 2. 2006, 13:41:05 · Upravil/a: Hanz
FlashManiac
A je to new TMapa ??? Mi to s tím nefunguje, ale když jsem míto toho new TMapa dal new Object() tak to dělá to co jsi chtěl (teda myslím). |
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0