AMPASIDE / ANPASIDE — IDE для MIDletPascal 19.10.2026 / 01:14 | | GOAR  Пользователь
Сейчас: Offline
Имя: Николай Николаевич Откуда: Одесса, Украина Регистрация: 29.11.2014
| а так Touch и Sensor , конфликтов не будет, то меня только управление игроком пока волнует, остальное пока так оставить хотелось бы
|
19.10.2026 / 01:27 | | GOAR  Пользователь
Сейчас: Offline
Имя: Николай Николаевич Откуда: Одесса, Украина Регистрация: 29.11.2014
| Helltar, а исходники в лс
|
19.10.2026 / 04:12 | | Helltar  Пользователь
Сейчас: Offline
Регистрация: 29.11.2011
| Цитата GOAR: Если не сложно кинь мне исходники, пересобраного проэкта, нашел баг в твоей пересборке, блоки ламаются только кнопкой исходников на паскале нет: это правки байткода уже готового apk
по блокам: это не пересборка. сравнил оригинал и пересборку в одном и том же мире - если держать палец на блоке, ломается в обоих одинаково
ломать на ходу мешает условие в твоем senhandler: тап по миру обрабатывается только когда k_tap = 0, то есть ни одна кнопка не нажата. в оригинале палец один, держать ходьбу и одновременно тапать по блоку там просто нельзя. теперь второй палец есть, но пока первый держит стрелку, мир тапы игнорирует и остается только кнопка с мечом. в своем коде убери это условие для тапа по миру и бери палец, который не на кнопке (world_finger из поста выше)
|
19.10.2026 / 04:14 | | Helltar  Пользователь
Сейчас: Offline
Регистрация: 29.11.2011
| Цитата GOAR: а так Touch и Sensor , конфликтов не будет, то меня только управление игроком пока волнует, остальное пока так оставить хотелось бы вместе будут конфликтовать: Sensor.Init и Touch.Init оба подменяют экран, и касания получает только тот, кого вызвали последним
но и не надо: в Touch есть все функции Sensor с теми же именами. замени Sensor на Touch во всем проекте, остальное будет работать как раньше, а для игрока добавь touch_area
|
19.10.2026 / 09:41 | | GOAR  Пользователь
Сейчас: Offline
Имя: Николай Николаевич Откуда: Одесса, Украина Регистрация: 29.11.2014
| Helltar, сделал но почему-то сломалась логика инветаря. pointer_pressed_x,y выкидуют курсор за приделы инветаря, и не видет что брать.
Хз , в чем дело, хотя в перезборке что ты прислал все работало Примерный код: ix,iy положение по центру экран; s - размер одной клетки if tap(ix,iy,7*s,s) then begin px:=(pointer_pressed_x-ix) div s; py:=(pointer_pressed_y-iy) div s; if (px>=0) and (px<=6) then invslot:=px+py; end;
Изменено GOAR (19.10 / 09:42) (всего 2 раза) |
19.10.2026 / 14:23 | | Helltar  Пользователь
Сейчас: Offline
Регистрация: 29.11.2011
| GOAR, pointer_pressed_x/y в touch следят за первым пальцем. если первым держишь ходьбу, а вторым жмешь на инвентарь, tap видит второй палец, а координаты берутся у первого - отсюда и курсор за пределами. брать нужно палец, который на инвентаре for i := 0 to 9 do
if (touch_down(i) = 1) and (touch_x(i) >= ix) and (touch_x(i) < ix + 7 * s)
and (touch_y(i) >= iy) and (touch_y(i) < iy + s) then
begin
px := (touch_x(i) - ix) div s;
invslot := px;
end;
|
20.10.2026 / 15:07 | | GOAR  Пользователь
Сейчас: Offline
Имя: Николай Николаевич Откуда: Одесса, Украина Регистрация: 29.11.2014
| Да, розобрался, пришлось пол игры переписать из за смены управления но то такое, все равно уже пишу чистый движок. Вопрос, а реально воспроизвести два звука? То есть что играла фоновая музыка и звуки геймплея не обрывали ее? Так как звук открывает openplayer, все что смог , это накодить банальный переключатель звуков. Если это возможно, но в ide это не помешало б За мульти тач благодарен  |
20.10.2026 / 16:40 | | Helltar  Пользователь
Сейчас: Offline
Регистрация: 29.11.2011
| GOAR, в ANPASIDE 2.6.0 добавил библиотеку Sound: 8 каналов, которые играют одновременно. музыку на один канал, эффекты на другие, и каждый канал заменяет только свой звук: uses Sound;
var ok: integer;
...
ok := sound_open(0, '/music.mid', 'audio/midi');
ok := sound_open(1, '/hit.wav', 'audio/x-wav');
sound_loop(0, -1); // музыка по кругу
sound_volume(0, 60); // тише эффектов
ok := sound_play(0);
...
ok := sound_play(1); // эффект, музыка не прерывается
sound_play запускает звук с начала, даже если он еще играет, так что частые эффекты не накладываются друг на друга. для паузы в игре есть sound_pause/sound_resume, еще sound_stop и sound_playing. форматы: midi, wav, mp3 все функции тут: https://helltar.com/midletpascal/#bundled-soundOpenPlayer можно оставить, он с Sound не конфликтует готовый пример - музика на фоне + кнопки с эффектами: - apk https://helltar.com/midletpascal/examples/sounddemo.apk- исходники https://helltar.com/midletpascal/examples/sounddemo.zip |
20.10.2026 / 16:51 | | GOAR  Пользователь
Сейчас: Offline
Имя: Николай Николаевич Откуда: Одесса, Украина Регистрация: 29.11.2014
| Helltar, ок, буду тестить  |
20.10.2026 / 16:54 | | Helltar  Пользователь
Сейчас: Offline
Регистрация: 29.11.2011
| GOAR, еще момент: в 2.6.0 мидлет рисует на весь экран, и под камерой тоже (раньше там была черная полоса). из-за этого на телефонах со скругленными углами то, что стоит вплотную к краю, обрезается. у тебя это кнопка Menu справа сверху и версия слева снизу для этого добавил библиотеку Screen: screen_inset_left/top/right/bottom возвращают, на сколько пикселей каждый край закрыт камерой или скруглением. мир можно рисовать на весь экран, а кнопки отодвигать на эти отступы: uses Screen;
...
// Menu справа сверху
DrawImage(key[5], sw - GetImageWidth(key[5]) - 1 - screen_inset_right, 1 + screen_inset_top);
// версия слева снизу
text('v: 1.2', 5 + screen_inset_left, sh - 25 - screen_inset_bottom);
область нажатия для Menu сдвинь так же, иначе тап будет мимо кнопки. проверил на твоем apk (пропатчил байткод): кнопка и версия встают на место, Menu нажимается для примера, на Pixel 9 горизонтально это 173 со стороны камеры и 39 с остальных сторон. значения меняются при повороте экрана, так что лучше читать их каждый кадр. в J2ME Loader и на старых телефонах все функции возвращают 0, так что код можно оставить один подробнее: https://helltar.com/midletpascal/#bundled-screenбыло (твой apk): слева черная полоса под камеру, а Menu справа все равно режет угол: https://helltar.com/midletpascal/examples/sandcraft-original.pngстало (2.6.0 + Screen): игра на весь экран, Menu отодвинута от угла: https://helltar.com/midletpascal/examples/sandcraft-screen.png |
 Всего сообщений: 633 Фильтровать сообщения
Поиск по теме
Файлы топика (28)
|