Miren tengo este codigo que hice para una aplicacion de dibujo ... en este archivo tengo 10 figuras que puedo hacer el drag a un cuadro que tengo determinado para poder poner las imagenes, las puedo escalar, rotar, etc ...
tengo tambien 3 diferentes colores donde puedo dibujar y hasta ahorita todo esta bien.
pero quiero poder cambiar la forma de dibjar, quiero usar diferentes bronchas, digamos ahorita solo pinta lineas y quiero cambiar los patrones.
alguien podria echarme la mano con esto ??
saludos
Código :
Stage.scaleMode = "noscale";
Stage.showMenu = false
fscommand("trapallkeys", "true");
fscommand("fullscreen", "true");
// variables dibujo
var drawingEnabled:Boolean = true;
var lineThickness:Number = 5;
var lineColor:Number = 0x0EACBF;
var lineAlpha:Number = 100;
var seleccion:Boolean = false;
var original:Boolean = false;
//variables drag
var elementos:Number = 0;
var curr_elemento:Number = 0;
var curr_mc:String = "";
//aplicacion de tamaño, girar, etc ...
import gs.TransformManager;
var manager_obj = new TransformManager({bounds:{xMin:241, xMax:1126, yMin:12, yMax:676}, constrainScale:true, autoDeselect:true, forceSelectionToFront:true, eventHandler:onAnyEvent});
manager_obj.addEventListener("move", onMove);
function onAnyEvent(event_obj:Object):Void {
seleccion = true;
//trace("Action: "+event_obj.action+", MovieClip or TextField: "+event_obj.targetObject+", transformed?: "+event_obj.transformed);
}
function onMove(event_obj:Object):Void {
//trace("Moved mc: "+event_obj.targetObject);
}
//aplicacion de drag de elementos
MovieClip.prototype.aprieta = function(){
this.onPress = function(){
if(original == false){
disableDrawing();
elementos = elementos + 1
curr_elemento = elementos;
_root.attachMovie(this._name, "d_e"+curr_elemento, _root.getNextHighestDepth(), {_x:this._x, _y:this._y});
curr_mc = this._name;
startDrag("d_e"+curr_elemento);
}
}
}
for (i=0;i<10;i++){
this["d"+(i+1)].aprieta()
}
var mouseListener:Object = {};
mouseListener.onMouseUp = mouseMoveHandler;
Mouse.addListener(mouseListener);
function mouseMoveHandler():Void {
trace("d_e"+curr_elemento)
manager_obj.addItem(_root["d_e"+curr_elemento]);
stopDrag();
}
/// aplicacion de dibujo
this.onEnterFrame = update;
this.onMouseDown = startDrawing;
this.onMouseUp = stopDrawing;
function update():Void {
var x:Number = mascara._xmouse;
var y:Number = mascara._ymouse;
var w:Number = mascara._width;
var h:Number = mascara._height;
if( x >= 0 && y >= 0 && x < w && y < h && seleccion == false) {
// MOUSE IS OVER THE DRAWING AREAadentro
enableDrawing();
}else{
// afuera
disableDrawing();
}
}
function enableDrawing():Void {
if( drawingEnabled == false ) {
drawingEnabled = true;
}
}
function disableDrawing():Void {
if( drawingEnabled == true ){
//trace("desabilito")
drawingEnabled = false;
}
}
function startDrawing():Void {
if( drawingEnabled ) {
drawing_mc.lineStyle(lineThickness, lineColor, lineAlpha);
drawing_mc.moveTo(_xmouse,_ymouse);
onMouseMove = drawLine;
}
}
function stopDrawing():Void {
onMouseMove = NoLine;
}
function drawLine():Void {
if( drawingEnabled ) {
drawing_mc.lineTo(_xmouse,_ymouse);
updateAfterEvent();
}
}
bt_azul.onPress = function(){
if (original ==false){
drawingEnabled = true;
lineColor = 0x0EACBF;
seleccion = false;
}
}
bt_naranja.onPress = function(){
if (original == false){
drawingEnabled = true;
lineColor = 0xF45C26;
seleccion = false;
}
}
bt_cafe.onPress = function(){
if (original == false){
drawingEnabled = true;
lineColor = 0xC4BB84;
seleccion = false;
}
}
bt_original.onPress = function(){
original = true;
seleccion = true;
drawingEnabled = false;
_root.attachMovie("foto_original", "foto_original", _root.getNextHighestDepth(), {_x:683.5, _y:344});
}
bt_clear.onPress = function(){
drawingEnabled = true;
seleccion = false;
original = false;
drawing_mc.clear();
for (i = 1; i<=elementos;i++){
removeMovieClip(_root["d_e"+i])
}
elementos = 0;
curr_elemento = 0;
curr_mc = "";
}
stop();
[/flash] 