forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   2D-программирование (http://forum.boolean.name/forumdisplay.php?f=13)
-   -   Типы (как правильно к ним обращаться) (http://forum.boolean.name/showthread.php?t=19474)

Drelagomand 17.10.2014 22:29

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

Код:

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

tirarex 17.10.2014 22:55

Ответ: Типы (как правильно к ним обращаться)
 
Типы выглядят так ;

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

ant0N 18.10.2014 06:38

Ответ: Типы (как правильно к ним обращаться)
 
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"

DStalk 18.10.2014 10:47

Ответ: Типы (как правильно к ним обращаться)
 
Слеш не в ту сторону:) делить пытается...
tex7=LoadImage(class/Name)


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot