OVH Cloud OVH Cloud

Plusieurs Questions...

6 réponses
Avatar
Thomas
Bonjour à tous, je suis nouveau et j'ai quelques petites questions... si
vous pouviez m'aider, ce serait cool !

1) Comment on fait pour déplacer (EX:Une voiture) ou un autre objet vue de
haut pour que ca avance et que sa puisse tourner.
2) J'envisage de faire un casse briques. Auriez vous la gentillesse de me
communiquer des exemples de code.
3)J'essaie de faire un jeux de voiture (vue de haut(comme gta)) et j'ai un
gros problème (déja ya la direction (Question1)) et aussi, mon écran est
affiché en 1024*768 et je voudrais pouvoir faire que par exemple quand ma
voiture avance, l'image se décale en même temps (comme quand on décale
qqchose avec une ScroollBarre).
Et je voudrai fixer des limites infranchissables à ma voiture.

Merci D'avance

Thomas

6 réponses

Avatar
François Picalausa
Bonjour/soir,

1 & 3/
Normalement, tu as une image contenant ta voiture et le fond.
Tu dessine d'abord le fond sur une picturebox en faisant
picturebox.paintpicture mapicture, position x , position y
Ensuite, pour dessiner la voiture , un autre paintpicture aux bonnes
positions.
et pour la rapidité, tu rend cette picturebox de traçage invisible et tu
copie l'image vers la surface d'affichage:
set pictureaffichage.picture = picturetraçage.image
Il te suffit de faire un test en x et y pour voir si on peut ou non franchir
la limite.

Pour faire pivoter un dessin, il existe plusieurs algo. une recherche sur
google ou autres moteurs de recherches devrait t'en dire plus.
Une autre solution est d'avoir une image avec les différentes directions et
ne reprendre que la partie utile de l'image.

Ca c'est pour du Visual Basic pur... maintenant, en directx, c'est beaucoup
plus simple de faire pivoter un objet, de le déplacer, ...
Voici différentes adresses pour programmer avec directx sous VB:
http://www.directx4vb.com/
http://msdn.microsoft.com/library/default.asp?url=/nhp/Default.asp?contentid(000410
http://msdn.microsoft.com/library/default.asp?url=/downloads/list/directx.asp
http://www.microsoft.com/downloads/details.aspx?FamilyIdÚ65CA82-0AE9-412A-B278-7C0AFC0D5974&displaylang=en
http://www.eastcoastgames.com/
http://francis.dupont.free.fr/coindev/
http://www.chez.com/scribe/fr/directx/index.htm

2/ Une recherche sur google ou autres moteurs de recherches te permettra
d'en trouver plusieurs.
Par exemple:
http://www.vbfrance.com/article.aspx?Valh39

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


"Thomas" a écrit dans le message de
news:3f48a422$0$230$
Bonjour à tous, je suis nouveau et j'ai quelques petites questions...
si vous pouviez m'aider, ce serait cool !

1) Comment on fait pour déplacer (EX:Une voiture) ou un autre objet
vue de haut pour que ca avance et que sa puisse tourner.
2) J'envisage de faire un casse briques. Auriez vous la gentillesse
de me communiquer des exemples de code.
3)J'essaie de faire un jeux de voiture (vue de haut(comme gta)) et
j'ai un gros problème (déja ya la direction (Question1)) et aussi,
mon écran est affiché en 1024*768 et je voudrais pouvoir faire que
par exemple quand ma voiture avance, l'image se décale en même temps
(comme quand on décale qqchose avec une ScroollBarre).
Et je voudrai fixer des limites infranchissables à ma voiture.

Merci D'avance

Thomas


Avatar
Ledev
Bonjour,

Pour complété, affi de bloquer ta voiture sur les bord, tu peu faire comme
ceci:
-Tu orguanise ta carte par "case", par exemple la rue serrai déssiner sur
3 case, et les cases sur les cotée serrais les hotel...
-Tu fait un tableau multi dimension de type boolean:
dim MaCarte(x,y) as boolean
avec x le nombre de ligne et y de colonne. Tu crée un systéme pour le
chargé différement selon la carte. Et la, quand la voiture entre dans une
case dont sa valeur est false sa bloque.

a+
Avatar
François Picalausa
Bonjour/soir,

Ca signifie que tu emploies des cases pour le bord... inutilement: un if sur
le x/y pour connaitre la fin du tableau serait préférable vu que ces cases
sont évitées.
Sauf évidement si la bordure doit être délimitée par des murs, pour l'aspect
graphique.

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


"Ledev" a écrit dans le message de
news:O$
Bonjour,

Pour complété, affi de bloquer ta voiture sur les bord, tu peu faire
comme ceci:
-Tu orguanise ta carte par "case", par exemple la rue serrai
déssiner sur 3 case, et les cases sur les cotée serrais les hotel...
-Tu fait un tableau multi dimension de type boolean:
dim MaCarte(x,y) as boolean
avec x le nombre de ligne et y de colonne. Tu crée un systéme
pour le chargé différement selon la carte. Et la, quand la voiture
entre dans une case dont sa valeur est false sa bloque.

a+


Avatar
Ledev
François Picalausa wrote:
Bonjour/soir,

Ca signifie que tu emploies des cases pour le bord... inutilement: un
if sur le x/y pour connaitre la fin du tableau serait préférable vu
que ces cases sont évitées.



Je ne comprend pas se que tu veus dire?

Sauf évidement si la bordure doit être délimitée par des murs, pour
l'aspect graphique.


Avatar
François Picalausa
Bonjour/soir,

Je veux dire qu'en bordure, si ce n'est pas nécessaire d'avoir des "cases
bloquantes", alors, autant se contenter de vérifier les limites du tableau
plutôt que de créer une rangée supplémentaire.

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


"Ledev" a écrit dans le message de
news:
François Picalausa wrote:
Bonjour/soir,

Ca signifie que tu emploies des cases pour le bord... inutilement: un
if sur le x/y pour connaitre la fin du tableau serait préférable vu
que ces cases sont évitées.



Je ne comprend pas se que tu veus dire?

Sauf évidement si la bordure doit être délimitée par des murs, pour
l'aspect graphique.




Avatar
Pierre Alexis
Salut François,

Tu as écrit :

Je veux dire qu'en bordure, si ce n'est pas nécessaire d'avoir des "cases
bloquantes", alors, autant se contenter de vérifier les limites du tableau
plutôt que de créer une rangée supplémentaire.



Oui ben à l'unnif ça m'a valu quelque points en moins à un projet ça.... Il
fallait employer un bord, c'est beaucoup plus propre que de faire des tests
(et vaut mieux pas discuter avec les profs d'unnifs).

--
Pierre ALEXIS - MVP Visual Basic
Courriel & messenger :
FAQ Visual Basic : http://faq.vb.free.fr/