Please login or register.

Login with username, password and session length
Advanced search  

News:

This forum provides RSS feed. To query recent posts use this url. More...


Author Topic: How to make that the animation of conversation consisting of 3 parts?  (Read 3908 times)

0 Members and 1 Guest are viewing this topic.

Lion

  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Gender: Male
  • Posts: 101
    • View Profile

How to make that the animation of conversation consisting of 3 parts was play:

- the beginning of conversation,

- looped animation of conversation

- and the termination of conversation?
Logged

Mac

  • Supporter
  • Regular poster
  • *
  • Karma: 0
  • Offline Offline
  • Gender: Male
  • Posts: 136
    • View Profile
    • Homepage
Re: How to make that the animation of conversation consisting of 3 parts?
« Reply #1 on: December 01, 2006, 03:33:07 PM »

You mean talk sprites, right?

There is a method called ".ForceTalkAnim()". So if you want to have your actor using special animations at the start and the end of your dialogue try something like this:

Code: [Select]
actor.SetTalkSprite("LoopedAnimation.sprite");
actor.ForceTalkAnim("BeginningAnimation.sprite");
actor.Talk("This is the start.");
actor.Talk("Here I talk using the looped animation.");
actor.Talk("Here again.");
actor.ForceTalkAnim("EndAnimation.sprite");
actor.Talk("This is the end. Good bye.");

It only works for the talkline directly following the ".SetTalkAnim" call.
I hope that's what you wanted to know.

Mac
Logged

Drax

  • Occasional poster
  • **
  • Karma: 0
  • Offline Offline
  • Gender: Male
  • Posts: 78
  • This engine rocks!
    • View Profile
    • Ganja Joe - And the myth of the holy pot
Re: How to make that the animation of conversation consisting of 3 parts?
« Reply #2 on: December 01, 2006, 03:50:19 PM »

Quote
It only works for the talkline directly following the ".SetTalkAnim" call.

Mac means the .ForceTalkAnim call. just to avoid misunderstandings.

I used to define own functions like Talk_wildarticulation('text') or Talk_reallysad('text') to capsulate the two function calls and not allways have to remenber my sprite names (but my functionnames  ::) , maybe I have to reconsider this  ;))
Logged
I'm Lost!

Lion

  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Gender: Male
  • Posts: 101
    • View Profile
Re: How to make that the animation of conversation consisting of 3 parts?
« Reply #3 on: December 01, 2006, 03:59:13 PM »

The beginning + a cycle, works.

actor.ForceTalkAnim("BeginningAnimation.sprite");
actor.Talk("Text");
actor.PlayAnim("EndAnimation.sprite");

And with the end of talk of a problem, it is play any not correct animations.
Between actor.Talk("Text") and actor.PlayAnim("EndAnimation.sprite") probably stand animation shows...
« Last Edit: December 01, 2006, 04:30:13 PM by Lion »
Logged

Mac

  • Supporter
  • Regular poster
  • *
  • Karma: 0
  • Offline Offline
  • Gender: Male
  • Posts: 136
    • View Profile
    • Homepage
Re: How to make that the animation of conversation consisting of 3 parts?
« Reply #4 on: December 03, 2006, 10:56:02 AM »

Yes, WME flips back to the stand sprite between two animations. You have to create an extra temporary sprite with the start frame of your end animation. Then you change your code as follows:

Code: [Select]
actor.ForceTalkAnim("BeginningAnimation.sprite");
actor.SetSprite("TheNewSprite.sprite");   // Force a temporary stand sprite
actor.Talk("Text");
actor.PlayAnim("EndAnimation.sprite");
actor.SetSprite(null);  // The stand animation resets to your default

You may try it. In most scenes of our game it works. In some scenes not. Don't know why.

Mac
Logged

Lion

  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Gender: Male
  • Posts: 101
    • View Profile
Re: How to make that the animation of conversation consisting of 3 parts?
« Reply #5 on: December 04, 2006, 11:41:24 AM »

Yes, this scheme works, but only for entity. For actors, all the same does not work.

After of function Talk(), on a share of second appears the frame of animation "stand".
But only then sprite, which have established through SetSprite(). Looks very badly.

In general SetSprite() for the actor, works not absolutely correctly.

Old animation "stand", from time to time appears again on a share of second.

It is possible for something to make with it? The help of the guru is necessary.
« Last Edit: December 04, 2006, 12:15:44 PM by Lion »
Logged
 

Page created in 0.041 seconds with 24 queries.