Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > MidletPascal > Основной форум

Основной форум Сюда все проблемы связанные с программированием.

Ответ
 
Опции темы
Старый 25.08.2010, 06:55   #1
IvanNes
Нуждающийся
 
Аватар для IvanNes
 
Регистрация: 16.05.2010
Сообщений: 50
Написано 2 полезных сообщений
(для 2 пользователей)
Печаль Как в scroll map, толькл без либ...

Привет всем! Как сделать так: мидлете курсором "добавить" точку, и что бы герой к ней шёл (как в примере scrollmap) только без либ
__________________

Работаю с Delphi 7: HTML редактор- CrownHTML
(Offline)
 
Ответить с цитированием
Старый 25.08.2010, 09:57   #2
psih1
Знающий
 
Аватар для psih1
 
Регистрация: 20.03.2010
Сообщений: 271
Написано 16 полезных сообщений
(для 32 пользователей)
Ответ: Как в scroll map, толькл без либ...

Юзай скролл мар
__________________
¯¯¯¯\——-/¯¯¯¯ респект любителям BMX
(Offline)
 
Ответить с цитированием
Старый 25.08.2010, 13:27   #3
12121
Нуждающийся
 
Регистрация: 26.12.2008
Сообщений: 57
Написано 22 полезных сообщений
(для 28 пользователей)
Ответ: Как в scroll map, толькл без либ...

Как я понял задача сводится к поиску кратчайшего пути. Начни отсюда
http://forum.boolean.name/showthread...%E F%F3%F2%E8
а дальше гугл в помощь.
(Offline)
 
Ответить с цитированием
Старый 25.08.2010, 15:06   #4
IvanNes
Нуждающийся
 
Аватар для IvanNes
 
Регистрация: 16.05.2010
Сообщений: 50
Написано 2 полезных сообщений
(для 2 пользователей)
Ответ: Как в scroll map, толькл без либ...

нет, не совсем но спасибо пригодится))
мне бы нужно сделать так, как реализовано в примере scroll map...
или проще сказать "двигать" героя не клавишами на цифр. клавиатуре, а ставить метку на карте, и чтобы герой к ней пришёл (примерно как в Фоллауте)
__________________

Работаю с Delphi 7: HTML редактор- CrownHTML
(Offline)
 
Ответить с цитированием
Старый 25.08.2010, 16:42   #5
Ksanatos
ПроЭктировщик
 
Аватар для Ksanatos
 
Регистрация: 31.01.2010
Адрес: Россия, респ. Башкортостан, г. Бирск
Сообщений: 137
Написано 12 полезных сообщений
(для 17 пользователей)
Ответ: Как в scroll map, толькл без либ...

А что уже имеется?
Собственно в этом нет особых проблем, если тебе нужно, чтоб он шел напрямую(выбор направления и смещение с анимацией), а если нужно чтоб он "ходил с умом", то могу набросать примерчик(если найду свободное время в этом чёртовом будильнике Ж( ).
__________________



(Offline)
 
Ответить с цитированием
Старый 26.08.2010, 06:15   #6
IvanNes
Нуждающийся
 
Аватар для IvanNes
 
Регистрация: 16.05.2010
Сообщений: 50
Написано 2 полезных сообщений
(для 2 пользователей)
Ответ: Как в scroll map, толькл без либ...

ну можно) а что за будильничек?
__________________

Работаю с Delphi 7: HTML редактор- CrownHTML
(Offline)
 
Ответить с цитированием
Старый 26.08.2010, 09:17   #7
Trazzy
Разработчик
 
Аватар для Trazzy
 
Регистрация: 24.11.2008
Адрес: UA
Сообщений: 504
Написано 110 полезных сообщений
(для 225 пользователей)
Ответ: Как в scroll map, толькл без либ...

если я правильно понял IvanNes, то мне тоже интересно узнать как сделать, чтобы герой(G) ходил не только по горизонтали (1;H), вертикали (1;V) и диагонали (1;D), а напрямую к заданой точке (2;A[, B, C, D]) !?..
Миниатюры
Нажмите на изображение для увеличения
Название: way.jpg
Просмотров: 703
Размер:	5.3 Кб
ID:	11043  
__________________
Уважай собеседника, а лучше подари ему +
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
IvanNes (27.08.2010)
Старый 27.08.2010, 05:36   #8
IvanNes
Нуждающийся
 
Аватар для IvanNes
 
Регистрация: 16.05.2010
Сообщений: 50
Написано 2 полезных сообщений
(для 2 пользователей)
Ответ: Как в scroll map, толькл без либ...

да. вот это нужно мне))
__________________

Работаю с Delphi 7: HTML редактор- CrownHTML
(Offline)
 
Ответить с цитированием
Старый 27.08.2010, 08:43   #9
12121
Нуждающийся
 
Регистрация: 26.12.2008
Сообщений: 57
Написано 22 полезных сообщений
(для 28 пользователей)
Ответ: Как в scroll map, толькл без либ...

Если надо из точки 0,0 перейти в 100,15 то каждый раз когда к х добавляем 1 к у добавляем 15/100=.15
конечно х и у не целые числа. При выводе на экран округлятся.
В общем виде примерно так: из новых координат вычитаем старые. Находим что больше х или у. Делим меньшее на большее. Получившееся надо добавлять к меньшей координате. К большей добавляем 1 при каждом увеличении.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Trazzy (31.08.2010)
Старый 31.08.2010, 03:25   #10
Ksanatos
ПроЭктировщик
 
Аватар для Ksanatos
 
Регистрация: 31.01.2010
Адрес: Россия, респ. Башкортостан, г. Бирск
Сообщений: 137
Написано 12 полезных сообщений
(для 17 пользователей)
Ответ: Как в scroll map, толькл без либ...

12121 Можно поправлю: сначала надо узнать длину линии, разделить её на длину шага и получить кол-во шагов, а уж потом с каждым шагом к х добавляем х2/у2, а к у у2/х2. и лучше х и у присваивать только сами округления, а вычисления проводить на других переменных.
Но так как IvanNes просил как в fallout я и буду делать как в fallout. Ведь если использовать 6-ти угольник, а не квадрат переход плавнее будет.
На рисунке показанно как должны считаться координаты. Хотя там немного неправильно намалявил я. Координата (x,y) это середина 6-ти угольника. Если брать одну клетку за 10 px, то выше упомянутый шаг будет 20(проверил опытным путём). Если найдёшь способ вычислить координату выбранной точки с ачалом координат в середине стартовой ячейки, то я смогу сделать процедуру получше.
Вот процедура:
procedure way(
  
kx1,ky1 integer// координаты стартовой ячейки, не в пикселях
  
kx2,ky2 integer// координаты конечной ячейки
);
var
  
px1,px2,py1,py2 integer // кооординаты середин ячеек, ценрт равен px1-20 и py1-10
  
linlen,steps_count integer// длина мнимой линии и количество шагов
  
integer;
  
rx,ry real // ну промежуточные переменные. Не смей их удалять, иначе пойдёт град ошибок и несовпадений >>:( 
begin
  px1
:=20;
  
py1:=10;
  
px2:=(kx2-kx1)*30;
  
py2:=(ky2-ky1)*10;
  
linlen:=sqrt(sqr(py2-py1)+sqr(px2-px1)); // вычисляем длину мнимой линии между серединами двух ячеек в пропорции дл.яч./шир.яч.=40/20. Ничего менять тут не надо.
  
steps_count:=trunc(linlen/20);
  
// я не помню после того как процедура заканчивается переменные обнуляются?
  
{*rx:=0;
  
ry:=0;*}
  
repeat
    rx
:=rx+(px2-px1)/steps_count;
    
ry:=ry+(py2-py1)/steps_count;
    
kx1:=trunc(rx);
    
ky1:=trunc(ry);
    
gotoxy(kx1,ky1); // это процедура анимации твоего перса, т.е. сдвиг на одну ячейку.
  
until (kx1=kx2) and (ky1=ky2);
end
Писал здесь. Не проверял(да и не на чем). Дерзай. Жду ответов.
Примеры ии тебе дали.
Миниатюры
Нажмите на изображение для увеличения
Название: DSC02792.JPG
Просмотров: 727
Размер:	817.8 Кб
ID:	11098  
__________________



(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
IvanNes (31.08.2010)
Старый 31.08.2010, 07:39   #11
Trazzy
Разработчик
 
Аватар для Trazzy
 
Регистрация: 24.11.2008
Адрес: UA
Сообщений: 504
Написано 110 полезных сообщений
(для 225 пользователей)
Ответ: Как в scroll map, толькл без либ...

мне нужно было именно как в 12121..
и как я сам не допер?!.
__________________
Уважай собеседника, а лучше подари ему +
(Offline)
 
Ответить с цитированием
Старый 31.08.2010, 09:31   #12
IvanNes
Нуждающийся
 
Аватар для IvanNes
 
Регистрация: 16.05.2010
Сообщений: 50
Написано 2 полезных сообщений
(для 2 пользователей)
Ответ: Как в scroll map, толькл без либ...

ууу!! пасибо) ещё использовать её по назначению и будет супер)))
а как сделать чтобы свои координаты брались после нажатия клавиши 5??
__________________

Работаю с Delphi 7: HTML редактор- CrownHTML
(Offline)
 
Ответить с цитированием
Старый 31.08.2010, 10:42   #13
12121
Нуждающийся
 
Регистрация: 26.12.2008
Сообщений: 57
Написано 22 полезных сообщений
(для 28 пользователей)
Ответ: Как в scroll map, толькл без либ...

Так свои координаты ты и так знаешь.
(Offline)
 
Ответить с цитированием
Старый 31.08.2010, 11:18   #14
Ksanatos
ПроЭктировщик
 
Аватар для Ksanatos
 
Регистрация: 31.01.2010
Адрес: Россия, респ. Башкортостан, г. Бирск
Сообщений: 137
Написано 12 полезных сообщений
(для 17 пользователей)
Ответ: Как в scroll map, толькл без либ...

IvanNes
всмысле где стоишь или куда идти?
__________________



(Offline)
 
Ответить с цитированием
Старый 31.08.2010, 15:47   #15
12121
Нуждающийся
 
Регистрация: 26.12.2008
Сообщений: 57
Написано 22 полезных сообщений
(для 28 пользователей)
Ответ: Как в scroll map, толькл без либ...

Старые это где стоишь . Новые - куда идти.
рисуй на бумаге с координатами и разбирайся сам . Это лучше чем каждую мелочь спрашивать. И запомнишь на всю жизнь.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


Часовой пояс GMT +4, время: 23:44.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com