Forum d'entraide à la création de jeux d'aventure
 
PortailPortail  AccueilAccueil  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment :
Réassort du coffret Pokémon 151 ...
Voir le deal

 

 Avoir un background animé

Aller en bas 
5 participants
AuteurMessage
pluslong
C'est quoi la Tasse Bleue ?
C'est quoi la Tasse Bleue ?
pluslong


Nombre de messages : 20

Age : 42

Localisation : Nantes

Date d'inscription : 20/10/2006


Avoir un background animé Empty
MessageSujet: Avoir un background animé   Avoir un background animé EmptyDim 22 Oct 2006 - 22:06

Bonjour,
J'aimerais, pour ameliorer mes decors avoir un decor animé. C'est a dire par exemple avoir de l'eau qui bouge, une chute d'eau, de la fumée, un feu, des oiseaux qui volent enfin ce genre de chose.
Est t-il possible d'importer en guise de background une suite d'image? si oui combien d'image maximum?
Ou alors doit t-on plutot faire ca avec des objects? combien d'objects peut t-on mettre maximum par room? Ya t-il une taille maximum pour les objets?
Merci d'avance pour l'aide que vous pourrez m'apporter;)
Revenir en haut Aller en bas
http://www.pierreberger.net
MarvinS
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
MarvinS


Nombre de messages : 76

Age : 46

Date d'inscription : 18/09/2006


Avoir un background animé Empty
MessageSujet: Re: Avoir un background animé   Avoir un background animé EmptyLun 23 Oct 2006 - 7:29

Voici les limites d'AGS :

20 objects per room
100 messages per room
500 global messages
299 rooms per game
300 inventory items
15000 imported sprites
240 sprites per folder
600 views
16 loops per view
20 frames in each loop
300 characters
50 GUIs
30 controls on each GUI
500 dialog topics
3000 dialog-script messages
30 options per topic
20 screen overlays at a time
500 script GlobalInts
50 script GlobalStrings
100 interaction editor global variables
5 background frames per room
20 mouse cursors

AGS gère les fonds animés image par image. On peut donc rentrer une suite d'image pour créer une animation, par contre c'est limité à 5 images.

Sinon il faut se servir des objets, mais beaucoup d'objets causeront vite un ralentissement du moteur du jeu.
Revenir en haut Aller en bas
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


Avoir un background animé Empty
MessageSujet: Re: Avoir un background animé   Avoir un background animé EmptyLun 23 Oct 2006 - 15:36

Ou encore il y a possiblité de gérer tout ça avec les commandes Raws d'AGS qui permettent de manipuler le fond de la Room.

Après il faut savoir le faire de façon à ne pas monopoliser le moteur comme l'a justement fait remarqué MarvinS ^^
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
pluslong
C'est quoi la Tasse Bleue ?
C'est quoi la Tasse Bleue ?
pluslong


Nombre de messages : 20

Age : 42

Localisation : Nantes

Date d'inscription : 20/10/2006


Avoir un background animé Empty
MessageSujet: Re: Avoir un background animé   Avoir un background animé EmptyLun 23 Oct 2006 - 22:00

Merci bcp pour toutes ces precisions tres importantes! 5 images pour un background animé ca fait pas lourd ca risque d'etre trop juste pour ce que je veux faire, je vais plutot utiliser des objets. Alors par contre j'imagine que plus les objets sont gros plus ca va ramer. Cela dit je me rend pas trop compte, on a quand meme des PC puissant maintenant enfin plus qu'avant clin d'oeil. Est ce qu'un jeu rame rapidement? MarvinS tu dis que ca arrivera vite, ca doit dependre aussi de la resolution et de la profondeur de couleur employé?
Revenir en haut Aller en bas
http://www.pierreberger.net
Shai-la
Ouvrière en Chef de la Grande Tasse Bleue
Ouvrière en Chef de la Grande Tasse Bleue
Shai-la


Nombre de messages : 6018

Age : 45

Localisation : Montpellier

Date d'inscription : 17/04/2006


Avoir un background animé Empty
MessageSujet: Re: Avoir un background animé   Avoir un background animé EmptyMar 24 Oct 2006 - 6:41

