2017-10-13 52 views
2

J'essaie de passer à HaxeFlixel après avoir appris la disparition de Flash, mais je ne suis pas tout à fait sûr de la façon de faire le lien entre les deux. J'utilise actuellement Visual Studio Code sur un Mac.Quel est l'équivalent de la bibliothèque de symboles Adobe Flash pour Haxe?

Dans Flash (maintenant Animer CC), vous disposez d'une bibliothèque pleine de symboles:

enter image description here

Vous pouvez cliquer droit sur et modifier ces symboles, tels que la définition d'une classe de base:

Je possède toutes les classes de base .as dans mon dossier de projet et chacune contrôle le (s) symbole (s). Quand je suis en VSC, je peux créer des fichiers .hx et j'ai un dossier dédié aux images avec tous mes bitmaps de jeu dedans. De là, je ne sais pas comment recréer mon jeu. Qu'est-ce qu'une bibliothèque de symboles, à laquelle je peux assigner des classes de base, lors du codage dans Haxe?

Répondre

1

Il n'y a pas de bibliothèque comme vous le savez de Flash OpenFL. Si vous recherchez une gestion des ressources OpenFL "native", consultez la classe openfl.Assets. Il fournit des fonctions pour charger et analyser plusieurs formats de fichiers d'actifs.

Si vous avez besoin d'une classe pour votre projet HaxeFlixel qui vous permet d'étendre les fonctionnalités de base d'un sprite vous pouvez étendre FlxSprite et charger la feuille graphique/sprite dans le constructeur:

class Block extends FlxSprite{ 
    public function new(){ 
    super(); 
    loadGraphic("assets/images/block.png", false, 64, 64); 
    } 
} 

Vous n'avez pas vouloir étendre mais juste charger le bitmap/spritesheet dans un FlxSprite? Pas beaucoup de différence:

var block = new FlxSprite(); 
block.loadGraphic("assets/images/block.png"); 
add(block); 

Voir aussi:

+0

Oui, en essayant de le faire de la façon dont je t a été fait dans l'ide Flash pourrait ne pas être le meilleur moyen. Je préférerais essayer de le faire comme prévu à Haxe. Je vais d'abord faire le jeu de tutoriel, mais comme vous ne pouvez pas avoir d'objets de bibliothèque qui ciblent les classes de base, y a-t-il même un point pour créer des classes séparées pour les ennemis? Les choses deviennent assez complexes dans mon jeu flash, alors j'espère pouvoir recréer ça à Haxe sans trop de problèmes. Je ne sais pas pourquoi les gens pensaient que les utilisateurs de Flash aimeraient migrer vers Haxe. –

+0

Il est difficile de dire s'il est judicieux de créer des cours séparés sans connaître votre projet. Si vous utilisez simplement le nom de la classe pour instancier les sprites, la deuxième option HaxeFlixel fonctionnera. La création d'un projet Haxe à partir de votre code Flash prendra du temps, c'est généralement faisable. Attendez-vous cependant à un effort d'apprentissage, OpenFL n'est pas Flash, même si l'API présente de nombreuses similitudes, vous verrez des différences lors du changement de plate-forme/langue. –

+0

Cela n'a pas de sens, cependant?Si vous avez 50 ennemis différents dans votre jeu, vous commencerez avec un fichier de classe Enemy qui étend GameObject, alors vous pourriez le décomposer encore plus loin. GameObject >> Ennemi >> FlyingEnemy. De là, vous pouvez définir le nom de liaison à FlyingEnemy pour n'importe lequel de vos ennemis qui volent et cette classe les contrôlera. Si vous voulez qu'ils fassent autre chose, décomprimez-en plus. Pour les ennemis de boss complexes, j'avais des fichiers de classe entiers dédiés à eux. GameObject >> Ennemi >> DragonBoss. Cela a fonctionné, c'était facile à éditer, seulement maintenant je me rends compte à quel point cela semble étrange pour les gens –