Oppure

Loading
03/10/09 16:17
marco1
Io gli ultimi giorni mi sono cimentato nel utilizzo delle directX... e quindi goglando ho trovato questo tutorial :
riemers.net/eng/Tutorials/DirectX/Visual_Basic/Series1/…

dopo averlo letto accuratamente a svolto alla lettera... nel form... invece del ficissimo triangolo multicolore... c'e un "x" rosso che attraversa tutto il form... rualcuno sapreebbe dirmi perche e darmi eventuali spieghazioni??? Grazie...
aaa
03/10/09 16:22
pierotofy
Le Managed DirectX sono obsolete; usa XNA.
Il mio blog: piero.dev
03/10/09 21:34
marco1
In...pratica... ??? devo cambiare tutto il codice... cosa sone le XNA??? dove troco dei tutorial??

cmq torniamo alla domanda iniziale... qualcuna sa dirmi xke le directx reagiscono così??
aaa
04/10/09 10:59
Il Totem
Mi sa che devi farti aggiustare le diottrie, perchè proprio nella pagina che hai linkato c'è scritto in grosso e rosso, a fianco, "XNA Recipe Book".
Inoltre non puoi pretendere che qualcuno ti dica cosa c'è che non va se non posti nemmeno uno straccio di codice.
aaa
04/10/09 11:21
marco1
è qui che ti sbagli... il codice e perfettamente quello dell link... cmq voi mo consiglate di usare l XNA invece elle directX ???
aaa
05/10/09 10:02
HeDo
Postato originariamente da marco1:

è qui che ti sbagli... il codice e perfettamente quello dell link... cmq voi mo consiglate di usare l XNA invece elle directX ???


credo che la risposta sia un paio di post sopra...
aaa
05/10/09 14:55
Thejuster
Ti consiglio xna, ma cmq
da quel che vedo nel link non usa xna,
ma usa direttamente le directx native.



Imports Microsoft.DirectX
Imports Microsoft.DirectX.Direct3D



e appunto come dicevo infatti.
per far funzionare il tutto devi crearti un metodo che inizializza lo schermo,
ed esegue il loop per ripulirlo.

se stai usando questi riferimenti prova qui
notjustcode.it
guarda alla sezione DirectX 9

e trovi appunto i sorgenti.

XNA ha un framework suo e non su xna dirette
del tipo

mentre su xna si usano riferimenti apposta

 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.Net;
 using Microsoft.Xna.Framework.Storage;


semplicemente non puoi usare frammenti del Framework XNA usando riferimenti DirectX
cambiano alcune cosette ma il succo e sempre quello alla fine.
mire.forumfree.it/ - Mire Engine
C# UI Designer
08/10/09 15:48
marco1
Analizzando il codice ho scoperto delle cose strane... l'esecuzione funziona in modo strano...

Imports Microsoft.DirectX
Imports Microsoft.DirectX.Direct3D



Public Class Form1
    Private device As Direct3D.Device
    Public Sub Initialize()
        Dim present As PresentParameters = New PresentParameters
        present.Windowed = True 'we?ll draw on a window
        present.SwapEffect = SwapEffect.Discard 'discuss later
        device = New Direct3D.Device(0, DeviceType.Hardware, Me, CreateFlags.SoftwareVertexProcessing, present)
    End Sub

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Me.SetStyle(ControlStyles.AllPaintingInWmPaint Or ControlStyles.Opaque, True) 'Do not draw form?s background\
        Me.Height = 500
        Me.Width = 500
        Me.Text = "DirectX Tutorial using Visual Basic"

        Initialize()

        '!!!! Tutto il codice che mettto qui sotto non viene eseguito.
        '!!!! Se invece di "Initialize()" metto direttamente il codice che sta dentro     
        '!!!! alla funzione non viene eseguito niente del evnto.
    End Sub

    Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
        Dim vertices As CustomVertex.TransformedColored() = New CustomVertex.TransformedColored(0 To 2) {} 'create an array of vertices
        vertices(0).Position = New Vector4(150, 100, 0, 1)
        vertices(0).Color = Color.Red.ToArgb 'encode color in Argb
        vertices(1).Position = New Vector4(Me.Width / 2 + 100, 100, 0, 1)
        vertices(1).Color = Color.Green.ToArgb
        vertices(2).Position = New Vector4(250, 300, 0, 1)
        vertices(2).Color = Color.Yellow.ToArgb

        device.Clear(ClearFlags.Target, Color.Black, 1.0, 0)

        device.BeginScene() 'all drawings after this line
        device.VertexFormat = CustomVertex.TransformedColored.Format
        device.DrawUserPrimitives(PrimitiveType.TriangleList, 1, vertices)
        device.EndScene() 'all drawings before this line

        device.Present()
        Me.Invalidate() 'redraw
    End Sub
End Class


Quella stranezza nel Form_Load e solo la prima... poi l'evento Form_Paint non viene generato mai.... e se sposto il codice di Form_Paint in Form_Click per provare ad avviarlo con un click... quando clikko mi da un errore: Aplicazione Win32 nin valida...
aaa