Oui tout à fait, ton jeu sera plus rapide avec une résolution et une profondeur de couleurs faibles. Mais c'est vrai que sur des PC puissants, il y a peu de chances pour que ça ralentisse de manière conséquente.
Sur mon 600 Mhz, je n'ai pas de problème, sauf quand j'ai des décors trop grands... :face:
Revenir en haut Aller en bas
http://marionpoinsot.fr/video
MarvinS
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
MarvinS


Nombre de messages : 76

Age : 46

Date d'inscription : 18/09/2006


Avoir un background animé Empty
MessageSujet: Re: Avoir un background animé   Avoir un background animé EmptyMar 24 Oct 2006 - 7:20

J'ai un 1,6Ghz et il est vrai que je n'ai jamais réussi à faire ramer un jeu AGS. Mais je n'ai aussi jamais utilisé un nombre énormer d'objets animés en même temps.

Donc il est fort possible que les pc actuels tiennent le route face, ce sont juste les recommandations dans la FAQ de AGS qui dit de ne pas en abuser.
Revenir en haut Aller en bas
mikosworld
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
avatar


Nombre de messages : 130

Age : 43

Localisation : Ain - France

Date d'inscription : 18/06/2006


Avoir un background animé Empty
MessageSujet: Re: Avoir un background animé   Avoir un background animé EmptyMer 22 Oct 2008 - 15:45

Ah alors j'ai une question, j'ai fait une room, et je souhaiterais un intégrer un élément graphique animé (une alarmé activée en 2 sprites), le problème c'est que je vois qu'il n'ait pas possible de charger l'anim via une VIEW, comment faire ?
Revenir en haut Aller en bas
http://www.nouvelle-cible.com
Shai-la
Ouvrière en Chef de la Grande Tasse Bleue
Ouvrière en Chef de la Grande Tasse Bleue
Shai-la


Nombre de messages : 6018

Age : 45

Localisation : Montpellier

Date d'inscription : 17/04/2006


Avoir un background animé Empty
MessageSujet: Re: Avoir un background animé   Avoir un background animé EmptyMer 22 Oct 2008 - 17:06

Euh je ne comprends pas bien ta question ?
Tu fais un object, tout simplement... non ?
Revenir en haut Aller en bas
http://marionpoinsot.fr/video
mikosworld
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
avatar


Nombre de messages : 130

Age : 43

Localisation : Ain - France

Date d'inscription : 18/06/2006


Avoir un background animé Empty
MessageSujet: Re: Avoir un background animé   Avoir un background animé EmptyMer 22 Oct 2008 - 22:57

Shai-la a écrit:
Euh je ne comprends pas bien ta question ?
Tu fais un object, tout simplement... non ?
LOL, quand tu crées un objet tu dois choisir une image, moi je ne veux pas une image fixe mais animée ...
Revenir en haut Aller en bas
http://www.nouvelle-cible.com
Shai-la
Ouvrière en Chef de la Grande Tasse Bleue
Ouvrière en Chef de la Grande Tasse Bleue
Shai-la


Nombre de messages : 6018

Age : 45

Localisation : Montpellier

Date d'inscription : 17/04/2006


Avoir un background animé Empty
MessageSujet: Re: Avoir un background animé   Avoir un background animé EmptyJeu 23 Oct 2008 - 6:49

C'est possible d'animer les objets :

Code:
object.SetView(view);
object.Animate(loop, vitesse, eRepeat/eOnce, eBlock/eNoBlock, eForwards/eBackwards);
Revenir en haut Aller en bas
http://marionpoinsot.fr/video
mikosworld
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
avatar


Nombre de messages : 130

Age : 43

Localisation : Ain - France

Date d'inscription : 18/06/2006


Avoir un background animé Empty
MessageSujet: Re: Avoir un background animé   Avoir un background animé EmptyJeu 23 Oct 2008 - 13:22

Shai-la a écrit:
C'est possible d'animer les objets :

