[Logiciel] µDev++ - Version 1.3 disponible - Page 7 Hitskin_logo Hitskin.com

Ceci est une prévisualisation d'un thème de Hitskin.com
Installer le thèmeRetourner sur la fiche du thème



AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  
-43%
Le deal à ne pas rater :
-100€ Pack rééquipement Philips Hue Play : 3 barres lumineuses ...
129.99 € 229.99 €
Voir le deal

 

 [Logiciel] µDev++ - Version 1.3 disponible

Aller en bas 
+23
M@d_Doc
Linky439
doggydog24
Morwenn
Liang
Topaze22
Craki
robinlife
Chlorodatafile
Mass
glcraft
SPLN
D-z
l0lmanPH
DeinDall
-Coco-
Oculus
Dan_lizhot
Vivi
blendman
[TheDarkTiger]
Sekigo Le Magnifique
onilink_
27 participants
Aller à la page : Précédent  1 ... 6, 7, 8 ... 11 ... 16  Suivant
AuteurMessage
-Coco-
Utilisateur confirmé: Rang ***
-Coco-


Messages : 545
Localisation : Grenoble - Montpellier
Projet Actuel : Orion VII - 0%

[Logiciel] µDev++ - Version 1.3 disponible - Page 7 Empty
MessageSujet: Re: [Logiciel] µDev++ - Version 1.3 disponible   [Logiciel] µDev++ - Version 1.3 disponible - Page 7 EmptyDim 3 Avr 2011 - 20:06

Peut être un truc cool ça serait la "désindentation" automatique elle aussi lorsqu'un '}' se trouve en début de ligne. C'est quasiment le seul défaut "technique" que je peux reprocher. Après sinon y'a la coloration de "room_speed" toujours pas faite, et Paste prend un 'e', ça ferait plus classe si tu le rajoutais dans ta QAction (un logiciel avec des fautes ça fait pas super classe ^^).
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Logiciel] µDev++ - Version 1.3 disponible - Page 7 Empty
MessageSujet: Re: [Logiciel] µDev++ - Version 1.3 disponible   [Logiciel] µDev++ - Version 1.3 disponible - Page 7 EmptyDim 3 Avr 2011 - 21:13

lawl, j'ai pas mis de e a paste ? Je devais pas être très réveillé x).
En tout cas j'essaye de fixer tous ces petits trucs et je te l'upload.
Surtout qu'il y a encore des bugs pour l'ouverture des fichiers directement depuis ceux-ci.
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Logiciel] µDev++ - Version 1.3 disponible - Page 7 Empty
MessageSujet: Re: [Logiciel] µDev++ - Version 1.3 disponible   [Logiciel] µDev++ - Version 1.3 disponible - Page 7 EmptyDim 3 Avr 2011 - 23:12

Voila a priori tout est réglé : http://www.host-a.net/u/onilink_/uDevpp1.3.2.7z
De plus l'ouverture d'un fichier entraine que les ressources utilisées par l'exécutable généré soient cherchées dans le répertoire de celui ci.
Revenir en haut Aller en bas
Mass
*Excellent utilisateur*
Mass


Messages : 3351
Localisation : Dans une canonnière wookie.
Projet Actuel : Monter des trucs et des machins

[Logiciel] µDev++ - Version 1.3 disponible - Page 7 Empty
MessageSujet: Re: [Logiciel] µDev++ - Version 1.3 disponible   [Logiciel] µDev++ - Version 1.3 disponible - Page 7 EmptyLun 4 Avr 2011 - 0:40

y'a un bug à l'ouverture des exemples 1.2 avec la 1.3 triste2
Revenir en haut Aller en bas
http://madmass.mype.fr/CBNA/
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Logiciel] µDev++ - Version 1.3 disponible - Page 7 Empty
MessageSujet: Re: [Logiciel] µDev++ - Version 1.3 disponible   [Logiciel] µDev++ - Version 1.3 disponible - Page 7 EmptyLun 4 Avr 2011 - 7:40

ouai, j'ai changé la structure des fichiers. C'est pour ça que j'ai remis pas mal d'exemples, et d'ailleurs je suis encore en train d'en faire pour donner un aperçu de toutes les fonctions.
Au pire tu ouvre les anciens avec l'ancienne version, tu copie le code et tu le colle dans la nouvelle. C'est ****** mais c'est pas plus lent que de convertir un gmk en gm6 :3

Edit : Eh mayrde encore un bug avec les accolades...
Je règle ça, puis j'ajoute des fonctions pour les sprites et j'uploaderais.

D'ailleurs j'ai besoin d'un bêta testeur si ça tente quelqu'un :p
Revenir en haut Aller en bas
Morwenn
Très bonne participation
Morwenn


Messages : 151
Projet Actuel : Icare

[Logiciel] µDev++ - Version 1.3 disponible - Page 7 Empty
MessageSujet: Re: [Logiciel] µDev++ - Version 1.3 disponible   [Logiciel] µDev++ - Version 1.3 disponible - Page 7 EmptyLun 4 Avr 2011 - 18:38

Hum, je ne poste pas très souvent, mais je tiens quand même à dire bravo Wink

