Hello,
It seems I cannot get the idea behind of this method:
"getOneObjectAtOffset(int,int,CLASS.class)"
So I made a very simple example:
World's subclass:
Actor's subclasses:
Basically, the code will create 10x10 field of pixels where 1 pixel's size is equal to 10 pixels. Each of the field's pixels gets to get 1 object from A class.
The user is given an opportunity to press key "K" to make an attempt of finding one of the A classes' objects via specified in the code coordinates .
Why would it return me java.lang.NullPointerException ?
Correct me if I am wrong, but wasn't this method supposed to find one object at certain coordinates and return it?
I obviously miss something...
Thanks.
( Greenfoot API )
import greenfoot.*; public class X extends World { A a; Back back; int T; static int K = 0; public X() { super(10, 10, 10); T = 10; for(int x = 0; x < T; x++){ for(int y = 0; y < T; y++){ a = new A(); addObject( a, x, y); } } back = new Back(); addObject( back, 8,8); } }
import greenfoot.*; public class A extends Actor { int ID = 0; public A(){ ID = ++((X) getWorld()).K; } public void getID(){ System.out.println("ID:"+ID); } }
import greenfoot.*; public class Back extends Actor { public void act() { if(Greenfoot.isKeyDown("K")){ ((A) this.getOneObjectAtOffset(4,4,A.class)).getID(); } } }