Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    271

    disegnare quadrati con il mouse

    Salve ragazzi,

    ho bisogno di disegnare dei quadrati con il mouse. Sto guardando i Drawing methods su quest'articolo http://flash-mx.html.it/articoli/vie...olo=28&idpag=1 ma grazie alla mia inesperienza i quadrati non li riesco a disegnare!!!

    Qualcuno sa aiutarmi?

    Ciao e grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    1,037
    cosa è che non riesci?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    271
    nel frattempo ho modificato questo script in questo modo:



    // "flashguru" http://ww.flashguru.co.uk/
    this.createEmptyMovieClip("draw",1);
    draw.lineStyle(0,0x000000)
    draw.onMouseDown = function(){
    this.down = true;
    this.begin = {x:this._xmouse,y:this._ymouse};
    this.moveTo(this._xmouse,this._ymouse);
    this.beginFill(0xEEEEEE,100)
    }
    draw.onMouseUp = function(){
    this.lineTo(this.begin.x,this.begin.y);
    this.down = false;
    }
    draw.onMouseMove = function(){
    if(this.down){
    this.lineTo(this._xmouse,this._ymouse);
    this.lineTo(this._xmouse,this._ymouse);
    this.lineTo(this._ymouse,this._xmouse);
    this.lineTo(this._ymouse,this._ymouse);
    }
    }

    ma il risultao e'che mi disegna una serie di triangoli. Io invece vorrei disegnare dei quadrati proprio come si fa con flash...

    Mi sai aiutare?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    271
    allora, lo script che ho usato io e' il seguente:

    this.createEmptyMovieClip("draw",1);
    draw.lineStyle(0,0x000000)
    draw.onMouseDown = function(){
    this.down = true;
    this.begin = {xt:this._xmouse,yt:this._ymouse};
    this.moveTo(this._xmouse,this._ymouse);
    this.beginFill(0xFF0000, 30)
    }
    draw.onMouseUp = function(){
    xb = this._xmouse;
    yb = this._ymouse;
    this.lineTo(this.begin.xt,this.begin.yt);
    this.lineTo(xb, this.begin.yt);
    this.lineTo(xb, yb);
    this.lineTo(this.begin.xt, yb);
    this.endFill();
    this.down = false;
    }

    e disegna i quadrati come vorrei io.

    quello che mi piacerebbe fare e' fare in modo che mentre disegno il quadrato, mi facesse vedere cio' che ho disegnato in maniera dinamica, cioe' durante il disegno vorrei vedere la costruzione del quadrato.

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    1,037
    codice:
    this.createEmptyMovieClip("draw_mc", 1);
    draw_mc.lineStyle(0, 0x000000);
    draw_mc.onMouseDown = function()
    {
    	this.liv = this.getNextHighestDepth();
    	this.createEmptyMovieClip("quad_" + this.liv, this.liv);
    	this.start_x = _xmouse;
    	this.start_y = _ymouse;
    	this.onEnterFrame = function()
    	{
    		with (this["quad_" + this.liv])
    		{
    			clear();
    			beginFill(0xFF0000, 30);
    			moveTo(this.start_x, this.start_y);
    			lineTo(this.start_x, this.start_y);
    			lineTo(_xmouse, this.start_y);
    			lineTo(_xmouse, _ymouse);
    			lineTo(this.start_x, _ymouse);
    			endFill();
    		}
    	};
    };
    draw_mc.onMouseUp = function()
    {
    	this.onEnterFrame = null;
    };

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    271
    perfetto!!!!

    l'unica cosa e' che con lo script che mi hai dato tu, se disegno piu' quadrati uno dopo l'altro, vedo solo l'ultimo disegnato.

    quindi ho sostituito

    this.liv = this.getNextHighestDepth();
    this.createEmptyMovieClip("quad_" + this.liv, this.liv);

    con

    i = i +1;
    this.createEmptyMovieClip("quad_" + i, i);

    esiste un modo piu' elegante di farlo?

    Poi un'altra cosa. Una volta disegnati, e' possibile ridimensionare e cancellare i quadrati?

  7. #7
    Ciao Polliotto

    Ho modificato in

    draw_mc.lineStyle(2, 0x003366);

    ma non riesco a tracciare il bordo dei quadrati ??


  8. #8
    Originariamente inviato da pasaran
    perfetto!!!!

    l'unica cosa e' che con lo script che mi hai dato tu, se disegno piu' quadrati uno dopo l'altro, vedo solo l'ultimo disegnato.

    quindi ho sostituito

    this.liv = this.getNextHighestDepth();
    this.createEmptyMovieClip("quad_" + this.liv, this.liv);

    con

    i = i +1;
    this.createEmptyMovieClip("quad_" + i, i);

    esiste un modo piu' elegante di farlo?

    Poi un'altra cosa. Una volta disegnati, e' possibile ridimensionare e cancellare i quadrati?
    - ridimensionare = MC._xscale = 200; ad es.
    - rimuovere = MC.removeMovieClip();
    Interactive Html/CSS/JS Playground | @webbeloz ( cip..cip! )
    Mechanics & Expert Tuning Fix Z3 Roadster Community

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.