Soru - Cevap Bölümü
/ Kategori: Programlama
23/07/2008 - 12:00:12 cevap (4) Okunma : 363 Bu yazıyı 1 kişi tuttu.
Actionscript 2.0 Mouse Follow Sorunu
Selamlar. Hazırladığım sistemde herşey sorunsuzca çalışıyor. Fakat mouse takibi için yazdığım kod boş bir dosya içerisinde çalışırken benim sistemimde neden çalışmadığını çözemedim.
Kodlar
Mouse Takip Kodum
// fare takip
fare.onEnterFrame = function() {
var xMouse = _root._xmouse;
var yMouse = _root._ymouse;
if(Math.abs(xMouse - this._x) < 1) {
this._x = xMouse;
this._y = yMouse;
} else {
this._x -= (this._x-xMouse) / 6;
this._y -= (this._y-yMouse) / 6;
}
}
Tüm AS Kodlarım
rmncr._y = 0;
_y = 135;
_x = 25;
// fare takip
fare.onEnterFrame = function() {
var xMouse = _root._xmouse;
var yMouse = _root._ymouse;
if(Math.abs(xMouse - this._x) < 1) {
this._x = xMouse;
this._y = yMouse;
} else {
this._x -= (this._x-xMouse) / 6;
this._y -= (this._y-yMouse) / 6;
}
}
function getdistance (x, y, x1, y1) {
var run, rise;
run = x1-x;
rise = y1-y;
return (hyp(run, rise));
}
function hyp (a, b) {
return (Math.sqrt(a*a+b*b));
}
MovieClip.prototype.reset = function () {
var dist, norm, movie_height, movie_width;
// movie_height: refers to the height of your movie
// movie_width: refers to the width of your movie
//--------------------------------------------
movie_height = 516;
movie_width = 705;
//--------------------------------------------
speed = Math.random()*4+9;
targx = Math.random()*(movie_width-_width);
// targy = Math.random()*(movie_height-_height);
targy = (movie_height)-_height;
dist = _root.getdistance(_x, _y, targx, targy);
norm = speed/dist;
diffx = (targx-_x)*norm;
diffy = (targy-_y)*norm;
};
MovieClip.prototype.move = function () {
var cycle;
// cycle: specifies speed of the movement. The smaller
// number, the faster the objects move.
//--------------------------------------------
cycle = 200;
//--------------------------------------------
if (_root.getdistance(_x, _y, targx, targy)>speed) {x += diffx;y += diffy;
} else {x = targx;
y = targy;
if (!this.t) {
t = getTimer();
}if (getTimer()-t>cycle) {reset();
t = 0;
}
}
_x = x;
_y = y;
}
Şimdiden çok teşekkürler!
Cevaplar
( Faydalı Cevapları Göster )
cevap için teşekkürler fakat gene çalışmadı ekte fla dosyamıda ekledim.
Merhaba Kod yine doğru Sorun ActionScript version unda Yani as2.0 kodunu as1.0 ile test ediyorsun.
Çözüm için File > Publish Settings panelini açıp Action Script version da Action Script 2.0 ı seçmen gerekiyor.
Kolay gelsin
Dikkatsizliğimin cezasını 2 koca saatimle harcadım senide yordum. Dediğin gibi Publish den kaynaklanıyormuş. Çok teşekkür ederim
Etkinlikler
Yarışma
5.İstanbul Animasyon ve Görsel Efekt Kısa Film Yarışması
5.İstanbul Animasyon ve Görsel Efekt Kısa Film Yarışması
5.İstanbul Uluslararası Animasyon Festivali, 24-30 Kasım 2008 tarihleri arasında gerçekleştirilecektir. Festival dahilinde gerçekleşen 5. İstanbul Ani...
Kategori:
Yarışma
Kimler Burada? 
Son 1 dakika içinde MMIstanbul' da 642 (0 kayıtlı, 642 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:
MMIstanbul Blog'undan
Neler Yapılabilir?
Yeni bir portal, 30 civarında online / offline etkinlik, seminer vb rağmen MMIstanbul sanıyoruz ki halen hakettiği ilgiyi göremedi. " ...
500 Hatası Hakkında!
Reklam, MMIstanbul ve Yeni Projeler (Durumumuz Bu Tarzında)
Ne Nedir Kampanyası Başlıyor!
Çok Merak Edenler için; MMIstanbul Geliştirme Ekibi ve Çalışma Ortamımız








Faydalı cevap
Merhaba yanılmıyorsam daha öncede buna benzer bir kod yazmıştım.
Mouse Takip kodunu bu kod ile değiştir her halukarda çalışacaktır.
Kolay gelsin.