다음을 통해 공유


FixedPoint 구조체

업데이트: 2007년 11월

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(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

플랫폼

Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC

.NET Framework 및 .NET Compact Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Compact Framework

3.5, 2.0에서 지원

참고 항목

참조

FixedPoint 멤버

Microsoft.WindowsMobile.DirectX.Direct3D 네임스페이스

기타 리소스

.NET Compact Framework의 모바일 Direct3D 프로그래밍