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

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

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

2D-программирование Вопросы, касающиеся двумерного программирования

Ответ
 
Опции темы
Старый 17.10.2014, 22:29   #1
Drelagomand
AnyKey`щик
 
Регистрация: 14.10.2014
Сообщений: 4
Написано 0 полезных сообщений
(для 0 пользователей)
Вопрос Типы (как правильно к ним обращаться)

Решил использовать типы для упрощения кода, но столкнулся с проблемой - я не знаю, каким образом можно с помощью типов перебором выводить изображения с именами (путями), указанными в типе
Вот часть кода программы:

Type HERO
Field Id
Field Name$
Field Tex$
End Type

class.HERO = New HERO
class\Id=1
class\Name="Warrior"
class\Tex="class1warrior"
class.HERO = New HERO
class\Id=2
class\Name="Paladin"
class\Tex="class2paladin"
class.HERO = New HERO
class\Id=3
class\Name="Assasin"
class\Tex="class3assasin"

n=0
While RecvNetMsg()=0 ;watch classes before choose
For class.HERO = Each HERO
tex7=LoadImage(class/Name)
DrawImage tex7,30+n*(ImageWidth(tex7)+30),60
FreeImage tex7
n=n+1
Next
n=0
Wend
Вот тут то и проблема - выдает ошибку Arithmetic operator can not be applied to custom type object
(Offline)
 
Ответить с цитированием
Старый 17.10.2014, 22:55   #2
tirarex
Бывалый
 
Аватар для tirarex
 
Регистрация: 23.11.2011
Сообщений: 863
Написано 334 полезных сообщений
(для 866 пользователей)
Ответ: Типы (как правильно к ним обращаться)

Типы выглядят так ;

Type HERO
Field Name$
Field Id
End Type

Создание
He.HERO= New HERO
He\Name$="OLOLO"

Проход по типу
For He.HERO= Each HERO
He\Name$="OLOLO"+rand(10)
next

Удаление типа

Delete He
(Offline)
 
Ответить с цитированием
Старый 18.10.2014, 06:38   #3
ant0N
Бывалый
 
Аватар для ant0N
 
Регистрация: 10.06.2011
Адрес: В горах
Сообщений: 849
Написано 331 полезных сообщений
(для 853 пользователей)
Ответ: Типы (как правильно к ним обращаться)

tirarex, он так и делает..
У него проблема арифметическая (Arithmetic operator can not be applied to custom type object), а именно в этой строке:
DrawImage tex7,30+n*(ImageWidth(tex7)+30),60
я думаю, что ты забыл указать полное имя изображения вот здесь:
class\Name="Warrior"
может должно быть так?
class\Name="media\Warrior.png"
__________________
Абсолютли!
(Offline)
 
Ответить с цитированием
Старый 18.10.2014, 10:47   #4
DStalk
Разработчик
 
Аватар для DStalk
 
Регистрация: 27.06.2009
Адрес: Рязань-Москва
Сообщений: 471
Написано 401 полезных сообщений
(для 1,072 пользователей)
Ответ: Типы (как правильно к ним обращаться)

Слеш не в ту сторону делить пытается...
tex7=LoadImage(class/Name)
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо DStalk за это полезное сообщение:
FlameSword (15.03.2018), KCEPOKC (21.10.2014)
Ответ


Опции темы

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

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


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


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