Barthezz
(Barthezz)
1 Luty 2008 16:00
#1
Witam.
Jak we Flashu wykonać oko które będzie śledziło ruchy kursorem?
Na podstawie znalezionych informacji zrobiłem coś takiego:
this.onMouseMove = function () {
followMouse ( this.mc, checkX (), checkY () );
}
checkX = function () {
return _xmouse;
}
checkY = function () {
return _ymouse;
}
followMouse = function ( whichMC:MovieClip, xPOS:Number, yPOS:Number ) {
var type = mx.transitions.easing.Regular.easeOut;
var startX = whichMC._x;
var endX = xPOS;
var startY = whichMC._y;
var endY = yPOS;
var time = 15;
followX = new mx.transitions.Tween( whichMC, "_x", type, startX, endX, time, false );
followY = new mx.transitions.Tween( whichMC, "_y", type, startY, endY, time, false );
}
Tylko chodzi mi o to żeby można było określić po jakiej przestzrni może poruszać się obiekt, np po jakimś MovieClipie
Możesz zrobić coś takiego
this.createEmptyMovieClip("kontener", this.getNextHighestDepth());
kontener.createEmptyMovieClip("maly", 2);
with (kontener.maly) {
lineStyle(1, 0xCCCCCC);
beginFill(0xFFFFFF);
moveTo(150, 150);
lineTo(180, 150);
lineTo(180, 180);
lineTo(150, 180);
lineTo(150, 150);
endFill();
}
kontener.createEmptyMovieClip("big", 1);
with (kontener.big) {
beginFill(0x4827CF);
moveTo(150, 150);
lineTo(380, 150);
lineTo(380, 380);
lineTo(150, 380);
lineTo(150, 150);
endFill();
}
var minus:Number = kontener.maly._width;
kontener.maly.onPress = function(){
this.startDrag(0, 0, kontener.big._height-minus, kontener.big._width-minus, 0);
}
kontener.maly.onRelease = function(){
this.stopDrag();
}
Nie robiłem nigdy czegoś podobnego bo nie czuję potrzeby ale myślę ze to nie wypali bo
możesz dodać addListener na myszkę który sprawiłby się świetnie tylko że przy bardzo szybkim geście myszy bankowo się wysypie i będziesz miał obiekt śledzący poza obiektem którego ma się trzymać.
to samo dotyczy this.onEnterFrame nawet jak ustawisz odświeżanie animacji na 50 kl/s
nie widzę i nie znam lepszego sposobu niż ten który podałem ale idealny też nie jest bo prawdopodobnie czyt.(nie sprawdzałem) nie da się go odnieść do kształtów nieregularnych.
Barthezz
(Barthezz)
5 Luty 2008 10:16
#3
jednak konieczne jest poruszanie sie po MC.
hehe przecież w tym przykładzie MC o nazwie maly porusza się po MC o nazwie big a oba zawarte są w Mc o nazwie kontener :mrgreen: