Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17

Discussione: hittest con mouse

  1. #1

    hittest con mouse

    salve a tutti!
    non riesco proprio a ricordare come far rilevare la collisione tra un clip e il puntatore del mouse.
    credevo fosse:

    _root.clip.hitTest(_xmouse)

    ma non funziona!!!
    qualcuno mi aiuta?

  2. #2
    grazie a tutti!!!
    ho trovato la risposta cercando nell'archivo del forum.

    onClipEvent (mouseMove) {
    if (this.hitTest(_root._xmouse, _root._ymouse, true))
    {
    gotoAndStop(1);
    }
    }
    ciao!

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    1,037
    se usi mx:
    codice:
    // true se voi la manina altrimenti false
    nomeMC.useHandCursor= false;
    nomeMC.onRollOver= function(){
         trace('onRollOver')
    };

  4. #4
    Polliotto,

    mi spiegheresti come in MX si può convertire secondo le tue istruzioni
    questo script

    onClipEvent(load){
    nome="Sfo"+substring(this._name,4,1);
    }
    onClipEvent(mouseDown){
    if(this.hitTest(_root._xmouse,_root._ymouse, false)){
    premuto=true

    }
    }
    onClipEvent(mouseMove){
    if(this.hitTest(_root._xmouse,_root._ymouse, false)){

    this[nome].nextFrame()
    }else{
    this[nome].prevFrame()
    }

    }
    onClipEvent(enterFrame){
    if(premuto){this[nome].nextFrame()}


    }

    GRAZIE

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    1,037
    usi per gli mc duplicati?

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    1,037
    codice:
    onClipEvent (enterFrame) {
    	if (premuto)
    	{
    		this[nome].nextFrame();
    	}
    }
    quanti frame ha il this[nome]?

  7. #7
    Dunque è composto cosi

    Ho un solo Clip BOX che contiene

    Livello2 Variabile di Testo
    Livello1 Clip Sfondo

    Il Clip Sfondo ha 2 frame la prima con sfondo Bianco, la seconda con sfondo Grigio


    Il Menu è composto dalla copia in serie di _root.BOXn che fa da 1 a 4

    Il _name del clip di Sfondo lo faccio calcolare prendendo la variabile nome da BOXn

    Ovvero su ogni BOXn c'è
    onClipEvent(load){
    nome="Sfo"+substring(this._name,4,1);
    }
    onClipEvent(mouseDown){
    if(this.hitTest(_root._xmouse,_root._ymouse, false)){
    premuto=true

    }
    }
    onClipEvent(mouseMove){
    if(this.hitTest(_root._xmouse,_root._ymouse, false)){

    this[nome].nextFrame()
    }else{
    this[nome].prevFrame()
    }

    }
    onClipEvent(enterFrame){
    if(premuto){this[nome].nextFrame()}


    }

    Mentre sul clip Sfondo c'è

    onClipEvent(load){
    stop()
    _name=_parent.nome
    }


    Se passo con il mouse diventa grigio, se lo levo torna bianco
    se premo rimane Grigio

    Ciao, grazie e scusa per l'attesa.
    Rpx

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    1,037
    non sarebbe meglio usare setRGB anzi che usare 2 frame?

  9. #9
    decisamente si, ma stavo cercando di sbrigarmi per dare una risposta sull'altro Forum, poi tu mi hai illuminato con questa news (per me) di MX e mi sono appassionato a come risolveresti tu con la tua sintassi.

    In più sarebbe decisamente opportuno scrivere una funzione sulla prima frame e richiamare solo il nome dela funzione.

    Ma per me sono ancora un po ostiche.

    Rimandami l'esempio di come faresti tu. Se vuoi Grazie

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    1,037
    ma, 1 esempio potrebbe essere anche cosi:
    codice:
    //usa String.substr() perchè substring è obsoleto
    this.nome = "Sfo" + this._name.substr(4, 1);
    this.premuto = 0;
    function changeColor(c)
    {
    	var c = this.premuto || arguments[0] == undefined ? 0x666666 : 0xFFFFFF;
    	var col = new Color(this);
    	col.setRGB(c);
    }
    this.onRollOver = changeColor;
    this.onRollOut = function()
    {
    	changeColor(0xFFFFFF);
    };
    this.onPress = function()
    {
    	changeColor(0x666666);
    	this.premuto = 1;
    };
    ciao se hai bisogno fammi sapere

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 © 2024 vBulletin Solutions, Inc. All rights reserved.