Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Полоса жизни :) 
:(
    Опции темы
R.M.
Дата 10.10.2005, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


Профиль
Группа: Участник
Сообщений: 2164
Регистрация: 8.6.2005
Где: Питер

Репутация: нет
Всего: 30



Скажите пожалуста, как сделать как во многих онлайн играх такая фигня есть - наверху полоска скажем 100 пикселей это твоя энергия (жизни, здоровье) если ты подрался и тебе нанесли урон эта полоса уменьшается, и например каждые 5 секунд восстанавливается 1 пиксель и так до 100%
Чтобы можно было задать время восстановления через переменную PHP


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
Sardar
Дата 10.10.2005, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Задача разбиваеться на три части:
  • отрисовка полоски
  • анимация
  • обмен инфой с сервером

Полоска это зачастую таблица с двумя ячейками, либо слой-контейнер с слоем-заливкой(float: left).

Анимация. Тут проблем нет, запустил таймер и пусть бежит.

Обмен инфой с сервером - вот тут много различных подходов, вопрос достоин отдельного топа, но перед этим пробегись по поиску, т.к. раз 5 на него отвечали точно.

Простейший пример сказанного:
Код
<style type="text/css">
#bar {
  position: relative;
  width: 100px;
  height: 10px;
  line-height: 10px;
  font-size: 10px;
  border: 1px solid black;
}

#fill {
  float: left;
  width: 70%;
  background-color: darkgreen;
}
</style>

<div id="bar"><div id="fill"></div></div>

<script type="text/javascript">
<!--
var o=document.getElementById('fill');
var p=70;
var tmr=window.setInterval(function() {
  o.style.width=(p++)+"%";
  if(p>=100) window.clearTimeout(tmr);
}, 1000);
//-->
</script>

Постарался написать так что бы не смог тупо copy/paste, попробуй подумать, обернуть самодельный прогрессбар в обьект с удобным интерфейсом smile smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
R.M.
Дата 10.10.2005, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


Профиль
Группа: Участник
Сообщений: 2164
Регистрация: 8.6.2005
Где: Питер

Репутация: нет
Всего: 30



Sardar

Цитата(Sardar @ 10.10.2005, 17:49)
Постарался написать так что бы не смог тупо copy/paste, попробуй подумать, обернуть самодельный прогрессбар в обьект с удобным интерфейсом smile smile

попробую smile smile


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
R.M.
Дата 10.10.2005, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


Профиль
Группа: Участник
Сообщений: 2164
Регистрация: 8.6.2005
Где: Питер

Репутация: нет
Всего: 30



Sardar

Попробовал так
Код

<style type="text/css">
#bar {
  position: relative;
  width: 100px;
  height: 10px;
  line-height: 10px;
  font-size: 10px;
  border: 1px solid black;
}
#fill {
  position: absolute;
  float: left;
  width: 70%;
  background-color: darkgreen;
}
</style>
<div id="bar" onLoad="javascript:progress()"><div id="fill"></div></div>
<script type="text/javascript">
finction progress(){
var o=document.getElementById('fill');
var p=70;
var tmr=window.setInterval(function() {
  o.style.width=(p++)+"%";
  if(p>=100) window.clearTimeout(tmr);
}, 1000);}
</script>

Наверно ты долго будиш смеяца над этим кодом, но я незнаю JS smile чево тока не пробовал, неполучаеца. Подскажи.... Кстати наскока я понимаю это не будет работать в мозилле?

Это сообщение отредактировал(а) Aliance - 10.10.2005, 22:07


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
Sardar
Дата 10.10.2005, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата
Попробовал так

Это не уважение к участникам форума, всё чаще и чаще народ постит заведомо не рабочие скрипты с элементарными синтаксическими ошибками. С логикой могут быть проблемы, но ошибки синтаксиса тебе интерпретатор сразу скажет, вот и постарайся их убрать. Иначе выглядит как "я делаю вид что пробую, а вы напишите мне готовый код".

Второе: пиши на нормальном русском. Чем больше ты "корявишь", тем больше шансов что я удалю пост без обьяснений. Это не особый сленг и даже не феня, не позорься smile

В третьих что конкретно изменилось? Откуда событие onload у слоя? Что конкретно тебе не хватает для завершения задачи? Ведь базовый код есть, в принципе покрывающий две первые задачи из трёх, что я выше описал.

Куксикус извини, сейчас мало времени, поэтому не собираюсь писать тебе готовый код, но по могу собрать твой код. При этом не надо делать вид что ты пытаешся, просто возьми и подумай логически. поищи по форуму, что не ясно - спрашивай.





