Şu anda C # dili ile XNA oyun geliştirme arıyorum.
İki sınıf var: ana oyun işleyicisi ve bir "sprite" sınıfı. Aşağıda, konuyu yeterince açıkladığını umduğum bazı temel sözde kodlar verilmiştir.
Game.cs
class game {
sprite the_sprite;
void update(time) {
var mouse = mouse.state
if(mouse.clicked) { this.the_sprite.moveTo(mouse.x, mouse.y) }
this.the_sprite.update(time)
base.update(time)
}
}
Sprite.cs
class sprite {
vector2 location;
vector2 move_to;
void moveTo(x, y) { this.move_to = new vector2(x, y) }
void update(time) {
if(this.location.x > this.move_to.x /* (or less than) */) {
// adjust location.x
}
if(this.location.y > this.move_to.y /* (or greater than) */) {
// adjust location.y
}
}
}
Temel olarak: kullanıcı oyun penceresinde bir yeri tıkladığında, farenin x ve y koordinatları alınır ve oyun nesnesi bir süre boyunca o konuma doğru hareket eder.
Şey ... kod çalışıyor, ama çirkin ve nesneler doğrudan nesneye doğru hareket etmiyor (bunun yerine çapraz hareket, ardından tek eksenli hareket). Sanırım kullanabileceğim bazı matematiksel fonksiyonlar var, ama dürüstçe nereden başlayacağımı bilmiyorum. Herhangi bir öneri?