Поделиться через


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

См. также

Ссылки

FixedPoint - члены

Microsoft.WindowsMobile.DirectX.Direct3D - пространство имен

Другие ресурсы

Мобильное программирование Direct3D в .NET Compact Framework