Objets sur Script: Méthode des listes: Partie 2: Michael Bay et Interaction sexuelle

Voir le sujet précédent Voir le sujet suivant Aller en bas

Tutoriel Objets sur Script: Méthode des listes: Partie 2: Michael Bay et Interaction sexuelle

Message par UltraBill le Lun 22 Déc - 23:55

On se retrouve pour la 2ème Partie du cours .
Je vous avez laissé en plan pendant un bon moment sans la fin du tutoriel (d’ailleurs faut voir la partie 1 avant les cocos ) sur la création des objets. Ouais parce que c'est bien de pouvoir créer et déplacer les objets, mais on peut pas les faire interagir entre eux et c'est pas bien. Donc ici le cours seras partagé en 2 partie dans lequel on verras comment détruire les objets, puis un autre où je vous expliquerais les interactions.


1-La destruction d'objet (sponsorisé par Michael Bay)


La dernière fois on as vue comment détruire toutes les listes afin de libéré la mémoire. Cette foie on va voir comment supprimer un seul objet quand il y en as plusieurs.
Donc nous allons nous attelé  à la destruction des objets. Cette partie va être relativement courte (ctb) du fait que c'est extrêmement simple.
Bon on commence par créer une nouvelle fonction .script (que je vais nommer personnellement destroyPerso.Script). Bon souvenons nous de la commandes pour détruire un objet qui est:

Code:
ds_list_delete(id,pos);

voilà on as fini

HEIN?  Suspect
Dans le sens où on sait déjà ce qu'il faut faire: juste empiler les ds_list_destroy et voilà.
Code:
ds_list_delete(personnage_x,pos);
ds_list_delete(personnage_y,pos);
// la différence entre "delete" et "destroy" est que "destroy "détruit toute la liste alors et que "delete" ne détruit qu'un valeur à un position définie

Mais comment on fait pour la position dans les listes ?
Si vous connaissez un peu le fonctions (c'est fortement conseillé pour la suite de votre apprentissage sur script) vous savez qu'on peut récupérer les arguments. On vas donc demander la valeur de " i " en argument (" i " étant la variable de la boucle for de la fonction d'affichage. allez voir la partie 1 si vous vous en souvenez plus) avec la valeur argument0:
Code:
ds_list_delete(personnage_x,argument0);
ds_list_delete(personnage_y,argument0);
Voilà la fonction est terminée il reste plus qu'a l'utilisé correctement. Par exemple on veut détruire notre objet quand on appuis sur " espace ". on vas donc exécuter notre fonction dans l'autre fonction afficheObjet.script  
Code:
for(i=0;i<ds_list_size(personnage_x);i+=1)
{
  x_temp = ds_list_find_value(personnage_x,i);
  y_temp = ds_list_find_value(personnage_y,i);
  x_temp += 5;
  y_temp+= 6;
  draw_rectangle(x_temp-3;y_temp-3,x_temp+3,y_temp+3,0);
  ds_list_replace(personnage_x,i,x_temp);
  ds_list_replace(personnage_y,i,y_temp);
  
  if keyboard_check_pressed(vk_space)
  {
    function("destroyPerso",i);
  }
}
voilà maintenant on peut détruire un seul objet au lieu de tous les détruire.

LA SUITE (récurrente) A SUIVRE
avatar
UltraBill
Expert de Script (2D, IA et DLL)
Expert de Script (2D, IA et DLL)

Messages : 45
Date d'inscription : 29/06/2013
Age : 19
Localisation : pas loin de Fort Boyard

Projet(s)
Niveau de connaissances dans Script: Professionnel
Spécialité: Programmeur

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum