Компьютерная графика, мультимедиа и игры на Visual C#


Глава Методика создания компьютерных игр и мультфильмов - часть 3


Листинг 49.3. Метод для кнопки.

private void button1_Click(object sender, EventArgs e)

{

    //Персонаж произносит текст из окна TextBox

    //при условии:

    //Если окно TextBox не заполнено:

    if (textBox1.TextLength == 0)

    {

        mySpeech =

        "Запишите, пожалуйста, в окно слова, " +

        "которые я должен произнести.";

        myGenie.Speak(mySpeech, myObject);

    }

    else

    //иначе, если окно TextBox заполнено,

    //персонаж произносит слова из этого TextBox:

    {

        mySpeech = textBox1.Text;

        myGenie.Speak(mySpeech, myObject);

    }

}

Записываем код, чтобы после нашего щелчка мышью (или после нажатий двух клавиш, например, для первого переключателя: Alt+1) по первому переключателю с именем анимации Announce, персонаж:

произносил речь;

показывал выбранную нами анимацию.

Для этого дважды щелкаем первый переключатель в режиме редактирования (или в панели Properties с заголовком radioButton1 на вкладке Events дважды щелкаем по имени события CheckedChanged).

Появляется файл Form1.cs с шаблоном (метода radioButton1_CheckedChanged), который после записи нашего кода принимает такой вид.

Листинг 49.4. Метод для переключателя.

private void radioButton1_CheckedChanged(

object sender, EventArgs e)

{

      //Останавливаем все предыдущие действия персонажа:

      myGenie.StopAll(myObject);

      //Перед анимацией персонаж произносит фразу:

      mySpeech = "Охотно выполняю эту анимацию.";

      myGenie.Speak(mySpeech, myObject);

      //Показываем выбранную нами анимацию персонажа:

      myGenie.Play("Announce");

      //Показываем анимацию персонажа в покое:

      myGenie.Play("RestPose");

}

Аналогично последовательно дважды щелкаем по каждому последующему переключателю в режиме редактирования и в каждый шаблон метода записываем такой же (как на предыдущем листинге) код, только строку с именем предыдущей анимации заменяем на соответствующую строку из следующих девяти строк (по числу оставшихся переключателей) с именами новой анимации:

        myGenie.Play("Congratulate");

        myGenie.Play("Congratulate_2");

        myGenie.Play("DontRecognize");

        myGenie.Play("Explain");

           myGenie.Play("GetAttention");

           myGenie.Play("Suggest");

        myGenie.Play("Surprised");

        myGenie.Play("Wave");

        myGenie.Play("Write");

Аналогично можно записать код для решения любой подобной задачи согласно разработанному нами алгоритму.




Начало  Назад  Вперед



Книжный магазин