3 registered members (Ayumi, Akow, AndrewAMD),
1,505
guests, and 9
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Re: Tacho
[Re: Superku]
#313127
02/27/10 20:28
02/27/10 20:28
|
Joined: Feb 2010
Posts: 28
Wr2_freak
OP
Newbie
|
OP
Newbie
Joined: Feb 2010
Posts: 28
|
Code funzt jetzt.Aber tacho funzt nicht.ALso weder Tachozeiger noch bewegung.
Last edited by Wr2_freak; 02/27/10 20:32.
|
|
|
Re: Tacho
[Re: Wr2_freak]
#313130
02/27/10 20:31
02/27/10 20:31
|
Joined: Feb 2010
Posts: 28
Wr2_freak
OP
Newbie
|
OP
Newbie
Joined: Feb 2010
Posts: 28
|
Das Projekt ist in 3 Teile aufgespaltet Steuerung
///////////////////////////////
#include <acknex.h>
#include <default.c>
///////////////////////////////
var speed=0;
var my_var = 0;
my_var = speed;
function main()
{
fps_max = 240;
max_entities = 1500;
level_load ("Test.wmb");
}
action car_1()
{
//////////////////////////////////
while(1)
{
// KAMERA:
vec_set(camera.x,vector(-200,0,60));
vec_rotate(camera.x,camera.pan);
vec_lerp(camera.pan,camera.pan,my.pan,0.2);
vec_add(camera.x,my.x);
//////////////
// move the car using relative_speed
if (key_a)
my.pan += 5*time_step; // increase the pan angle of the car
if (key_d)
my.pan -= 5*time_step; // decrease the pan angle of the car
// move the car using relative_speed
if (key_w && speed<80) // wenn die Leertaste gedrückt und speed kleiner als 10 ist
speed+=10*time_step; // erhöhe Speed
else // sonst
if(speed>0) //solange speed grösser als null ist
speed -= 3 * time_step; // vermindere speed
c_move (my, vector(speed*time_step, 0, 0), nullvector, GLIDE); // bewege das Auto abhängig von speed
////// Rückwärts-Difinition
if (key_s ) // press and hold the "Space" key to move the car
c_move (my, vector(-20*time_step, 0, 0), nullvector, GLIDE);
if (key_cul)
my.pan += 5*time_step; // increase the pan angle of the car
if (key_cur)
my.pan -= 5*time_step; // decrease the pan angle of the car
// move the car using relative_speed
if (key_cuu && speed<80) // wenn die Leertaste gedrückt und speed kleiner als 10 ist
speed+=10*time_step; // erhöhe Speed
else // sonst
if(speed>0) //solange speed grösser als null ist
speed -= 3 * time_step; // vermindere speed
c_move (my, vector(speed*time_step, 0, 0 ), nullvector, GLIDE); // bewege das Auto abhängig von speed
////// Rückwärts-Difinition
if (key_cud)
c_move (my, vector(-20*time_step, 0, 0), nullvector, GLIDE);
if (key_n) // press and hold the "Space" key to move the car
c_move (my, vector(50*time_step, 0, 0), nullvector, GLIDE);
wait(1);
}
}
Menü
function quit_program()
{
while (key_any) { wait (1); }
sys_exit(NULL);
}
STRING* back_str = "Spielstand zurücksetzen ? ";
TEXT* sicher_txt =
{
pos_x = 100;
pos_y = 85;
string (back_str);
flags = OUTLINE ;
font = Arial#17;
}
PANEL* Menu =
{
button(30,100, "Newgame2.jpg","Newgame1.jpg", "Newgame1.jpg", load_level , NULL, NULL);
button(150,400, "exit2.jpg","exit1.jpg", "exit1.jpg", quit_program , NULL, NULL);
button(120,325, "Credits2.jpg","Credits1.jpg", "Credits1.jpg", playVideo2 , NULL, NULL);
button(90,250, "options2.jpg","options1.jpg", "options1.jpg", show_option , NULL, NULL);
button(60,175, "Load2.jpg","Load1.jpg", "Load1.jpg", load_error , NULL, NULL);
flags = OUTLINE ;
}
PANEL* Main6 =
{
pos_x = 400;
pos_y = 130;
bmap = "Main3.jpg";
flags = OUTLINE ;
}
PANEL* Demo =
{
pos_x = 450;
pos_y = 50;
bmap = "Demo.tga";
flags = OUTLINE | OVERLAY ;
}
PANEL* back =
{
button(280,70, "losch2.jpg","losch1.jpg", "losch1.jpg", delete_file , NULL , NULL);
flags = OUTLINE ;
}
PANEL* test =
{
button(280,530, "Speichern2.jpg","Speichern1.jpg", "Speichern1.jpg", show_hauptmenue2 , NULL , NULL);
flags = OUTLINE ;
}
PANEL* Main1 =
{
pos_x = 400;
pos_y = 130;
bmap = "Main3.jpg";
flags = OUTLINE ;
}
function show_hauptmenue2()
{
// Panels unsichtbar machen:
reset (test, SHOW);
reset (back, SHOW);
reset (sicher_txt, SHOW );
// Panels sichtbar machen:
set (Menu, SHOW );
set (Main1, SHOW );
set (Demo, SHOW );
}
PANEL* Tacho =
{
pos_x = 600;
pos_y = 400;
bmap = "Tacho.tga";
flags = OUTLINE | OVERLAY ;
}
PANEL* Tachozeiger =
{
center_x = 1;
center_y = 1;
needle(700,340,"Zeiger.tga",700,340,180,0,100,my_var);
flags = VISIBLE | SHOW ;
}
function exit_level()
{
level_load(NULL);
reset (Tacho , SHOW);
reset (Tachozeiger , SHOW);
set (Menu , SHOW);
set (Main1 , SHOW);
set (Demo, SHOW );
mouse_mode = 2;
}
function load_level()
{
level_load ("Test.wmb");
set (Tacho , SHOW);
set (Tachozeiger , SHOW);
reset (Menu , SHOW);
reset (Main1 , SHOW);
reset (Demo , SHOW );
mouse_mode = 0;
}
function playVideo2()
{
media_play("Credits.wmv",0,100);
}
function show_option()
{
reset (Menu, SHOW );
reset (Main1, SHOW );
reset (Demo, SHOW );
set (test, SHOW );
set (back, SHOW);
set (sicher_txt, SHOW );
}
function delete_file()
{
file_delete ("Test.SAV");
}
PANEL* error1 =
{
button(-225,180, "error1.jpg","error1.jpg", "error1.jpg", NULL , NULL, NULL);
flags = OUTLINE ;
}
function load_error()
{
set (error1, SHOW);
wait(300);
reset (error1, SHOW);
}
Vorspann Hauptcode
Code:#include <acknex.h>
#include <windows.h>
#include <default.c>
#include "Menue.c"
#include "Steuerung.c"
//////////////////////
BMAP* Maus = "Maus.tga";
function playVideo()
{
media_play("Vorspann.wmv",0,100);
}
function main()
{
video_screen = 2;
max_entities = 1500;
//level_load();
on_h = exit_level;
mouse_map = Maus;
mouse_mode = 2;
while (1)
{
mouse_pos.x = mouse_cursor.x;
mouse_pos.y = mouse_cursor.y;
wait (1);
sky_color.blue = 0;
sky_color.green = 0;
sky_color.red = 0;
}
}
PANEL* Main6 =
{
pos_x = 220;
pos_y = 100;
bmap = "Main3.jpg";
flags = SHOW | OUTLINE ;
}
PANEL* Link=
{
button(310,530, "Newgame2.jpg","Newgame1.jpg", "Newgame1.jpg", show_hauptmenue , NULL, NULL);
flags = SHOW | OUTLINE;
}
function show_hauptmenue()
{
// Panels unsichtbar machen:
reset (Link, SHOW);
reset (Main6, SHOW);
// Panels sichtbar machen:
set (Menu, SHOW );
set (Main1, SHOW );
set (Demo, SHOW );
}
Last edited by Wr2_freak; 02/27/10 20:34.
|
|
|
Re: Tacho
[Re: Wr2_freak]
#313137
02/27/10 21:06
02/27/10 21:06
|
Joined: Aug 2007
Posts: 1,922 Schweiz
Widi
Serious User
|
Serious User
Joined: Aug 2007
Posts: 1,922
Schweiz
|
Setze den layer der Panels. Panels mit höherem layer werden VOR denen mit niedrigem layer angezeigt. Die Nadel muss einen höheren layer (z.B layer = 2;) haben als der Tacho (z.B layer = 1;)
EDIT: Habe gerade nachgeschaut, wird auch im TUTORIAL erklärt. (Auch auf deutsch !!!!)
Last edited by Widi; 02/27/10 21:15.
|
|
|
Re: Tacho
[Re: Wr2_freak]
#313144
02/27/10 21:29
02/27/10 21:29
|
Joined: Aug 2007
Posts: 1,922 Schweiz
Widi
Serious User
|
Serious User
Joined: Aug 2007
Posts: 1,922
Schweiz
|
Wie gross ist denn dein Zeiger? Sehe gerade dass der Drehpunkt bei 700,340 liegt. Der Zeiger muss ja den ganzen Bildschirm ausfüllen (grösser als 700 * 340). Falls nicht, verringere die Werte auf mal die Hälfte der Grösse des Bildes.
EDIT: Sonst versuche einen normalen Panel mit dem Zeigerbild (ohne needle) darzustellen, um zu sehen ob das Bild überhaupt dargestellt wird.
Last edited by Widi; 02/27/10 21:32.
|
|
|
Re: Tacho
[Re: Wr2_freak]
#313147
02/27/10 21:35
02/27/10 21:35
|
Joined: Feb 2010
Posts: 28
Wr2_freak
OP
Newbie
|
OP
Newbie
Joined: Feb 2010
Posts: 28
|
es wird nun angezegigt.ABer der zeiger bewegt sich keinen milimeter
PANEL* Tachozeiger =
{
center_x = 100;
center_y = 100;
needle(100,100,"Zeiger.tga",100,100,180,0,100,my_var);
layer = 2;
flags = VISIBLE ;
}
var speed=0;
var my_var = 0;
my_var = speed;
action car_1()
{
//////////////////////////////////
while(1)
{
// KAMERA:
vec_set(camera.x,vector(-200,0,60));
vec_rotate(camera.x,camera.pan);
vec_lerp(camera.pan,camera.pan,my.pan,0.2);
vec_add(camera.x,my.x);
//////////////
// move the car using relative_speed
if (key_a)
my.pan += 5*time_step; // increase the pan angle of the car
if (key_d)
my.pan -= 5*time_step; // decrease the pan angle of the car
// move the car using relative_speed
if (key_w && speed<80) // wenn die Leertaste gedrückt und speed kleiner als 10 ist
speed+=10*time_step; // erhöhe Speed
else // sonst
if(speed>0) //solange speed grösser als null ist
speed -= 3 * time_step; // vermindere speed
c_move (my, vector(speed*time_step, 0, 0), nullvector, GLIDE); // bewege das Auto abhängig von speed
////// Rückwärts-Difinition
if (key_s ) // press and hold the "Space" key to move the car
c_move (my, vector(-20*time_step, 0, 0), nullvector, GLIDE);
if (key_cul)
my.pan += 5*time_step; // increase the pan angle of the car
if (key_cur)
my.pan -= 5*time_step; // decrease the pan angle of the car
// move the car using relative_speed
if (key_cuu && speed<80) // wenn die Leertaste gedrückt und speed kleiner als 10 ist
speed+=10*time_step; // erhöhe Speed
else // sonst
if(speed>0) //solange speed grösser als null ist
speed -= 3 * time_step; // vermindere speed
c_move (my, vector(speed*time_step, 0, 0 ), nullvector, GLIDE); // bewege das Auto abhängig von speed
////// Rückwärts-Difinition
if (key_cud)
c_move (my, vector(-20*time_step, 0, 0), nullvector, GLIDE);
if (key_n) // press and hold the "Space" key to move the car
c_move (my, vector(50*time_step, 0, 0), nullvector, GLIDE);
wait(1);
}
}
Last edited by Wr2_freak; 02/27/10 21:38.
|
|
|
|