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

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

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > FAQ

FAQ Туториалы и часто задаваемые вопросы

Ответ
 
Опции темы
Старый 07.02.2011, 11:56   #16
Satan'scry
Оператор ЭВМ
 
Аватар для Satan'scry
 
Регистрация: 03.02.2011
Сообщений: 28
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Вопросы по текстурам.

Сделал такую функцию
Function update_box()
If EntityCollided (user,BOXT) > 0 And KeyDown(SC1)
size=size+1
 ScaleEntity b\entity,size,size,size
EndIf
End Function
Пишет
Varible Must be Type и указывает на эту строчку
ScaleEntity b\entity,size,size,size

Хотя до этого прописан такой код
Function create_box(size,x#=0,y#=0,z#=0,txt)
 b.cb= New cb
 b\entity = CreateCube()
 EntityType b\entity,BOXT
 PositionEntity b\entity,x#,y#,z#
 ScaleEntity b\entity,size,size,size
 EntityTexture b\entity,txt
Return True
End Function 

Function create_block(sizex,sizey,sizez,x#=0,y#=0,z#=0,txt)
 b2.cb2= New cb2
 b2\entity = CreateCube()
 EntityType b2\entity,BOXT
 PositionEntity b2\entity,x#,y#,z#
 ScaleEntity b2\entity,sizex,sizey,sizez
 EntityTexture b2\entity,txt
Return True
End Function
Что не так?=)
(Offline)
 
Ответить с цитированием
Старый 07.02.2011, 13:03   #17
Nex
Гигант индустрии
 
Аватар для Nex
 
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений
(для 3,298 пользователей)
Ответ: Вопросы по текстурам.

Наверно нужно вот так
Function update_box()
for b.cb = each cb
If EntityCollided (user,BOXT) > 0 And KeyDown(SC1)
size=size+1
ScaleEntity b\entity,size,size,size
EndIf
next
End Function
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Satan'scry (07.02.2011)
Старый 07.02.2011, 13:22   #18
Satan'scry
Оператор ЭВМ
 
Аватар для Satan'scry
 
Регистрация: 03.02.2011
Сообщений: 28
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Вопросы по текстурам.

Объекты просто исчезают, ПРИЧЕМ ВСЕ КУБЫ=(
Но все равно спс=)

Function update_box()
for b.cb = each cb
If EntityCollided (user,BOXT) > 0 And KeyHit(SC1)
size=size-0.01
ScaleEntity b\entity,size,size,size
EndIf
next
End Function
Более-менее работает, только теперь один объект это "чувствует"
(Offline)
 
Ответить с цитированием
Старый 07.02.2011, 13:35   #19
RBK
Знающий
 
Аватар для RBK
 
Регистрация: 06.12.2010
Адрес: Луганск
Сообщений: 252
Написано 112 полезных сообщений
(для 166 пользователей)
Ответ: Вопросы по текстурам.

Непонимание принципа работы типов вызывает

Сначала ищем нужную запись, потом с ней работаем.
Function update_box()
local ent = EntityCollided (user,BOXT) 

If ent > 0 And KeyHit(SC1)

  for b.cb = each cb
    if b\entity = ent then exit
  next

  size=size + 1
  ScaleEntity b\entity,size,size,size

EndIf
End Function
(Offline)
 
Ответить с цитированием
Старый 07.02.2011, 13:38   #20
Satan'scry
Оператор ЭВМ
 
Аватар для Satan'scry
 
Регистрация: 03.02.2011
Сообщений: 28
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Вопросы по текстурам.

Объекты как-то криво исчезают, эх=)
Тогда над мне с нуля наверно писать=)
Просто у меня должно плавно увеличиваться=)
----
Подскажите как сделать такое плавное уменьшение или увеличение=)
Буду признателен=)
(После Гамака сложно переходить)
(Offline)
 
Ответить с цитированием
Старый 07.02.2011, 14:03   #21
RBK
Знающий
 
Аватар для RBK
 
Регистрация: 06.12.2010
Адрес: Луганск
Сообщений: 252
Написано 112 полезных сообщений
(для 166 пользователей)
Ответ: Вопросы по текстурам.

Они не исчезают, просто увеличиваются так быстро, что камера оказывается внутри и не видит их.
В функции update_box() исправь:
  ...
  size#=size# + 0.001
  ScaleEntity b\entity,size#,size#,size#
  ...
Теперь будет увеличиваться медленно.
(Offline)
 
Ответить с цитированием
Старый 07.02.2011, 14:06   #22
Satan'scry
Оператор ЭВМ
 
Аватар для Satan'scry
 
Регистрация: 03.02.2011
Сообщений: 28
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Вопросы по текстурам.

Хех=)
Не работает, тоже самое

Graphics3D  0,0,32,1
SetBuffer BackBuffer()

Include "sckeyscan.bb"

Global user,camera,sky,lit
Global t1,t2,s1,s2



Const USERT=1
Const BOXT=2

Type cb
	Field entity
End Type
Type cb2
	Field entity
End Type


;------^PHYSICS^------
Const UP# = 0.7
Const GR# = 1
Const cj#=1

;------^TEXTURES^_____
t1=LoadTexture ("pack\standart\GF01.jpg")
t2=LoadTexture ("pack\standart\GG01.jpg")
s1=LoadTexture ("pack\standart\SK01.jpg")
s2=LoadTexture ("pack\standart\SK02.jpg")

;------^GAME^-----
Function create_user(x#,y#,z#)
		
    user=CreateSphere()
	k#=3
	ScaleEntity user,k#,k#,k#
	EntityRadius user,k#
	camera=CreateCamera(user)
	CameraRange camera,0.1,3000
	PositionEntity user,x#,y#,z#
	EntityType user,USERT

End Function

Function update_user()

    V#=0.5
	u#=70;
	TurnEntity camera,MouseYSpeed(),0,0
	TurnEntity user,0,-MouseXSpeed(),0
	If KeyDown(SCAKEY)=1 Then MoveEntity user,-V#,0,0
	If KeyDown(SCDKEY)=1 Then MoveEntity user,V#,0,0
	If KeyDown(SCWKEY)=1 Then MoveEntity user,0,0,+V# 
	If KeyDown(SCSKEY)=1 Then MoveEntity user,0,0,-V#

	MoveMouse GraphicsWidth()*0.5,GraphicsHeight()*0.5
	If Abs(EntityPitch#(camera))>u# RotateEntity camera,u#*Sgn(EntityPitch#(camera)),0,0
	
	
    Collisions USERT,BOXT,2,2
	
	EntityBox  user,x#,y#,z#,k#+3,k#+16,k#+3
	;---
    If EntityCollided (user,BOXT) <= 0
    TranslateEntity user,0,-UP#,0
EndIf

End Function

Function create_box(size#,x#=0,y#=0,z#=0,txt)
 b.cb=New cb
 b\entity= CreateCube()
 EntityType b\entity,BOXT
 PositionEntity b\entity,x#,y#,z#
  ScaleEntity b\entity,size,size,size
 EntityTexture b\entity,txt
Return True
End Function 

Function create_block(sizex,sizey,sizez,x#=0,y#=0,z#=0,txt)
 b2.cb2= New cb2
 b2\entity = CreateCube()
 EntityType b2\entity,BOXT
 PositionEntity b2\entity,x#,y#,z#
 ScaleEntity b2\entity,sizex,sizey,sizez
 EntityTexture b2\entity,txt
Return True
End Function 



Function create_skysphere(t)
  sky=CreateSphere(100,user)
  FlipMesh sky
  EntityTexture sky,t
  ScaleEntity sky,2000,2000,2000

End Function



Function create_w()
create_user(0,60,0)
create_box(5,0,10,0,t1)
create_box(15,10,140,10,t2)
create_box(10,10,0,0,t1)
create_block(30,3,30,0,-10,0,t2)
create_skysphere(s1)
End Function

Function update_skysphere()
  TurnEntity sky,0,0.01,0
End Function

Function update_light()
lit=CreateLight()
LightRange lit,2000
RotateEntity lit,270,0,0
End Function


Function update_box()
local ent = EntityCollided (user,BOXT) 

If ent > 0 And KeyHit(SC1)

  for b.cb = each cb
    if b\entity = ent then exit
  Next

size#=size# + .001
  ScaleEntity b\entity,size#,size#,size#

EndIf
End Function


;------^CRETAEWORLD^-
create_w()
;------^PROCESS^-----
While Not KeyHit(1)=1
    update_skysphere()
    update_light()
	update_user()
	update_box()
	UpdateWorld()
	RenderWorld()
	Text 10,10,"xPos "+EntityX (user)
	Text 10,20,"yPos "+EntityY (user)
	Text 10,30,"zPos "+EntityZ (user)
	Text 10,40,"Render "+TrisRendered()
	Flip
Wend
;----------------------------
End
МБ ошибка во всем коде?
(Offline)
 
Ответить с цитированием
Старый 10.02.2011, 15:14   #23
Satan'scry
Оператор ЭВМ
 
Аватар для Satan'scry
 
Регистрация: 03.02.2011
Сообщений: 28
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Вопросы по текстурам.

Пишу редактор и столкнулся с проблемой.
Как сейвить путь к текстуре?
У меня прописано так
File=WriteFile(name$+".txt")
	For S.vcube=Each vcube
		WriteLine(File,S\t1)
		WriteInt(File,S\t2)
		WriteInt(File,S\t3)
		WriteInt(File,S\t4)
		WriteInt(File,S\t5)
		WriteInt(File,S\t6)
		WriteInt(File,S\x)
		WriteInt(File,S\y)
		WriteInt(File,S\z)
		WriteInt(File,S\sx)
		WriteInt(File,S\sy)
		WriteInt(File,S\sz)
		WriteInt(File,S\rx)
		WriteInt(File,S\ry)
		WriteInt(File,S\rz)
	Next
	CloseFile(File)
где S\t(NUM)=номеру текстуры по каждой стороне вертексного кубика
__________________

--<(г.г)>--
//Йа КрутЭ КотЭ
(Offline)
 
Ответить с цитированием
Старый 10.02.2011, 15:21   #24
Reks888
Дэвелопер
 
Аватар для Reks888
 
Регистрация: 04.11.2009
Адрес: Украина, Днепропетровск
Сообщений: 1,480
Написано 662 полезных сообщений
(для 1,985 пользователей)
Ответ: Вопросы по текстурам.

Есть предположение что WriteInt пишет в файл ЧИСЛО, а S\t2 - СТРОКА.
Лечится использованием WriteString или WriteLine вместо инта
__________________
>type C:\MyProj\*
www.sypiac.weebly.com
>
(Offline)
 
Ответить с цитированием
Старый 10.02.2011, 15:36   #25
Satan'scry
Оператор ЭВМ
 
Аватар для Satan'scry
 
Регистрация: 03.02.2011
Сообщений: 28
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Вопросы по текстурам.

Я сохраняю эту феню

"pack\standart\GG01.jpg"

не воркает х(

ПОМОГИТЕ =)
__________________

--<(г.г)>--
//Йа КрутЭ КотЭ
(Offline)
 
Ответить с цитированием
Старый 10.02.2011, 16:01   #26
Reks888
Дэвелопер
 
Аватар для Reks888
 
Регистрация: 04.11.2009
Адрес: Украина, Днепропетровск
Сообщений: 1,480
Написано 662 полезных сообщений
(для 1,985 пользователей)
Ответ: Вопросы по текстурам.

File=WriteFile(name$+".txt")
For S.vcube=Each vcube
WriteString(File,S\t1)
WriteString(File,S\t2)
WriteString(File,S\t3)
...
Next
CloseFile(File)
__________________
>type C:\MyProj\*
www.sypiac.weebly.com
>
(Offline)
 
Ответить с цитированием
Старый 10.02.2011, 16:19   #27
Satan'scry
Оператор ЭВМ
 
Аватар для Satan'scry
 
Регистрация: 03.02.2011
Сообщений: 28
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Вопросы по текстурам.

Я же сказал что не работает х(
__________________

--<(г.г)>--
//Йа КрутЭ КотЭ
(Offline)
 
Ответить с цитированием
Старый 10.02.2011, 16:30   #28
LLI.T.A.L.K.E.R.
Мастер
 
Аватар для LLI.T.A.L.K.E.R.
 
Регистрация: 24.06.2009
Адрес: Набережные Челны
Сообщений: 930
Написано 292 полезных сообщений
(для 504 пользователей)
Ответ: Вопросы по текстурам.

Лучше выкласть проэкт с bb файлами и инклудами, текстурами jpg чтобы тест был возможен. Иначе нам придётся заполнять эти файлы своими (или инклуды искать).

Своруют проэкт?
Ну исх. код то уже выставлен...
(Offline)
 
Ответить с цитированием
Старый 10.02.2011, 16:45   #29
Satan'scry
Оператор ЭВМ
 
Аватар для Satan'scry
 
Регистрация: 03.02.2011
Сообщений: 28
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Вопросы по текстурам.

Это старый - кривой код, лаги лаги там=)
Я уже другой написал...
__________________

--<(г.г)>--
//Йа КрутЭ КотЭ
(Offline)
 
Ответить с цитированием
Старый 10.02.2011, 16:54   #30
Reks888
Дэвелопер
 
Аватар для Reks888
 
Регистрация: 04.11.2009
Адрес: Украина, Днепропетровск
Сообщений: 1,480
Написано 662 полезных сообщений
(для 1,985 пользователей)
Ответ: Вопросы по текстурам.

Прочитай вот это: http://forum.boolean.name/showthread.php?t=14187&page=2, и ещё раз задай свой вопрос. Я не понимаю что не так
__________________
>type C:\MyProj\*
www.sypiac.weebly.com
>
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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