Gamestudio Links
Zorro Links
Newest Posts
Change chart colours
by 7th_zorro. 05/11/24 09:25
Data from CSV not parsed correctly
by dr_panther. 05/06/24 18:50
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
1 registered members (AndrewAMD), 1,213 guests, and 2 spiders.
Key: Admin, Global Mod, Mod
Newest Members
Hanky27, firatv, wandaluciaia, Mega_Rod, EternallyCurious
19051 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 1 of 2 1 2
Vector* Pointer Problem #236283
11/13/08 11:37
11/13/08 11:37
Joined: Jul 2007
Posts: 424
EUROPE
maslone1 Offline OP
Senior Member
maslone1  Offline OP
Senior Member

Joined: Jul 2007
Posts: 424
EUROPE
Hi!

Ich habe ein kleines aber störendes Problem mit Vector* Pointer. (Mit der Suchfunktion habe ich im Forum keine brauchbare Antwort gefunden.)

Folgendes Beispiel:

////////////////////////////////////////
function Shiff()
{
VECTOR* speed;

while(1)
{

my.speed += 10*time_step;

....
...
.
wait(1);
}}
////////////////////////////////////////

Dies nur zur Veranschauung...

Wenn ich diese Funktion nur einer Entity zuweise, gibts keine Probleme, weise ich jedoch diese Funktion x-beliebe Entitys zu,
dan taucht eine Fehlermeldung auf, die beschreibt, dass hier ein Pointer-Fehler vorliegt.
Kann mann Vector* nur global schreiben?
Dann müsste ich aber für jede Entity einen eigenen Vector* schrieben frown ....

Wenn ich nun die funktion so schreibe:
////////////////////////////////////////
function Shiff()
{
var speed[3];

while(1)
{

speed[1] += 10*time_step;

....
...
.
wait(1);
}}
////////////////////////////////////////
... funktionert das Programm ohne probleme. Egal ob ich nur einer Entity oder 100erten Entitys diese Funktion zuweise.

Gibt es nicht eine Möglichkeit auch Vector* lokal zu nutzen?
Ich möchte aus "optischen" gründen nicht var-arrays verwenden.

Danke für Eure Antworten!

Cheers
Marcel


A8c, Blender, FlStudio, Unity3d
Re: Vector* Pointer Problem [Re: maslone1] #236286
11/13/08 11:53
11/13/08 11:53
Joined: Oct 2008
Posts: 24
Germany
H
Hazardos Offline
Newbie
Hazardos  Offline
Newbie
H

Joined: Oct 2008
Posts: 24
Germany
lite-c stellt leider nur 64 Vektoren zur Verfügung, daher wirst du um dreidimensionale variablen nicht herumkommen. Problem ist der gleichzeitige Zugriff jeder Funktion auf eben die verfügbaren Vektoren, daher die Fehlermeldung.
Ich hatte damit auch Probleme und musste die vec_rotate-Funktion komplett neu schreiben, damit ich keine Vektoren verwenden muss.

Gruß, Jörn

Re: Vector* Pointer Problem [Re: Hazardos] #236289
11/13/08 12:05
11/13/08 12:05
Joined: Jul 2004
Posts: 1,710
MMike Offline
Serious User
MMike  Offline
Serious User

Joined: Jul 2004
Posts: 1,710
hey marcel., i did not know you could use vector* and then my.speed.. seams a little odd.

Re: Vector* Pointer Problem [Re: maslone1] #236302
11/13/08 14:20
11/13/08 14:20
Joined: Jan 2002
Posts: 4,225
Germany / Essen
Uhrwerk Offline
Expert
Uhrwerk  Offline
Expert

Joined: Jan 2002
Posts: 4,225
Germany / Essen
Code:
function Shiff()
{ 
VECTOR* speed;

while(1)
{

my.speed += 10*time_step;

....
...
.
wait(1);
}}


Also das mit den 64 Vektoren vergiss bitte, das ist Blödsinn. Dein Irrtum ist folgender: Wenn Du VECTOR* schreibst deklarierst Du damit nur einen Pointer auf einen Vector. Sonst nichts. Wenn Du dann my.speed schreibst greifst Du auf irgendeinen Entity skill zu und nicht auf den deklarierten Vector Pointer. Wenn Du wirklich einen eigenen Vektor haben willst musst Du VEKTOR myvektor; schreiben. Dann kannst Du mit myvektor.x = 1337; darauf zugreifen


