J'écris un programme en AS3. C'est le contenu exact ne semble pas avoir d'importance ici. J'ai essentiellement 4 classes, réparties en 4 fichiers. La chose est, il ne peut pas trouver un de ces fichiers, et je ne peux pas comprendre pourquoi. Je l'ai vérifié plusieurs fois et j'ai même demandé à mon professeur de le vérifier, et nous ne pouvons toujours pas trouver ce qui ne va pas. Est-ce que quelqu'un d'autre a eu un problème similaire, ou avez-vous une idée sur la façon de résoudre ce problème?Fichier introuvable AS3
EDIT: Ligne 37 1046: le type n'a pas été trouvé ou n'était pas une constante de compilation: CustomTextField. Ligne 37 1180: Appel à une méthode éventuellement non définie CustomTextField. (Deux fois)
package
{
// Import stuff
import flash.display.MovieClip;
import flash.text.TextField;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.utils.*;
public class CustomButton extends MovieClip
{
// Private variables:
private var animationsListAR_:Array = [];// Array for the animations.
private var textArea_:CustomTextField = new CustomTextField();
private var curState_:int = 1;// The current state (1 = Normal, 2 = Pressed, 3 = Over).
private var active_:Boolean;
private var type_:String;// Multi choice, single choice, normal.
private var group_:int;
private var animated_:Boolean = false;
// Protected variables:
// Public variables:
// Constructor:
// This constructor sets up the event listeners and the button's properties.
public function CustomButton(animationAR:Array, buttonlabel:String = "Hello", animated:Boolean = false, active:Boolean = true, type:String = "free", group:int = 0)
{
this.gotoAndStop(curState_);
// Prevents the start of the animations.
// Deals with the text inside the button.
this.buttonMode = true;
active_ = active;
this.addChild(textArea_);
if (animated == true)
{
animated_ = true;
/*
animationsListAR_[0] = 1;
for (var i:int = 1; i < animationAR.length; i++)
{
animationsListAR_[i] = animationAR[i - 1];
}
*/
}
// If active_ is true the game will add EventListeners to this object.
if (active_ == true)
{
this.addEventListener(MouseEvent.MOUSE_DOWN,mouseOverHandler);
this.addEventListener(MouseEvent.MOUSE_OVER,mouseOverHandler);
this.addEventListener(MouseEvent.MOUSE_OUT,mouseOutHandler);
}
// Needed to monitor the active_ var.
this.addEventListener(Event.CHANGE, activeChangeHandler);
}
// This function swaps the active_ variable value and calls activeChangeHandler.
public function ActiveChange()
{
active_ = ! active_;
this.dispatchEvent(new Event(Event.CHANGE));
}
public function mouseOverHandler(evt:MouseEvent)
{
if(evt.type == MouseEvent.MOUSE_DOWN)
{
curState_ = 2;
if (animated_ == true)
{
loopSegment((animationsListAR_[1] + 1), animationsListAR_[2]);
}
else
{
this.gotoAndStop(curState_);
}
this.addEventListener(MouseEvent.MOUSE_UP, function(evt:MouseEvent):void
{
evt.target.removeEventListener(MouseEvent.MOUSE_DOWN, arguments.callee);
curState_ = 3;
evt.target.gotoAndStop(curState_);
});
}
else if(evt.buttonDown != true)
{
curState_ = 3;
if (animated_ == true)
{
loopSegment((animationsListAR_[2] + 1), animationsListAR_[3]);
}
else
{
this.gotoAndStop(curState_);
}
}
dispatchEvent(new CustomButtonEvent(CustomButtonEvent.OVER));
}
public function mouseOutHandler(evt:MouseEvent)
{
curState_ = 1;
if (animated_ == true)
{
loopSegment((animationsListAR_[0]), animationsListAR_[1]);
}
else
{
this.gotoAndStop(curState_);
}
dispatchEvent(new CustomButtonEvent(CustomButtonEvent.OUT));
}
public function activeChangeHandler(evt:Event)
{
if (active_ == true)
{
this.addEventListener(MouseEvent.CLICK,mouseOverHandler);
this.addEventListener(MouseEvent.MOUSE_OVER,mouseOverHandler);
this.addEventListener(MouseEvent.MOUSE_OUT,mouseOutHandler);
}
else
{
this.removeEventListener(MouseEvent.CLICK,mouseOverHandler);
this.removeEventListener(MouseEvent.MOUSE_OVER,mouseOverHandler);
this.removeEventListener(MouseEvent.MOUSE_OUT,mouseOutHandler);
}
// modifyMaskButton();
}
/*
public function modifyMaskButton():void
{
if (active_ = true)
{
}
else
{
}
}
*/
public function playSegment(begin:int, end:int):void
{
if (begin != end)
{
gotoAndPlay(begin);
addEventListener(Event.ENTER_FRAME,function(evt:Event):void
{
if(currentFrame == end)
{
stop();
removeEventListener(Event.ENTER_FRAME, arguments.callee);
}
});
}
else
{
this.gotoAndStop(end);
}
}
// This loops continuosly an animation. Should, at least...
public function loopSegment(begin:int, end:int):void
{
if (begin != end)
{
gotoAndPlay(begin);
addEventListener(Event.ENTER_FRAME,function(evt:Event):void
{
if(currentFrame == end)
{
gotoAndPlay(begin);
}
});
}
else
{
this.gotoAndStop(end);
}
}
}
}
Deuxième fichier:
package
{
import flash.display.MovieClip;
import flash.text.TextField;
public class CustomTextField extends MovieClip
{
private var textArea:TextField;
private var boldText:TextFormat = new TextFormat();
function CustomTextField()
{
textArea = new TextField;
}
override function CustomTextfield(labelText:String, font:String = "Arial", color:uint = 0xFFFFFFFF, size:uint = 10)
{
textArea = new TextField;
boldText.font = font;
boldText.color = color;
boldText.size = size;
this.text = labelText;
}
function changeFont(font:String):void
{
boldText.font = font;
updateText();
}
function changeColor(color:uint):void
{
boldText.color = color;
updateText();
}
function changeSize(size:uint):void
{
boldText.size = size;
updateText();
}
function embedText(choice:Boolean):void
{
this.embedFonts = choice;
}
function updateText():void
{
this.setTextFormat(boldText);
}
}
}
Vous ne pouvez pas vous attendre à obtenir une réponse à une question, qui dit simplement que vous avez un problème. Donnez-nous des messages d'erreur, une description de la structure du projet et/ou le code source lui-même. Essayez de décomposer votre problème en quelque chose facilement compris. – devsnd
@twall Ceci n'est pas seulement utile pour nous, mais souvent, lorsque vous résolvez votre problème, vous finissez par trouver la réponse. –
Il est très peu probable que quelqu'un dise "Ah oui, c'est un problème de Flash connu quand vous avez 4 fichiers", vous devriez décrire les choses un peu plus loin. – Kodiak