This project is read-only.
1

Closed

Vererbung SceneObject /Kinect Steurung funktioniert nicht mehr

description

Hi,
Bei Nova1.6 funktioniet die Vererbung nicht mehr richtig (Fehler 1 "Crazy_Castle_Crush.Objekte" implementiert den geerbten abstrakten Member "NOVA.Scenery.SceneObject.Draw(bool, NOVA.Scenery.CameraObject)" nicht.)

Seit 1.52 funktioniert dieser Code (vermutlich)

Vector2 screenPos = skeleton.Joints[JointType.HandRight].ScreenPosition;
screenPos.X *= Scene.Game.Window.ClientBounds.Width;
screenPos.Y *= Scene.Game.Window.ClientBounds.Height;
Vector2 normScreenPos = new Vector2(screenPos.X, screenPos.Y);

bzw diese Abfrage nicht mehr:

if (normScreenPos.X >= 0.9f && normScreenPos.Y >= 0.9f)
Closed Jan 15, 2014 at 11:19 PM by Izzo

comments

Izzo wrote Jan 12, 2014 at 4:55 PM

Zu Frage 1:
Seit NOVA v1.6 ist die SceneObject-Klasse (nun richtigerweise) eine abstrakte Klasse, welche nur allgemein ein Szenenobjekt definiert, d.h. keinerlei Grafik- oder Physikbeschreibung hat. Deshalb ist die Draw-Methode abstrakt und muss von den abgeleiteten Klassen wie BoxObject, SphereObject, ModelObject usw. definiert werden, da nur diese die Information des "genauen" Szenenobjekts beinhalten. Deshalb sollten eigenen Klassen nicht direkt von SceneObject, sondern von dessen abgeleiteten Klassen (BoxObject, SphereObject, ModelObject usw.) abgeleitet werden.

Zu Frage 2:
Was genau funktioniert im gegebenen Code-Beispiel nicht? Ist er nicht kompilierbar, wirft er Exceptions oder liefert er falsche Werte?

Marc_Dr wrote Jan 13, 2014 at 10:35 AM

Ok, dann versuch ich es jetzt mal mit ModelObjects.
Zur 2. Frage:
Wenn die If-Abfrage erfüllt ist, soll die Kamera auf die andere Seite wechseln. Das hat bisher auch gut funktioniert, aber jetzt wechselt die Kamera sobald das Skelett erkannt wird. Ich glaube dass die Bedingung dauerhaft erfüllt ist. Kann es sein dass die ScreenPosition einen anderen Wert liefert?

Izzo wrote Jan 15, 2014 at 11:18 PM

Nur zur Vollständigkeit: Die ScreenPosition-Eigenschaften liefert (seit NOVA 1.5.x) absolute Werte im Screen-Space.

Das Issue sollte nun erledigt sein und wird jetzt deshalb geschlossen. Falls es noch Probleme gibt, wird es wieder geöffnet.

wrote Jan 15, 2014 at 11:19 PM