Как запреить спрайту покидать пределы приложения?
|
|
AndrewVersus | Дата: Понедельник, 29 Апреля 2013, 03:09 | Сообщение # 1 |
заслуженный участник
Сейчас нет на сайте
| как запретить спрайту, подвешанному на курсор с помощью mouse behavoir, покидать пределы экрана?
Sunspire Путин против Инопланетян
|
|
| |
IzBePg | Дата: Понедельник, 29 Апреля 2013, 04:20 | Сообщение # 2 |
Сейчас нет на сайте
| AndrewVersus, ну вот что-то типа такого Тык
|
|
| |
AndrewVersus | Дата: Понедельник, 29 Апреля 2013, 04:29 | Сообщение # 3 |
заслуженный участник
Сейчас нет на сайте
| IzBePg, не работает!
Sunspire Путин против Инопланетян
|
|
| |
IzBePg | Дата: Понедельник, 29 Апреля 2013, 04:36 | Сообщение # 4 |
Сейчас нет на сайте
| почему это не работает,у меня работает У тебя игра во весь экран и у тебя большой уровень?Добавлено (29.04.2013, 04:36) --------------------------------------------- Тогда вот Тыц выставишь размеры своего уровня, я сделал только по координате X таким же способом можно по координате Y.
|
|
| |
AndrewVersus | Дата: Понедельник, 29 Апреля 2013, 04:50 | Сообщение # 5 |
заслуженный участник
Сейчас нет на сайте
| IzBePg, в том то и дело что у меня игра в окне, если во весь экран за пределы экрана не выходит. еще момент- этот способ мне не очень подходит, мне нужно чтобы не жестко игрок либо на экране либо нет. я сейчас пробую сделать если игрок overlap спрайт, то координаты mouse становяться на краю экрана. может есть способы проще?
Sunspire Путин против Инопланетян
|
|
| |
IzBePg | Дата: Понедельник, 29 Апреля 2013, 04:57 | Сообщение # 6 |
Сейчас нет на сайте
| AndrewVersus, несовсем понимаю Цитата мне нужно чтобы не жестко игрок либо на экране либо нет Способы наверняка есть,надо думать
|
|
| |
IvanKorobko | Дата: Понедельник, 29 Апреля 2013, 08:00 | Сообщение # 7 |
IK Studio
Сейчас нет на сайте
| Я пока увидел лишь один вариант(их наверняка больше, но этот для меня самый очевидный)
Создать TiledBackground (5x5 пикселей, чтоб не сильно грузило систему), растянуть по краям игровой области, сделать его прозрачным.
Затем ставить условие движения, мол если мыша в области экрана(в области ТайледБэка в нашем случае...), пусть мыша двигает объект, если нет, пусть объект остается на месте в ожидании мыши:
Добавлено (29.04.2013, 07:26) --------------------------------------------- ам... с маус бехавиор такая вещь кстати не канает... Можно выполнить ту же проверку на нахождение мыши в пределах тайл-бэка, но действие заменить на Activate|Deactivate MouseBehavior - активировать при нахождении мыши в этой области, деактивировать либо при инвертированном условии(зачеркнутое равно на условии), либо посредством Else... Добавлено (29.04.2013, 07:30) ---------------------------------------------
Добавлено (29.04.2013, 07:32) --------------------------------------------- Но при резком дерганье мышью бывает не успевает среагировать и спрайт все же улетает за пределы экрана... нужно еще подумать, интересно) Добавлено (29.04.2013, 08:00) --------------------------------------------- Нашел еще один вариант... добавить по краям видимой области бордюры с атрибутом Solid. добавить игроку атрибут Solid, добавить игроку управление 8-direction (плставив в начале Лэйаута ему Set ignoring Input, чтоб не реагировал на клавиатуру(от него нам нужно только столкновения с солид, т.к. с маус бехавиор простые столкновения солид-солид игнорируются почему то...))
Бордюры должны быть жирными снаружи(когда мыша таки уходит за предел бордюра, спрайт исчезает) + есть косяк с угловой телепортацией - если спрайт загнать в угол - он телепортируется за бордюр...
получается нечто вроде этого:
Пример
|
|
| |
IzBePg | Дата: Понедельник, 29 Апреля 2013, 08:33 | Сообщение # 8 |
Сейчас нет на сайте
| mef1sto, зачем же так утруждаться),мой способ проще и эффективнее,объект точно не уходит с экрана,даже при быстром отдёргивании мышки Я только не понимаю,чем мой способ не подошёл?
|
|
| |
IvanKorobko | Дата: Понедельник, 29 Апреля 2013, 08:49 | Сообщение # 9 |
IK Studio
Сейчас нет на сайте
| Цитата (IzBePg) mef1sto, зачем же так утруждаться),мой способ проще и эффективнее,объект точно не уходит с экрана,даже при быстром отдёргивании мышки Я только не понимаю,чем мой способ не подошёл?
RGhost не робит сегодня что-то - не смотрел, что за способ - можно другую ссылку?
|
|
| |
IzBePg | Дата: Понедельник, 29 Апреля 2013, 08:53 | Сообщение # 10 |
Сейчас нет на сайте
| Конечно можно,Я не жадный Тыц Я сделал только по координате X
|
|
| |
IvanKorobko | Дата: Понедельник, 29 Апреля 2013, 08:55 | Сообщение # 11 |
IK Studio
Сейчас нет на сайте
| Да чтож за день то такой)
Цитата Запрашиваемая веб-страница не может быть предоставлена.
В запрашиваемом объекте по адресу
http://www.sharemania.ru/0232738
обнаружена угроза:
объект заражен HEUR:Trojan.Script.Generic
И это при отключенном антивирусе... можно в архив?)
|
|
| |
IzBePg | Дата: Понедельник, 29 Апреля 2013, 08:58 | Сообщение # 12 |
Сейчас нет на сайте
| Да ёмаё) Не верь он всё врёт!Нету у меня вирусов Тыц
|
|
| |
IvanKorobko | Дата: Понедельник, 29 Апреля 2013, 09:01 | Сообщение # 13 |
IK Studio
Сейчас нет на сайте
| Цитата (IzBePg) Да ёмаё) Не верь он всё врёт!Нету у меня вирусов Тыц
Такая же фигня...
Цитата Kaspersky Endpoint Security 8 для Windows ДОСТУП ЗАПРЕЩЕН Запрашиваемая веб-страница не может быть предоставлена.
В запрашиваемом объекте по адресу
http://www.sharemania.ru/0198713
обнаружена угроза:
объект заражен HEUR:Trojan.Script.Generic Сообщение создано: 11:00:31
как эту хрень отключить... он меня вообще на шароманию не пускает, даже на главную...
Сообщение отредактировал mef1sto - Понедельник, 29 Апреля 2013, 09:01 |
|
| |
IzBePg | Дата: Понедельник, 29 Апреля 2013, 09:04 | Сообщение # 14 |
Сейчас нет на сайте
| rghost неработает одни проблемы) Тыц Уже 4 файлообменник)
|
|
| |
IvanKorobko | Дата: Понедельник, 29 Апреля 2013, 09:48 | Сообщение # 15 |
IK Studio
Сейчас нет на сайте
| хм... 100% вариант) А чем не подходит автору?
|
|
| |
IzBePg | Дата: Понедельник, 29 Апреля 2013, 15:17 | Сообщение # 16 |
Сейчас нет на сайте
| даже неведаем,чем такой вариант неподошёл.
|
|
| |
AndrewVersus | Дата: Вторник, 30 Апреля 2013, 02:55 | Сообщение # 17 |
заслуженный участник
Сейчас нет на сайте
| IzBePg, mef1sto, Спасибо! второй пример IzBePg, то что надо, ты его еще вчера скинул просто пятый час утра был я не увидел уже. Спасибо огромное!
Добавлено (30.04.2013, 02:55) --------------------------------------------- Столкнулся с еще одной проблемой. запрещаю спрайту игрока, подвешанного на mouse behavoir, выходить за экран: получаю вот такой вот результат: (ссылка на видео ютуб) http://www.youtube.com/watch?v=o7Ifpt8L3So&feature=youtu.be однако пули то у меня на mouse behavoir не подвешаны а создаются почему-то от курсора мышки. пожалуйста помогите решить этот вопрос!
Sunspire Путин против Инопланетян
Сообщение отредактировал AndrewVersus - Вторник, 30 Апреля 2013, 02:56 |
|
| |
IzBePg | Дата: Вторник, 30 Апреля 2013, 05:49 | Сообщение # 18 |
Сейчас нет на сайте
| AndrewVersus, да не паникуй Тебе просто нужно вписать половину размера спрайта,чтобы не выходил за границы. Вот тебе пример:Паникёр) Размер квадрата 50x50 Чтобы он не вышел прописываю: Что меньше или равно 25,установить позицию квадрата X 25 и на другой стороне также, больше или равно 615,то установить позицию как X 615.Добавлено (30.04.2013, 05:49) --------------------------------------------- А лучше вообще сделай как у меня в примере,чтобы пули летели,а не как ты кривым каким-то образом(на всякий случай если с твоим способом не сработает)
|
|
| |
AndrewVersus | Дата: Вторник, 30 Апреля 2013, 06:25 | Сообщение # 19 |
заслуженный участник
Сейчас нет на сайте
| IzBePg, наверное я неправильно сформулировал вопрос( я специально сделал чтобы половина спрайта игрока выходила за экран. меня не устраивает что при этом пули почему-то выходят за экран, следуя за курсором мыши, хотя создаются от Player.X, и mouse behavoir на них не стоит. сделал более наглядное видео http://www.youtube.com/watch?v=R7HCpEjBUBk&feature=youtu.be ограничил передвижение игрока от 200 до 500
Sunspire Путин против Инопланетян
|
|
| |
IvanKorobko | Дата: Вторник, 30 Апреля 2013, 06:46 | Сообщение # 20 |
IK Studio
Сейчас нет на сайте
| А если поменять system creayr object на player spawn object, не поменяется ситуация?
|
|
| |