![]() |
Помогите c движением
Подскажите как сделать так, что бы при щелчке мышки объект двигался. Заранее спасибо
|
Re: Помогите c движением
Может так?
Код:
if mousehit(1) moveentity obj,0,0,1 |
Re: Помогите c движением
Нет, он же просил "при щелчке", а не "по нажатию. Потому лучше так:
[blitz]IF MouseHit(1) THEN MoveEntity obj,0,0,1[/blitz] 2 Sqrt : Не позорься. Иди учись в форумный ФАК, Блицевский Хелп и Семплы. Или заюзай форумный Поиск. |
Re: Помогите c движением
Цитата:
|
Re: Помогите c движением
Оно в принципе так, но нужно чтоб модель плавна передвигалась, и ещё чтоб в полноэкранном режиме отоброжался курсор
|
Re: Помогите c движением
Цитата:
Цитата:
|
Re: Помогите c движением
надо по щелчку задать "пункт назначения" 3 ;)
в цикле плавно двигать нужный объект в пункт назначения. вот например Код:
if mousehit(1) then px=?:pz=? |
что-то на счёт курсора непонятно, можно поподробней написать или приложить код
написал как вы мне сказали всё равно он двигается отрывками |
Re: Помогите c движением
Насчет курсора, создаешь картинку курсора. Далее помещаешь в папку с .bb файлом, и в коде прописываешь CursorImage=Loadimage("Cursor.хз").А в цикле пишешь
DrawImage CursorImage,Mousex(),MouseY(). Все вроде.. |
Re: Помогите c движением
вот здесь:
positionentity obj,entityx(obj)*0.9+px*0.1,бла-бла-бла два числа в сумме дающие 1. чем первое число больше, тем больше плавность. |
Re: Помогите c движением
а что писать вместо Mousex(),MouseY()
|
Re: Помогите c движением
Это и писать. Mousex() и MouseY() - команды, возвращающие положение мышки
|
написал он мне выдает ошибку
работает, только что-то курсор не отображается |
Re: Помогите c движением
Возможно Flip пропустил? И отрисовку в главном цикле делай.
Код:
CursorImage=LoadImage("cursor.bmp") |
Re: Помогите c движением
Ах да, Если у тебя будут еще спрайты рисоватся, то опускай отрисовку курсора в самый низ.
|
Re: Помогите c движением
Спасибо, а уменьшить его можно??? и как сделать так, что при клики мышки, объект переходил в те координаты??
|
Re: Помогите c движением
Цитата:
Цитата:
|
Re: Помогите c движением
поправьте код:
Graphics3D 1024,768,32 elf_kor=LoadMesh ("models\2.3ds") RotateEntity elf_kor,0,0,0 cur=LoadImage("sprites\Curs.png") ;ScaleEntity cur,1,1,1 ScaleEntity elf_kor,0.04,0.04,0.04 PositionEntity elf_kor,0,0,0 camera=CreateCamera() PositionEntity camera,100,250,0 RotateEntity camera,60,90,0 l=CreateLight() RotateEntity l,0,45,0 zv=LoadSprite ("sprites\star.jpg") ScaleSprite zv,3,3 For x=1 To 3000 zv1=CopyEntity (zv) PositionEntity zv1,Rnd(-1200,1200),Rnd(-120,0),Rnd(-2400,2400) Next Repeat If MouseDown(1) Then MoveEntity elf_kor,MouseX(),MouseY(),MouseZ() MoveEntity camera,0,0,0 End If If KeyDown(203)=1 Then MoveEntity camera,-1,0,0 If KeyDown(205)=1 Then MoveEntity camera,1,0,0 If KeyDown(200)=1 Then MoveEntity camera,0,0,+1 If KeyDown(208)=1 Then MoveEntity camera,0,0,-1 If KeyDown(1) Then Exit DrawImage cur,MouseX(),MouseY(),MouseZ() Flip RenderWorld UpdateWorld Forever когда клацаю корабль исчезает |
Re: Помогите c движением
If MouseDown(1) Then
MoveEntity elf_kor,MouseX(),MouseY(),MouseZ() <- ета строчка преемещает корабль эльфов на mousex() едениц вправо на mouseY() едениц вверх и на Mousez() едениц вперед. попробуй MouseXSpeed() и MouseYSpeed()/ MoveEntity camera,0,0,0 <- ета строчка ничо ни делает (точнее она перемещает объхект на 0 едениц вправо, на 0 едениц вверх, и на 0 едениц веперед, все равно что f=f+0 или f+=0 End If ЗЫ. пусть будет так: DrawImage cur,MouseX(),MouseY(),0 |
Re: Помогите c движением
ничего не получается
|
Re: Помогите c движением
это была попытка объяснить почему не получается. Неудачная похоже попытка. Тебе что вообще надо?
|
Re: Помогите c движением
Sqrt! Может хватит намеками говорить? Я тебе сколько раз говорил: Мы тут не телепаты (с). Может пора уже запомнить? Что это еще за беспредел? Представь, если я буду спрашивать: Я знаю, как можно сделать...а хотя нет, не знаю...Но может вы знаете?
Прости за грубость, но лучше тогда не задавать вопрос, чем говорить намеками. |
Re: Помогите c движением
я же сказал что мне надо при клики мышки объект перемещался туда где кликнули. Например как в "Космических рейнджеров". код который я использую предоставлен выше.
|
Re: Помогите c движением
ну так подумай и попытайся сделать уже что-то сам! за тебя всё не напишут! рано или поздно это всем надоест! а если у тебя не получается самому реализовать даже самы примитивные вещи, так может стоит задуматся "а нужно ли мне это?"... может стоит попробовать себя в других отрослях геймдева? моделинг например ;)
|
Re: Помогите c движением
уже всё перепробывал.
|
Re: Помогите c движением
|
Re: Помогите c движением
Sqrt, Raiter отчасти прав, ведь надо стараться все делать самому, а вот если голову ломал три дня и не понял, как сделать, вот тогда то и надо спрашивать. Даже Diplomat про это говорил, только в лучшем свете. Так что попробуй понять хотя бы теоретически, прикинь на бумажке, в общем попробуй...ежели будет тяжело, то знай:"В любом деле, главное начать."(с) impersonalis
PS Я понимаю, что не в праве кого то учить. Но прими этот весьма важный совет. Я сам новичок, но перед тем как спросить, я пытаюсь это сделать сам. Хочу тебе сказать: Тебе будет ГОРАЗДО приятней, если ты в одиночку достигнешь ту цель, к которой стремишься. PPS По крайней мере, вопрос типа что такое MouseX() и MouseY() - неуважение ко многим пользователям boolean.name. Ведь это написано в Хэлпе, понимаю, если речь идет о Handle или Object. Но и то, товарищ impersonalis постарался, что бы новички не вникали в команды путем прочтения английского текста, а представил на русском, но только жаль, что его труд, видимо пропадает... Так что, уважай труд других. Прочти Хэлп (на boolean.name имеется почти полностью переведенный!), посмотри раздел FAQ (кстати там есть замечательный туториал по созданию FPS (кстати, автор - impersonalis)) так же посмотри раздел переводы и наконец, посмотри журнал Матвея Меркулова - Blitz Et Cetera... |
Re: Помогите c движением
|
Re: Помогите c движением
Хватит наезжать на новичка.
Корень квадратный, надо создать плэйн, сделать его полигонепикабле EntityPickMode plane,2 планка должна быть на уровне корабля. По щелчку мыша делаеш if mousehit(1) camerapcik(cam,mousex(),mousey()) tx=pickedx() tz=pickedz() endif далее ишеш мой пост и вставляеш код оттуда. стоп!! не вставляеш а переписываеш. |
Часовой пояс GMT +4, время: 19:18. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot