Итак, я просто получил систему, в которой объект запускается из одного движущегося объекта в другой.actionscript 3 - проблемы с скоростью объекта
Проблема, возникающая в настоящее время, заключается в том, что в настоящее время она рассчитана на то, чтобы заставить пулю двигаться медленнее, исходя из расстояния между объектом, из которого он был снят, и другим объектом, когда он был первоначально запущен.
Видео для объяснения.
Скорость Я хочу, чтобы пуля остаться: http://gyazo.com/3682d9adde0ed08aa675702d190c0d46.mp4
Скорость он идет, когда объекты рядом: http://gyazo.com/553b0fb82d89a84f206ea00a9dc8daf0.mp4
Вот код для пули увольняют из желтого объекта со всеми расчетами :
private function createBullet(): void {
_pcos = Math.cos((this.rotation) * Math.PI/180);
_psin = Math.sin((this.rotation) * Math.PI/180);
_startX = this.x - _barrelLength * _pcos;
_startY = this.y - _barrelLength * _psin;
_endX = Init._player.x + 1 * _pcos + Math.random() * _bulletSpread - _bulletSpread * .5;
_endY = Init._player.y + 1 * _psin + Math.random() * _bulletSpread - _bulletSpread * .5;
var tempBullet: MovieClip = new Bullet();
tempBullet.vx = (_endX - _startX);
tempBullet.vy = (_endY - _startY);
tempBullet.x = _startX;
tempBullet.y = _startY;
tempBullet.rotation = -(Math.atan2(Init._player.x - this.x, Init._player.y - this.y)) * 180/Math.PI;
tempBullet.maxDistance = _maxDistance;
_bullets.push(tempBullet);
stage.addChild(tempBullet);
}
public function updateBullets(): void {
var i: int;
var tempBullet: MovieClip;
for (i = 0; i < _bullets.length; i++) {
tempBullet = _bullets[i];
tempBullet.x += tempBullet.vx/_bulletSpeed;
tempBullet.y += tempBullet.vy/_bulletSpeed;
}
}
}
Если бы кто-нибудь мог помочь с расчетами, было бы полезно, спасибо.
Привет, спасибо большое за вашу помощь, я изначально получал ошибку. Линия 210, столбец 64: 1119: доступ к возможно неопределенному свойству vx через ссылку со статическим типом code.functions: EnemyYellow. Поэтому я просто заменил this.vx/this.vy на 1 и отлично работает. Еще раз спасибо. –
Я ожидал, что ваши юниты тоже будут иметь свойства скорости, а не только пули. Если они это сделают, поместите их в код, в противном случае отпустите «+ original * ...» часть обоих назначений. – Vesper