Budowa struktury:
function Objekt() { this.Img = new Image(); this.Width = 0; this.Height = 0; this.Hit = new Array(); }
Następnie w innej funkcji inicjuje "obiekt" na podstawie tej struktury i usupełniam po kolei, generuje tablice 2-wymiarową i zapisuje do pola Hit na sztywno ja pozycję [1][0] wartość 1. Następnie w konsoli przeglądraki wyświetliłem zawartość pola Hit i wyświetliło bez problemów jego zawartość.
Funkcja z inicjacją obiektu:
function InitObjekt() { //inicjacja teł gry obj = new Objekt(); obj.Img.src = 'img.png'; obj.Width = obj.Img.width; obj.Height = obj.Img.height; temptab = new Array(obj.Width/32); for(i = 0; i < obj.Width/32; i++) { temptab[i] = new Array(obj.Height/32); } temptab[1][0] = 1; obj.Hit = temptab; console.log(obj.Hit[1][0]); }
Problem jest kiedy proboje wyliczyc wartości X, Y w tablicy czyli:
if(obj.Hit[( p.X / p.Width - 1)][(p.Y / p.Height)] == 1) p.M = 0;
podkreślam że wynikami działąń ( p.X / p.Width - 1) oraz (p.Y / p.Height) są liczby całkowite mieszczące się w ramach szerokości i wysokości tablicy.
i w tym momencie w konsoli wyskakuje error:
TypeError: obj.Hit[( p.X / p.Width - 1)] is undefined
Nie mogę dojść do tego co robię źle.