This site requires JavaScript, please enable it in your browser!
Greenfoot back
EddiMitY
EddiMitY wrote ...

2020/12/6

getOneObbjectAtOffset Error massage

EddiMitY EddiMitY

2020/12/6

#
Hello, i need help with the Error massage. I cant fix this. This code is in a inputmanager witch have to move Player1, but it does not work. how can i give this actor more access? is this possible? Error Massage(getOneObbjectAtOffset(int,int,java.langg.Class<?>) has protected access in greenfoot.Actor)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot und MouseInfo)
 
/**
 * Ergänzen Sie hier eine Beschreibung für die Klasse InputManager.
 *
 * @author (Eddy Kloth)
 * @version (06.12.2020)
 */
public class  InputManager extends Actor
{
    private int vSpeed = 0;
    private int mSpeed = 6;
    private int acceleration = 2;
    private int jumpHeight = 30;
     
    /**
     * act
     */
    public void act()
    {
        checkKeysP1();
        checkFallP1();
    }
     
    public void checkKeysP1()
    {
        Player1 Playereins= getWorld().getObjects(Player1.class).get(0);
        if (Greenfoot.isKeyDown("A"))
        {
            Playereins.setLocation(Playereins.getX()-mSpeed, Playereins.getY());
            Playereins.setRotation(180);
        }
        else if (Greenfoot.isKeyDown("D"))
        {
            Playereins.setLocation(Playereins.getX()+mSpeed, Playereins.getY());
            Playereins.setRotation(360);
        }
        else if (Greenfoot.isKeyDown("S"))
        {
            fallP1();
        }
        if (Greenfoot.isKeyDown("W"))
        {
            if(onGroundP1())
            {
                jumpP1();
            }
            if(getY()>(getWorld().getHeight()-10))
            {
                jumpP1(); //wenn es keinen boden gibt !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
            }
        }
 
    }
 
    public void checkFallP1()
    {
        if(onGroundP1())
        {
        }
        else{
            fallP1();
        }    
    }
 
    public boolean onGroundP1()
    {
        Player1 Playereins= getWorld().getObjects(Player1.class).get(0);
        Actor unter = Playereins.getOneObjectAtOffset( 0, 30, Platform.class );
        return unter != null;
    }
 
    public void jumpP1()
    {
        vSpeed = -jumpHeight;
        fallP1();
    }
 
    public void fallP1()
    {
        Player1 Playereins= getWorld().getObjects(Player1.class).get(0);
        Playereins.setLocation( Playereins.getX(), Playereins.getY() + vSpeed);
        vSpeed = vSpeed + acceleration;
    }
 
}
danpost danpost

2020/12/6

#
No collision checking methods can be performed on an actor outside of the class(es) of that actor.
You need to login to post a reply.