В одном блоге наткнулся на листинг автоматической генерации ландшафта (а не с карты высот). Решил применить этот листинг в своей работе, но вылетает ошибка:
Ошибка "Microsoft.Xna.Framework.DrawableGameComponent" не содержит конструктор, который принимает аргументы "0" C:\Users\Roman_prog\documents\visual studio 2010\Projects\Test Game\Test Game\Test Game\Class\Terrain.cs
Как устранить ошибку?
Использую:
Visual Studio 2010 Ultimate
XNA Game Studio 4.0
C#
Вот листинг:
(Всё, что в "[ ... ]" - это свёрнутый код. для экономии места в вопросе)
using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;
namespace GameTest.Scene
{
public partial class Terrain : DrawableGameComponent
{
public int TerrainSize = 512; //Размерность карты - число кратное 2
private float[,] terrain; // Массив вычисленных координат
public float roughnessConstant = 0.98f;
public int randomRange; // Пределы случайной генерации
public float upperRangeAdjust = 0.24f;
private int size;
private int stride;
private Random random;
private VertexPositionNormalTexture[] vertices;
private Effect effect;
private int[] indices;
//При инициализации вызываем метод для генераци координат, индексов и нормалей
public override void Initialize() [ ... ]
//Теперь сам метод генерации координат:
private void GenerateSurface() [ ... ]
//Теперь вычисление нормалей:
private void SetUpVertices() [ ... ]
//И наконец отрисовка:
public override void Draw(GameTime gameTime) [ ... ]
}
}
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.