Le projet est très intéressant, propose une alternative sympathique aux éditeurs classiques C++, et permet de faire très rapidement de l'imagerie numérique. Les exemples sont également bien choisis =)

Enfin bref, pas grand-chose à rajouter, sinon dire encore bravo pour ce joli petit soft !
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Logiciel] µDev++ - Version 1.3 disponible - Page 7 Empty
MessageSujet: Re: [Logiciel] µDev++ - Version 1.3 disponible   [Logiciel] µDev++ - Version 1.3 disponible - Page 7 EmptyMar 5 Avr 2011 - 21:10

Eh bien merci Morwenn, c'est ce genre de commentaire qui donne envie de continuer Very Happy

Sinon pour ceux qui ont remarqués les bugs , voici une correction :
http://www.host-a.net/u/onilink_/uDevpp133.7z

Et je cherche toujours un bêta testeur (et non pas un testeur bêta... :3)
Revenir en haut Aller en bas
doggydog24
Utilisateur confirmé: Rang *
doggydog24


Messages : 259
Localisation : Quebec,quebec

[Logiciel] µDev++ - Version 1.3 disponible - Page 7 Empty
MessageSujet: Re: [Logiciel] µDev++ - Version 1.3 disponible   [Logiciel] µDev++ - Version 1.3 disponible - Page 7 EmptyMar 5 Avr 2011 - 23:57

Il est trop nice ton logiciel gnii ... Mais est-ce que c'est du C++ ou c'est du C ou c'est modifié?
Revenir en haut Aller en bas
l0lmanPH
Utilisateur confirmé: Rang *
l0lmanPH


Messages : 226
Localisation : cbna.forumactif.com
Projet Actuel : Le Méchant Tueur de Bisounours
Metroid Prime : Némésis
Tutoriel GM

[Logiciel] µDev++ - Version 1.3 disponible - Page 7 Empty
MessageSujet: Re: [Logiciel] µDev++ - Version 1.3 disponible   [Logiciel] µDev++ - Version 1.3 disponible - Page 7 EmptyMer 6 Avr 2011 - 0:45

Je télécharge cette dernière version, en espérant voir les derniers bugs de compilation disparus ! ^^

Je me propose en tant que Bug Finder (niahaha ta boîte à MP va souffrir), j'ai une semaine sur trois de libre et je peux donc passer du temps sur ce logiciel à chercher comment améliorer certaines fonctionnalités (icônes, descriptions, menus, raccourcis claviers, ...), y compris la coloration, l'autocomplétion et l'indentation, etc.

J'utilise 3-4 éditeurs assez souvent (Code::Blocks, Notepad++, Eclipse, Notepad2, et d'autres étant sous forme de WebApps), donc je suis très exigeant. x(

Si tu veux je te fais des "rapports" ordonnés par catégories (à définir) pour qu'on soit plus organisés.

EDIT : premier téléchargeur de la version 1.33 qui est arrivée sur mon disque à la vitesse de l'éclair (une seconde environ).


Que penserais-tu de mettre un exemple ouvert par défaut dans ton logiciel et qui afficherait "Hello World!", c'est tout con mais bon ça peut indiquer la voix pour ceux qui sauraient pas trop où ni comment coder ou placer leurs lignes (quels onglets ? quelle syntaxe ? quelles fonctions ??).

Dans ta nouvelle version, quand tu veux fermer la fenêtre, ouvrir un autre fichier, ... µDev te demande si tu veux pas sauvegarder avant (même si les onglets ne contiennent aucun code)
De plus les boutons "Undo" et "Redo" sont tout le temps actifs (même quand tu viens juste d'ouvrir le programme sans rien avoir tapé).

Un raccourci clavier pour créer un exécutable comme "Maj + F5" serait utile.
(Pour info j'arrive pas à compiler puis lire les programmes UDV mais j'arrive à créer l'exe puis à le lire.)

Une coloration des directives du préprocesseur serait bien accueillie, et ce serait encore mieux si tu le faisais (alors que de "grands" IDE comme Code::Blocks l'omettent) avec différents niveaux de vert, par exemple la commande ("define" ou "include") en vert neutre, puis le nom d'un fichier, d'une macro ou constante à créer en un vert plus foncé et la valeur s'il y en a une en vert clair.
Les chevrons ou guillemets qui entourent les noms de fichiers pourraient également être coloriés pour les distinguer de ces derniers.

Je serai aussi heureux de voir que les blancs en fin de lignes soient automatiquement enlevés (comme dans Code::Blocks).

Tes fenêtres µDev App ne réagissent pas à Alt + F4 ni à CTRL + W, tu devrais les implémenter pour leur fermeture.

Ces mêmes fenêtres apparaissent à des coordonnées trop prêtes de 0 ; 0, sur Windows 7 la croix de fermeture de celles-ci est à moitié masquée (laisse 10px d'écarts avec les bordures).

Sinon j'aimerais bien avoir une console, pour déboguer surtout.

Et pourquoi pas une documentation µDev pour les programmes développés, comme en Python ou en Java ?
Ceux-ci se présenteraient sous une forme de commentaire spécial (du même que les commentaires conditionnels en HTML), par exemple :
Code:
/*<DOC> Description Description Description (jamais 2 sans 3) */
De cette façon tu rajoutes au langage C++ ce que d'autres langages ont et tu motives les développeurs à utiliser ton logiciel pour ces "compensations".

Ta désindentation automatique est mal programmée tonton. x(
Elle déplace juste l'accolade d'un tab vers la gauche, donc si elle est originellement tapée au bon endroit elle sera trop à gauche et si elle est trop à droite de 10 tabs elle sera toujours trop à droite (9 tabs).
'Faut donc détecter la position de l'accolade ouvrante du bloc en fonction du style de formatage (écrit à côté des parenthèses d'un if ou pas par exemple).

En parlant de désindentation, tu pourrais pas ajouter un raccourci clavier Maj + Tab pour en faire une manuelle ?

Un menu "Indent" où tu aurais les raccourcis "Tab", "Maj + Tab", et "Able auto-(des)indent" (checkbox) pourrait être ajouté.
Tu ajouterais un lien vers une popup où on pourrait configurer la conversion de Tabs en Espaces, en choisir le nombre, etc.


Dernière édition par l0lmanPH le Mer 6 Avr 2011 - 3:00, édité 3 fois
Revenir en haut Aller en bas
doggydog24
Utilisateur confirmé: Rang *
doggydog24


Messages : 259
Localisation : Quebec,quebec

[Logiciel] µDev++ - Version 1.3 disponible - Page 7 Empty
MessageSujet: Re: [Logiciel] µDev++ - Version 1.3 disponible   [Logiciel] µDev++ - Version 1.3 disponible - Page 7 EmptyMer 6 Avr 2011 - 1:37

Comment on met des sprites avec des draw_sprite ou add_sprite...Si on ne peut pas mettre de sprites.
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Logiciel] µDev++ - Version 1.3 disponible - Page 7 Empty
MessageSujet: Re: [Logiciel] µDev++ - Version 1.3 disponible   [Logiciel] µDev++ - Version 1.3 disponible - Page 7 EmptyMer 6 Avr 2011 - 8:22

Eh bien merci lolman c'est un rapport très détaillé que tu me fait la :p
Je vais faire tout mon possible pour tout régler et je te tiendrais au courant !
(Vilain tu me donne masse de boulot la Surprised)

Sinon oui doggy on peut utiliser des sprites, mais la c'est pas aussi simple que dans GM.
Déjà ils doivent avoir une taille en puissance de 2 (par exemple 128x64).

Ensuite ça ne marche pas comme GM. On crée une planche de sprite, puis ensuite on crée un sprite et on définie chaque sous image par rapport a notre planche de sprite.

Pour charger un sprite sheet :
uint sprite_sheet = sprite_sheet_add("sprite.bmp");

De plus tu peut choisir la couleur de transparence de l'image :
uint sprite = sprite_sheet_add("sprite.bmp", c_red); // ici le rouge seras la couleur transparente

Ensuite quand tu a crée ton sprite sheet, tu peut soit l'afficher avec draw_sprite_sheet(spr, x, y); soit l'utiliser pour créer un sprite (qui pourras être animé).

Pour créer un sprite :
uint spr = sprite_add(sprite_sheet, largeur, hauteur, xoffset, yoffset);

Maintenant tu peut ajouter des sous images :
sprite_add_subimage(spr, x, y);

x et y indiquent la position du morceau de sprite sheet a ajouter au sprite.

Maintenant tu peut afficher ton sprite :
draw_sprite(spr, subimage, x, y);

Pour faire une animation il faudra utiliser une variable qui s'incrémente au cours du temps.
Par exemple :
static float sub = 0;
draw_sprite(spr, sub+=0.1, 16, 16);

Voila. Bon y avais déjà un exemple dans Examples\Fonctions\sprite.udv mais la j'espère que t'auras vraiment compris Wink
Revenir en haut Aller en bas
l0lmanPH
Utilisateur confirmé: Rang *
l0lmanPH


Messages : 226
Localisation : cbna.forumactif.com
Projet Actuel : Le Méchant Tueur de Bisounours
Metroid Prime : Némésis
Tutoriel GM

[Logiciel] µDev++ - Version 1.3 disponible - Page 7 Empty
MessageSujet: Re: [Logiciel] µDev++ - Version 1.3 disponible   [Logiciel] µDev++ - Version 1.3 disponible - Page 7 EmptyMer 6 Avr 2011 - 11:51

Je te donne Mass de boulot. x)

En ce qui concerne les sprites, j'ai quelques questions (jamais je ne te lâcherai) :
- je me croyais plus biscornu que toi mais la taille des sprites paire je retiens l'idée ;
- je comprends pas ta gestion des sprites avec des int non signés, c'est pour faire un tableau (de pixels) ?
- ne penserais pas plutôt créer un joli z'objet plutôt que de devoir se pervertir avec les evil fonctions gml-like ? x(

Une fonction graphique sympathique serait la gestion des offset.
Ca t'éviterait les draw_machin(x, y) où x = valeur + offsetPourPasCollerAuBordDeLaFenetreParEx et pareil pour y et séparerait affichage et logique.
Code:
drawSetOffset(5, 5);
draw_point(10, 12); // revient sans la première fonction appelée à faire draw_point(10 + 5, 12 + 5) ce qui est PAS BEAU.

Et dans tes librairies je pense qu'on pourrait faire une optimisation au niveau des types primitifs.
Par exemple t'as des int pour les coordonnées et je pense que c'est plus logique des uint (enfin ça encore ça dépend de comment on programme).
Ou sinon un float dans "void draw_set_alpha(float alpha=1);" qui pourrait être remplacé par un unsigned char (de 0 à 255), ce qui prendrait 4 fois moins de place en mémoire je crois.

C'est tout pour aujourd'hui, enfin cette heure-ci. guns
Revenir en haut Aller en bas
doggydog24
Utilisateur confirmé: Rang *
doggydog24


Messages : 259
Localisation : Quebec,quebec

[Logiciel] µDev++ - Version 1.3 disponible - Page 7 Empty
MessageSujet: Re: [Logiciel] µDev++ - Version 1.3 disponible   [Logiciel] µDev++ - Version 1.3 disponible - Page 7 EmptyMer 6 Avr 2011 - 12:13

WOW merci oni ton logiciel est vraiment nice pour commencer.
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Logiciel] µDev++ - Version 1.3 disponible - Page 7 Empty
MessageSujet: Re: [Logiciel] µDev++ - Version 1.3 disponible   [Logiciel] µDev++ - Version 1.3 disponible - Page 7 EmptyMer 6 Avr 2011 - 13:38

Tu vois lolman la réponse a tes question est un peu dans celle de doggy.
Si tu veux faire des objets faits en, mais moi j'ai fait un module gml pour ceux qui veulent pas commencer trop fort.
De toute façon bientôt je mettrai une option pour pouvoir inclure ou non les fonctions gml.
Ça permettra de réduire conséquemment la taille d'une exe vide, ou qui n'utilise pas de gml.

"- je comprends pas ta gestion des sprites avec des int non signés, c'est pour faire un tableau (de pixels) ?"
En fait c'est juste l'identifiant du sprite.

Après t'as une fonction exprès pour charger une image bitmap dans un tableau de uint, rien ne t'empêche de l'utiliser, et de générer tes textures toi même.

De plus niveau opti y a aucun soucis, ne te prend pas la tête. Chaque chose que j'ai fait a été pensé minutieusement.
Les seules opti encore possibles sont dans les fonctions elles même, et non pas dans les types de données utilisés.

En tout cas je crois avoir réussi ce que je voulais, parce que si doggy arrive a l'utiliser, ben ça montre bien que tout le monde peut s'y mettre. (faut juste faire preuve de bonne volonté)


Aussi, une petite surprise, je vous concocte un tutoriel sur un sujet intéressant (que je ne dévoilerais pas ici hinhin) et qui utiliseras µDev (bien que ce ne seras pas obligé).
Revenir en haut Aller en bas
-Coco-
Utilisateur confirmé: Rang ***
-Coco-


Messages : 545
Localisation : Grenoble - Montpellier
Projet Actuel : Orion VII - 0%

[Logiciel] µDev++ - Version 1.3 disponible - Page 7 Empty
MessageSujet: Re: [Logiciel] µDev++ - Version 1.3 disponible   [Logiciel] µDev++ - Version 1.3 disponible - Page 7 EmptyMer 6 Avr 2011 - 19:45

En tout cas µDev est quand même l'IDE le plus pratique que j'aie jamais testé ^^.
Sympathique, intuitif, il a toutes les qualités requises pour quelqu'un qui sort de GM pour apprendre le C++.
Le seul léger aspect pas trop pratique, c'est pour faire des jeux (encore!) : l'utilisation des classes dans les règles de l'art (un .h et .cpp par classe) est assez difficile à faire, donc on met tout dans le header, et ça prend vite de la place.

Donc je propose quelque chose de probablement compliqué à faire, mais à l'instar de Code::Blocks pouvoir faire des "réductions" de code. Une image sera plus parlante :
[Logiciel] µDev++ - Version 1.3 disponible - Page 7 Reduct10

Cependant si tu veux faire comme ça mais sans utiliser les accollades tu peux faire à l'instar d'AutoIt avec des
#Region
//code volumineux
#EndRegion

Où il est possible de réduire entre ces deux là.
Par contre je ne sais pas si c'est possible avec un simple QTextEdit, alors si tu n'y arrives pas ce n'est pas grave car c'est juste une fioriture totalement inindispensable rire2
Revenir en haut Aller en bas
DeinDall
Utilisateur confirmé: Rang ****
DeinDall


Messages : 858
Localisation : Quimper

[Logiciel] µDev++ - Version 1.3 disponible - Page 7 Empty
MessageSujet: Re: [Logiciel] µDev++ - Version 1.3 disponible   [Logiciel] µDev++ - Version 1.3 disponible - Page 7 EmptyMer 6 Avr 2011 - 20:09

c'est vrais que sa me manque aussi...
Revenir en haut Aller en bas
l0lmanPH
Utilisateur confirmé: Rang *
l0lmanPH


Messages : 226
Localisation : cbna.forumactif.com
Projet Actuel : Le Méchant Tueur de Bisounours
Metroid Prime : Némésis
Tutoriel GM

[Logiciel] µDev++ - Version 1.3 disponible - Page 7 Empty
MessageSujet: Re: [Logiciel] µDev++ - Version 1.3 disponible   [Logiciel] µDev++ - Version 1.3 disponible - Page 7 EmptyMer 6 Avr 2011 - 20:10

Et le fichier errors.txt tu pourrais pas le caler dans un cadre... J'ai pas encore QT mais bon je suppose que tu ouvres le fichier, stocke ligne par ligne dans une string et ajoute dans un cadre avec une méthode QT.
Revenir en haut Aller en bas
-Coco-
Utilisateur confirmé: Rang ***
-Coco-


Messages : 545
Localisation : Grenoble - Montpellier
Projet Actuel : Orion VII - 0%

[Logiciel] µDev++ - Version 1.3 disponible - Page 7 Empty
MessageSujet: Re: [Logiciel] µDev++ - Version 1.3 disponible   [Logiciel] µDev++ - Version 1.3 disponible - Page 7 EmptyMer 6 Avr 2011 - 20:21

Allez, on lui met du boulot à max !

Je vais essayer de faire un exemple utilisant Box2D (je suis fan de moteur physiques) car ça aussi 'est bien pour faire des jeux Wink
EDIT : Hmm non bon tant pis x)
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Logiciel] µDev++ - Version 1.3 disponible - Page 7 Empty
MessageSujet: Re: [Logiciel] µDev++ - Version 1.3 disponible   [Logiciel] µDev++ - Version 1.3 disponible - Page 7 EmptyMer 6 Avr 2011 - 20:55

l0lmanPH a écrit:
Et le fichier errors.txt tu pourrais pas le caler dans un cadre... J'ai pas encore QT mais bon je suppose que tu ouvres le fichier, stocke ligne par ligne dans une string et ajoute dans un cadre avec une méthode QT.

C'est pas si facile, vu que les lignes des erreurs correspondent a celles du fichier généré (et donc pas a celles dans l'ide).
Bien entendu normalement d'ici la version 1.4 y auras la gestion des erreurs.

>-Coco-
Je me sent pas trop de coder le truc avec le [+] , mais je vais essayer de trouver un moyen pour utiliser des .h et .cpp a l'intérieur même de µDev. Encore une truc pour la 1.4 (vous voulez vraiment m'exténuer hein ? :p)

