| 
		[Swish Max 2] Mouse Dragging | 
   
    
   
      | Autor | 
      Wiadomość | 
   
            
      
         
		 Jaszczompek		  
		 
         Początkujący
  
  
                  Dołączył: 08 Gru 2009 Posty: 5 Skąd: Ostrołęka 
                         | 
      
         
            
                              			    Wysłany: Wto 08 Gru, 2009 07:07   [Swish Max 2] Mouse Dragging
                               | 
                    
  | 
             
            
               
  | 
             
            
               Witam , przeczytałem na wstępie dział poświęcony skryptom ale nie potrafię sobie z tym poradzić. Jak zbudować skrypt który po najechaniu na kwadracik zacznie go przenosić , a jeśli wyjdę za obszar powiedzmy o 2-3px większy to go puści ? 
 
Efekt znalazłem na pewnej stronce -> http://www.aquatorygroup.ru/flash/
 
 
 
Druga sprawa to idąc w kierunku uzyskania efektu jaki podałem w linku zrobiłem animacje przycisku i miga raz bardziej raz mniej widoczny , ale w momencie gdy najadę na niego akcja przestaje...
 
 
 
 
 
 
edit. Czy mógłby mnie chociarz ktoś nakierować ? 
 
 
Algorytm:
 
Jeśli najadę złap za obiekt i przesuwaj z myszką , 
 
Jeśli przesunę ten obiekt o x+10 to puśc obiekt i umieść go tam gdzie był 
 
 
 
Oczywiście to niżej nie działa , ale czy to w dobrą stronę wogóle idę ?
 
 	  | Kod: | 	 		  onSelfEvent (rollOver) 
 
{
 
    startDrag(_target, false);
 
    
 
    if( this._x == 100)
 
    {
 
        stopDrag();
 
        this.move_x = 100;
 
        this.move_y = 100;
 
    }
 
    
 
}  | 	   
 
 
[ Dodano: Sro 16 Gru, 2009 09:14 ]
 
//Odświeżam 
 
 
Znalazłem na forum że obiekt "spogląda" w kierunku kursora , dodałem efekt znikania... to nie jest efekt w pełni który chciałem uzyskać ale myślę krok po kroczku i coś wyjdzie    Wypadało by tutaj dorzucić If który sprawdzi - jeżeli myszka zbliży się w okolicę np. 20px to wtedy to zaczyna działać , mogłby ktoś mi pomóc ? 
 
 
 	  | Kod: | 	 		  
 
onSelfEvent (enterFrame, includingFirstFrame) 
 
{
 
   
 
    Xm = _root._xmouse-this._x;
 
    Ym = _root._ymouse-this._y;
 
    kat = (Math.atan(Ym/Xm) * 180) / Math.PI;
 
    kat += (_root._xmouse < this._x) ? 180 : 0;
 
    _root.Kierunek._rotation = kat;
 
}
 
 
onSelfEvent(enterFrame, includingFirstFrame)
 
{  _1._alpha = 20;   _2._alpha = 20; }
 
  
 
on (rollOver) {alpha = 100; }
 
on (rollOut)  {alpha = 20;  }
 
 | 	 
  | 
             
									
				| Ostatnio zmieniony przez Jaszczompek Pią 18 Gru, 2009 13:25, w całości zmieniany 2 razy   | 
			 
			          
       | 
   
	
		
						 					 | 
		
			
                   | 
   
	  
      
		  | 
   
   
         
      
         
		 augustym  		  
		 
         Początkujący
  
  
                  Dołączył: 03 Lis 2009 Posty: 4 Skąd: Ciechocinek 
                         | 
      
         
            
                              			    Wysłany: Pią 18 Gru, 2009 09:12   
                               | 
                    
  | 
             
            
               
  | 
             
            
                  m moze pliczek swi do tego przykładu
 
 
pozdrawiam | 
             
						
				_________________ MAIMAI.com.pl - Augustym | 
			 
						          
       | 
   
	
		
						 					 | 
		
			
                   | 
   
	  
      
		  | 
   
   
         
      
         
		 Jaszczompek		  
		 
         Początkujący
  
  
                  Dołączył: 08 Gru 2009 Posty: 5 Skąd: Ostrołęka 
                         | 
      
         
            
                              			    Wysłany: Pią 18 Gru, 2009 13:22   
                               | 
                    
  | 
             
            
               
  | 
             
            
               Dodałem ale to nie jest to co chce osiągnac    nie wiem w jakim kierunku isc , nie mam pomysłu a nikt nie chce pomoc póki co...
 
 
