| | Extreme physics tire | |
| | Auteur | Message |
---|
Oculus Utilisateur confirmé: Rang *****
Messages : 1688
| Sujet: Extreme physics tire Mer 18 Aoû 2010 - 11:28 | |
| Bon voila j'ai des caisse dynamic et je voudrais que lorsque je tire dessus cela les bouges Dans mon hero j'ai sa pour le tire - Code:
-
if mouse_check_button(mb_left) { instance_create(x+cos(aim_angle*pi/180)*75,y+75-sin(aim_angle*pi/180)*75,obj_bullet) }
Dans ma balle - Code:
-
create { speed=20 direction = obj_hero.aim_angle+random(6)-2; } step { image_angle = direction; }
J'avais essayé un truc mais cela ne marchait pas Merci d'avance |
| | | M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Extreme physics tire Mer 18 Aoû 2010 - 12:03 | |
| 1) a ta place, je donnerais une cadence à tes tirs, là il y en a 30/secondes, ça fait beaucoup 2) pas la peine de s'embêter avec pi, pour la position de création de la balle, il suffit de faire : x+lengthdir_x(75,aim_angle),y+lengthdir_y(76,aim_angle) ces deux fonctions donnes les coordonnées (x,y) d'une coordonnée polaire (longueur, angle) ensuite, pour la balle, au lieu de réassigner une direction dans le create, je trouve (personnellement) plus simple de le faire dans l'action de tir du héros : - Code:
-
if mouse_check_button(mb_left) { with(instance_create(x+lengthdir_x(75,aim_angle),y+lengthdir_y(76,aim_angle),obj_bullet))
{ direction=other.aim_angle+random(6)-3 speed=20 } }
le with permet d'executer une action pour l'instance mise entre parenthèse ( or le instance_create retourne l'id de l'sintance crée, donc on peux racourcir comme j'ai écrit) 3)Pour en venir à ta question, il faut nous dire quel moteur physique tu utilises, ou si tu en a fais un toi même. Dans le cas d'un moteur existant, cherche une fonction permettant d'assigner un vecteur force, ou d'ajouter une force, ou encore une vitesse (motion) à un objet. |
| | | Oculus Utilisateur confirmé: Rang *****
Messages : 1688
| Sujet: Re: Extreme physics tire Mer 18 Aoû 2010 - 13:02 | |
| Je pensais que mon titre parlait assez de luis même,j'utilise extréme physics 2.1 et il est donc assez compliqué le mieux serais que vous me donniez le code mais que vous m'expliquiez le code. 1)Je vais le faire je ne l'ai juste pas encore programmé 2) :nezrouge: Qu'est ce que je suis ***
|
| | | M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Extreme physics tire Mer 18 Aoû 2010 - 13:55 | |
| oups, 'avait pas vu le titre "-_- C'est effectivement clair :p 3) function ep_body_apply_impulse_relative(world_id;body_id;relativex;relativey;xforce;yforce;torque;ignoremass;awake) Cette fonction permet d'ajouter une impulsion à un objet. C'est pas à proprement parler un vecteur force, mais ça devrait donner l'effet que tu recherches. Quant aux arguments, j'ai jamais utilisé ce moteur, mais je devine : world_id : identifiant du 'world', configuré au début body_id : identifiant du corps physique de ton objet relativex : position x du point d'application, selon l'objet relativey : position y du point d'application, selon le référentiel objet xforce : composante en abcisse de la force yforce : composante en ordonnée blablabla torque : moment de l'impulsion = force de rotation ignoremass : si on ignore la masse dans les calculs (je pense qu'il faut mettre sur false) awake : propre au moteur, je sais pas ce que ça signifie. Surement si l'objet doit être mis au repos ou pas, un truc dans le genre. bref, un truc genre ep_body_apply_impulse_relative(world_id,id,obj_bullet.x-x,obj_bullet.y-x,obj_bullet.hspeed,obj_bullet.vspeed,0,0,1) bien sur, faut encore modifier la position relative selon l'angle de l'objet, mais je te laisse faire les calculs, c'est de la géométrie basique :p et si jamais, la liste de toutes les fonctions : - Spoiler:
kind dll-stdcall function ep_version():string function ep_set_log_file(enable:real;filename:string;level:real):real function ep_set_show_errors(enable:real):real function ep_message(level:real;string:string):real function ep_print_object_tree():real function ep_first_world():real function ep_last_world():real function ep_gm_functions_init():real function ep_debugdraw_bodies(world_id:real;color_static:real;color_dynamic:real):real function ep_debugdraw_links(world_id:real;color_shapelink:real;color_contactlink:real;color_jointlink:real):real function ep_debugdraw_views(world_id:real;color_view:real):real function ep_debugdraw_velocity(world_id:real;color_velocity:real;scale:real;rotscale:real):real function ep_debugdraw_forces(world_id:real;color_force:real;scale:real;rotscale:real):real function ep_debugdraw_constraints(world_id:real;color_contactpoint:real;color_hingejoint:real;color_distancejoint:real;color_railjoint:real):real function ep_world_create():real function ep_world_destroy(world_id:real):real function ep_world_exists(world_id:real):real function ep_world_clear(world_id:real):real function ep_world_set_settings(world_id:real;timestep:real;iterations:real;contact_threshold:real;velocity_threshold:real;baumgarte_factor:real;mass_bias:real):real function ep_world_set_primary_axis(world_id:real;horizontal:real):real function ep_world_set_sleeping(world_id:real;enable_sleeping:real;time_stable:real;time_outofview:real;stable_maxvel:real;stable_maxrotvel:real):real function ep_world_simulate_step(world_id:real):real function ep_world_previous(world_id:real):real function ep_world_next(world_id:real):real function ep_world_set_uservar(world_id:real;index:real;value:real):real function ep_world_get_uservar(world_id:real;body_id:real;index:real):real function ep_world_first_polygon(world_id:real):real function ep_world_last_polygon(world_id:real):real function ep_world_polygon_count(world_id:real):real function ep_world_first_body(world_id:real):real function ep_world_last_body(world_id:real):real function ep_world_body_count(world_id:real):real function ep_world_first_contact(world_id:real):real function ep_world_last_contact(world_id:real):real function ep_world_contact_count(world_id:real):real function ep_world_first_hingejoint(world_id:real):real function ep_world_last_hingejoint(world_id:real):real function ep_world_hingejoint_count(world_id:real):real function ep_world_first_distancejoint(world_id:real):real function ep_world_last_distancejoint(world_id:real):real function ep_world_distancejoint_count(world_id:real):real function ep_world_first_railjoint(world_id:real):real function ep_world_last_railjoint(world_id:real):real function ep_world_railjoint_count(world_id:real):real function ep_world_first_view(world_id:real):real function ep_world_last_view(world_id:real):real function ep_world_view_count(world_id:real):real function ep_world_shape_count(world_id:real):real function ep_world_force_count(world_id:real):real function ep_polygon_create(world_id:real;vertex_count:real):real function ep_polygon_destroy(world_id:real;polygon_id:real):real function ep_polygon_exists(world_id:real;polygon_id:real):real function ep_polygon_set_vertex(world_id:real;polygon_id:real;index:real;x:real;y:real):real function ep_polygon_initialize(world_id:real;polygon_id:real):real function ep_polygon_previous(world_id:real;polygon_id:real):real function ep_polygon_next(world_id:real;polygon_id:real):real function ep_polygon_set_uservar(world_id:real;polygon_id:real;index:real;value:real):real function ep_polygon_get_uservar(world_id:real;polygon_id:real;index:real):real function ep_body_create_static(world_id:real;groundbody:real):real function ep_body_create_dynamic(world_id:real;norotation:real):real function ep_body_destroy(world_id:real;body_id:real):real function ep_body_exists(world_id:real;body_id:real):real function ep_body_get_first_hingejoint(world_id:real;body_id:real):real function ep_body_get_last_hingejoint(world_id:real;body_id:real):real function ep_body_get_previous_hingejoint(world_id:real;body_id:real;hingejoint_id:real):real function ep_body_get_next_hingejoint(world_id:real;body_id:real;hingejoint_id:real):real function ep_body_get_first_distancejoint(world_id:real;body_id:real):real function ep_body_get_last_distancejoint(world_id:real;body_id:real):real function ep_body_get_previous_distancejoint(world_id:real;body_id:real;distancejoint_id:real):real function ep_body_get_next_distancejoint(world_id:real;body_id:real;distancejoint_id:real):real function ep_body_get_first_railjoint(world_id:real;body_id:real):real function ep_body_get_last_railjoint(world_id:real;body_id:real):real function ep_body_get_previous_railjoint(world_id:real;body_id:real;distancejoint_id:real):real function ep_body_get_next_railjoint(world_id:real;body_id:real;distancejoint_id:real):real function ep_body_calculate_mass(world_id:real;body_id:real):real function ep_body_set_mass(world_id:real;body_id:real;mass:real):real function ep_body_set_inertia(world_id:real;body_id:real;inertia:real):real function ep_body_set_center(world_id:real;body_id:real;localx:real;localy:real;updateinertia:real):real function ep_body_set_position(world_id:real;body_id:real;x:real;y:real;rot:real):real function ep_body_set_position_center(world_id:real;body_id:real;x:real;y:real;rot:real):real function ep_body_set_position_local_point(world_id:real;body_id:real;x:real;y:real;rot:real;localx:real;localy:real):real function ep_body_set_velocity_center(world_id:real;body_id:real;xvel:real;yvel:real;rotvel:real):real function ep_body_set_velocity_local_point(world_id:real;body_id:real;xvel:real;yvel:real;rotvel:real;localx:real;localy:real):real function ep_body_set_max_velocity(world_id:real;body_id:real;maxvel:real;maxrotvel:real):real function ep_body_set_gravity(world_id:real;body_id:real;gravity_x:real;gravity_y:real):real function ep_body_set_damping(world_id:real;body_id:real;damping:real;rotdamping:real):real function ep_body_store_impulses(world_id:real;body_id:real;storecontactimpulses:real;storejointimpulses:real):real function ep_body_set_sleeping(world_id:real;body_id:real;sleepstable:real;sleepoutofview:real):real function ep_body_apply_impulse(world_id:real;body_id:real;localx:real;localy:real;xforce:real;yforce:real;torque:real;local:real;ignoremass:real;awake:real):real function ep_body_apply_impulse_relative(world_id:real;body_id:real;relativex:real;relativey:real;xforce:real;yforce:real;torque:real;ignoremass:real;awake:real):real function ep_body_get_mass(world_id:real;body_id:real):real function ep_body_get_inertia(world_id:real;body_id:real):real function ep_body_get_center_of_mass_x(world_id:real;body_id:real):real function ep_body_get_center_of_mass_y(world_id:real;body_id:real):real function ep_body_get_x(world_id:real;body_id:real):real function ep_body_get_y(world_id:real;body_id:real):real function ep_body_get_x_center(world_id:real;body_id:real):real function ep_body_get_y_center(world_id:real;body_id:real):real function ep_body_get_rot(world_id:real;body_id:real):real function ep_body_get_xvel_center(world_id:real;body_id:real):real function ep_body_get_yvel_center(world_id:real;body_id:real):real function ep_body_get_xvel_local_point(world_id:real;body_id:real;localx:real;localy:real):real function ep_body_get_yvel_local_point(world_id:real;body_id:real;localx:real;localy:real):real function ep_body_get_rotvel(world_id:real;body_id:real):real function ep_body_is_static(world_id:real;body_id:real):real function ep_body_is_groundbody(world_id:real;body_id:real):real function ep_body_is_norotation(world_id:real;body_id:real):real function ep_body_is_sleeping(world_id:real;body_id:real):real function ep_body_stable_timer(world_id:real;body_id:real):real function ep_body_out_of_view_timer(world_id:real;body_id:real):real function ep_body_coord_local_to_world_x(world_id:real;body_id:real;localx:real;localy:real):real function ep_body_coord_local_to_world_y(world_id:real;body_id:real;localx:real;localy:real):real function ep_body_coord_world_to_local_x(world_id:real;body_id:real;worldx:real;worldy:real):real function ep_body_coord_world_to_local_y(world_id:real;body_id:real;worldx:real;worldy:real):real function ep_body_vect_local_to_world_x(world_id:real;body_id:real;vx:real;vy:real):real function ep_body_vect_local_to_world_y(world_id:real;body_id:real;vx:real;vy:real):real function ep_body_vect_world_to_local_x(world_id:real;body_id:real;vx:real;vy:real):real function ep_body_vect_world_to_local_y(world_id:real;body_id:real;vx:real;vy:real):real function ep_body_previous(world_id:real;body_id:real):real function ep_body_next(world_id:real;body_id:real):real function ep_body_set_uservar(world_id:real;body_id:real;index:real;value:real):real function ep_body_get_uservar(world_id:real;body_id:real;index:real):real function ep_body_first_shape(world_id:real;body_id:real):real function ep_body_last_shape(world_id:real;body_id:real):real function ep_body_shape_count(world_id:real;body_id:real):real function ep_body_first_force(world_id:real;body_id:real):real function ep_body_last_force(world_id:real;body_id:real):real function ep_body_force_count(world_id:real;body_id:real):real function ep_contact_exists(world_id:real;contact_id:real):real function ep_contact_get_body1(world_id:real;contact_id:real):real function ep_contact_get_body2(world_id:real;contact_id:real):real function ep_contact_get_shape1(world_id:real;contact_id:real):real function ep_contact_get_shape2(world_id:real;contact_id:real):real function ep_contact_get_normal_x(world_id:real;contact_id:real):real function ep_contact_get_normal_y(world_id:real;contact_id:real):real function ep_contact_get_point1_active(world_id:real;contact_id:real):real function ep_contact_get_point2_active(world_id:real;contact_id:real):real function ep_contact_get_point1_x(world_id:real;contact_id:real):real function ep_contact_get_point1_y(world_id:real;contact_id:real):real function ep_contact_get_point2_x(world_id:real;contact_id:real):real function ep_contact_get_point2_y(world_id:real;contact_id:real):real function ep_contact_get_point1_normalforce(world_id:real;contact_id:real):real function ep_contact_get_point1_tangentforce(world_id:real;contact_id:real):real function ep_contact_get_point2_normalforce(world_id:real;contact_id:real):real function ep_contact_get_point2_tangentforce(world_id:real;contact_id:real):real function ep_contact_get_point1_normalveldelta(world_id:real;contact_id:real):real function ep_contact_get_point1_tangentveldelta(world_id:real;contact_id:real):real function ep_contact_get_point2_normalveldelta(world_id:real;contact_id:real):real function ep_contact_get_point2_tangentveldelta(world_id:real;contact_id:real):real function ep_contact_previous(world_id:real;contact_id:real):real function ep_contact_next(world_id:real;contact_id:real):real function ep_hingejoint_create(world_id:real;body1_id:real;body2_id:real;x1:real;y1:real;x2:real;y2:real;referencerotation:real):real function ep_hingejoint_destroy(world_id:real;hingejoint_id:real):real function ep_hingejoint_exists(world_id:real;hingejoint_id:real):real function ep_hingejoint_set_max_force(world_id:real;hingejoint_id:real;maxforce:real):real function ep_hingejoint_set_motor(world_id:real;hingejoint_id:real;maxmotortorque:real;motorvel:real):real function ep_hingejoint_set_lower_limit(world_id:real;hingejoint_id:real;maxlimittorque:real;rotation:real;restitution:real;velocity:real;velocity_threshold:real):real function ep_hingejoint_set_upper_limit(world_id:real;hingejoint_id:real;maxlimittorque:real;rotation:real;restitution:real;velocity:real;velocity_threshold:real):real function ep_hingejoint_set_lower_spring(world_id:real;hingejoint_id:real;k:real;rotation:real;damping:real):real function ep_hingejoint_set_upper_spring(world_id:real;hingejoint_id:real;k:real;rotation:real;damping:real):real function ep_hingejoint_get_body1(world_id:real;hingejoint_id:real):real function ep_hingejoint_get_body2(world_id:real;hingejoint_id:real):real function ep_hingejoint_get_rotation(world_id:real;hingejoint_id:real):real function ep_hingejoint_get_xforce(world_id:real;hingejoint_id:real):real function ep_hingejoint_get_yforce(world_id:real;hingejoint_id:real):real function ep_hingejoint_get_motor_torque(world_id:real;hingejoint_id:real):real function ep_hingejoint_get_limit_torque(world_id:real;hingejoint_id:real):real function ep_hingejoint_previous(world_id:real;hingejoint_id:real):real function ep_hingejoint_next(world_id:real;hingejoint_id:real):real function ep_hingejoint_set_uservar(world_id:real;hingejoint_id:real;index:real;value:real):real function ep_hingejoint_get_uservar(world_id:real;hingejoint_id:real;index:real):real function ep_distancejoint_create(world_id:real;body1_id:real;body2_id:real;x1:real;y1:real;x2:real;y2:real):real function ep_distancejoint_destroy(world_id:real;distancejoint_id:real):real function ep_distancejoint_exists(world_id:real;distancejoint_id:real):real function ep_distancejoint_set_motor(world_id:real;distancejoint_id:real;maxmotorforce:real;motorvel:real):real function ep_distancejoint_set_lower_limit(world_id:real;distancejoint_id:real;maxlimitforce:real;distance:real;restitution:real;velocity:real;velocity_threshold:real):real function ep_distancejoint_set_upper_limit(world_id:real;distancejoint_id:real;maxlimitforce:real;distance:real;restitution:real;velocity:real;velocity_threshold:real):real function ep_distancejoint_set_lower_spring(world_id:real;distancejoint_id:real;k:real;distance:real;damping:real):real function ep_distancejoint_set_upper_spring(world_id:real;distancejoint_id:real;k:real;distance:real;damping:real):real function ep_distancejoint_get_body1(world_id:real;distancejoint_id:real):real function ep_distancejoint_get_body2(world_id:real;distancejoint_id:real):real function ep_distancejoint_get_distance(world_id:real;distancejoint_id:real):real function ep_distancejoint_get_motor_force(world_id:real;distancejoint_id:real):real function ep_distancejoint_get_limit_force(world_id:real;distancejoint_id:real):real function ep_distancejoint_previous(world_id:real;distancejoint_id:real):real function ep_distancejoint_next(world_id:real;distancejoint_id:real):real function ep_distancejoint_set_uservar(world_id:real;distancejoint_id:real;index:real;value:real):real function ep_distancejoint_get_uservar(world_id:real;distancejoint_id:real;index:real):real function ep_railjoint_create(world_id:real;body1_id:real;body2_id:real;x1:real;y1:real;x2a:real;y2a:real;x2b:real;y2b:real):real function ep_railjoint_destroy(world_id:real;railjoint_id:real):real function ep_railjoint_exists(world_id:real;railjoint_id:real):real function ep_railjoint_set_max_normal_force(world_id:real;railjoint_id:real;maxnormalforce:real):real function ep_railjoint_set_motor(world_id:real;railjoint_id:real;maxmotorforce:real;motorvel:real):real function ep_railjoint_set_lower_limit(world_id:real;railjoint_id:real;maxlimitforce:real;position:real;restitution:real;velocity:real;velocity_threshold:real):real function ep_railjoint_set_upper_limit(world_id:real;railjoint_id:real;maxlimitforce:real;position:real;restitution:real;velocity:real;velocity_threshold:real):real function ep_railjoint_set_lower_spring(world_id:real;railjoint_id:real;k:real;position:real;damping:real):real function ep_railjoint_set_upper_spring(world_id:real;railjoint_id:real;k:real;position:real;damping:real):real function ep_railjoint_get_body1(world_id:real;railjoint_id:real):real function ep_railjoint_get_body2(world_id:real;railjoint_id:real):real function ep_railjoint_get_position(world_id:real;railjoint_id:real):real function ep_railjoint_get_normal_force(world_id:real;railjoint_id:real):real function ep_railjoint_get_motor_force(world_id:real;railjoint_id:real):real function ep_railjoint_get_limit_force(world_id:real;railjoint_id:real):real function ep_railjoint_previous(world_id:real;railjoint_id:real):real function ep_railjoint_next(world_id:real;railjoint_id:real):real function ep_railjoint_set_uservar(world_id:real;railjoint_id:real;index:real;value:real):real function ep_railjoint_get_uservar(world_id:real;railjoint_id:real;index:real):real function ep_view_create(world_id:real):real function ep_view_destroy(world_id:real;view_id:real):real function ep_view_exists(world_id:real;view_id:real):real function ep_view_set_rectangle(world_id:real;view_id:real;x1:real;y1:real;x2:real;y2:real):real function ep_view_previous(world_id:real;view_id:real):real function ep_view_next(world_id:real;view_id:real):real function ep_view_set_uservar(world_id:real;view_id:real;index:real;value:real):real function ep_view_get_uservar(world_id:real;view_id:real;index:real):real function ep_shape_create_box(world_id:real;body_id:real;w:real;h:real;x:real;y:real;rot:real;density:real):real function ep_shape_create_circle(world_id:real;body_id:real;r:real;x:real;y:real;rot:real;density:real):real function ep_shape_create_polygon(world_id:real;body_id:real;polygon_id:real;x:real;y:real;rot:real;density:real):real function ep_shape_destroy(world_id:real;body_id:real;shape_id:real):real function ep_shape_exists(world_id:real;body_id:real;shape_id:real):real function ep_shape_get_first_contact(world_id:real;body_id:real;shape_id:real):real function ep_shape_get_last_contact(world_id:real;body_id:real;shape_id:real):real function ep_shape_get_previous_contact(world_id:real;body_id:real;shape_id:real;contact_id:real):real function ep_shape_get_next_contact(world_id:real;body_id:real;shape_id:real;contact_id:real):real function ep_shape_set_material(world_id:real;body_id:real;shape_id:real;restitution:real;friction:real;normalvelocity:real;tangentvelocity:real):real function ep_shape_set_collision(world_id:real;body_id:real;shape_id:real;collidemask1:real;collidemask2:real;group:real):real function ep_shape_collision_test_box(world_id:real;body_id:real;shape_id:real;w:real;h:real;x:real;y:real;rot:real;contact_threshold:real):real function ep_shape_collision_test_circle(world_id:real;body_id:real;shape_id:real;r:real;x:real;y:real;rot:real;contact_threshold:real):real function ep_shape_collision_test_polygon(world_id:real;body_id:real;shape_id:real;polygon_id:real;x:real;y:real;rot:real;contact_threshold:real):real function ep_shape_previous(world_id:real;body_id:real;shape_id:real):real function ep_shape_next(world_id:real;body_id:real;shape_id:real):real function ep_shape_set_uservar(world_id:real;body_id:real;shape_id:real;index:real;value:real):real function ep_shape_get_uservar(world_id:real;body_id:real;shape_id:real;index:real):real function ep_force_create(world_id:real;body_id:real;x:real;y:real;local:real;ignoremass:real):real function ep_force_destroy(world_id:real;body_id:real;force_id:real):real function ep_force_exists(world_id:real;body_id:real;force_id:real):real function ep_force_set_force(world_id:real;body_id:real;force_id:real;xforce:real;yforce:real;torque:real;awake:real):real function ep_force_previous(world_id:real;body_id:real;force_id:real):real function ep_force_next(world_id:real;body_id:real;force_id:real):real function ep_force_set_uservar(world_id:real;body_id:real;force_id:real;index:real;value:real):real function ep_force_get_uservar(world_id:real;body_id:real;force_id:real;index:real):real
|
| | | Oculus Utilisateur confirmé: Rang *****
Messages : 1688
| Sujet: Re: Extreme physics tire Mer 18 Aoû 2010 - 14:10 | |
| :gniah: Bon se code serais a placer où? Sinon je peux t'envoyer mon jeux en mp |
| | | M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: Extreme physics tire Mer 18 Aoû 2010 - 14:12 | |
| le code est à placer dans la collision entre la balle et la caisse. |
| | | glcraft Utilisateur confirmé: Rang *****
Messages : 1698 Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P Projet Actuel : Jeu de survie avancé
||--------
| Sujet: Re: Extreme physics tire Mer 18 Aoû 2010 - 14:28 | |
| moi je serait vous j'aurais fait une balle en sphere dynamics, c'est moins compliqué
|
| | | Oculus Utilisateur confirmé: Rang *****
Messages : 1688
| Sujet: Re: Extreme physics tire Mer 18 Aoû 2010 - 17:01 | |
| Bon la balle reste sur place obj_hero - Code:
-
if mouse_check_button(mb_left) { with instance_create(x+cos(aim_angle*pi/180)*75,y+75-sin(aim_angle*pi/180)*75,obj_bullet) { speed=20 direction = obj_hero.aim_angle+random(6)-2; } }
obj_bullet - Code:
-
create { body = ep_body_create_dynamic(global.world,true); shape1 = ep_shape_create_circle(global.world,body,0,-0.5,-0.5,0,1); ep_shape_set_collision(global.world,body,shape1,collide1a,collide1b,0); ep_shape_set_material(global.world,body,shape1,1,0,0,0); ep_body_set_mass(global.world,body,100); ep_body_set_damping(global.world,body,0.05,0.05);
physics_object_set(body); } step { image_angle = direction; } End step { physics_object_update(body); } Collisions avec la boite qui doit bouger au contact de la balle { ep_body_apply_impulse_relative(global.world,body,x,y,100,100,100,true,true) }
le sprite de la balle est un rectangle 14*3 |
| | | Oculus Utilisateur confirmé: Rang *****
Messages : 1688
| Sujet: Re: Extreme physics tire Mer 18 Aoû 2010 - 17:31 | |
| Finalement je commence a réussir a faire marcher le truc mais mes balles parte trop vite(il n'y aucun speed) je ne leur image_angle ne change pas
Si j'enlève la fonction physics_object_update(body) l'image angle est bonne mais les balles restes sur place
edit :j'ai mis dans le step speed=10 et sa marche sauf l'or de la collisions avec le bloc cela ne marche pas très bien donc si quelqu'un pouvait me débuggé le truc 2 fois sur 3 sa fait rien 1 fois sur 3 le bloc par en l'air |
| | | glcraft Utilisateur confirmé: Rang *****
Messages : 1698 Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P Projet Actuel : Jeu de survie avancé
||--------
| Sujet: Re: Extreme physics tire Mer 18 Aoû 2010 - 19:56 | |
| en fait, ca ne sert absolument a rien de mettre speed et imge_angle=direction avec ca : - Code:
-
body = ep_body_create_dynamic(global.world,true); shape1 = ep_shape_create_circle(global.world,body,0,-0.5,-0.5,0,1); ep_shape_set_collision(global.world,body,shape1,collide1a,collide1b,0); ep_shape_set_material(global.world,body,shape1,1,0,0,0); ep_body_set_mass(global.world,body,100); ep_body_set_damping(global.world,body,0.05,0.05); il faut par le biais des fonctions du moteur physique trouver l'angle et les coordonnées du body (je ne l'ai pas le moteur mais je suppose que c'est ep_body_get_angle() et ep_body_get_position() ) et dans hero : - Citation :
- if mouse_check_button(mb_left)
{ with instance_create(x+cos(aim_angle*pi/180)*75,y+75-sin(aim_angle*pi/180)*75,obj_bullet) { speede=20 dir = obj_hero.aim_angle+random(6)-2; } } et dans bullet, adapte la force avec ces variable (avec la fonction que ta passer mad_doc) |
| | | Oculus Utilisateur confirmé: Rang *****
Messages : 1688
| Sujet: Re: Extreme physics tire Mer 18 Aoû 2010 - 20:24 | |
| Ah désolé j'ai oublié de dire que j'avais réussi je passerais mon code demain |
| | | Contenu sponsorisé
| Sujet: Re: Extreme physics tire | |
| |
| | | | Extreme physics tire | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |