Тема: Функции (
Показать сообщение отдельно
Старый 12.09.2007, 17:25   #10
Crystal
Терабайт исходников
 
Аватар для Crystal
 
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений
(для 5,374 пользователей)
Re: Функции (

Сообщение от Raiter
player_est = 0

While Not KeyDown(1)
If KeyHit(16) Then
функция()
player_est = 1
End If
if player_est = 1 then функция2()
чёто неработает (
вторая функйия не может найти объект ибо объект не в глобале. а в глобал я его из функции поставить немогу...

походу надо както делать и создане объекта и его управление в одной функции

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

Ниже предоставлю части кода которые мы щас обсуждаем

Global speedk1#=0
Global mXSp#
Global mYSp#
;тот объект (щас не в функции)
Global k1 = LoadMesh("Data\object\ships\k1\k1.b3d")
ScaleEntity k1,1,1,1
PositionEntity k1,0,0,0
RotateEntity k1, 0, 0, 0
;камера его
Camera = CreateCamera(k1)
PositionEntity Camera,3,60,-320
RotateEntity Camera, 0, 0, 0
CameraRange Camera,1.0,100000000
;функция управление
Function k1u()
Zkrenk1#=0.5
XYkrenk1#=0.5
TSpeed#=0.010
    TurnEntity k1,mYSp*TSpeed,0,0
    TurnEntity k1,0,-mXSp*TSpeed,0
    MoveMouse GraphicsWidth()/2,GraphicsHeight()/2
    MoveEntity k1,0,0,+speedk1#
If KeyDown(30) Then TurnEntity k1,0,0,+Zkrenk1#
If KeyDown(32) Then TurnEntity k1,0,0,-Zkrenk1#
If KeyDown(200) Then TurnEntity k1,+XYkrenk1#,0,0
If KeyDown(208) Then TurnEntity k1,-XYkrenk1#,0,0
If KeyDown(203) Then TurnEntity k1,0,+XYkrenk1#,0
If KeyDown(205) Then TurnEntity k1,0,-XYkrenk1#,0
If KeyHit(17) Then 
speedk1#=speedk1#+15
End If
If KeyHit(31) Then 
speedk1#=speedk1#-15
End If
If speedk1#=60 Then
speedk1#=45
EndIf
If speedk1#=-15 Then
speedk1#=0
EndIf
End Function
While Not KeyDown(1)
; вызываю функцию управление
k1u()
mXSp=MouseXSpeed()
mYSp=MouseYSpeed()
UpdateWorld
RenderWorld
Flip
Wend
End
В таком виде работает. Но мне надо сделать както чтобы не сразу работало а по какомуто событию, нарпимер нажатие Q как писал выше.


Скрин
__________________
Проект "Deathbring World - Rangers" и его финансовая поддержка:
https://boosty.to/deathbringrangers

Я на - TWITCH
Канал на YouTube
(Offline)
 
Ответить с цитированием