// 動きを計算する void Room_Update( Room *self ) { MV1SetRotationXYZ( self->door, VGet( 0, self->rotY, 0 ) ); MV1SetPosition(self->room, VGet( 200, 0, 300 ) ); MV1SetPosition(self->door, VGet( 1250, 0, -540 ) ); MV1SetPosition(self->glass, VGet( 200 + self->slide, 0, 300) ); MV1SetPosition(self->table, VGet( 200 - 43, 0, 300 + 721) ); MV1SetPosition(self->bed, VGet( 200 + 668, 0, 300 + 632) ); MV1SetPosition(self->hammer, VGet( 200, 0, 300 ) ); MV1SetPosition(self->paper0, VGet( 200 - 1206, 275, 300 - 59 ) ); MV1SetPosition(self->pot, VGet( 200, 0, 300 ) ); MV1SetRotationXYZ( self->paper1, VGet( 0, self->role * PHI / 360, 0 ) ); MV1SetPosition(self->paper1, VGet( 200 - 746, 137, 300 + 741) ); MV1SetRotationXYZ( self->paper2, VGet( 0, self->role * PHI / 360, 0 ) ); MV1SetPosition(self->paper2, VGet( 200 + 528, 22 + 141, 300 + 724) ); MV1SetRotationXYZ( self->paper3, VGet( 0, self->role * PHI / 360, 0 ) ); MV1SetPosition(self->paper3, VGet( 200 + 726, 22 + 83, 300 + 582 ) ); //開く if(self->swit == 1 || self->swit == -1){ door_open(self); } if( self->s_swit == 1 || self->s_swit == -1 ){ slide_glass(self); } self->role++; if(self->door_close_count > 0) { if(self->door_close_count == 1){self->swit = -1;} self->door_close_count--; } /* if(Pad_Get( KEY_INPUT_W ) > 0){ self->x++; } else if(Pad_Get( KEY_INPUT_S ) > 0){ self->x--; } if(Pad_Get( KEY_INPUT_D ) > 0){ self->y++; } else if(Pad_Get( KEY_INPUT_A ) > 0){ self->y--; } if(Pad_Get( KEY_INPUT_V ) > 0){ self->z++; } else if(Pad_Get( KEY_INPUT_B ) > 0){ self->z--; } */ //if(Pad_Get( KEY_INPUT_Q ) == -1){printf("\n x= %d y = %d z = %d \n",self->x,self->y, self->z);} }
void stepin_door(item_t *door, player_t *who) { door_open(door); }