Создание "Выбор персонажа"
Страница 1 из 1
Создание "Выбор персонажа"
- Первоисточник:
1. Через редактор ресурсов в папке GUI создаем "пользовательский интервейс"(DefaultWindows), называем его "CharacterSelection.gui".
2. Открываем его редактирование, задаем размер , в поле имя пишем "CharacterSelection", и в поле текст что будет отображаться в заголовке.
3. Добавляем три SceneBox, переходим в свойства "SceneBox", пункт "объекты":
- окно GUI:
- Объекты:
4. В поле "Position" указываем размещение персонажа (я подбирал на глаз для Girl 1.5 0 -1, для робота 2,5 0 -1,5);
в поле "Rotation" угол поворота отображение юнита (Girl 0 0 90, робот 0 0 180)
5. Дальше добавляем три кнопки "Button", в свойствах пишем название кнопки (имя кнопки будет использоваться в скрипте), и текст на кнопке: сохраняем . должно получиться типа такого:
- Gui:
6. Пишем скриптыя пользовался Visual Studio)
- открываем файл "FreeEdition.sln" в папке NeoAxist (откроеться весь проект программы)
- откроем сразу скрипты GameWorld.cs (ProjectEntities) и MainMenuWindow.cs (Game)
7. Создадим новый класс в Game, назовём его CharacterSelectionWindow.cs
8. GameWorld.cs:добавим клас
- Код:
public class GameWorld : World
{
static GameWorld instance;
public static string ChoosenCharacter; // добавим эту строку
для замены персонажа по умолчанию изменяем строку:
- Код:
string unitTypeName;
if (!player.Bot)
{
if (GameMap.Instance.PlayerUnitType != null)
unitTypeName = GameMap.Instance.PlayerUnitType.Name;
else
unitTypeName = string.IsNullOrEmpty(ChoosenCharacter) ? "Girl" : ChoosenCharacter;// меняем эту строку
}
9.CharacterSelectionWindow.cs полностью код
- Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Engine.UISystem;
using ProjectEntities;
namespace Game
{
class CharacterSelectionWindow :Control
{
private Control window;
protected override void OnAttach()
{
base.OnAttach();
window = ControlDeclarationManager.Instance.CreateControl("Gui\\CharacterSelection.gui");
Controls.Add(window);
((Button)window.Controls["Girl"]).Click += sender => // имя кнопки которое присваивали в Gui
{
GameWorld.ChoosenCharacter = "Girl"; // имя юнита в SceneBoxe
SetShouldDetach();
};
((Button)window.Controls["Zombie"]).Click += sender =>
{
GameWorld.ChoosenCharacter = "Zombie";
SetShouldDetach();
};
((Button)window.Controls["Robot"]).Click += sender =>
{
GameWorld.ChoosenCharacter = "Robot";
SetShouldDetach();
};
}
protected override void OnDetach()
{
base.OnDetach();
GameEngineApp.Instance.SetNeedMapLoad("Maps\\Map\\Map.map"); // имя карты, на которую зайдет юнит
}
}
}
9. MainMenuWindow.cs Ищем:
- Код:
void Run_Click( Button sender )
{
// Controls.Add(new CharacterSelectionWindow()); - на видео добавляют эту строку, я делал как ниже
// GameEngineApp.Instance.SetNeedMapLoad( "Maps\\Map\\Map.map" );
}
void RunVillageDemo_Click(Button sender)
{
GameEngineApp.Instance.SetNeedMapLoad("Maps\\Map\\Map.map");
}
void Multiplayer_Click( Button sender )
{
Controls.Add( new MultiplayerLoginWindow() );
}
void Maps_Click( Button sender )
{
Controls.Add( new CharacterSelectionWindow() ); - я менял эту строку
}
У меня получилось при нажатие кнопку "карты" выходит меню выбора персонажа, при выборе персонажа запускается карта указанная в CharacterSelectionWindow.cs
P.S. Все . не судите строго, первый раз урок пишу)
Filat- Сообщения : 4
Рейтинг : 2647
Репутация : 0
Дата регистрации : 2017-02-15
Похожие темы
» Способ определения персонажа игрока.
» Программное создание Mesh
» Создание точки появления противников (Устаревшее)
» Программное создание Mesh
» Создание точки появления противников (Устаревшее)
Страница 1 из 1
Права доступа к этому форуму:
Вы не можете отвечать на сообщения
|
|
Пт Май 08, 2020 6:18 pm автор Gedifilyte
» Создание точки появления противников (Устаревшее)
Сб Дек 14, 2019 2:34 am автор Gedifilyte
» Создание инвентаря (устаревшее)
Пт Апр 13, 2018 7:43 pm автор Eris
» Программное создание Mesh
Пн Фев 05, 2018 12:05 am автор Eris
» Помогите !!! (вопросы, советы, обсуждения)
Вт Июн 06, 2017 11:39 am автор Zhuravlev Yuri
» Редакторы карт и ресурсов
Ср Май 24, 2017 10:23 pm автор Чумной Доктор
» Создание "Игрового типа" (GameType)
Ср Апр 05, 2017 2:19 am автор Filat
» Экспорт из 3ds Max
Сб Мар 11, 2017 12:22 pm автор Uggo
» Создание "Выбор персонажа"
Сб Фев 25, 2017 11:32 am автор Filat