En tout cas je vais faire tout mon possible pour sortir une version 1.4 pleine de nouveautés, mais le hic c'est que ça risque d'être dans un petit moment. Au pire je sortirais des versions test de temps en temps pour ceux qui y tiennent Smile
Revenir en haut Aller en bas
l0lmanPH
Utilisateur confirmé: Rang *
l0lmanPH


Messages : 226
Localisation : cbna.forumactif.com
Projet Actuel : Le Méchant Tueur de Bisounours
Metroid Prime : Némésis
Tutoriel GM

[Logiciel] µDev++ - Version 1.3 disponible - Page 7 Empty
MessageSujet: Re: [Logiciel] µDev++ - Version 1.3 disponible   [Logiciel] µDev++ - Version 1.3 disponible - Page 7 EmptyMer 6 Avr 2011 - 20:59

Pour les erreurs, tu parles des problèmes de ligne ?
En fait je pensais juste prendre le errors.txt dès qu'il est touché et "copier/coller" dans un cadre sans aucune autre opération.
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Logiciel] µDev++ - Version 1.3 disponible - Page 7 Empty
MessageSujet: Re: [Logiciel] µDev++ - Version 1.3 disponible   [Logiciel] µDev++ - Version 1.3 disponible - Page 7 EmptyMer 6 Avr 2011 - 21:01