Code:
object.Animate(loop, vitesse, eRepeat/eOnce, eBlock/eNoBlock, eForwards/eBackwards);
Ah ok, j'avais pas mis la fonction "Object.Animate()" ;(
Par contre, j'ai un bug mon pointeur reste gelé ...

Autre question, j'arrive à appeler correctement une fonction lorsque je survole (MouseOver) un Hotspot ou un objet, mais comment rétablir mes fonctions d'avant quand je sors de ces zones ?? :surprise:

En tout cas merci sourire
Revenir en haut Aller en bas
http://www.nouvelle-cible.com
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


Avoir un background animé Empty
MessageSujet: Re: Avoir un background animé   Avoir un background animé EmptyVen 24 Oct 2008 - 15:56

Pas vraiment le temps de détailler ma réponse pour le moment, mais je pense qu'une solution raisonnable est d'utiliser la fonction repeatedly_execute et de faire une vérification de ce que la souris survole.

Une façon de faire serait :
Code:
function repeatedly_execute() {
  if (Hotspot.GetAtScreenXY(mouse.x, mouse.y) != hTONHOTSPOT) {
    // Ici, tu places les commandes pour remettre les choses
    // en état, comme ce doit être lorsque le joueur ne survole
    // pas le hotspot.
  }
}

en remplaçant bien sûr hTONHOTSPOT par le nom script de ton hotspot.

mikosworld a écrit:
Par contre, j'ai un bug mon pointeur reste gelé ...
T'as bien mis eNoBlock comme paramètre dans la fonction Animate ?

Voilà, bon courage.
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
mikosworld
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
avatar


Nombre de messages : 130

Age : 43

Localisation : Ain - France

Date d'inscription : 18/06/2006


Avoir un background animé Empty
MessageSujet: Re: Avoir un background animé   Avoir un background animé EmptySam 25 Oct 2008 - 15:13

Citation :
T'as bien mis eNoBlock comme paramètre dans la fonction Animate ?
Ah j'avais oublié d'ajouter ce paramètre, et maintenant mon jeu n'est plus bloqué sourire

Citation :
function repeatedly_execute() {
if (Hotspot.GetAtScreenXY(mouse.x, mouse.y) != hTONHOTSPOT) {
// Ici, tu places les commandes pour remettre les choses
// en état, comme ce doit être lorsque le joueur ne survole
// pas le hotspot.
}
}
Pour ta fonction OK, mais tu ne connaitrais pas une formule plus générale, c-a-d qui s'applique globalement à tous les objets et hotspots du jeu ?

Merci pour ton aide sourire
Revenir en haut Aller en bas
http://www.nouvelle-cible.com
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


Avoir un background animé Empty
MessageSujet: Re: Avoir un background animé   Avoir un background animé EmptySam 25 Oct 2008 - 22:11

mikosworld a écrit:
tu ne connaitrais pas une formule plus générale, c-a-d qui s'applique globalement à tous les objets et hotspots du jeu ?

Là comme ça, je vois guère qu'un truc du style :
Code:
function repeatedly_execute() {
  if ((Hotspot.GetAtScreenXY(mouse.x, mouse.y) == hotspot[0]) && (InventoryItem.GetAtScreenXY(mouse.x, mouse.y) == null) && (Object.GetAtScreenXY(mouse.x, mouse.y) == null) && (Character.GetAtScreenXY(mouse.x, mouse.y) == null) && (GUI.GetAtScreenXY(mouse.x, mouse.y) == null)) {
    // Ici, tu places les commandes pour remettre les choses
    // en état, comme ce doit être lorsque le joueur ne survole
    // rien.
  }
}

C'est pas très très propre je trouve mais ça devrait faire ce qu'il faut, et je vois pas mieux là.

Bonne continuation.
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
mikosworld
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
avatar


Nombre de messages : 130

Age : 43

Localisation : Ain - France

Date d'inscription : 18/06/2006


Avoir un background animé Empty
MessageSujet: Re: Avoir un background animé   Avoir un background animé EmptyLun 27 Oct 2008 - 15:10

Super Kitai !!!

Par contre, quand je clique mon perso ne peut plus bouger, comme si le "Walkable Area" était désactivé triste
J'ai mis ceci :
Code:
function repeatedly_execute() {
  if ((Hotspot.GetAtScreenXY(mouse.x, mouse.y) == hotspot[0]) && (InventoryItem.GetAtScreenXY(mouse.x, mouse.y) == null) && (Object.GetAtScreenXY(mouse.x, mouse.y) == null) && (Character.GetAtScreenXY(mouse.x, mouse.y) == null) && (GUI.GetAtScreenXY(mouse.x, mouse.y) == null)) {
  mouse.Mode (eModePointer);
  label1.text = "ALLER VERS";
  }
}


Autre petite chose, je souhaiterais maintenant pouvoir exécuter les actions suivantes : "mouse.SelectNextMode;" et "playsound(1);" uniquement quand mon pointeur est sur un objet et un hotspot quelconque ?

J'avais commencé à mettre ça dans le GlobalScript , mais ça ne marche pas triste
Code:

...
else if (button = eMouseRight || button = eMouseWheel(South){
if ((Hotspot.GetAtScreenXY(mouse.x, mouse.y) != hotspot[0]) && (Object.GetAtScreenXY(mouse.x, mouse.y) != null))
  {
    mouse.SelectNextMode;
    playsound(1);
  }
}
...

En tout cas merci pour vos coups de main !
Revenir en haut Aller en bas
http://www.nouvelle-cible.com
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


Avoir un background animé Empty
MessageSujet: Re: Avoir un background animé   Avoir un background animé EmptyLun 27 Oct 2008 - 15:50

mikosworld a écrit:
Par contre, quand je clique mon perso ne peut plus bouger
C'est parce que tu as mis la commande mouse.Mode (eModePointer);. Je pense que tu devrais mettre mouse.Mode(eModeWalkto);. Ainsi le curseur sera dans le mode permettant de marcher à l'endroit où tu pointes.

Pour "SelecNextMode();" (ne pas oublier les paranthèses) et "PlaySound(1);" (attention aux majuscules), tu veux les exécuter quand tu survoles un hotspot ET un objet ou bien un hotspot OU un objet ?
Parce que le script que tu as mis ici correspond à "ET" (et contient quelques fautes).

Je vais considérer que tu veux "OU" (ce qui semble le plus logique) :
Code:
else if ((button == eMouseRight) || (button == eMouseWheelSouth)) {
if ((Hotspot.GetAtScreenXY(mouse.x, mouse.y) != hotspot[0]) || (Object.GetAtScreenXY(mouse.x, mouse.y) != null))
  {
    mouse.SelectNextMode();
    PlaySound(1);
  }
}
Bien sûr je considère que ce code est dans la fonction on_mouse_click.

Voilà, j'espère que ça fonctionnera.
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
mikosworld
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
avatar


Nombre de messages : 130

Age : 43

Localisation : Ain - France

Date d'inscription : 18/06/2006


Avoir un background animé Empty
MessageSujet: Re: Avoir un background animé   Avoir un background animé EmptyLun 27 Oct 2008 - 19:48

Tu es un Chef, ça marche !! j'y étais presque arrivé sourire
Big merci à toi ...

EDIT : Je voulais savoir j'ai mis une condition globale, c-a-d quand mon pointeur est sur un objet ou un hotspot, j'aimerais qu'il joue un son, sauf que dans je mets l'action "PlaySound(1);" bein il me le joue indéfiniment, j'arrive pas à trouver dans la doc de AGS triste, quelque chose pour jouer le son qu'une seule fois quand l'utilisateur fait son mouse-over ...
Revenir en haut Aller en bas
http://www.nouvelle-cible.com
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


Avoir un background animé Empty
MessageSujet: Re: Avoir un background animé   Avoir un background animé EmptyMar 28 Oct 2008 - 1:26

mikosworld a écrit:
Big merci à toi ...
Je t'en prie ^^

mikosworld a écrit:
EDIT : Je voulais savoir j'ai mis une condition globale, c-a-d quand mon pointeur est sur un objet ou un hotspot, j'aimerais qu'il joue un son, sauf que dans je mets l'action "PlaySound(1);" bein il me le joue indéfiniment, j'arrive pas à trouver dans la doc de AGS triste, quelque chose pour jouer le son qu'une seule fois quand l'utilisateur fait son mouse-over ...

EDIT : En réalité il y a une façon beaucoup plus rapide de faire que j'avais oubliée. J'ai changé le message et le code proposé en conséquence. Cependant on perd la détection GUI et Objet d'Inventaire (ils correspondent à eLocationNothing).

Une solution serait d'utiliser une variable globale pour détecter si l'on arrive ou si l'on quitte le survol de quelque chose en particulier.
Code:
// en haut du GlobalScript
LocationType IsMouseOver = eLocationNothing;

function MouseGetsOn(LocationType over) {
  // Cette fonction va se déclencher (une seule fois) dès
  // que le curseur arrive sur un objet, un personnage
  // ou un hotspot.
 
  IsMouseOver = over;
 
  if (over == eLocationObject) {
    // Ici les actions à exécuter quand le curseur survole
    // un objet. L'objet est retourné par la fonction
    // Object.GetAtScreenXY(mouse.x, mouse.y)
  }

  if (over == eLocationCharacter) {
    // Comme pour eMouseOverObject, mais cette fois
    // pour les personnages.

  }

  if (over == eLocationHotspot) {
   
  }

  // Ici les commandes que vous voulez exécuter
  // quel que soit l'élément survolé.

}


function MouseGetsOff(LocationType over) {
  // Cette fonction va se déclencher (une seule fois) dès
  // que le curseur quitte un objet, un personnage
  // ou un hotspot.
 
  IsMouseOver = eLocationNothing;
 
  if (over == eLocationObject) {
   
  }
 
  if (over == eLocationCharacter) {
   
  }
 
  if (over == eLocationHotspot) {
   
  }

}

Puis dans le repeatedly_execute :
Code:
function repeatedly_execute()  {

  LocationType over = GetLocationType(mouse.x, mouse.y);
  if (over == eLocationNothing) {
    if (IsMouseOver != eLocationNothing) MouseGetsOff(IsMouseOver);
  }
  else if (IsMouseOver == eLocationNothing) MouseGetsOn(over);
 
  // La suite de repeatedly_execute...

Bon stun peu long, mais c'est parce que j'ai voulu faire quelque chose d'universel.

Normalement là t'as juste à définir dans MouseGetsOn les actions que tu veux exécuter quand la souris arrive (et seulement quand elle arrive) sur un élément, donc dans ton cas tu mettras PlaySound(1); dans if (over == eLocationObject) et dans if (over == eLocationHotspot).

Pour ton cas, MouseGetsOff devrait pas être utile, d'ailleurs globalement je pense qu'elle servirait pas beaucoup.

Ce système est bien sûr améliorable, notamment en ajoutant la détection du GUI et de l'Objet d'Inventaire à l'écran (qui pour le moment passent à la trappe vu que GetLocationType retourne eLocationNothing pour ces éléments).

Voilà voilà, en tout cas je te souhaite bon courage, j'espère pas t'avoir trop embrouillé avec mes affaires ^^


Dernière édition par Kitai le Mar 28 Oct 2008 - 15:42, édité 2 fois
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
mikosworld
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
avatar


Nombre de messages : 130

Age : 43

Localisation : Ain - France

Date d'inscription : 18/06/2006


Avoir un background animé Empty
MessageSujet: Re: Avoir un background animé   Avoir un background animé EmptyMar 28 Oct 2008 - 13:03

Parfais, ton script global fonctionne nickel, le "moteur de jeu" commence à prendre forme sourire
Revenir en haut Aller en bas
http://www.nouvelle-cible.com
Contenu sponsorisé





Avoir un background animé Empty
MessageSujet: Re: Avoir un background animé   Avoir un background animé Empty

Revenir en haut Aller en bas
 
Avoir un background animé
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Background de GUI animé.
» Plus de 5 frames pour un background animé ?
» Background animé et déplacement d'objet.
» Hors des limites du background ???
» Animation Background

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Adventure Games Studio fr :: CREATION DE JEUX :: Questions / Réponses-
Sauter vers: