Mercurial > hg > old > magoroku_racing.bad
diff car.cc @ 131:2cc2796b3681
move car
author | e085768 |
---|---|
date | Thu, 21 Jul 2011 00:04:08 +0900 |
parents | 586d68c42c5d |
children | 1a92b58b5d01 |
line wrap: on
line diff
--- a/car.cc Wed Jul 13 16:59:04 2011 +0900 +++ b/car.cc Thu Jul 21 00:04:08 2011 +0900 @@ -20,7 +20,7 @@ /* 初期位置と初期方向 */ static FVECTOR location = {0, 0, 0, 1}; -static FVECTOR direction = {0, 0, 0, 1}; +static FVECTOR direction = {0, 0, 1, 1}; extern FILE* main_fp; @@ -80,7 +80,7 @@ ps2_vu0_copy_vector(car->direction, direction); ps2_vu0_copy_vector(car->location, location); INIT_VECTOR(car->vertical, 0, -1, 0, 1); - INIT_VECTOR(car->body->xyz, 600, 100, 500, 1); + INIT_VECTOR(car->body->xyz, 0, 0, 0, 1); INIT_VECTOR(car->body->angle, 0, 0, 0, 1); ps2util_obj_Renew_transMatrix(car->body); @@ -176,18 +176,18 @@ car_swerve(CarPtr car, int flg) { FMATRIX rot; + FVECTOR v; car->y_angle += (float)flg*car->rotation_angle; car->y_angle += (car->y_angle < 0) ? 360.0 : 0; car->y_angle += (car->y_angle > 360.0) ? -360.0 : 0; - // 下2行目でなんか2重に処理してる気がするけど別に良いのか + // rotの初期化が下2行目でなんか2重に処理してる気がするけど別に良いのか ps2_vu0_unit_matrix(rot); ps2_vu0_rot_matrix_y( rot, rot, degree2radian((float)flg*car->rotation_angle) ); - FVECTOR v; ps2_vu0_copy_vector(v, car->direction); - ps2_vu0_apply_matrix(car->direction, rot, v); + ps2_vu0_apply_matrix(car->direction, rot, v); } /*---------------------------- @@ -265,7 +265,8 @@ printf("car->speed = %f ", car->speed); printf("\n"); - + + printf("car->body->xyz[x] = %f ", car->body->xyz[0]); printf("car->body->xyz[y] = %f ", car->body->xyz[1]); printf("car->body->xyz[z] = %f ", car->body->xyz[2]); printf("car->body->xyz[3] = %f ", car->body->xyz[3]); @@ -296,10 +297,10 @@ // 前フレームのcar->locationをprev_locationに保存 ps2_vu0_copy_vector(prev_location, car->location); - // 車の現在地 = 車の位置 + 移動量 だと思う多分 + // 車の現在地 = 車の位置 + 移動量 って事だと思う多分 ps2_vu0_add_vector(car->location, car->location, mov); - // いまちょっとコメントアウト:miya + // いまちょっとコメントアウト /* // 壁にぶつかった時の処理 if (car_field_check(game,car) == false) { @@ -308,10 +309,10 @@ car->speed = car->speed*0.5; } */ - } +/* car->body->transfer と car->y_angle はここでなんか関係ある */ static void car_axis_rotation(CarPtr car) { @@ -332,7 +333,7 @@ ps2_vu0_outer_product(rotaxis, car->vertical, yd); { - float scale=1/NORM(rotaxis); + float scale=1/NORM(rotaxis); // 単位ベクトル? rotaxis[0] *= scale; rotaxis[1] *= scale; rotaxis[2] *= scale;