Wystarczyło by pewnie teraz popracować nad animacją , początkowa alphe na 20 dodać , i jak tu ustawić tego ifa żeby lapał dopiero po zbliżeniu się do obiektu | 
             
						          
       | 
   
	
		
						 					 | 
		
			
                   | 
   
	  
      
		  | 
   
   
         
      
         
		 Szymciosek  		  
		 
         Ekspert
  
  
                  Pomógł: 22 razy Wiek: 33  Dołączył: 20 Lut 2009 Posty: 248 Skąd: Świdnica 
                         | 
      
         
            
                              			    Wysłany: Pią 18 Gru, 2009 13:47   
                               | 
                    
  | 
             
            
               
  | 
             
            
               Żeby wyłapało że mysz jest 10px od obiektu
 
 
Anchor Point ustawiony na center
 
 
if (_xmouse <= obj.x + obj.width / 2 + 10){
 
trace("10px na prawo);
 
}
 
 
Chyba dobrze, robię z pamięci, a obj to jakiś tam kwadrat np. | 
             
						          
       | 
   
	
		
						 					 | 
		
			
                   | 
   
	  
      
		  | 
   
   
         
      
         
		 Jaszczompek		  
		 
         Początkujący
  
  
                  Dołączył: 08 Gru 2009 Posty: 5 Skąd: Ostrołęka 
                         | 
      
         
            
                              			    Wysłany: Pią 18 Gru, 2009 18:41   
                               | 
                    
  | 
             
            
               
  | 
             
            
               to dodane jest w scripcie sprita Kierunek czyli twój obj to mój Kierunek, czyli w animacji this. zastępujemy 
 
 
 	  | Kod: | 	 		  
 
onSelfEvent (enterFrame, includingFirstFrame)
 
{
 
    if (_xmouse <= this._x + this._y / 2 + 10)
 
    {  trace("10px na prawo"); 
 
        Xm = _root._xmouse-this._x;
 
        Ym = _root._ymouse-this._y;
 
        kat = (Math.atan(Ym/Xm) * 180) / Math.PI;
 
        kat += (_root._xmouse < this._x) ? 180 : 0;
 
        _root.Kierunek._rotation = kat;
 
    }
 
    else{trace("10px na lewo")}
 
}
 
 | 	  
 
 
dodałem sobie do sprawdzenia czy osiągnie lewo , ale coś nie wychodzi... 
 
 
bo ten warunek to : Jeżeli myszka osiągnie na osi X wartość x.Kierunku i y.Kierunku to ? | 
             
						          
       | 
   
	
		
						 					 | 
		
			
                   | 
   
	  
      
		  | 
   
   
         
      
         
		 Szymciosek  		  
		 
         Ekspert
  
  
                  Pomógł: 22 razy Wiek: 33  Dołączył: 20 Lut 2009 Posty: 248 Skąd: Świdnica 
                         | 
      
         
            
                              			    Wysłany: Pią 18 Gru, 2009 18:51   
                               | 
                    
  | 
             
            
               
  | 
             
            
               Skąd Ci się wzięło this._y ?
 
 
Ma być WIDTH czyli szerokość | 
             
						          
       | 
   
	
		
						 					 | 
		
			
                   | 
   
	  
      
		  | 
   
   
         
      
         
		 Jaszczompek		  
		 
         Początkujący
  
  
                  Dołączył: 08 Gru 2009 Posty: 5 Skąd: Ostrołęka 
                         | 
      
         
            
                              			    Wysłany: Pią 18 Gru, 2009 20:10   
                               | 
                    
  | 
             
            
               
  | 
             
            
               Znaczy złe skopiowałem , bo coś sprawdzałem , 
 
 
tylko powiedz mi co znaczy te 2+10 ? bo jak mam kwadracik sceny to nie działa tylko po wyjściu z lewej strony , dalej wszystko łapie zatem trzeba zmniejszyć pole działania | 
             
						          
       | 
   
	
		
						 					 | 
		
			
                   | 
   
	  
      
		  | 
   
   
         
      
         
		 Szymciosek  		  
		 
         Ekspert
  
  
                  Pomógł: 22 razy Wiek: 33  Dołączył: 20 Lut 2009 Posty: 248 Skąd: Świdnica 
                         | 
      
         
            
                              			    Wysłany: Sob 19 Gru, 2009 08:54   
                               | 
                    
  | 
             
            
               
  | 
             
            
               obj.x + obj.width / 2 + 10
 
 
oblicza pole działania
 
 
od X obiektu (x to jest środek, zależy jak ustawisz)
 
do połowy szerokości obiektu (width / 2)
 
i do tego 10px zapasu (+10) | 
             
						          
       | 
   
	
		
						 					 | 
		
			
                   | 
   
	  
      
		  | 
   
   
         
      | 
         
       |