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

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

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

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

Ответ
 
Опции темы
Старый 17.10.2014, 18: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, 18: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
__________________
Asus rog gl552vw (i7 6700 16gb gtx960m2gb 250gb ssd)

̶M̶s̶i̶ ̶g̶e̶6̶2̶ ̶(̶i̶7̶-̶5̶7̶0̶0̶ ̶1̶2̶g̶b̶ ̶r̶a̶m̶ ̶9̶6̶0̶m̶ ̶2̶g̶b̶ ̶1̶2̶8̶g̶b̶ ̶s̶s̶d̶)̶ - Умер
̶R̶a̶d̶e̶o̶n̶ ̶H̶D̶4̶6̶5̶0̶ ̶2̶g̶b̶ ̶,̶ ̶c̶o̶r̶e̶2̶d̶u̶o̶ ̶t̶6̶5̶0̶0̶ ̶2̶.̶1̶G̶h̶z̶ ̶4̶g̶b̶ ̶r̶a̶m̶ ̶-̶м̶а̶м̶о̶н̶т̶ ̶ Отдан матери
̶I̶n̶t̶e̶l̶ ̶Z̶3̶7̶3̶5̶F̶ ̶1̶.̶3̶-̶1̶.̶8̶g̶h̶z̶ ̶2̶g̶b̶ ̶r̶a̶m̶ ̶-̶ ̶п̶л̶а̶н̶ш̶е̶т̶ Отдан матери
(Offline)
 
Ответить с цитированием
Старый 18.10.2014, 02:38   #3
ant0N
Бывалый
 
Аватар для ant0N
 
Регистрация: 10.06.2011
Адрес: В горах
Сообщений: 731
Написано 269 полезных сообщений
(для 697 пользователей)
Ответ: Типы (как правильно к ним обращаться)

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, 06:47   #4
DStalk
Разработчик
 
Аватар для DStalk
 
Регистрация: 26.06.2009
Адрес: Рязань-Москва
Сообщений: 464
Написано 391 полезных сообщений
(для 1,052 пользователей)
Ответ: Типы (как правильно к ним обращаться)

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


Опции темы

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

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


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


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