Ouai enfin pour la plupart des problèmes ça aideras pas beaucoup...
Enfin t'en fait pas je vais m'en occuper, ça fait un moment que je comptait le faire.

Sinon voici le premier tutoriel exclusif pour µDev Very Happy
Initiation au traitement d'images numériques
Revenir en haut Aller en bas
[TheDarkTiger]
Modérateur
[TheDarkTiger]


Messages : 7420
Localisation : Essonne

[Logiciel] µDev++ - Version 1.3 disponible - Page 7 Empty
MessageSujet: Re: [Logiciel] µDev++ - Version 1.3 disponible   [Logiciel] µDev++ - Version 1.3 disponible - Page 7 EmptyMer 6 Avr 2011 - 21:40

great !

Si tu à besoin d'aide, je serait libre d'ici une semaine.
Revenir en haut Aller en bas
http://www.tdms.fr
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Logiciel] µDev++ - Version 1.3 disponible - Page 7 Empty
MessageSujet: Re: [Logiciel] µDev++ - Version 1.3 disponible   [Logiciel] µDev++ - Version 1.3 disponible - Page 7 EmptyMer 6 Avr 2011 - 22:01

Et bien merci !
Je vais voir si je peu te donner quelque chose a te mettre sous la dent, sinon des exemples touchant un peu a tout et n'importe quoi seront les bienvenus Very Happy

(Notamment Box2D)
Revenir en haut Aller en bas
-Coco-
Utilisateur confirmé: Rang ***
-Coco-


Messages : 545
Localisation : Grenoble - Montpellier
Projet Actuel : Orion VII - 0%

[Logiciel] µDev++ - Version 1.3 disponible - Page 7 Empty
MessageSujet: Re: [Logiciel] µDev++ - Version 1.3 disponible   [Logiciel] µDev++ - Version 1.3 disponible - Page 7 EmptyJeu 7 Avr 2011 - 19:03

Pour les mises à jour je pense que parmi les plus urgents y'a l'inclusion de .h avec le .cpp qui va avec (J'ai une classe object que j'ai conçue exprès en .h et .cpp mais ça marche pas ?)

Sinon pour les exemples, je vous en donnerais bien un, cependant comment on fait pour afficher des sprites avec un certain angle ? (du genre image_angle)

Allez je vais être méchant : Peut être qu'un fichier d'aide sur la version 1.3 serait bienvenu ! ^^
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Logiciel] µDev++ - Version 1.3 disponible - Page 7 Empty
MessageSujet: Re: [Logiciel] µDev++ - Version 1.3 disponible   [Logiciel] µDev++ - Version 1.3 disponible - Page 7 EmptyJeu 7 Avr 2011 - 22:04

Oui, pour la doc j'y travaille, et pour l'angle de l'image j'ai crée la fonction après avoir envoyé la version 1.3.
Je posterais donc le fichier objet correspondant plus tard pour ceux que ça intéresse :p

Au pire, en attendant tu peut toujours utiliser des primitives texturées.
Revenir en haut Aller en bas
-Coco-
Utilisateur confirmé: Rang ***
-Coco-


Messages : 545
Localisation : Grenoble - Montpellier
Projet Actuel : Orion VII - 0%

[Logiciel] µDev++ - Version 1.3 disponible - Page 7 Empty
MessageSujet: Re: [Logiciel] µDev++ - Version 1.3 disponible   [Logiciel] µDev++ - Version 1.3 disponible - Page 7 EmptyVen 8 Avr 2011 - 8:28

Bon, je ne sais pas comment utiliser les primitives texturées mais je pense qu'avec un peu de volonté j'y arriverai ^^

Par contre la texture reste toujours immobile non ?
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Logiciel] µDev++ - Version 1.3 disponible - Page 7 Empty
MessageSujet: Re: [Logiciel] µDev++ - Version 1.3 disponible   [Logiciel] µDev++ - Version 1.3 disponible - Page 7 EmptyVen 8 Avr 2011 - 10:39

oui.

Sinon tient voila le fichier binaire a jour :
http://www.host-a.net/u/onilink_/sprite_ext.7z

T'a juste a remplacer functions.o et functions.h dans le dossier bin par les nouveaux.
La fonction est draw_sprite_ext et elle s'utilise exactement comme dans GM.


Aussi j'ai corrigé/optimisé et fait qq petits ajouts a ton astéroids :

Header
Code:
#define FEN_X 640
#define FEN_Y 480

void warp(float &x, float &y)
{
    if (x < -16)
        x = FEN_X+16;
    if (y < -16)
        y = FEN_Y+16;
    if (y > FEN_Y+16)
        y = -16;
    if (x > FEN_X+16)
        x = -16;
}

class Object
{
    public:
    Object(float x=0, float y=0, float len=1, float dir=0, float angle=0)
    {
        this->x = x;
        this->y = y;
        this->dir = dir;
        this->angle = angle;
        this->speed = len;
    }
   
    void move()
    {
        this->x += lengthdir_x(speed, dir);
        this->y += lengthdir_y(speed, dir);
    }
   
    float getX() const  { return x; }
    float getY() const  { return y; }
    float getAngle() const  { return angle; }
   
    void setAngle(float angle)
    {
        if (angle > 360)
            angle -= 360;
        else if (angle < 0)
            angle += 360;
       
        this->angle = angle;
    }
   
    void setDir(float dir)  { this->dir = dir; }
    float getDir() const  { return dir; }
   
    protected:
    float x, y;
    float angle, speed, dir;
};

class Vaisseau : public Object
{
    public :
    Vaisseau(float x=0, float y=0, float angle=0)
            : Object(x,y,2,angle) {}
   
    void update()
    {
        draw_set_color(c_aqua);
        draw_primitive_begin(pr_lineloop);
          draw_vertex_lengthdir(x, y, 20, angle);
          draw_vertex_lengthdir(x, y, 10, angle + 135);
          draw_vertex_lengthdir(x, y, 10, angle - 135);
        draw_primitive_end();
       
        draw_primitive_begin(pr_linelist);
          draw_vertex_lengthdir(x, y, 0, 0);
          draw_vertex_lengthdir(x, y, 20, angle);
          draw_vertex_lengthdir(x, y, 0, 0);
          draw_vertex_lengthdir(x, y, 10, angle + 135);
          draw_vertex_lengthdir(x, y, 0, 0);
          draw_vertex_lengthdir(x, y, 10, angle - 135);
        draw_primitive_end();
       
        if (keyboard_check(vk_up)) {
            dir = angle;
            move();
        }
        if (keyboard_check(vk_down)) {
            dir = angle+180;
            move();
        }
        warp(x, y);
    }
};

