Dobry den. Snažil jsem se vygooglit způsoby/algoritmy, jak by se dala generovat "směrka", bohužel jsem stroskotal. Krom vlastních algoritmů, kdy bych si ukládal pozice začátku slova, směr, a to vše testoval v několika podmínkách a kvuli nim opakujících cyklech mě nic nenapadlo :// Moje prozba směřuje spíše k nějakému matematickému postupu, podle kterého by se to snad dalo. Něco jako kdyz jsem generoval podle sebe bludiště a za měsíc zjistil, že existuje velice inteligentní a jednoduchý způsob, viz. http://www.devbook.cz/algoritmus-tvorba-nahodneho-bludiste
Příspěvky odeslané z IP adresy 88.101.11.–
Potřeboval bych dostat seznam všech TransformGroup které jsem vybral. Podařilo se mi dostat buď Nejvyšší TransformGrupu na kterou jsem klik, nebo naopak tu nejnižší. To záleží na u kterých TransformGrup nastavím TransformGroup.ENABLE_PICK_REPORTING.
Nebo bych poprosil o odkazani na nějakou českou poradnu ohledne knihovny Java 3D. Nic jsem nenašel :/
Vyřešeno uplně jednoduše.
public void Vloz(float x, float y, float z)
{
tran.setTranslation(new Vector3d(x, y, z));
transGroup.setTransform(tran);
}
Prosim netušite co dělám špatně ? Po spuštění scény (nastavení pozorovatele a vložení BanchGroupy) do vesmíru, chci na kliknutí vyvolat funkci která mi do středu vesmíru vloží objekt, jenže se samozřejmě nestane nic :// Reakce na kliknutí je odskoušena vypisem do konzole.
public void Vloz()
{
transGroup= new TransformGroup();
transGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
transGroup.addChild(new ColorCube(0.3f));
Vector3f souř = new Vector3f(0f,0f,0f);
tran.setTranslation(souř);
transGroup.setTransform(tran);
System.out.println("vlozeno");
}
prosim pomoc. Tedd
Děkuju, pomohlo. Vyřeseno :)
Dobry den. Vytvořil jsem si 3D ArrayList ale trochu jiným způsobem a to tak, ze jsem do ArrayListu nahral dalsi ArrayList a to jsem pak vlozil do dalsiho ArrayListu. Takhle jdou prakticky tvořit multi-pole (myslím). Jenže když chci přistupovat k hodnotám v poli tak ho musím rozložit a teprva vypsat/nahradit určitými hodnotami, což je zdlouhavé.
nešlo by něco takového ?
hodnota =3DField.get(i).get(x).get(y); //toto nefunguje samozřejmě , i když nechapu proč.
public ArrayList get3DArrayList(int x, int y, int i)
{
ArrayList dimension2 = new ArrayList();
ArrayList dimension3 = new ArrayList();
ArrayList newField;
int hodnota = 0;
/*
* Vytvoří 3D pole které se dá zvětšovat směru od 0 do nekonečna !! a rovnou naplní hodnotou
*/
for (int m = 0; m < i; m++)
{
for (int k = 0; k < y; k++)
{
newField = new ArrayList();
for (int j = 0; j < x; j++)
{
hodnota++;
newField.add(hodnota);
}
dimension2.add(newField);
}
dimension3.add(dimension2);
dimension2 = new ArrayList();
}
return dimension3;
}
public void Vypis3DArray(ArrayList list)
{
ArrayList SoutField, newField;
for (int i = 0; i < list.size(); i++)
{
newField = (ArrayList) list.get(i);
System.out.println("[" + i + "]");
for (int b = 0; b < newField.size(); b++)
{
SoutField = (ArrayList) newField.get(b);
for (int j = 0; j < SoutField.size(); j++)
{
System.out.print("[" + SoutField.get(j) + "] ");
}
System.out.println();
}
System.out.println();
}
}
Omlouvam se za nazev Tematu, ale nevěděl jsem, jak ho nejkratšejc vystihnout.
K dotazu. Na začatku jsem si vytvořil tabulku, ktera obsahuje prvky pole. Kazde bunce sem přiřadil ID a dle algoritmu nad těmito dvouma cykly si me potřebné ID zjištuju. Každou buňku bych chtěl měnit se zpozdenim (30ms) jenže toto zpožděni se cyklem nasčítá (test: např. for1=5 cyklu, for2= 3 cykly, zpozdeni=30ms. 5*3*zpozdeni) a teprva po uplinutí této doby, se hodnoty vykreslí.
Jak mam vytvořit zpoždeni v cyklu pro vykresleni každé buňky se zpožděním ?
for ( x = 0; x < KolikBunek[1]; x++)
{
for ( y = 0; y < KolikBunek[0]; y++)
{
sloupec = OdkudZvětšuju[1] + x;
radek = OdkudZvětšuju[0] + y;
this.Mapa[sloupec][radek]++;
stop = setInterval(function()
{
document.getElementById(ID).setAttribute('bgcolor',PotrebnaBarva(radek,sloupec));
document.getElementById(ID).innerHTML = Mapa[sloupec][radek];
clearInterval(stop);
},30);
ID++;
}
ID+=dylkaRadku - KolikBunek[0];
}
Pardon, jen bych prosil adminy o spravení nazvu tematu, byl to muj hloupý překlik. "zpoždění"
Dobrý den. Mám zde nefunkční metodu pro pauzu. Kvuli par věcem nemužu použít funkci setTimeout().
Po určitem zaseku, mě přijde, že je tak dlouhy jako součet pauz se vše vypíše na obrazovku najednou, namisto pojednom při uběhnutí vteřiny.
x = 0;
for(i = 0; i < 6; i++)
{
document.write(x + "||");
x++;
pauza(1000);
}
function pauza(mili)
{
var cas = new Date();
aktcas = null;
do
{
aktcas = new Date();
}
while(aktcas - cas < mili);
}
předem děkuji.