|
Re: Verwendung von vec_for_vertex
[Re: Vyshess]
#302416
12/19/09 10:46
12/19/09 10:46
|
Joined: May 2009
Posts: 445 Peine, Germany
Razoron
Senior Member
|
Senior Member
Joined: May 2009
Posts: 445
Peine, Germany
|
Du gehst in MED in die "Vertex Mode" und wählst einen gelben Punkt(Vertex) aus. Dann steht unten rechts z.B. "Vertex #285". Das setzt du dann als "nummer" parameter ein.
Last edited by Razoron; 12/19/09 18:07.
|
|
|
Re: Verwendung von vec_for_vertex
[Re: Vyshess]
#302481
12/19/09 20:24
12/19/09 20:24
|
Joined: Dec 2009
Posts: 53
Vyshess
OP
Junior Member
|
OP
Junior Member
Joined: Dec 2009
Posts: 53
|
okay danke! ich hab jetzt den code dafür gemacht. die action wird von einer unsichtbaren entity ausgeführt. Doch irgendwie bekomm ich es nicht richtig hin. Der Sprite bewegt sich nicht mit.Hier der momentane Code:
/////////////////////////////Antrieb-Sprite//////////////////
string antrieb_map = <antrieb01.bmp>;
var antrieb_pos;
function antrieb_an()
////////////////////////////////////
function antrieb_an()
{
my.passable = on;
my.facing = on;
my.bright = on;
my.flare = on;
my.alpha = 100;
my.ambient = 100;
while (1)
{
my.scale_x = 0.4+random(0.125)-0.125;
my.scale_y = my.scale_x;
wait(1);
}
ent_remove(my);
}
/////////////////////////////////////////
action start_antrieb
{
vec_for_vertex(antrieb_pos,player,53);
ent_create (antrieb_map,antrieb_pos, antrieb_an);
sleep (0.1);
}
Ich hab heut irgendwie ein Brett vorm Kopf. Was muss ich ändern damit sich der Sprite mit dem Player bewegt?? Ach und noch am Rande: my.alpha hat irgendwie keine Auswirkung auf den Sprite..was habe ich da denn übersehen??
A8 Commercial A5 Standart --------------- created games: - Bomber Maniacs
|
|
|
Re: Verwendung von vec_for_vertex
[Re: Vyshess]
#302483
12/19/09 20:37
12/19/09 20:37
|
Joined: Nov 2008
Posts: 354 saeculum II
MPQ
Senior Member
|
Senior Member
Joined: Nov 2008
Posts: 354
saeculum II
|
Das Vertex muss, da sich der Player bewegt, ständig eine neue Position bekommen.
Du setzt aber die Position des Sprites nur am Anfang auf die Position, updatest diese dann aber nicht mehr.
füge z.B noch hinzu (innerhalb der while-schleife):
vec_for_vertex(antrieb_pos,player,53); vec_set (my.x, antrieb_pos);
Last edited by MPQ; 12/19/09 20:39.
new project in early stage...
Intel Xeon X3450 2,66GHz | Mushkin 8 Gib | Zotac GTS250 + 7300LE | A8.3 com
|
|
|
Re: Verwendung von vec_for_vertex
[Re: Vyshess]
#302539
12/20/09 11:16
12/20/09 11:16
|
Joined: Dec 2009
Posts: 53
Vyshess
OP
Junior Member
|
OP
Junior Member
Joined: Dec 2009
Posts: 53
|
Hey danke für die schnelle Antwort.Hab`s dort wie du es beschrieben hast , eingesetzt aber jetzt erscheint der Sprite beim links und rechts fliegen nur für ein paar sekunden an der Düse.Danach erscheint er wieder an der Stelle wo die unsichtbare Entity ,die die action ausführt, befindet. Dabei erscheint er zwar auf der selben z coordinate wie der player,verändert seine y coordinate aber überhaupt nicht. Sobal das Raumschiff dann wieder bewegt wird ,springt der Sprite wieder an die Düse und bleibt dort wie schon gesagt nur ein paar Sekunden... Allerdings ist mir was seltsames aufgefallen. Als ich nebenbei noch ein skript zum schießen von einem Laser geschrieben habe ist mir aufgefallen das solange ich die taste "S" zum schießen gedrückt halte(ja das dauerfeuer muss ich noch unterbinden) verhält sich der Sprite des Antriebs genau so wie er soll. Also solange ich "S" drücke kann ich das Raumschiff bewegen wie ich will und der Sprite ist die ganze Zeit da wo er auch sein soll... Hier wäre der Code zum abfeuern des Lasers:
///////////////laser_shot///////////
function fire_laser();
function move_laser();
function fire_laser()
{
proc_kill(4);
snd_play(laser_wav,50,0);
ent_create (laser_mdl,player.pos,move_laser);
}
function move_laser()
{
my.enable_entity = on;
my.enable_block = on;
my.transparent = on;
my.bright = 100;
my.pan = player.pan;
my.tilt = player.tilt;
my.roll = player.roll;
my.move=on;
while(1)
{
my.x += 150*time;
wait(1);
}
}
Und das hier steht in meiner player_action um über die Taste "S" die Laser function auszuführen:
if(key_s == 1)
{ fire_laser(); }
Ich kann einfach den Zusammenhang von dem Laser schießen und dem Verhalten des Antriebs-Sprites nicht nachvollziehen...warum verhält sich der Sprite nur beim Laser Abschuss korrekt?? Kann mir echt keiner helfen? Ich bastle schon die ganzen letzten Tage nur an diesem Antrieb-Code,hab auch schon so gut wie alle AUM`s durchsucht und ähnliche Codes angeschaut..ich vermute langsam das es ein Bug in der vec_for_vertex selbst ist.Anderes kann ich mir das nicht mehr erklären.
Last edited by Vyshess; 12/22/09 16:41.
A8 Commercial A5 Standart --------------- created games: - Bomber Maniacs
|
|
|
Re: Verwendung von vec_for_vertex
[Re: Vyshess]
#307351
01/28/10 17:54
01/28/10 17:54
|
Joined: Dec 2009
Posts: 53
Vyshess
OP
Junior Member
|
OP
Junior Member
Joined: Dec 2009
Posts: 53
|
Kann mir wirklich niemand helfen?? Ich hab jetzt schon so viel ausprobiert und dreh bald ab. Hab die AUM`s auch nochmal durchgeblättert und bei dem Morrowing Code(AUM48) eine Zeile gesehen die theoretisch genau das bewirkt was ich will. Also hab ich den Code genommen und angepasst. In meiner while Schleife steht nun das:
while(1)
{
vec_for_vertex(antieb_pos, player, 53);
my.x = antieb_pos.x;
my.y = antieb_pos.y;
my.z = antieb_pos.z;
my.scale_x = 0.4+random(0.125)-0.125;
my.scale_y = my.scale_x;
wait(1);
}
ent_remove(my);
}
Das hat aber nicht wirklich was an meinem Problem geändert.Ich hab echt keine Ideen mehr. Is wahrescheinlich ein Bug..anderes kann ich mir das bald nich mehr erklären...
|
|
|
Re: Verwendung von vec_for_vertex
[Re: Vyshess]
#307358
01/28/10 18:33
01/28/10 18:33
|
Joined: Sep 2003
Posts: 5,900 Bielefeld, Germany
Pappenheimer
Senior Expert
|
Senior Expert
Joined: Sep 2003
Posts: 5,900
Bielefeld, Germany
|
Die vec_for_vertex-Funktion hat keinen Bug. Ich kann aber nicht wirklich schlau aus Deinem Code werden. Das einzige, was mir jetzt auffällt, ist, dass antrieb_pos nur als Variable, mit nur einem Wert, definiert wird und nicht als Vektor, mit 3 Werten.
|
|
|
Re: Verwendung von vec_for_vertex
[Re: Vyshess]
#307487
01/29/10 16:39
01/29/10 16:39
|
Joined: Feb 2009
Posts: 3,207 Germany, Magdeburg
Rei_Ayanami
Expert
|
Expert
Joined: Feb 2009
Posts: 3,207
Germany, Magdeburg
|
@Pappenheimer: Er benutzt scheinbar noch A5 @Vyshess: Du kannst dir die Extra Edition von A7 gratis auf der download seite runterladen, denn lite-c ist viel besser und übersichtlicher als WDL-script . wenn du schon a7 hast, und ich deine erste falsch interpretiert habe, dann habe ich keine idee - sorry... edit: vec_for_vertex nimmt das ganze in einen vector und nicht in eine variable
Last edited by Rei_Ayanami; 01/29/10 16:39.
|
|
|
Moderated by mk_1, Perro, rayp, Realspawn, Rei_Ayanami, rvL_eXile, Spirit, Superku, Tobias, TSG_Torsten, VeT
|