Soyez le premier à donner votre avis sur cette source.
Vue 14 631 fois - Téléchargée 1 389 fois
unit Unit1; //Programmé par Yoann //http://delphipage.free.fr/ interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, GLScene, GLObjects, GLMisc, GLWin32Viewer, Math, Jpeg; type TForm1 = class(TForm) GLSceneViewer1: TGLSceneViewer; GLScene1: TGLScene; GLCamera1: TGLCamera; DummyCube1: TDummyCube; Sphere1: TSphere; GLLightSource1: TGLLightSource; Sphere2: TSphere; procedure FormMouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean); procedure GLSceneViewer1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure GLSceneViewer1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); private { Déclarations privées } CoordX,CoordY:Integer; public { Déclarations publiques } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.FormMouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean); begin GLCamera1.AdjustDistanceToTarget(Power(1.1,WheelDelta/120)); //Modifie la distance de la vue end; procedure TForm1.GLSceneViewer1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin //Stocke les coordonnées de la souris CoordX:=X; CoordY:=Y; end; procedure TForm1.GLSceneViewer1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); var dx,dy:Integer; begin //Calcule la distance entre le point lors du dernier clic et la position de la souris après avoir bouger dx:=CoordX-X; dy:=CoordY-Y; CoordX:=X; CoordY:=Y; if ssLeft in Shift then //Si l'utilisateur utilise le bouton gauche de la souris alors... GLCamera1.MoveAroundTarget(dy,dx); //Change l'orientation de la caméra if ssRight in Shift then //Si il utilise le bouton droit alors... GLCamera1.RotateObject(Sphere1,dy,dx); //L'objet "Sphere1" subit une rotation end; end.
4 janv. 2004 à 19:30
5 janv. 2004 à 09:10
5 janv. 2004 à 17:58
gg ;)
5 janv. 2004 à 18:00
link : ...
6 janv. 2004 à 17:46
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.