Always learn from history, to be sure you make the same mistakes again...
Re: Vector* Pointer Problem [Re: Uhrwerk] #236362
11/13/08 19:34
11/13/08 19:34
Joined: Jul 2007
Posts: 424
EUROPE
maslone1 Offline OP
Senior Member
maslone1  Offline OP
Senior Member

Joined: Jul 2007
Posts: 424
EUROPE
oh sorry!
Hab hier mist geschrieben (in der eile passiert sowas...)

Den Vector* speed hab ich natürlich weiter per speed.x verwendet. Trotzallem,... hier funktioniert der Code nicht. Pointer-Fehler.

Auch wenn ich es über eine struktur-pointer verwende, passiert das gleiche?.... Außer, wie bereits beschrieben, ich verwende die var-arrays.

(Der Code ist vom grundprinzip so wie von dir beschrieben Uhrwerk,.. danke dass du mich auf meinen SCHWEREN flüchtgkeitsfehler aufmerksam gemacht hast.)


Gibts hier Lösungsansätze?


Last edited by maslone1; 11/13/08 19:35.

A8c, Blender, FlStudio, Unity3d
Re: Vector* Pointer Problem [Re: maslone1] #236363
11/13/08 19:37
11/13/08 19:37
Joined: Jul 2007
Posts: 424
EUROPE
maslone1 Offline OP
Senior Member
maslone1  Offline OP
Senior Member

Joined: Jul 2007
Posts: 424
EUROPE
Hey mike! Yes, you are right! I just wanted to test you wink
i dont know why i wrote this sh.. . maybe the alcohol is the reason.... smile


A8c, Blender, FlStudio, Unity3d
Re: Vector* Pointer Problem [Re: maslone1] #236384
11/13/08 21:16
11/13/08 21:16
Joined: Jan 2002
Posts: 4,225
Germany / Essen
Uhrwerk Offline
Expert
Uhrwerk  Offline
Expert

Joined: Jan 2002
Posts: 4,225
Germany / Essen
Originally Posted By: maslone1
danke dass du mich auf meinen SCHWEREN flüchtgkeitsfehler aufmerksam gemacht hast.

Aber gerne doch. :P Lösungsansätze gibt es auch. Du musst den Pointer initialisieren.
Code:
VECTOR* speed = malloc(sizeof(VECTOR));
memset(speed,0,sizeof(VECTOR));

// do whatever you want with the speed vector.

free(speed);



Always learn from history, to be sure you make the same mistakes again...
Re: Vector* Pointer Problem [Re: Uhrwerk] #236450
11/14/08 09:52
11/14/08 09:52
Joined: Jul 2007
Posts: 424
EUROPE
maslone1 Offline OP
Senior Member
maslone1  Offline OP
Senior Member

Joined: Jul 2007
Posts: 424
EUROPE
Uhrwerk.... du bist mein HELD!

Der größte Held, gleich nach Super- und Spiderman!

Danke vielmals!
Ich werde es heute abend testen...


A8c, Blender, FlStudio, Unity3d
Re: Vector* Pointer Problem [Re: maslone1] #236502
11/14/08 15:03
11/14/08 15:03
Joined: Jan 2002
Posts: 4,225
Germany / Essen
Uhrwerk Offline
Expert
Uhrwerk  Offline
Expert

Joined: Jan 2002
Posts: 4,225
Germany / Essen
Originally Posted By: maslone1
Der größte Held, gleich nach Super- und Spiderman!


*lol* Da kommen schon die ersten Einschränkungen... ;-)


Always learn from history, to be sure you make the same mistakes again...
Re: Vector* Pointer Problem [Re: Uhrwerk] #236527
11/14/08 17:44
11/14/08 17:44
Joined: Jul 2007
Posts: 424
EUROPE
maslone1 Offline OP
Senior Member
maslone1  Offline OP
Senior Member

Joined: Jul 2007
Posts: 424
EUROPE
Hallo Uhrwerk!

Nochmals danke für Deine Hilfe.

Keine Sorge, du gehörst jetzt zu den top 3 Super-Hero's!! wink

Ich werd jetzt mal dein codebeispiel testen.
Und versuchen zu verstehen was es mit sizeof und memset sowie dem free() auf sich hat.....


thanx


A8c, Blender, FlStudio, Unity3d
Page 1 of 2 1 2

Moderated by  HeelX, Lukas, rayp, Rei_Ayanami, Superku, Tobias, TWO, VeT 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1