Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Web > Общие вопросы Web
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 14.10.2018, 21:08   #1
Artc221
Новичок
 
Регистрация: 14.10.2018
Сообщений: 1
Репутация: 10
По умолчанию полёт пули в игре html5+JS

Друзья всем привет! Мне нужна ваша помощь. У меня игра на HTML5 + JS на полотне canvas. На этом полотне есть объект, который стреляет пулями. Сама карта игры (canvas) достаточно большая, и пуля летит в направлении через всю карту. Как сделать, чтобы она пролетала, скажем, 100-200 пикселей и после этого исчезала?

Я точно не уверен, но думаю, что реализовать это можно здесь:

if( this.weapon.fireRateTick < this.weapon.fireRate ){
this.weapon.fireRateTick += $.dt;
} else {
if( $.autofire || ( !$.autofire && $.mouse.down ) ){
$.audio.play( 'shoot' );
if( $.powerupTimers[ 2 ] > 0 || $.powerupTimers[ 3 ] > 0 || $.powerupTimers[ 4 ] > 0) {
$.audio.play( 'shootAlt' );
}

this.weapon.fireRateTick = this.weapon.fireRateTick - this.weapon.fireRate;
this.weapon.fireFlag = 6;

if( this.weapon.count > 1 ) {
var spreadStart = -this.weapon.spread / 2;
var spreadStep = this.weapon.spread / ( this.weapon.count - 1 );
} else {
var spreadStart = 0;
var spreadStep = 0;
}

var gunX = this.x + Math.cos( this.direction ) * ( this.radius + this.weapon.bullet.size );
var gunY = this.y + Math.sin( this.direction ) * ( this.radius + this.weapon.bullet.size );

for( var i = 0; i < this.weapon.count; i++ ) {
$.bulletsFired++;
var color = this.weapon.bullet.strokeStyle;
if( $.powerupTimers[ 2 ] > 0 || $.powerupTimers[ 3 ] > 0 || $.powerupTimers[ 4 ] > 0) {
var colors = [];
if( $.powerupTimers[ 2 ] > 0 ) { colors.push( 'hsl(' + $.definitions.powerups[ 2 ].hue + ', ' + $.definitions.powerups[ 2 ].saturation + '%, ' + $.definitions.powerups[ 2 ].lightness + '%)' ); }
if( $.powerupTimers[ 3 ] > 0 ) { colors.push( 'hsl(' + $.definitions.powerups[ 3 ].hue + ', ' + $.definitions.powerups[ 3 ].saturation + '%, ' + $.definitions.powerups[ 3 ].lightness + '%)' ); }
if( $.powerupTimers[ 4 ] > 0 ) { colors.push( 'hsl(' + $.definitions.powerups[ 4 ].hue + ', ' + $.definitions.powerups[ 4 ].saturation + '%, ' + $.definitions.powerups[ 4 ].lightness + '%)' ); }
color = colors[ Math.floor( $.util.rand( 0, colors.length ) ) ];
}
$.bullets.push( new $.Bullet( {
x: gunX,
y: gunY,
speed: this.weapon.bullet.speed,
direction: this.direction + spreadStart + i * spreadStep,
damage: this.weapon.bullet.damage,
size: this.weapon.bullet.size,
lineWidth: this.weapon.bullet.lineWidth,
strokeStyle: color,
piercing: this.weapon.bullet.piercing

} ) );
}
}
}

В участке кода, что я выделил жирным - можно устанавливать значения размера пули, скорости, её урона. Вероятно в этом участке указывать длину пути? Но каким образом? Прошу вашей помощи.
Artc221 вне форума   Ответить с цитированием
Старый 17.10.2018, 06:45   #2
Naive
Раздолбайских Дел
Профессионал
 
Аватар для Naive
 
Регистрация: 22.05.2009
Адрес: Екатеринбург
Сообщений: 3,694
Репутация: 2205
По умолчанию

Можно костыльнуть тут, но лучше настроить это в настройках оружия. А еще лучше не убивать пулю по дистанции, а пересмотреть процесс отрисовки снаряда.
В любом случае заплати блин разработчику деньги!
Если заплачены, то объясни причину почему ты не можешь к нему обратиться: код интересный, я бы почитал еще.
__________________
Работаю. В этот раз за деньги.
Жду ваши искренние спасибы на яндекс-кошелек: 410011068154587
Naive вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какие знания по php и mysql нужно иметь, что бы в игре сделать такой бой в онлайн текстовой игре jonikster Общие вопросы Web 4 15.06.2016 19:10
Расчет траектории полета пули tuls Общие вопросы по Java, Java SE, Kotlin 0 15.01.2012 22:15
Построение траектории полета пули V@mpir Общие вопросы Delphi 0 11.12.2009 20:07
Полёт Бумеранга - Pascal Alter Паскаль 12 25.06.2008 20:07


00:11.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru