// Встановити відповідно до позиції об'єкта
b1.Center = translation;
// Якщо сфери ігрового об'єкта та поточного об'єкта (b1.Intersects (b))
{
// Повернемо True
return true;
}
}// Якщо виконується цей код -
// зіткнення не було
// і повернемо false
return false;
}
Останній метод відповідає за побудову самої сцени і самого об'єкта
// Висновок об'єктів сцени
void DrawScene ()
{
Components.Clear ();
int i = 0;
// Вона трохи вище площини, яку ми виводимо на екран
// для того, щоб тінь була видна
Plane pl1 = new Plane (new Vector3 (0,-2f, 0), new Vector3 (2,-2f, 1), new Vector3 (-1,-2f, -2));
// Вивести куби, розташовані в п'ять рядів
// по п'ять штук на трьох рівнях
for (int x = 0; x <5; x + +)
{(int y = 0; y <3; y + +)
{(int z = 0; z <5; z + +)
{
// Додаємо в масив новий об'єкт [i] = new modCls (this, ball2, graphics, pl1);
// Встановлюємо його властивості [i]. WorldMatrix = Matrix.CreateTranslation (x * 40, y * 3, z * 40); [i]. ViewMatrix = viewMatrix; [i]. ProjectMatrix = projMatrix; [i]. LightDirection = LightDirection;
// Додаємо в колекцію компонентів
Components. Add (cls [i]);
i + +;
}
}
} = new modCls (this, ball, graphics, pl1);. WorldMatrix = Matrix.CreateRotationY (avatarlRotation) * Matrix.CreateTranslation (avatarPosition);. ViewMatrix = viewMatrix;. ProjectMatrix = projMatrix;. LightDirection = LightDirection;. Add (ballObj); = new modCls (this, Content.Load ("plane"), graphics, new Plane ());
// Налаштовуємо параметри площині
plane.WorldMatrix = Matrix.CreateScale (100) * Matrix.CreateRotationY (MathHelper.ToRadians (90)) *. CreateRotationZ (MathHelper.ToRadians (90)) *. CreateTranslation (80,-2.5f , 80);. ViewMatrix = viewMatrix;. ProjectMatrix = projMatrix;. LightDirection = LightDirection;. Add (plane);
}
}
}
7. Приклад використання розробленої системи. br/>В
Рис.4. Запуск програми
В
Рис.5. Зміни освітлення сцени, місця розташування об'єкт...