FixedPoint - структура
Обновлен: Ноябрь 2007
Представляет число 16,16 с фиксированной запятой.
Пространство имен: Microsoft.WindowsMobile.DirectX.Direct3D
Сборка: Microsoft.WindowsMobile.DirectX (в Microsoft.WindowsMobile.DirectX.dll)
Синтаксис
'Декларация
Public Structure FixedPoint _
Implements IComparable, IFormattable, IConvertible
'Применение
Dim instance As FixedPoint
public struct FixedPoint : IComparable,
IFormattable, IConvertible
public value class FixedPoint : IComparable,
IFormattable, IConvertible
JScript поддерживает использование структур, но не объявление новых структур.
Заметки
Эта структура используется для взаимодействия с различными типами Windows Mobile Direct 3D, который имеет интерфейсы с фиксированной запятой. Внутреннее представление данного класса — структура Int32.
Примеры
Следующий пример показывает, как можно использовать структуру FixedPoint.
' The following code is from the
' Direct3D Mobile Fixed Point Billboard Sample.
' It uses FixedPoint to position meshes of trees randomly.
' Initialize the tree data
Dim i As Integer
For i = 0 To numberTrees - 1
Dim t As New Tree()
' Position the trees randomly
Do
Dim fTheta As Single = 2.0F * _
System.Convert.ToSingle(Math.PI) * _
System.Convert.ToSingle(randObj.NextDouble())
Dim fRadius As Single = 25.0F + 55.0F * _
System.Convert.ToSingle(randObj.NextDouble())
Dim position As Vector3Fixed
position.X = CType(fRadius * _
System.Convert.ToSingle( _
Math.Sin(fTheta)), FixedPoint)
position.Z = CType(fRadius * _
System.Convert.ToSingle(Math.Cos(fTheta)), FixedPoint)
position.Y = CType(HeightField( _
System.Convert.ToSingle(position.X), _
System.Convert.ToSingle(position.Z)), FixedPoint)
t.Position = position
Loop While Not IsTreePositionValid(t.Position)
// The following code is from the
// Direct3D Mobile Fixed Point Billboard Sample.
// It uses FixedPoint to position meshes of trees randomly.
// Initialize the tree data
for (int i=0; i<numberTrees; i++)
{
Tree t = new Tree();
do
{
float fTheta = 2.0f * (float)Math.PI *
(float)randObj.NextDouble();
float fRadius = 25.0f + 55.0f * (float)randObj.NextDouble();
Vector3Fixed position;
position.X =
(FixedPoint)(fRadius * (float)Math.Sin(fTheta));
position.Z =
(FixedPoint)(fRadius * (float)Math.Cos(fTheta));
position.Y =
(FixedPoint)HeightField((float)position.X,
(float)position.Z);
t.Position = position;
}
while (!IsTreePositionValid(t.Position));
Потокобезопасность
Любые открытые члены этого типа, объявленные как static (Shared в Visual Basic), являются потокобезопасными. Потокобезопасность членов экземпляров не гарантируется.
Платформы
Windows CE, Windows Mobile for Smartphone, Windows Mobile для карманных ПК
Среды .NET Framework и .NET Compact Framework поддерживают не все версии каждой платформы. Поддерживаемые версии перечислены в разделе Требования к системе для .NET Framework.
Сведения о версии
.NET Compact Framework
Поддерживается в версиях: 3.5, 2.0
См. также
Ссылки
Microsoft.WindowsMobile.DirectX.Direct3D - пространство имен
Другие ресурсы
Мобильное программирование Direct3D в .NET Compact Framework