Page 1 sur 1

Help!! Problème de compilation Actionscript 3 en swf

Publié : 18 mai 2017 - 23:50
par grodg
Je tente désespérément de compiler un source Actionscript 3 pour créer un fichier Background au format swf compatible avec Hyperspin.

J'ai installé Apache Flex sdk (version Apache Flex 4.16.0 FP11.9 AIR3.9 en_US) + FlashDevelop.

J'ai écrit ce src simpliste qui affiche un texte blanc sur un fond bleu tout vilain pour tester :

Code : Tout sélectionner

package
{
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.text.TextField;
	import flash.text.TextFormat;
	
	/**
	 * ...
	 * @author vincent
	 */
	public class Main extends Sprite 
	{
		
		public function Main() 
		{
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}
		
		private function init(e:Event = null):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
			// entry point
			
			// Mario Strikers Charged Football 
			this.addText("Mario Strikers Charged Football", "calibri", 22, "0xffffff", true, false, false, true, true, false, 20, 170, 200, 30);
			
		}
				
		/**
		 * Ajout d'un objet TextField dans la scène
		 * @param	text
		 * @param	font
		 * @param	size
		 * @param	color
		 * @param	bold
		 * @param	italic
		 * @param	underline
		 * @param	wordWrap
		 * @param	multiline
		 * @param	embedFont
		 * @param	x
		 * @param	y
		 * @param	width
		 * @param	height
		 * @return
		 */
		private function addText(text:String, font:String, size:Number, color:String, bold:Boolean, italic:Boolean, underline:Boolean, wordWrap:Boolean, multiline:Boolean, embedFont:Boolean, x:Number, y:Number, width:Number, height:Number):TextField
		{	
			var t:TextField = new TextField();
			var tf:TextFormat = new TextFormat();
			
			t.x = x;
			t.y = y;
			t.width = width;
			t.height = height;
			t.wordWrap = wordWrap;
			t.multiline = multiline;
			t.autoSize = "left";
			t.text = text;
			t.embedFonts = embedFont;
			
			tf.font = font;
			tf.size = size;
			tf.color = color;
			tf.bold = bold;	// textF1.bold = attributes[3].toLowerCase(  ) == "true";
			tf.italic = italic;
			tf.underline = underline;
			
			// Apply "setTextFormat()" to the text field , with the "textFormat" instance as argument
			t.setTextFormat(tf);
			// Apply "addChild()" to add the text in the Flash presentation
			this.addChild(t);
			
			return t;
		}
	}

}
J'ai lu sur un autre post qu'il fallait compiler en flash 10.3.
Donc, je paramètre le projet dans FlashDevelop ainsi :

Image

Quand je teste le contenu de mon BackgroundTest1.swf avec Velocity9, ce dernier me confirme que l'outil a à priori bien compilé en flash 10.3 :

Image

Quand je teste mon swf compilé dans un navigateur, no soucis, ça marche bien aussi.

Le problème, c'est quand j'insère mon Background.swf dans un thème système par défaut, cela fait merder complètement Hyperspin.
A la place de mon image de fond, Hyperspin me lance en background la video d'intro d'HS derrière les wheels.... Comprends pas bien là???? :x :x :x

Donc, si un esprit éclairé passe par là, je suis preneur de toute idée, car je sèche un peu là...

Edit1 : je fais mes essais avec Hyperspin 1.4 et rocketkauncher à jour.

Re: Help!! Problème de compilation Actionscript 3 en swf

Publié : 20 mai 2017 - 11:21
par grodg
Bon, je me réponds à moi même (oui, je sais Moustic je flood c pas bien, je ne le ferai plus promis...), mais j'ai fait quelques recherches intéressantes :

En trainant sur le forum officiel Hyperspin, j'ai trouvé 2 posts intéressants de dark13 :

- Le 1er stipule qu'Hyperspin ne supporte a priori que les swf générés depuis adobe flash professional + actionscript3
http://www.hyperspin-fe.com/forums/topi ... ent-211508

- Le 2ième est un projet complet de transformation de la présentation d'Hyperspin pour l'adapter au thème Aeon Nox 13 de Kodi.
http://www.hyperspin-fe.com/forums/topi ... ent-103759

J'ai décompilé ses swf pour essayer de comprendre pourquoi les siens étaient compatibles avec Hyperspin et pas les miens.
Les sources de dark13 sont tous des .fla (=projet créé dans Animate CC compilé en flash si je comprends bien), alors que les miens sont compilés avec le moteur Flex, que Hyperspin ne doit pas bien supporter je présume.

Les sources de dark13 sont en tout cas très instructifs : il a réussi à créer des swf dynamiques dans lesquels il injecte du texte paramétré dans un fichier xml à part.

-> En gros, pour nous ici, je pense qu'il serait donc bien possible de créer un swf qui s'appuirait sur nos databases pour injecter en dynamique les infos de chaque rom (titre, synopsis etc...) + une partie des déco.

Je vais essayer de creuser un peu le sujet.....

Edit du 21/05/17 :
Ok, j'ai réussi à résoudre mon pb de compilation en passant par Animate CC et j'arrive désormais à injecter en dynamique des images et du texte dans un swf.
Je passe le post en [Résolu].