Hi,
Been trying to get this working for a couple of hours.
Stuck...please look at script code below and provide a solution:
Thanks!
Jesse
www.FallenAngelSoftware.com
Below script code builds, but it crashes when run on line # 45
# "VisualsCore.gd"
extends Node
var ScreenWidth = 1024
var ScreenHeight = 640
class SpriteClass:
var SpriteImage
var SpriteActive
var SpriteScreenX
var SpriteScreenY
var SpriteScaleX
var SpriteScaleY
var SpriteRotation
var SpriteColorRed
var SpriteColorGreen
var SpriteColorBlue
var SpriteColorAlpha
var Sprites = [1000]
#class TextClass:
# var TextImage
# var TextIndex
# var TextScreenX
# var TextScreenY
# var TextHorizontalJustification
# var TextSize
# var TextScaleX
# var TextScaleY
# var TextRotation
# var TextColorRed
# var TextColorGreen
# var TextColorBlue
# var TextColorAlpha
# var TextOutlineRed
# var TextOutlineGreen
# var TextOutlineBlue
#var Texts = TextClass.new()
#----------------------------------------------------------------------------------------
func _ready():
for index in range(0, 1000):
Sprites[index] = SpriteClass.new()
Sprites[index].SpriteImage.append(Sprite.new()) # ERROR: "Invalid call. Nonexistent function 'append' in base 'Nil'." ?
Sprites[index].SpriteActive.append(false)
Sprites[index].SpriteScreenX.append(-99999)
Sprites[index].SpriteScreenY.append(-99999)
Sprites[index].SpriteScaleX.append(1.0)
Sprites[index].SpriteScaleY.append(1.0)
Sprites[index].SpriteRotation.append(0)
Sprites[index].SpriteColorRed.append(1)
Sprites[index].SpriteColorGreen.append(1)
Sprites[index].SpriteColorBlue.append(1)
Sprites[index].SpriteColorAlpha.append(1)
Sprites[0].SpriteImage.set_texture(preload("res://media/images/backgrounds/FadingBlackBG.png"))
Sprites[0].SpriteActive = true
Sprites[1].SpriteImage.set_texture(preload("res://media/images/backgrounds/TitleBG.png"))
Sprites[1].SpriteActive = true
Sprites[2].SpriteImage.set_texture(preload("res://media/images/logos/Logo.png"))
Sprites[2].SpriteActive = true
Sprites[3].SpriteImage.set_texture(preload("res://media/images/gui/ScreenLine.png"))
Sprites[3].SpriteActive = true
for index in range(0, 1000):
if Sprites[index].SpriteActive == true:
add_child(Sprites.SpriteImage[index])
pass
#----------------------------------------------------------------------------------------
func DrawSprite(var index, var x, var y, var scaleX, var scaleY, var rotation, var red, var green, var blue, var alpha):
if Sprites.SpriteActive[index] == true: return false
Sprites[index].SpriteImage.global_position = Vector2(x, y)
Sprites[index].SpriteImage.scale = Vector2(scaleX, scaleY)
Sprites[index].SpriteImage.rotation = deg2rad(rotation)
Sprites[index].SpriteImage.modulate = Color(red, green, blue, alpha)
Sprites[index].SpriteActive = true
Sprites[index].SpriteScreenX = x
Sprites[index].SpriteScreenY = y
Sprites[index].SpriteScaleX = scaleX
Sprites[index].SpriteScaleY = scaleY
Sprites[index].SpriteRotation = rotation
Sprites[index].SpriteColorRed = red
Sprites[index].SpriteColorGreen = green
Sprites[index].SpriteColorBlue = blue
Sprites[index].SpriteColorAlpha = alpha
pass
#----------------------------------------------------------------------------------------
func DrawText(var index, var x, var y, var horizontalJustification, var size, var scaleX, var scaleY, var rotation, var red, var green, var blue, var alpha, var outlineRed, var outlineGreen, var outlineBlue):
# var RTL = RichTextLabel.new()
#
# var FONT = DynamicFont.new()
# FONT.font_data = load("res://media/fonts/LiberationSans-Regular.ttf")
# FONT.size = 25
#
#
# for index in range(0, 1000):
# Texts.TextImage[index].append(null)
# var TextImage = []
# var TextIndex = []
# var TextScreenX = []
# var TextScreenY = []
# var TextHorizontalJustification = []
# var TextSize = []
# var TextScaleX = []
# var TextScaleY = []
# var TextRotation = []
# var TextColorRed = []
# var TextColorGreen = []
# var TextColorBlue = []
# var TextColorAlpha = []
# var TextOutlineRed = []
# var TextOutlineGreen = []
# var TextOutlineBlue = []
#var Texts = TextClass.new()
# if Sprites.SpriteActive[index] == false: return false
#
# Sprites.SpriteImage[index].global_position = Vector2(x, y)
# Sprites.SpriteImage[index].scale = Vector2(scaleX, scaleY)
# Sprites.SpriteImage[index].rotation = deg2rad(rotation)
# Sprites.SpriteImage[index].modulate = Color(red, green, blue, alpha)
#
# Sprites.SpriteScreenX[index] = x
# Sprites.SpriteScreenY[index] = y
# Sprites.SpriteScaleX[index] = scaleX
# Sprites.SpriteScaleY[index] = scaleY
# Sprites.SpriteRotation[index] = rotation
# Sprites.SpriteColorRed[index] = red
# Sprites.SpriteColorGreen[index] = green
# Sprites.SpriteColorBlue[index] = blue
# Sprites.SpriteColorAlpha[index] = alpha
pass