--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Aliance
Дата 10.10.2005, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137





Куксикус
пользуйся кнопкой код правильно!
PM MAIL WWW ICQ Skype   Вверх
butionok
Дата 11.10.2005, 19:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 19.1.2005

Репутация: 1
Всего: 3



Sardar

А разве может clearTimeout убить интервал установленный setInterval?

Твой код, который ты написал Куксикусу:
Код

var tmr=window.setInterval(function() {
  o.style.width=(p++)+"%";
  if(p>=100) window.clearTimeout(tmr);
}, 1000);


Так что...
Цитата(Sardar @ 10.10.2005, 21:09)
Это не уважение к участникам форума, всё чаще и чаще народ постит заведомо не рабочие скрипты с элементарными синтаксическими ошибками.


относится и к тебе smile
--------------------
Ненавижу убогую Оперу.
PM MAIL ICQ   Вверх
Sardar
Дата 11.10.2005, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(butionok @ 11.10.2005, 18:11)

А разве может clearTimeout убить интервал установленный setInterval?

butionok ну прежде чем говорить проверь, поставь alert, поищи по форуму что есть closures.

Кстати не нужно перегибать палку, ошибки логики это нормально, все ошибаемся. На форуме не допускаються скрипты, при старте которых браузер начинает материться на синтаксис, следоватльно участник скрипт не запускал.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Sardar
Дата 12.10.2005, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата
В том то и дело что я непонимаю чего мне нужно для завершения задачи.

Ну и как мне по твоему помочь если ты сам не знаешь чего хочешь? smile Посмотрел что ещё нужно, полоса загрузки есть, да по сути всё есть. Не ясно только что тебе нужно.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
butionok
Дата 13.10.2005, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 19.1.2005

Репутация: 1
Всего: 3



Sardar

Да, и вправду работает. Извини. Я просто попробовал тот код который запостил Куксикус, а на msdn не написано, что clearTimeout может убить интервал установленный setInterval.
--------------------
Ненавижу убогую Оперу.
PM MAIL ICQ   Вверх
Sardar
Дата 14.10.2005, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(butionok @ 13.10.2005, 21:28)
не написано, что clearTimeout может убить интервал установленный setInterval.

Ой, это я не понял вопроса, я думал ты не врубился почему у меня доступ к tmr есть из вложенной функции smile
Ты прав, снимать интервал через clearTimeout не корректно, но работает, т.к. по моему везде используеться один механизм таймеров.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
R.M.
Дата 17.10.2005, 00:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


Профиль
Группа: Участник
Сообщений: 2164
Регистрация: 8.6.2005
Где: Питер

Репутация: нет
Всего: 30



Sardar

Ты не подскажеш как заставить заработать тот скрипт который ты дал? smile


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
diam
Дата 17.10.2005, 01:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 348
Регистрация: 23.1.2005
Где: Екатеринбург

Репутация: 6
Всего: 16



Цитата
Ты не подскажеш как заставить заработать тот скрипт который ты дал? smile

Куксикус, ну сколько можно спрашивать общие вещи? Ты уже достаточно давно на форуме, и наверняка уже читал его правила. Задавать нужно конкретные вопросы. Я готов помочь, если будет конкретика. Что именно не работает?

У Firefox/Mozilla есть JS console, в которой пишется, какие ошибки в скрипте. Таким образом отладка очень упрощается.

Так же полезно разбивать задачу на маленькие кусочки, с которыми проще разбираться.
Задавай конкретные вопросы, будешь получать ответы. Иначе можно идти в раздел работа.

P.S. Почитай тему, позволю себе процитировать слова chipset:
Цитата

Девелопить "законченные" программы требует большой воли или постоянного напора со стороны других smile
А отвечать на вопросы на форуме это продвигать свои знания без рутины smile

PM MAIL   Вверх
Sardar
Дата 17.10.2005, 01:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата
Ты не подскажеш как заставить заработать тот скрипт который ты дал?

Скопируй в .htm, сохрани, запусти. Работает? Да. Тогда что ты подразумеваешь под "заставить заработать"?


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
R.M.
Дата 17.10.2005, 02:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


Профиль
Группа: Участник
Сообщений: 2164
Регистрация: 8.6.2005
Где: Питер

Репутация: нет
Всего: 30



Sardar

Я имею ввиду как сделать чтобы ширина возростала со временем, т.е. скажем если какаята переменная равна 5 то каждую секунду эта штука растёт на 5 пикселей или кадые 5 сек на 1 пиксель это не важно, вобщем в этом та и вся суть как сделать чтобы она заполнялась за время


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1701 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.