class Tir : public Object
{
    public:
    Tir(float x=0, float y=0, float angle=0) : Object(x,y,5,angle)
    {
        this->x_previous = x;
        this->y_previous = y;
        this->time = 60;
    }
   
    int getTime() const  { return time; }
   
    void update()
    {
        draw_set_color(c_aqua);
        draw_primitive_begin(pr_linelist);
          draw_vertex(x, y);
          draw_vertex(x_previous, y_previous);
        draw_primitive_end();
       
        warp(x, y);
       
        x_previous = x;
        y_previous = y;
       
        time -= 1;
    }
   
    private:
    float x_previous;
    float y_previous;
    int time;
};

class Particle : public Object
{
    public:
    Particle()
    {
        deps = 5;
    }
   
    void set()
    {
        x = short(random(FEN_X));
        y = short(random(FEN_Y));
        depx = short(random(2))-1;
        depy = short(random(2))-1;
    }
   
    void update()
    {
        draw_primitive_begin(pr_pointlist);
        draw_set_color(c_aqua);
        draw_vertex(x, y);
        draw_primitive_end();
       
        if (deps == 0)
        {
            x += depx;
            y += depy;
            deps = 5;
        }
        deps -= 1;

        warp(x, y);
    }
   
    private:
    float depx, depy;
    int deps;
};

class Asteroid : public Object
{
    public:
    Asteroid(float x=0, float y=0, float angle =0) : Object(x,y,1,angle)
    {
        this->dir = 0;
    }
   
    void set()
    {
        x = short(random(FEN_X));
        y = short(random(FEN_Y));
        angle = short(random(360));
        dir = short(random(360));
        speed = 1;
        turn = random(3)-1;
        size = 1;
    }
   
    void create_dest()
    {
        angle = short(random(360));
        dir = short(random(360));
        speed = 1;
        turn = random(3)-1;
    }
   
    float getSize() const  { return size; }
    void setSize(float size)  { this->size = size; }
   
    float distanceCenter(float x, float y) const
    {
        return sqrt(sqr(x-this->x)+sqr(y-this->y));
    }
   
    bool inBox(float x, float y) const
    {
        if (x>this->x-15*size && x<this->x+15*size && y>this->y-15*size && y<this->y+15*size)
            return true;
        return false;
    }
   
    void update()
    {
        draw_set_color(c_aqua);
        draw_primitive_begin(pr_lineloop);
          draw_vertex_lengthdir(x, y, size*22, angle+20);
          draw_vertex_lengthdir(x, y, size*10, angle+45);
          draw_vertex_lengthdir(x, y, size*20, angle+100);
          draw_vertex_lengthdir(x, y, size*15, angle+170);
          draw_vertex_lengthdir(x, y, size*17, angle-135);
          draw_vertex_lengthdir(x, y, size*15, angle-50);
        draw_primitive_end();
       
        angle += 0.5*turn;
        warp(x, y);
    }
   
    private:
    float speed;
    float turn;
    float size;
};

class Morceau : public Object
{
    public :
    Morceau(float x=0, float y=0) : Object(x,y,1,0)
    {
        this->size = random(1)+1;
    }
   
    void setSize(float size)  { this->size = size; }
    float getSize() const  { return size; }
   
    void decSize()  { size -= 0.1; }
   
    void update()
    {
        draw_set_color(c_aqua);
        draw_primitive_begin(pr_linelist);
          draw_vertex_lengthdir(x, y, size*5, angle);
          draw_vertex_lengthdir(x, y, size*5, angle+180);
        draw_primitive_end();
        angle++;
    }
   
    private:
    float size;
};

Create
Code:
window_set_size(FEN_X, FEN_Y);

vector<Tir> tirs;
vector<Particle> particles(100);
vector<Asteroid> asteroides(10);
vector<Morceau> morceaux;

Vaisseau vaisseau(150,150);

bool canshot = true;
int shotdelay = 10;

for (int i=0; i<particles.size(); i++)
{
    particles[i].set();
}

for (int i=0; i<asteroides.size(); i++)
{
    asteroides[i].set();
    asteroides[i].setSize(random(2)+0.5);
}

Step
Code:
draw_clear(0);

if (keyboard_check(vk_left))
    vaisseau.setAngle(vaisseau.getAngle()+5);

if (keyboard_check(vk_right))
    vaisseau.setAngle(vaisseau.getAngle()-5);

if (keyboard_check(vk_space) && canshot && tirs.size() < 5)
{
    Tir tir(vaisseau.getX(), vaisseau.getY(), vaisseau.getAngle());
    tirs.push_back(tir);
    canshot = false;
}

if (keyboard_check('E'))
{
    Asteroid astero;
    astero.set();
    astero.setSize(random(2)+0.5);
    asteroides.push_back(astero);
}

if (canshot == false)
{
    shotdelay -= 1;
}

if (shotdelay == 0)
{
    canshot = true;
    shotdelay = 10;
}

vaisseau.update();

for (int i=0; i<tirs.size(); i++)
{
    tirs[i].move();
    tirs[i].update();
   
    bool destroyed = false;
   
    for (int j=0; j<asteroides.size(); j++)
    {
        if (asteroides[j].inBox(tirs[i].getX(), tirs[i].getY()))
        {
            for (int k=0; k<10; k++)
            {
                Morceau morc(asteroides[j].getX(), asteroides[j].getY());
                morc.setSize(1+random(1)+asteroides[j].getSize());
                morc.setDir(random(360));
                morceaux.push_back(morc);
            }
           
            Asteroid tmp(asteroides[j].getX(), asteroides[j].getY());
            tmp.setSize(asteroides[j].getSize()/2);
           
           
            tirs.erase(tirs.begin()+i);
            asteroides.erase(asteroides.begin()+j);
            destroyed = true;
           
            if(tmp.getSize() >= 0.3)
            {
                tmp.create_dest();
                asteroides.push_back(tmp);
                tmp.create_dest();
                asteroides.push_back(tmp);
            }
        }
    }
   
    if (!destroyed && tirs[i].getTime() == 0)
    {
        tirs.erase(tirs.begin()+i);
    }
}

for (int i=0; i<particles.size(); i++)
{
    particles[i].update();
}

for (int i=0; i<asteroides.size(); i++)
{
    asteroides[i].move();
    asteroides[i].update();
}

for (int i=0; i<morceaux.size(); i++)
{
    morceaux[i].move();
    morceaux[i].decSize();
    morceaux[i].update();
   
    if (morceaux[i].getSize()<=0)
    {
        morceaux.erase(morceaux.begin()+i);
    }
}
Revenir en haut Aller en bas
-Coco-
Utilisateur confirmé: Rang ***
-Coco-


Messages : 545
Localisation : Grenoble - Montpellier
Projet Actuel : Orion VII - 0%

[Logiciel] µDev++ - Version 1.3 disponible - Page 7 Empty
MessageSujet: Re: [Logiciel] µDev++ - Version 1.3 disponible   [Logiciel] µDev++ - Version 1.3 disponible - Page 7 EmptyVen 8 Avr 2011 - 14:13

Pas mal le Asteroids.
Je sais que je ne l'avais absolument pas optimisé ^^.
C'est d'ailleurs pour ça que j'ai créé une classe Object (en .h et .cpp) avec tout ce qu'on peut trouver pour éviter de le retaper à chaque coup.

Pour encore mieux faire, je vais essayer de me renseigner sur le polymorphisme, à voir.
Revenir en haut Aller en bas
l0lmanPH
Utilisateur confirmé: Rang *
l0lmanPH


Messages : 226
Localisation : cbna.forumactif.com
Projet Actuel : Le Méchant Tueur de Bisounours
Metroid Prime : Némésis
Tutoriel GM

[Logiciel] µDev++ - Version 1.3 disponible - Page 7 Empty
MessageSujet: Re: [Logiciel] µDev++ - Version 1.3 disponible   [Logiciel] µDev++ - Version 1.3 disponible - Page 7 EmptyVen 8 Avr 2011 - 21:28

Ah pour toi aussi la classe Object ?
Copain ! xD
Revenir en haut Aller en bas
-Coco-
Utilisateur confirmé: Rang ***
-Coco-


Messages : 545
Localisation : Grenoble - Montpellier
Projet Actuel : Orion VII - 0%

[Logiciel] µDev++ - Version 1.3 disponible - Page 7 Empty
MessageSujet: Re: [Logiciel] µDev++ - Version 1.3 disponible   [Logiciel] µDev++ - Version 1.3 disponible - Page 7 EmptySam 9 Avr 2011 - 9:26

Je ne sais pas si c'est mon PC qui bugge, mais quand je fais

#include "Object.h"

dans le Header de µDev, ça ne marche pas.
Alors je sais pas si c'est normal, si j'ai fait une faute dans la classe...

Dans tous les cas lorsque je fais un objet qui en hérite, ça marche, mais dès que je veux l'utiliser, le compilateur me dit :
Errors.txt a écrit:
[...]ccy8aaaa.o(.text+0x16c):temp.cpp: undefined reference to `Object::Object(float, float, float, float, float)'
collect2: ld returned 1 exit status

?

Bon...

Ma classe Object est pourtant sans erreur, alors si c'est résolvable faites m'en part (en attendant, je dois copier le code au début du header à chaque fois :p)
Revenir en haut Aller en bas
Contenu sponsorisé





[Logiciel] µDev++ - Version 1.3 disponible - Page 7 Empty
MessageSujet: Re: [Logiciel] µDev++ - Version 1.3 disponible   [Logiciel] µDev++ - Version 1.3 disponible - Page 7 Empty

Revenir en haut Aller en bas
 
[Logiciel] µDev++ - Version 1.3 disponible
Revenir en haut 
Page 7 sur 16Aller à la page : Précédent  1 ... 6, 7, 8 ... 11 ... 16  Suivant
 Sujets similaires
-
» Save the Moon (version 0.15 disponible)
» [Logiciels] PAT : The Pixel Art Toolkit - 1 logiciel disponible
» Animatoon - soft de Dessin nlle version disponible p1 (0.3.19/03-2011)
» Bot Arena **démo disponible**
» Warbot The Mecanox v0.5 DISPONIBLE

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Informations :: Projets-
Sauter vers: