2 registered members (Ayumi, 1 invisible),
584
guests, and 1
spider. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Focus auf ein Objekt...?
#392255
01/20/12 18:13
01/20/12 18:13
|
Joined: Jan 2011
Posts: 27 Hamburg
Olchi
OP
Newbie
|
OP
Newbie
Joined: Jan 2011
Posts: 27
Hamburg
|
Guten Tag, werd mir Mühe geben es kurz zu machen... Folgendes Problem, ein Spiel ähnlich O-game...Habe im WED einige (15) Planeten-Modelle gesetzt und dem skill 1 jeweils eine fortlaufende Nummer gegeben um sie im Script als eindeutige ID zu verwenden (plid). die action dazu kümmert sich um die Kreisbahn der Planeten (Winkelfunktionen in einer Dauerschleife). Bissher kein Poblem. Wenn ich nun mit der linken Maus draufklicke, lasse ich nur zum Test einen beep ertönen, klappt auch. Auf diesem Objekt sollen sich später eine Menge Daten kontinuierlich verändern, die in einem Panel sichtbar sind, natürlich immer die Daten die zu dem angeklickten Objekt gehören,(ich mache das mit Arrays).Ich glaube das funktioniert mit der Definition eines Pointers den ich im Click-Event bestimme, ich habe soviel herumprobiert, mir schwirrt der Kopf. Wo muß ich was machen??? Ich versuche hier mal irgendwie meinen Code zu zeigen, der allerdings noch völli konfus erscheint da ich noch vieles probiere. //////////////////////////////////////////////////////////// #include <acknex.h> #include <default.c> //////////////////////////////////////////////////////////// var camrad = 2500;//Umlaufradius der Camera var campan = 1;//Winkel pro step für Kamera-pan var camtilt = 1;//Winkel pro step für Kamera-tilt var camspeed = 10;//Kmerageschwindigkeit vertikal var cam_max_z = 2500;//höchste Kamera-Position var cam_min_z = -2500;//niedrigste Kamera-Position //////////////////////////////////////////////////////////// var _plid = 0; var x_rad[3] = {200,400,600}; var y_rad[3] = {200,400,1000}; var z_rad[3] = {200,0,100}; var winkel[3] = {0,90,180}; var pl_speed[3] = {5,10,15};
//////////////////////////////////////////////////////////// FONT* ari_12 = "Arial#12"; FONT* ari_14 = "Arial#14"; FONT* ari_18 = "Arial#18"; FONT* ari_24 = "Arial#24"; //////////////////////////////////////////////////////////// BMAP* maus_pcx = "maus.pcx"; //////////////////////////////////////////////////////////// ENTITY* sonne; ENTITY* start;//aktueller Planet, der mit links angeklickt wurde //////////////////////////////////////////////////////////// function sonnenlicht() { if(event_type == EVENT_TOUCH) { my.ambient = 300; my.lightrange = 2500; } if(event_type == EVENT_RELEASE) { my.ambient = 0; my.lightrange = 0; } } //////////////////////////////////////////////////////////// function planet_data() { if(event_type == EVENT_TOUCH) { my.ambient = 100; my.lightrange = 1500; } if(event_type == EVENT_RELEASE) { my.ambient = 0; my.lightrange = 0; } if(event_type == EVENT_CLICK) { _plid = my.skill1; beep(1); } } //////////////////////////////////////////////////////////// action planet_ini() { my.emask = ENABLE_TOUCH | ENABLE_RELEASE | ENABLE_CLICK | ENABLE_RIGHTCLICK; my.event = planet_data; var plid = my.skill1; while(1) { my.x = cos(winkel[plid]) * x_rad[plid]; my.y = sin(winkel[plid]) * y_rad[plid]; my.z = sin(winkel[plid]) * z_rad[plid]; winkel[plid] += pl_speed[plid]; wait(-1); } } //////////////////////////////////////////////////////////// function camsteuerung() { my.emask = ENABLE_TOUCH | ENABLE_RELEASE; my.event = sonnenlicht; vec_set(camera.x,vector(-2500,0,0)); vec_set(camera.pan,vector(0,0,0)); while(1) { if(key_a) { sonne.pan += campan * time_step; camera.pan = sonne.pan-180; camera.x = cos(sonne.pan) * camrad; camera.y = sin(sonne.pan) * camrad; } if(key_d) { sonne.pan -= campan * time_step; camera.pan = sonne.pan-180; camera.x = cos(sonne.pan) * camrad; camera.y = sin(sonne.pan) * camrad; } if(key_w) { camera.tilt += camtilt * time_step; } if(key_s) { camera.tilt -= camtilt * time_step; } if(key_q) { camera.z += camspeed * time_step; } if(key_e) { camera.z -= camspeed * time_step; } //map.pos_x += 10 * (key_a - key_d) * time_step; //map.pos_y += 10 * (key_w - key_s) * time_step; wait(1); } } //////////////////////////////////////////////////////////// function erstellewelt() { sonne = ent_create("null.mdl",vector(0,0,0),camsteuerung); /* pl[0] = ent_create("planet_0.mdl",vector(plx[0],ply[0],plz[0]),planet_ini); pl[1] = ent_create("planet_1.mdl",vector(plx[1],ply[1],plz[1]),planet_ini); pl[2] = ent_create("planet_1.mdl",vector(plx[2],ply[2],plz[2]),planet_ini); */ } //////////////////////////////////////////////////////////// PANEL* testpanel = { bmap = "testpanel.pcx"; pos_x = 824; pos_y = 0; layer = 10; blue = 200; green = 128; red = 128; digits(5,5,"Kamera-Pan = %.2f",ari_12,1,camera.pan); digits(5,20,"Kamera-Tilt = %.2f",ari_12,1,camera.tilt); digits(5,35,"ID = %.2f",ari_12,1,_plid); flags = VISIBLE; } //////////////////////////////////////////////////////////// function main() { video_screen = 1;//Vollbildmodus video_mode = 8;//Auflösung = 1024 * 768 Pixel level_load("stco_neu.wmb");//Lade Level wait(3); //Warte bis Level geladen ist mouse_mode = 2; mouse_map = maus_pcx; mouse_range = 5000; //camsteuerung(); //kreissbahn(); erstellewelt();
while(1) { mouse_pos.x = mouse_cursor.x; mouse_pos.y = mouse_cursor.y; wait(1); } }
arbeite lustig und gediegen, was nicht fertig wird bleibt liegen!
|
|
|
Re: Focus auf ein Objekt...?
[Re: Superku]
#392264
01/20/12 20:18
01/20/12 20:18
|
Joined: Apr 2005
Posts: 3,076 Germany, NRW
rvL_eXile
3D Artist
|
3D Artist
Joined: Apr 2005
Posts: 3,076
Germany, NRW
|
Ogame ^^ Das hab ich 2007 auch mal angefangen... Wenn du möchtest, kannst du en paar Zeilen von mir benutzen (C-Script). Dann haste schonmal die ganze Kacke mit der Ressourcen Verwaltung (Gebäude kosten etc fertig)...
Gruß Sebastian
Tutorials: [Blender]Terrain creation ENG/GER [Blender]Low Poly Tree Modeling [GIMP]Create a Texture for Terrains CLICK HERE
|
|
|
Re: Focus auf ein Objekt...?
[Re: rvL_eXile]
#392340
01/21/12 19:00
01/21/12 19:00
|
Joined: Jan 2011
Posts: 27 Hamburg
Olchi
OP
Newbie
|
OP
Newbie
Joined: Jan 2011
Posts: 27
Hamburg
|
Hallo Superkuh, ich neige dazu etwas zu umständlich zu beschreiben...Der wirre Code ist nicht der mit dem ich arbeite, er ist quick and dirty zum test dahingeklickt um mein Problem zu beschreiben...okay, Versuch misslungen. Eine möglichst einfache Beschreibung: Ich will mit links auf ein belibiges Objekt klicken. Dieses Objekt produziert kontinuirlich (jede Sekunde) irgendwelche Waren (Daten). Diese Daten will ich auf einem Panel in Form von Zahlen und Text darstellen. Klicke ich nun auf ein anderes Objekt, so sollen selbstverständlich die Daten des jeweils angeklickten Objektes zu sehen sein und zwar solange, bis ich ein anderes Objekt anklicke. Ich glaube das dieses mit einem Pointer geht, zB im click-event "meinpointer" oder so, und im panel mit "digits...blablabla, meinpointer.variable"
Ist das die Lösung, wenn ja...wo muß ich einen pointer definieren? Wenn es nicht die Lösung ist....Hiiilfe!!! Zu rvL_eXile, Ich habe zwar zentnerweise Tabellen in Excel erstellt und mir alle benötigten Formel mittels learning by doing (bin kein Mathe-Prof) erarbeitet, aber deine Zeilen interessieren mich mächtig! Mein Code kommt mir an vielen Stellen sehr lang und umstänlich vor, aber it works...
Olchi
arbeite lustig und gediegen, was nicht fertig wird bleibt liegen!
|
|
|
Re: Focus auf ein Objekt...?
[Re: Olchi]
#392351
01/21/12 20:40
01/21/12 20:40
|
Joined: Apr 2005
Posts: 3,076 Germany, NRW
rvL_eXile
3D Artist
|
3D Artist
Joined: Apr 2005
Posts: 3,076
Germany, NRW
|
okay hier ma die File: <---Hier--->Wichtig sind folgende Files: Header.wdl (dort hab ich bis ausbaustufe 25 alle Werte eingetragen). Beispielsweise bei: Var Metallmine_kosten[75] = 50,30,20, Der erste Wert ist das benötigte Metall, der 2. steht für Kristall und der dritte für den Energieverbrauch -Mine_ausbau.wdl -Produktion.wdl -Forschung.wdl (dort sind auch Forschungen vorhanden, die es bei Ogame nicht gibt...) Schau dir die Sachen in Ruhe an (sind en paar tausend Zeilen ) Wenn du fragen hast, frag einfach, evtl kann ich dir da helfen. Gruß Sebastian
Tutorials: [Blender]Terrain creation ENG/GER [Blender]Low Poly Tree Modeling [GIMP]Create a Texture for Terrains CLICK HERE
|
|
|
Moderated by mk_1, Perro, rayp, Realspawn, Rei_Ayanami, rvL_eXile, Spirit, Superku, Tobias, TSG_Torsten, VeT
|