delete godot 3.x demo

pull/3/head
godotg 2023-11-18 12:31:18 +08:00
parent 14fb83fa49
commit 203980057f
142 changed files with 0 additions and 5045 deletions

View File

@ -1,7 +0,0 @@
[gd_resource type="Environment" load_steps=2 format=2]
[sub_resource type="ProceduralSky" id=1]
[resource]
background_mode = 2
background_sky = SubResource( 1 )

View File

@ -1,33 +0,0 @@
const ComplexObject = preload("res://gdProtocol/packet/ComplexObject.gd")
const NormalObject = preload("res://gdProtocol/packet/NormalObject.gd")
const ObjectA = preload("res://gdProtocol/packet/ObjectA.gd")
const ObjectB = preload("res://gdProtocol/packet/ObjectB.gd")
const SimpleObject = preload("res://gdProtocol/packet/SimpleObject.gd")
const protocols = {}
static func getProtocol(protocolId: int):
return protocols[protocolId]
static func newInstance(protocolId: int):
var protocol = protocols[protocolId]
return protocol.new()
static func write(buffer, packet):
var protocolId: int = packet.PROTOCOL_ID
buffer.writeShort(protocolId)
var protocol = protocols[protocolId]
protocol.write(buffer, packet)
static func read(buffer):
var protocolId = buffer.readShort();
var protocol = protocols[protocolId]
var packet = protocol.read(buffer);
return packet;
static func initProtocol():
protocols[100] = ComplexObject
protocols[101] = NormalObject
protocols[102] = ObjectA
protocols[103] = ObjectB
protocols[104] = SimpleObject

View File

@ -1,664 +0,0 @@
const ProtocolManager = preload("res://gdProtocol/ProtocolManager.gd")
const EMPTY: String = ""
var buffer = StreamPeerBuffer.new()
var writeOffset: int = 0 setget setWriteOffset, getWriteOffset
var readOffset: int = 0 setget setReadOffset, getReadOffset
func _init():
buffer.big_endian = true
# -------------------------------------------------get/set-------------------------------------------------
func setWriteOffset(writeIndex: int) -> void:
if (writeIndex > buffer.get_size()):
var template = "writeIndex[{}] out of bounds exception: readerIndex: {}, writerIndex: {} (expected: 0 <= readerIndex <= writerIndex <= capacity: {})"
printerr(template.format([writeIndex, readOffset, writeOffset, buffer.size()], "{}"))
return
writeOffset = writeIndex
func getWriteOffset() -> int:
return writeOffset
func setReadOffset(readIndex: int) -> void:
if (readIndex > writeOffset):
var template = "readIndex[{}] out of bounds exception: readerIndex: {}, writerIndex: {} (expected: 0 <= readerIndex <= writerIndex <= capacity: {})"
printerr(template.format([readIndex, readOffset, writeOffset, buffer.size()], "{}"))
return
readOffset = readIndex
func getReadOffset() -> int:
return readOffset
func isReadable() -> bool:
return writeOffset > readOffset
# -------------------------------------------------write/read-------------------------------------------------
func writePoolByteArray(value: PoolByteArray):
var length = value.size()
buffer.put_partial_data(value)
writeOffset += length
func writeBool(value: bool) -> void:
var byte = 0
if (value):
byte = 1
buffer.seek(writeOffset)
buffer.put_8(byte)
writeOffset += 1
func readBool() -> bool:
buffer.seek(readOffset)
var byte = buffer.get_8()
readOffset += 1
return byte == 1
func writeByte(value: int) -> void:
buffer.seek(writeOffset)
buffer.put_8(value)
writeOffset += 1
func readByte() -> int:
buffer.seek(readOffset)
var value = buffer.get_8()
readOffset += 1
return value
func writeShort(value: int) -> void:
buffer.seek(writeOffset)
buffer.put_16(value)
writeOffset += 2
func readShort() -> int:
buffer.seek(readOffset)
var value = buffer.get_16()
readOffset += 2
return value
func writeInt(value) -> void:
writeLong(value)
func readInt() -> int:
return readLong()
func writeLong(longValue: int) -> void:
var value = (longValue << 1) ^ (longValue >> 63)
if (value >> 7 == 0):
writeByte(value)
return
if (value >> 14 == 0):
writeByte(value | 0x80)
writeByte(value >> 7)
return
if (value >> 21 == 0):
writeByte(value | 0x80)
writeByte((value >> 7) | 0x80)
writeByte(value >> 14)
return
if (value >> 28 == 0):
writeByte(value | 0x80)
writeByte((value >> 7) | 0x80)
writeByte((value >> 14) | 0x80)
writeByte(value >> 21)
return
if (value >> 35 == 0):
writeByte(value | 0x80)
writeByte((value >> 7) | 0x80)
writeByte((value >> 14) | 0x80)
writeByte((value >> 21) | 0x80)
writeByte(value >> 28)
return
if (value >> 42 == 0):
writeByte(value | 0x80)
writeByte((value >> 7) | 0x80)
writeByte((value >> 14) | 0x80)
writeByte((value >> 21) | 0x80)
writeByte((value >> 28) | 0x80)
writeByte(value >> 35)
return
if (value >> 49 == 0):
writeByte(value | 0x80)
writeByte((value >> 7) | 0x80)
writeByte((value >> 14) | 0x80)
writeByte((value >> 21) | 0x80)
writeByte((value >> 28) | 0x80)
writeByte((value >> 35) | 0x80)
writeByte(value >> 42)
return
if (value >> 56 == 0):
writeByte(value | 0x80)
writeByte((value >> 7) | 0x80)
writeByte((value >> 14) | 0x80)
writeByte((value >> 21) | 0x80)
writeByte((value >> 28) | 0x80)
writeByte((value >> 35) | 0x80)
writeByte((value >> 42) | 0x80)
writeByte(value >> 49)
return
writeByte(value | 0x80)
writeByte((value >> 7) | 0x80)
writeByte((value >> 14) | 0x80)
writeByte((value >> 21) | 0x80)
writeByte((value >> 28) | 0x80)
writeByte((value >> 35) | 0x80)
writeByte((value >> 42) | 0x80)
writeByte((value >> 49) | 0x80)
writeByte(value >> 56)
func readLong() -> int:
var byte: int = readByte()
var value: int = byte
if (byte < 0):
byte = readByte()
value = value & 0x00000000_0000007F | byte << 7
if (byte < 0):
byte = readByte()
value = value & 0x00000000_00003FFF | byte << 14
if (byte < 0):
byte = readByte()
value = value & 0x00000000_001FFFFF | byte << 21
if (byte < 0):
byte = readByte()
value = value & 0x00000000_0FFFFFFF | byte << 28
if (byte < 0):
byte = readByte()
value = value & 0x00000007_FFFFFFFF | byte << 35
if (byte < 0):
byte = readByte()
value = value & 0x000003FF_FFFFFFFF | byte << 42
if (byte < 0):
byte = readByte()
value = value & 0x0001FFFF_FFFFFFFF | byte << 49
if (byte < 0):
byte = readByte()
value = value & 0x00FFFFFF_FFFFFFFF | byte << 56
var mask = value >> 1
if (mask < 0):
mask = mask & 0x7FFFFFFF_FFFFFFFF
return mask ^ -(value & 1)
func writeFloat(value: float) -> void:
buffer.seek(writeOffset)
buffer.put_float(value)
writeOffset += 4
func readFloat() -> float:
buffer.seek(readOffset)
var value = buffer.get_float()
readOffset += 4
return value
func writeDouble(value: float) -> void:
buffer.seek(writeOffset)
buffer.put_double(value)
writeOffset += 8
func readDouble() -> float:
buffer.seek(readOffset)
var value = buffer.get_double()
readOffset += 8
return value
func writeString(value: String) -> void:
if (value == null || value.length() ==0):
writeInt(0)
return
buffer.seek(writeOffset)
var strBytes = value.to_utf8()
var length = strBytes.size()
writeInt(length)
buffer.put_partial_data(strBytes)
writeOffset += length
func readString() -> String:
var length = readInt()
if (length <= 0):
return EMPTY
buffer.seek(readOffset)
var value = buffer.get_utf8_string(length)
var strBytes = value.to_utf8()
readOffset += length
return value
func writeChar(value) -> void:
if (value == null || value.length() == 0):
writeString(EMPTY)
return
writeString(value[0])
func readChar() -> String:
return readString()
func writePacketFlag(packet) -> bool:
var flag = (packet == null)
writeBool(!flag)
return flag
func writePacket(packet, protocolId):
var protocolRegistration = ProtocolManager.getProtocol(protocolId)
protocolRegistration.write(self, packet)
func readPacket(protocolId):
var protocolRegistration = ProtocolManager.getProtocol(protocolId)
return protocolRegistration.read(self)
func newInstance(protocolId: int):
return ProtocolManager.newInstance(protocolId)
func writeBooleanArray(array):
if (array == null):
writeInt(0)
else:
writeInt(array.size());
for element in array:
writeBool(element)
func readBooleanArray():
var array = []
var size = readInt()
if (size > 0):
for index in range(size):
array.append(readBool())
return array
func writeByteArray(array):
if (array == null):
writeInt(0)
else:
writeInt(array.size());
for element in array:
writeByte(element)
func readByteArray():
var array = []
var size = readInt()
if (size > 0):
for index in range(size):
array.append(readByte())
return array
func writeShortArray(array):
if (array == null):
writeInt(0)
else:
writeInt(array.size());
for element in array:
writeShort(element)
func readShortArray():
var array = []
var size = readInt()
if (size > 0):
for index in range(size):
array.append(readShort())
return array
func writeIntArray(array):
if (array == null):
writeInt(0)
else:
writeInt(array.size());
for element in array:
writeInt(element)
func readIntArray():
var array = []
var size = readInt()
if (size > 0):
for index in range(size):
array.append(readInt())
return array
func writeLongArray(array):
if (array == null):
writeInt(0)
else:
writeInt(array.size());
for element in array:
writeLong(element)
func readLongArray():
var array = []
var size = readInt()
if (size > 0):
for index in range(size):
array.append(readLong())
return array
func writeFloatArray(array):
if (array == null):
writeInt(0)
else:
writeInt(array.size());
for element in array:
writeFloat(element)
func readFloatArray():
var array = []
var size = readInt()
if (size > 0):
for index in range(size):
array.append(readFloat())
return array
func writeDoubleArray(array):
if (array == null):
writeInt(0)
else:
writeInt(array.size());
for element in array:
writeDouble(element)
func readDoubleArray():
var array = []
var size = readInt()
if (size > 0):
for index in range(size):
array.append(readDouble())
return array
func writeCharArray(array):
if (array == null):
writeInt(0)
else:
writeInt(array.size());
for element in array:
writeChar(element)
func readCharArray():
var array = []
var size = readInt()
if (size > 0):
for index in range(size):
array.append(readChar())
return array
func writeStringArray(array):
if (array == null):
writeInt(0)
else:
writeInt(array.size());
for element in array:
writeString(element)
func readStringArray():
var array = []
var size = readInt()
if (size > 0):
for index in range(size):
array.append(readString())
return array
func writePacketArray(array, protocolId):
if (array == null):
writeInt(0)
else:
var protocolRegistration = ProtocolManager.getProtocol(protocolId)
writeInt(array.size());
for element in array:
protocolRegistration.write(self, element)
func readPacketArray(protocolId):
var array = []
var size = readInt()
if (size > 0):
var protocolRegistration = ProtocolManager.getProtocol(protocolId)
for index in range(size):
array.append(protocolRegistration.read(self))
return array
func writeIntIntMap(map):
if (map == null):
writeInt(0)
else:
writeInt(map.size())
for key in map:
writeInt(key)
writeInt(map[key])
func readIntIntMap():
var map = {}
var size = readInt()
if (size > 0):
for index in range(size):
var key = readInt()
var value = readInt()
map[key] = value
return map
func writeIntLongMap(map):
if (map == null):
writeInt(0)
else:
writeInt(map.size())
for key in map:
writeInt(map)
writeLong(map[key])
func readIntLongMap():
var map = {}
var size = readInt()
if (size > 0):
for index in range(size):
var key = readInt()
var value = readLong()
map[key] = value
return map
func writeIntStringMap(map):
if (map == null):
writeInt(0)
else:
writeInt(map.size())
for key in map:
writeInt(key)
writeString(map[key])
func readIntStringMap():
var map = {}
var size = readInt()
if (size > 0):
for index in range(size):
var key = readInt()
var value = readString()
map[key] = value
return map
func writeIntPacketMap(map, protocolId):
if (map == null):
writeInt(0)
else:
var protocolRegistration = ProtocolManager.getProtocol(protocolId)
writeInt(map.size())
for key in map:
writeInt(key)
protocolRegistration.write(self, map[key])
func readIntPacketMap(protocolId):
var map = {}
var size = readInt()
if (size > 0):
var protocolRegistration = ProtocolManager.getProtocol(protocolId)
for index in range(size):
var key = readInt()
var value = protocolRegistration.read(self)
map[key] = value
return map
func writeLongIntMap(map):
if (map == null):
writeInt(0)
else:
writeInt(map.size())
for key in map:
writeLong(key)
writeInt(map[key])
func readLongIntMap():
var map = {}
var size = readInt()
if (size > 0):
for index in range(size):
var key = readLong()
var value = readInt()
map[key] = value
return map
func writeLongLongMap(map):
if (map == null):
writeInt(0)
else:
writeInt(map.size())
for key in map:
writeLong(key)
writeLong(map[key])
func readLongLongMap():
var map = {}
var size = readInt()
if (size > 0):
for index in range(size):
var key = readLong()
var value = readLong()
map[key] = value
return map
func writeLongStringMap(map):
if (map == null):
writeInt(0)
else:
writeInt(map.size())
for key in map:
writeLong(key)
writeString(map[key])
func readLongStringMap():
var map = {}
var size = readInt()
if (size > 0):
for index in range(size):
var key = readLong()
var value = readString()
map[key] = value
return map
func writeLongPacketMap(map, protocolId):
if (map == null):
writeInt(0)
else:
var protocolRegistration = ProtocolManager.getProtocol(protocolId)
writeInt(map.size())
for key in map:
writeLong(key)
protocolRegistration.write(self, map[key])
func readLongPacketMap(protocolId):
var map = {}
var size = readInt()
if (size > 0):
var protocolRegistration = ProtocolManager.getProtocol(protocolId)
for index in range(size):
var key = readLong()
var value = protocolRegistration.read(self)
map[key] = value
return map
func writeStringIntMap(map):
if (map == null):
writeInt(0)
else:
writeInt(map.size())
for key in map:
writeString(key)
writeInt(map[key])
func readStringIntMap():
var map = {}
var size = readInt()
if (size > 0):
for index in range(size):
var key = readString()
var value = readInt()
map[key] = value
return map
func writeStringLongMap(map):
if (map == null):
writeInt(0)
else:
writeInt(map.size())
for key in map:
writeString(key)
writeLong(map[key])
func readStringLongMap():
var map = {}
var size = readInt()
if (size > 0):
for index in range(size):
var key = readString()
var value = readLong()
map[key] = value
return map
func writeStringStringMap(map):
if (map == null):
writeInt(0)
else:
writeInt(map.size())
for key in map:
writeString(key)
writeString(map[key])
func readStringStringMap():
var map = {}
var size = readInt()
if (size > 0):
for index in range(size):
var key = readString()
var value = readString()
map[key] = value
return map
func writeStringPacketMap(map, protocolId):
if (map == null):
writeInt(0)
else:
var protocolRegistration = ProtocolManager.getProtocol(protocolId)
writeInt(map.size())
for key in map:
writeString(key)
protocolRegistration.write(self, map[key])
func readStringPacketMap(protocolId):
var map = {}
var size = readInt()
if (size > 0):
var protocolRegistration = ProtocolManager.getProtocol(protocolId)
for index in range(size):
var key = readString()
var value = protocolRegistration.read(self)
map[key] = value
return map

View File

@ -1,409 +0,0 @@
# 复杂的对象
# 包括了各种复杂的结构数组ListSetMap
#
# @author jaysunxiao
# @version 3.0
# byte类型最简单的整形
var a # byte
# byte的包装类型
# 优先使用基础类型,包装类型会有装箱拆箱
var aa # java.lang.Byte
# 数组类型
var aaa # byte[]
var aaaa # java.lang.Byte[]
var b # short
var bb # java.lang.Short
var bbb # short[]
var bbbb # java.lang.Short[]
var c # int
var cc # java.lang.Integer
var ccc # int[]
var cccc # java.lang.Integer[]
var d # long
var dd # java.lang.Long
var ddd # long[]
var dddd # java.lang.Long[]
var e # float
var ee # java.lang.Float
var eee # float[]
var eeee # java.lang.Float[]
var f # double
var ff # java.lang.Double
var fff # double[]
var ffff # java.lang.Double[]
var g # boolean
var gg # java.lang.Boolean
var ggg # boolean[]
var gggg # java.lang.Boolean[]
var h # char
var hh # java.lang.Character
var hhh # char[]
var hhhh # java.lang.Character[]
var jj # java.lang.String
var jjj # java.lang.String[]
var kk # com.zfoo.protocol.packet.ObjectA
var kkk # com.zfoo.protocol.packet.ObjectA[]
var l # java.util.List<java.lang.Integer>
var ll # java.util.List<java.util.List<java.util.List<java.lang.Integer>>>
var lll # java.util.List<java.util.List<com.zfoo.protocol.packet.ObjectA>>
var llll # java.util.List<java.lang.String>
var lllll # java.util.List<java.util.Map<java.lang.Integer, java.lang.String>>
var m # java.util.Map<java.lang.Integer, java.lang.String>
var mm # java.util.Map<java.lang.Integer, com.zfoo.protocol.packet.ObjectA>
var mmm # java.util.Map<com.zfoo.protocol.packet.ObjectA, java.util.List<java.lang.Integer>>
var mmmm # java.util.Map<java.util.List<java.util.List<com.zfoo.protocol.packet.ObjectA>>, java.util.List<java.util.List<java.util.List<java.lang.Integer>>>>
var mmmmm # java.util.Map<java.util.List<java.util.Map<java.lang.Integer, java.lang.String>>, java.util.Set<java.util.Map<java.lang.Integer, java.lang.String>>>
var s # java.util.Set<java.lang.Integer>
var ss # java.util.Set<java.util.Set<java.util.List<java.lang.Integer>>>
var sss # java.util.Set<java.util.Set<com.zfoo.protocol.packet.ObjectA>>
var ssss # java.util.Set<java.lang.String>
var sssss # java.util.Set<java.util.Map<java.lang.Integer, java.lang.String>>
# 如果要修改协议并且兼容老协议需要加上Compatible注解按照增加的顺序添加order
var myCompatible # int
var myObject # com.zfoo.protocol.packet.ObjectA
const PROTOCOL_ID = 100
static func write(buffer, packet):
if (buffer.writePacketFlag(packet)):
return
buffer.writeByte(packet.a)
buffer.writeByte(packet.aa)
buffer.writeByteArray(packet.aaa)
buffer.writeByteArray(packet.aaaa)
buffer.writeShort(packet.b)
buffer.writeShort(packet.bb)
buffer.writeShortArray(packet.bbb)
buffer.writeShortArray(packet.bbbb)
buffer.writeInt(packet.c)
buffer.writeInt(packet.cc)
buffer.writeIntArray(packet.ccc)
buffer.writeIntArray(packet.cccc)
buffer.writeLong(packet.d)
buffer.writeLong(packet.dd)
buffer.writeLongArray(packet.ddd)
buffer.writeLongArray(packet.dddd)
buffer.writeFloat(packet.e)
buffer.writeFloat(packet.ee)
buffer.writeFloatArray(packet.eee)
buffer.writeFloatArray(packet.eeee)
buffer.writeDouble(packet.f)
buffer.writeDouble(packet.ff)
buffer.writeDoubleArray(packet.fff)
buffer.writeDoubleArray(packet.ffff)
buffer.writeBool(packet.g)
buffer.writeBool(packet.gg)
buffer.writeBooleanArray(packet.ggg)
buffer.writeBooleanArray(packet.gggg)
buffer.writeChar(packet.h)
buffer.writeChar(packet.hh)
buffer.writeCharArray(packet.hhh)
buffer.writeCharArray(packet.hhhh)
buffer.writeString(packet.jj)
buffer.writeStringArray(packet.jjj)
buffer.writePacket(packet.kk, 102)
buffer.writePacketArray(packet.kkk, 102)
buffer.writeIntArray(packet.l)
if (packet.ll == null):
buffer.writeInt(0)
else:
buffer.writeInt(packet.ll.size())
for element0 in packet.ll:
if (element0 == null):
buffer.writeInt(0)
else:
buffer.writeInt(element0.size())
for element1 in element0:
buffer.writeIntArray(element1)
if (packet.lll == null):
buffer.writeInt(0)
else:
buffer.writeInt(packet.lll.size())
for element2 in packet.lll:
buffer.writePacketArray(element2, 102)
buffer.writeStringArray(packet.llll)
if (packet.lllll == null):
buffer.writeInt(0)
else:
buffer.writeInt(packet.lllll.size())
for element3 in packet.lllll:
buffer.writeIntStringMap(element3)
buffer.writeIntStringMap(packet.m)
buffer.writeIntPacketMap(packet.mm, 102)
if (packet.mmm == null):
buffer.writeInt(0)
else:
buffer.writeInt(packet.mmm.size())
for key4 in packet.mmm:
var value5 = packet.mmm[key4]
buffer.writePacket(key4, 102)
buffer.writeIntArray(value5)
if (packet.mmmm == null):
buffer.writeInt(0)
else:
buffer.writeInt(packet.mmmm.size())
for key6 in packet.mmmm:
var value7 = packet.mmmm[key6]
if (key6 == null):
buffer.writeInt(0)
else:
buffer.writeInt(key6.size())
for element8 in key6:
buffer.writePacketArray(element8, 102)
if (value7 == null):
buffer.writeInt(0)
else:
buffer.writeInt(value7.size())
for element9 in value7:
if (element9 == null):
buffer.writeInt(0)
else:
buffer.writeInt(element9.size())
for element10 in element9:
buffer.writeIntArray(element10)
if (packet.mmmmm == null):
buffer.writeInt(0)
else:
buffer.writeInt(packet.mmmmm.size())
for key11 in packet.mmmmm:
var value12 = packet.mmmmm[key11]
if (key11 == null):
buffer.writeInt(0)
else:
buffer.writeInt(key11.size())
for element13 in key11:
buffer.writeIntStringMap(element13)
if (value12 == null):
buffer.writeInt(0)
else:
buffer.writeInt(value12.size())
for element14 in value12:
buffer.writeIntStringMap(element14)
buffer.writeIntArray(packet.s)
if (packet.ss == null):
buffer.writeInt(0)
else:
buffer.writeInt(packet.ss.size())
for element15 in packet.ss:
if (element15 == null):
buffer.writeInt(0)
else:
buffer.writeInt(element15.size())
for element16 in element15:
buffer.writeIntArray(element16)
if (packet.sss == null):
buffer.writeInt(0)
else:
buffer.writeInt(packet.sss.size())
for element17 in packet.sss:
buffer.writePacketArray(element17, 102)
buffer.writeStringArray(packet.ssss)
if (packet.sssss == null):
buffer.writeInt(0)
else:
buffer.writeInt(packet.sssss.size())
for element18 in packet.sssss:
buffer.writeIntStringMap(element18)
buffer.writeInt(packet.myCompatible)
buffer.writePacket(packet.myObject, 102)
static func read(buffer):
if (!buffer.readBool()):
return null
var packet = buffer.newInstance(PROTOCOL_ID)
var result19 = buffer.readByte()
packet.a = result19
var result20 = buffer.readByte()
packet.aa = result20
var array21 = buffer.readByteArray()
packet.aaa = array21
var array22 = buffer.readByteArray()
packet.aaaa = array22
var result23 = buffer.readShort()
packet.b = result23
var result24 = buffer.readShort()
packet.bb = result24
var array25 = buffer.readShortArray()
packet.bbb = array25
var array26 = buffer.readShortArray()
packet.bbbb = array26
var result27 = buffer.readInt()
packet.c = result27
var result28 = buffer.readInt()
packet.cc = result28
var array29 = buffer.readIntArray()
packet.ccc = array29
var array30 = buffer.readIntArray()
packet.cccc = array30
var result31 = buffer.readLong()
packet.d = result31
var result32 = buffer.readLong()
packet.dd = result32
var array33 = buffer.readLongArray()
packet.ddd = array33
var array34 = buffer.readLongArray()
packet.dddd = array34
var result35 = buffer.readFloat()
packet.e = result35
var result36 = buffer.readFloat()
packet.ee = result36
var array37 = buffer.readFloatArray()
packet.eee = array37
var array38 = buffer.readFloatArray()
packet.eeee = array38
var result39 = buffer.readDouble()
packet.f = result39
var result40 = buffer.readDouble()
packet.ff = result40
var array41 = buffer.readDoubleArray()
packet.fff = array41
var array42 = buffer.readDoubleArray()
packet.ffff = array42
var result43 = buffer.readBool()
packet.g = result43
var result44 = buffer.readBool()
packet.gg = result44
var array45 = buffer.readBooleanArray()
packet.ggg = array45
var array46 = buffer.readBooleanArray()
packet.gggg = array46
var result47 = buffer.readChar()
packet.h = result47
var result48 = buffer.readChar()
packet.hh = result48
var array49 = buffer.readCharArray()
packet.hhh = array49
var array50 = buffer.readCharArray()
packet.hhhh = array50
var result51 = buffer.readString()
packet.jj = result51
var array52 = buffer.readStringArray()
packet.jjj = array52
var result53 = buffer.readPacket(102)
packet.kk = result53
var array54 = buffer.readPacketArray(102)
packet.kkk = array54
var list55 = buffer.readIntArray()
packet.l = list55
var result56 = []
var size58 = buffer.readInt()
if (size58 > 0):
for index57 in range(size58):
var result59 = []
var size61 = buffer.readInt()
if (size61 > 0):
for index60 in range(size61):
var list62 = buffer.readIntArray()
result59.append(list62)
result56.append(result59)
packet.ll = result56
var result63 = []
var size65 = buffer.readInt()
if (size65 > 0):
for index64 in range(size65):
var list66 = buffer.readPacketArray(102)
result63.append(list66)
packet.lll = result63
var list67 = buffer.readStringArray()
packet.llll = list67
var result68 = []
var size70 = buffer.readInt()
if (size70 > 0):
for index69 in range(size70):
var map71 = buffer.readIntStringMap()
result68.append(map71)
packet.lllll = result68
var map72 = buffer.readIntStringMap()
packet.m = map72
var map73 = buffer.readIntPacketMap(102)
packet.mm = map73
var result74 = {}
var size75 = buffer.readInt()
if (size75 > 0):
for index76 in range(size75):
var result77 = buffer.readPacket(102)
var list78 = buffer.readIntArray()
result74[result77] = list78
packet.mmm = result74
var result79 = {}
var size80 = buffer.readInt()
if (size80 > 0):
for index81 in range(size80):
var result82 = []
var size84 = buffer.readInt()
if (size84 > 0):
for index83 in range(size84):
var list85 = buffer.readPacketArray(102)
result82.append(list85)
var result86 = []
var size88 = buffer.readInt()
if (size88 > 0):
for index87 in range(size88):
var result89 = []
var size91 = buffer.readInt()
if (size91 > 0):
for index90 in range(size91):
var list92 = buffer.readIntArray()
result89.append(list92)
result86.append(result89)
result79[result82] = result86
packet.mmmm = result79
var result93 = {}
var size94 = buffer.readInt()
if (size94 > 0):
for index95 in range(size94):
var result96 = []
var size98 = buffer.readInt()
if (size98 > 0):
for index97 in range(size98):
var map99 = buffer.readIntStringMap()
result96.append(map99)
var result100 = []
var size102 = buffer.readInt()
if (size102 > 0):
for index101 in range(size102):
var map103 = buffer.readIntStringMap()
result100.append(map103)
result93[result96] = result100
packet.mmmmm = result93
var set104 = buffer.readIntArray()
packet.s = set104
var result105 = []
var size107 = buffer.readInt()
if (size107 > 0):
for index106 in range(size107):
var result108 = []
var size110 = buffer.readInt()
if (size110 > 0):
for index109 in range(size110):
var list111 = buffer.readIntArray()
result108.append(list111)
result105.append(result108)
packet.ss = result105
var result112 = []
var size114 = buffer.readInt()
if (size114 > 0):
for index113 in range(size114):
var set115 = buffer.readPacketArray(102)
result112.append(set115)
packet.sss = result112
var set116 = buffer.readStringArray()
packet.ssss = set116
var result117 = []
var size119 = buffer.readInt()
if (size119 > 0):
for index118 in range(size119):
var map120 = buffer.readIntStringMap()
result117.append(map120)
packet.sssss = result117
if (!buffer.isReadable()):
return packet
var result121 = buffer.readInt()
packet.myCompatible = result121
if (!buffer.isReadable()):
return packet
var result122 = buffer.readPacket(102)
packet.myObject = result122
return packet

View File

@ -1,88 +0,0 @@
# @author jaysunxiao
# @version 3.0
var a # byte
var aaa # byte[]
var b # short
var c # int
var d # long
var e # float
var f # double
var g # boolean
var jj # java.lang.String
var kk # com.zfoo.protocol.packet.ObjectA
var l # java.util.List<java.lang.Integer>
var ll # java.util.List<java.lang.Long>
var lll # java.util.List<com.zfoo.protocol.packet.ObjectA>
var llll # java.util.List<java.lang.String>
var m # java.util.Map<java.lang.Integer, java.lang.String>
var mm # java.util.Map<java.lang.Integer, com.zfoo.protocol.packet.ObjectA>
var s # java.util.Set<java.lang.Integer>
var ssss # java.util.Set<java.lang.String>
const PROTOCOL_ID = 101
static func write(buffer, packet):
if (buffer.writePacketFlag(packet)):
return
buffer.writeByte(packet.a)
buffer.writeByteArray(packet.aaa)
buffer.writeShort(packet.b)
buffer.writeInt(packet.c)
buffer.writeLong(packet.d)
buffer.writeFloat(packet.e)
buffer.writeDouble(packet.f)
buffer.writeBool(packet.g)
buffer.writeString(packet.jj)
buffer.writePacket(packet.kk, 102)
buffer.writeIntArray(packet.l)
buffer.writeLongArray(packet.ll)
buffer.writePacketArray(packet.lll, 102)
buffer.writeStringArray(packet.llll)
buffer.writeIntStringMap(packet.m)
buffer.writeIntPacketMap(packet.mm, 102)
buffer.writeIntArray(packet.s)
buffer.writeStringArray(packet.ssss)
static func read(buffer):
if (!buffer.readBool()):
return null
var packet = buffer.newInstance(PROTOCOL_ID)
var result0 = buffer.readByte()
packet.a = result0
var array1 = buffer.readByteArray()
packet.aaa = array1
var result2 = buffer.readShort()
packet.b = result2
var result3 = buffer.readInt()
packet.c = result3
var result4 = buffer.readLong()
packet.d = result4
var result5 = buffer.readFloat()
packet.e = result5
var result6 = buffer.readDouble()
packet.f = result6
var result7 = buffer.readBool()
packet.g = result7
var result8 = buffer.readString()
packet.jj = result8
var result9 = buffer.readPacket(102)
packet.kk = result9
var list10 = buffer.readIntArray()
packet.l = list10
var list11 = buffer.readLongArray()
packet.ll = list11
var list12 = buffer.readPacketArray(102)
packet.lll = list12
var list13 = buffer.readStringArray()
packet.llll = list13
var map14 = buffer.readIntStringMap()
packet.m = map14
var map15 = buffer.readIntPacketMap(102)
packet.mm = map15
var set16 = buffer.readIntArray()
packet.s = set16
var set17 = buffer.readStringArray()
packet.ssss = set17
return packet

View File

@ -1,28 +0,0 @@
# @author jaysunxiao
# @version 3.0
var a # int
var m # java.util.Map<java.lang.Integer, java.lang.String>
var objectB # com.zfoo.protocol.packet.ObjectB
const PROTOCOL_ID = 102
static func write(buffer, packet):
if (buffer.writePacketFlag(packet)):
return
buffer.writeInt(packet.a)
buffer.writeIntStringMap(packet.m)
buffer.writePacket(packet.objectB, 103)
static func read(buffer):
if (!buffer.readBool()):
return null
var packet = buffer.newInstance(PROTOCOL_ID)
var result0 = buffer.readInt()
packet.a = result0
var map1 = buffer.readIntStringMap()
packet.m = map1
var result2 = buffer.readPacket(103)
packet.objectB = result2
return packet

View File

@ -1,20 +0,0 @@
# @author jaysunxiao
# @version 3.0
var flag # boolean
const PROTOCOL_ID = 103
static func write(buffer, packet):
if (buffer.writePacketFlag(packet)):
return
buffer.writeBool(packet.flag)
static func read(buffer):
if (!buffer.readBool()):
return null
var packet = buffer.newInstance(PROTOCOL_ID)
var result0 = buffer.readBool()
packet.flag = result0
return packet

View File

@ -1,24 +0,0 @@
# @author jaysunxiao
# @version 3.0
var c # int
var g # boolean
const PROTOCOL_ID = 104
static func write(buffer, packet):
if (buffer.writePacketFlag(packet)):
return
buffer.writeInt(packet.c)
buffer.writeBool(packet.g)
static func read(buffer):
if (!buffer.readBool()):
return null
var packet = buffer.newInstance(PROTOCOL_ID)
var result0 = buffer.readInt()
packet.c = result0
var result1 = buffer.readBool()
packet.g = result1
return packet

View File

@ -1,104 +0,0 @@
extends Node2D
const ProtocolManager = preload("res://gdProtocol/ProtocolManager.gd")
const ByteBuffer = preload("res://gdProtocol/buffer/ByteBuffer.gd")
const FileUtils = preload("res://zfoo/util/FileUtils.gd")
func _ready():
var buffer = ByteBuffer.new()
buffer.writeBool(true)
buffer.writeBool(false)
assert(true == buffer.readBool())
assert(false == buffer.readBool())
buffer.writeByte(-128)
buffer.writeByte(99)
buffer.writeByte(127)
assert(-128 == buffer.readByte())
assert(99 == buffer.readByte())
assert(127 == buffer.readByte())
buffer.writeShort(-32768)
buffer.writeShort(0)
buffer.writeShort(32767)
assert(-32768 == buffer.readShort())
assert(0 == buffer.readShort())
assert(32767 == buffer.readShort())
buffer.writeInt(-2147483648)
buffer.writeInt(-999999)
buffer.writeInt(0)
buffer.writeInt(999999)
buffer.writeInt(2147483647)
assert(-2147483648 == buffer.readInt())
assert(-999999 == buffer.readInt())
assert(0 == buffer.readInt())
assert(999999 == buffer.readInt())
assert(2147483647 == buffer.readInt())
var maxLong = int("9223372036854775807")
var minLong = int("-9223372036854775808")
buffer.writeLong(maxLong)
buffer.writeLong(9999999999999999)
buffer.writeLong(99999999)
buffer.writeLong(0)
buffer.writeLong(-99999999)
buffer.writeLong(-9999999999999999)
buffer.writeLong(minLong)
assert(maxLong == buffer.readLong())
assert(9999999999999999 == buffer.readLong())
assert(99999999 == buffer.readLong())
assert(0 == buffer.readLong())
assert(-99999999 == buffer.readLong())
assert(-9999999999999999 == buffer.readLong())
assert(minLong == buffer.readLong())
buffer.writeFloat(-1234.5678)
buffer.writeFloat(0)
buffer.writeFloat(1234.5678)
assert(abs(-1234.5678 - buffer.readFloat()) < 0.001)
assert(0 == buffer.readFloat())
assert(abs(1234.5678 - buffer.readFloat()) < 0.001)
buffer.writeDouble(-1234.5678)
buffer.writeDouble(0)
buffer.writeDouble(1234.5678)
assert(abs(-1234.5678 - buffer.readDouble()) < 0.001)
assert(0 == buffer.readDouble())
assert(abs(1234.5678 - buffer.readDouble()) < 0.001)
var strValue = "你好 hello world"
buffer.writeString(strValue)
assert(strValue == buffer.readString())
buffer.writeChar(strValue)
assert(strValue[0] == buffer.readChar())
buffer.writeChar("")
assert(ByteBuffer.EMPTY == buffer.readChar())
test()
func test():
ProtocolManager.initProtocol()
var buffer = ByteBuffer.new()
var poolByteArray = FileUtils.readFileToByteArray("user://ComplexObject.bytes")
buffer.writePoolByteArray(poolByteArray)
var packet = ProtocolManager.read(buffer)
print(packet)
packet.myCompatible = 0
var newByteBuffer = ByteBuffer.new()
ProtocolManager.write(newByteBuffer, packet);
print(newByteBuffer.getWriteOffset())
var newPacket = ProtocolManager.read(newByteBuffer);
print(newPacket)

View File

@ -1,6 +0,0 @@
[gd_scene load_steps=2 format=2]
[ext_resource path="res://gdTest/GdProtocolTest.gd" type="Script" id=1]
[node name="Node2D" type="Node2D"]
script = ExtResource( 1 )

Binary file not shown.

BIN
icon.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

View File

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://icon.png"
dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

View File

@ -1,73 +0,0 @@
; Engine configuration file.
; It's best edited using the editor UI and not directly,
; since the parameters that go here are not all obvious.
;
; Format:
; [section] ; section goes between []
; param=value ; assign values to parameters
config_version=4
_global_script_classes=[ {
"base": "Node2D",
"class": "MyClass",
"language": "GDScript",
"path": "res://script/demo02_base/MyClass.gd"
} ]
_global_script_class_icons={
"MyClass": "res://icon.png"
}
[application]
config/name="godot-start"
run/main_scene="res://scene/demo01_hello/hello_world.tscn"
config/icon="res://icon.png"
[display]
window/stretch/mode="2d"
window/stretch/aspect="keep"
[input]
move_left={
"deadzone": 0.5,
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":65,"unicode":0,"echo":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777231,"unicode":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":14,"pressure":0.0,"pressed":false,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":-1.0,"script":null)
]
}
move_right={
"deadzone": 0.5,
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":68,"unicode":0,"echo":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777233,"unicode":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":15,"pressure":0.0,"pressed":false,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":1.0,"script":null)
]
}
move_up={
"deadzone": 0.5,
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":87,"unicode":0,"echo":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777232,"unicode":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":12,"pressure":0.0,"pressed":false,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":-1.0,"script":null)
]
}
move_down={
"deadzone": 0.5,
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":83,"unicode":0,"echo":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777234,"unicode":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":13,"pressure":0.0,"pressed":false,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":1.0,"script":null)
]
}
[physics]
common/enable_pause_aware_picking=true
[rendering]
environment/default_environment="res://default_env.tres"

View File

@ -1,20 +0,0 @@
[gd_scene load_steps=2 format=2]
[ext_resource path="res://script/demo01_hello/hello_world.gd" type="Script" id=1]
[node name="Node2D" type="Node2D"]
script = ExtResource( 1 )
[node name="Label" type="Label" parent="."]
margin_left = 359.408
margin_top = 248.378
margin_right = 595.408
margin_bottom = 358.378
rect_pivot_offset = Vector2( -0.558563, -0.7173 )
text = "Hello World"
align = 1
valign = 1
max_lines_visible = 2
__meta__ = {
"_edit_use_anchors_": false
}

View File

@ -1,7 +0,0 @@
[gd_scene load_steps=2 format=2]
[ext_resource path="res://script/demo02_base/base1.gd" type="Script" id=1]
[node name="Node2D" type="Node2D"]
script = ExtResource( 1 )
a = 9

View File

@ -1,6 +0,0 @@
[gd_scene load_steps=2 format=2]
[ext_resource path="res://script/demo02_base/base2.gd" type="Script" id=1]
[node name="Node2D" type="Node2D"]
script = ExtResource( 1 )

View File

@ -1,6 +0,0 @@
[gd_scene load_steps=2 format=2]
[ext_resource path="res://script/demo02_base/base3.gd" type="Script" id=1]
[node name="Node2D" type="Node2D"]
script = ExtResource( 1 )

View File

@ -1,6 +0,0 @@
[gd_scene load_steps=2 format=2]
[ext_resource path="res://script/demo02_base/base4.gd" type="Script" id=1]
[node name="Node2D" type="Node2D"]
script = ExtResource( 1 )

View File

@ -1,24 +0,0 @@
[gd_scene load_steps=4 format=2]
[ext_resource path="res://script/demo03_lifecycle/sub_node1.gd" type="Script" id=1]
[ext_resource path="res://script/demo03_lifecycle/sub_node2.gd" type="Script" id=2]
[ext_resource path="res://script/demo03_lifecycle/parent.gd" type="Script" id=3]
[node name="Node2D" type="Node2D"]
script = ExtResource( 3 )
[node name="SubNode1" type="Node2D" parent="."]
script = ExtResource( 1 )
[node name="SubNode2" type="Node" parent="SubNode1"]
script = ExtResource( 2 )
[node name="DeleteButton" type="Button" parent="."]
margin_left = 400.0
margin_top = 189.0
margin_right = 589.0
margin_bottom = 256.0
text = "Delete SubNode1"
__meta__ = {
"_edit_use_anchors_": false
}

View File

@ -1,64 +0,0 @@
[gd_scene load_steps=5 format=2]
[ext_resource path="res://script/demo04_signal/signal.gd" type="Script" id=1]
[ext_resource path="res://script/demo04_signal/mySignal.gd" type="Script" id=2]
[ext_resource path="res://script/demo04_signal/yield.gd" type="Script" id=3]
[ext_resource path="res://script/demo04_signal/thread.gd" type="Script" id=4]
[node name="Node2D" type="Node2D"]
script = ExtResource( 1 )
[node name="Button1" type="Button" parent="."]
margin_left = 322.927
margin_top = 50.5072
margin_right = 441.927
margin_bottom = 90.5072
text = "button1"
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Button2" type="Button" parent="."]
margin_left = 541.436
margin_top = 44.0454
margin_right = 661.436
margin_bottom = 94.0454
text = "button2"
__meta__ = {
"_edit_use_anchors_": false
}
[node name="MySignal" type="Button" parent="."]
margin_left = 323.703
margin_top = 148.643
margin_right = 430.703
margin_bottom = 192.643
text = "mySignal"
script = ExtResource( 2 )
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Yield" type="Button" parent="."]
margin_left = 322.941
margin_top = 244.0
margin_right = 433.941
margin_bottom = 287.0
text = "yield"
script = ExtResource( 3 )
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Thread" type="Button" parent="."]
margin_left = 321.059
margin_top = 331.0
margin_right = 435.059
margin_bottom = 374.0
text = "thread"
script = ExtResource( 4 )
__meta__ = {
"_edit_use_anchors_": false
}
[connection signal="pressed" from="Button1" to="." method="_on_Button1_pressed"]

View File

@ -1,12 +0,0 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://script/demo05_scene_node/hero.gd" type="Script" id=1]
[ext_resource path="res://icon.png" type="Texture" id=2]
[node name="Node2D" type="Node2D"]
position = Vector2( 100, 100 )
[node name="Hero" type="Sprite" parent="."]
position = Vector2( 400, 200 )
texture = ExtResource( 2 )
script = ExtResource( 1 )

View File

@ -1,11 +0,0 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://script/demo06_move/move_hero.gd" type="Script" id=1]
[ext_resource path="res://icon.png" type="Texture" id=2]
[node name="Node2D" type="Node2D"]
[node name="HeroMove" type="Sprite" parent="."]
position = Vector2( 552.42, 212.613 )
texture = ExtResource( 2 )
script = ExtResource( 1 )

View File

@ -1,47 +0,0 @@
[gd_scene load_steps=5 format=2]
[ext_resource path="res://icon.png" type="Texture" id=1]
[ext_resource path="res://script/demo07_collision/kinematic_body_2d.gd" type="Script" id=2]
[sub_resource type="RectangleShape2D" id=1]
extents = Vector2( 31.5644, 29.6976 )
[sub_resource type="RectangleShape2D" id=2]
extents = Vector2( 30.17, 29.3458 )
[node name="Node2D" type="Node2D"]
[node name="StaticBody2D" type="StaticBody2D" parent="."]
position = Vector2( 64.5824, 547.095 )
[node name="Polygon2D" type="Polygon2D" parent="StaticBody2D"]
color = Color( 0.329412, 0.580392, 0.270588, 1 )
polygon = PoolVector2Array( -23.2672, -184.708, -24.0164, 46.0308, 896.693, 51.2749, 897.443, -184.708, 653.968, 3.3291, 39.6617, 1.83081, 39.6617, -180.214 )
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="StaticBody2D"]
polygon = PoolVector2Array( -25.5147, -183.959, -26.2638, 45.2817, 895.944, 52.024, 897.443, -184.708, 654.717, 4.07825, 38.1633, -2.66412, 38.9125, -183.21 )
[node name="RigidBody2D" type="RigidBody2D" parent="."]
position = Vector2( 880.023, 40.7525 )
__meta__ = {
"_edit_group_": true
}
[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D"]
shape = SubResource( 1 )
[node name="Sprite" type="Sprite" parent="RigidBody2D"]
texture = ExtResource( 1 )
[node name="KinematicBody2D" type="KinematicBody2D" parent="."]
position = Vector2( 549.424, 338.422 )
script = ExtResource( 2 )
__meta__ = {
"_edit_group_": true
}
[node name="CollisionShape2D" type="CollisionShape2D" parent="KinematicBody2D"]
shape = SubResource( 2 )
[node name="Sprite" type="Sprite" parent="KinematicBody2D"]
texture = ExtResource( 1 )

Binary file not shown.

Before

Width:  |  Height:  |  Size: 99 KiB

View File

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/Godette.png-04c1f254cac22071a0bc4b5ab76dab33.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://scene/demo08_path/image/Godette.png"
dest_files=[ "res://.import/Godette.png-04c1f254cac22071a0bc4b5ab76dab33.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 116 KiB

View File

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/Grasslands.png-0a6ab77180659e2e9d9a66e9712b5531.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://scene/demo08_path/image/Grasslands.png"
dest_files=[ "res://.import/Grasslands.png-0a6ab77180659e2e9d9a66e9712b5531.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

View File

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/Interactive.png-bebc87707c2e3c6e37be714ead0ebc3c.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://scene/demo08_path/image/Interactive.png"
dest_files=[ "res://.import/Interactive.png-bebc87707c2e3c6e37be714ead0ebc3c.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

View File

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/Robi.png-6434141f148b69577a114e3ae4050d96.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://scene/demo08_path/image/Robi.png"
dest_files=[ "res://.import/Robi.png-6434141f148b69577a114e3ae4050d96.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

View File

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/Shadow.png-3c5663631c022915064bcf46dc6c73d5.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://scene/demo08_path/image/Shadow.png"
dest_files=[ "res://.import/Shadow.png-3c5663631c022915064bcf46dc6c73d5.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

View File

@ -1,26 +0,0 @@
[gd_scene load_steps=6 format=2]
[ext_resource path="res://script/demo06_move/move_hero.gd" type="Script" id=1]
[ext_resource path="res://icon.png" type="Texture" id=2]
[ext_resource path="res://script/demo08_path/my_line.gd" type="Script" id=3]
[sub_resource type="Curve" id=1]
_data = [ Vector2( 0, 0.0545454 ), 0.0, 0.0, 0, 0, Vector2( 0.155556, 0.3 ), 0.0, 0.0, 0, 0, Vector2( 0.361111, 0.572727 ), 0.0, 0.0, 0, 0, Vector2( 0.733333, 0.781818 ), 0.0, 0.0, 0, 0, Vector2( 0.916667, 1 ), 0.0, 0.0, 0, 0, Vector2( 1, 1 ), 0.0, 0.0, 0, 0 ]
[sub_resource type="Gradient" id=2]
offsets = PoolRealArray( 0, 0.395973, 1 )
colors = PoolColorArray( 0.133195, 0.308942, 0.362743, 1, 0.226219, 0.464389, 0.839305, 1, 0.0228882, 0.261307, 0.976563, 1 )
[node name="Node2D" type="Node2D"]
[node name="Line2D" type="Line2D" parent="."]
width = 64.0
width_curve = SubResource( 1 )
default_color = Color( 0.4, 0.501961, 1, 1 )
gradient = SubResource( 2 )
script = ExtResource( 3 )
[node name="Player" type="Sprite" parent="."]
position = Vector2( 159.521, 163.844 )
texture = ExtResource( 2 )
script = ExtResource( 1 )

View File

@ -1,45 +0,0 @@
[gd_scene load_steps=5 format=2]
[ext_resource path="res://icon.png" type="Texture" id=1]
[ext_resource path="res://script/demo08_path/path.gd" type="Script" id=2]
[sub_resource type="Curve2D" id=1]
_data = {
"points": PoolVector2Array( 0, 0, 0, 0, 65.9002, 246.547, 0, 0, 0, 0, 123.326, 218.878, 0, 0, 0, 0, 194.986, 195.578, 0, 0, 0, 0, 229.344, 131.988, 0, 0, 0, 0, 305.912, 274.216, 0, 0, 0, 0, 319.165, 361.592, 0, 0, 0, 0, 357.939, 411.105, 0, 0, 0, 0, 478.682, 369.359, 0, 0, 0, 0, 523.347, 214.509, 0, 0, 0, 0, 546.906, 144.609, 0, 0, 0, 0, 666.176, 175.676, 0, 0, 0, 0, 689.735, 337.807, 0, 0, 0, 0, 685.809, 389.261, 0, 0, 0, 0, 755.996, 418.872 )
}
[sub_resource type="Curve2D" id=2]
_data = {
"points": PoolVector2Array( 0, 0, 0, 0, 46.9502, 574.442, 0, 0, 0, 0, 80.1843, 548.279, 0, 0, 0, 0, 111.297, 535.551, 0, 0, 0, 0, 163.623, 539.087, 0, 0, 0, 0, 185.543, 556.765, 0, 0, 0, 0, 242.112, 587.17, 0, 0, 0, 0, 276.76, 580.806, 0, 0, 0, 0, 306.458, 575.149, 0, 0, 0, 0, 341.107, 558.886, 0, 0, 0, 0, 355.249, 551.815, 0, 0, 0, 0, 395.554, 548.279, 0, 0, 0, 0, 414.646, 548.279, 0, 0, 0, 0, 480.407, 550.401, 0, 0, 0, 0, 563.138, 576.564, 0, 0, 0, 0, 585.766, 581.513, 0, 0, 0, 0, 681.225, 572.321, 0, 0, 0, 0, 704.56, 559.593, 0, 0, 0, 0, 737.087, 545.451, 0, 0, 0, 0, 766.785, 538.38, 0, 0, 0, 0, 812.747, 543.33, 0, 0, 0, 0, 843.86, 556.765, 0, 0, 0, 0, 889.822, 565.25, 0, 0, 0, 0, 906.085, 565.25, 0, 0, 0, 0, 940.733, 548.279, 0, 0, 0, 0, 958.411, 533.43 )
}
[node name="Node2D" type="Node2D"]
[node name="Path2D_1" type="Path2D" parent="."]
position = Vector2( 5.3012, -35.5921 )
scale = Vector2( 1.14345, 1.15617 )
curve = SubResource( 1 )
[node name="PathFollow2D" type="PathFollow2D" parent="Path2D_1"]
position = Vector2( 65.9002, 246.547 )
rotation = -0.449003
script = ExtResource( 2 )
[node name="Sprite" type="Sprite" parent="Path2D_1/PathFollow2D"]
texture = ExtResource( 1 )
[node name="Path2D_2" type="Path2D" parent="."]
curve = SubResource( 2 )
[node name="PathFollow2D" type="PathFollow2D" parent="Path2D_2"]
position = Vector2( 46.9502, 574.442 )
rotation = -0.666908
script = ExtResource( 2 )
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="Path2D_2/PathFollow2D"]
remote_path = NodePath("../../../Sprite")
[node name="Sprite" type="Sprite" parent="."]
position = Vector2( 46.9502, 574.442 )
rotation = -0.666908
texture = ExtResource( 1 )

View File

@ -1,235 +0,0 @@
[gd_scene load_steps=28 format=2]
[ext_resource path="res://scene/demo08_path/image/Robi.png" type="Texture" id=1]
[ext_resource path="res://scene/demo08_path/image/Shadow.png" type="Texture" id=2]
[ext_resource path="res://script/demo08_path/my_tile.gd" type="Script" id=3]
[ext_resource path="res://script/demo08_path/my_player.gd" type="Script" id=4]
[ext_resource path="res://scene/demo08_path/image/Grasslands.png" type="Texture" id=5]
[sub_resource type="NavigationPolygon" id=2]
vertices = PoolVector2Array( 0, 0, 80, 0, 80, 80, 0, 80 )
polygons = [ PoolIntArray( 0, 1, 2, 3 ) ]
[sub_resource type="ConvexPolygonShape2D" id=3]
points = PoolVector2Array( 0, 0, 80, 0, 80, 80, 0, 80 )
[sub_resource type="ConvexPolygonShape2D" id=4]
points = PoolVector2Array( 0, 0, 80, 0, 80, 80, 0, 80 )
[sub_resource type="ConvexPolygonShape2D" id=5]
points = PoolVector2Array( 0, 0, 80, 0, 80, 80, 0, 80 )
[sub_resource type="ConvexPolygonShape2D" id=6]
points = PoolVector2Array( 0, 0, 80, 0, 80, 80, 0, 80 )
[sub_resource type="NavigationPolygon" id=7]
vertices = PoolVector2Array( 0, 0, 80, 0, 80, 80, 0, 80 )
polygons = [ PoolIntArray( 0, 1, 2, 3 ) ]
[sub_resource type="NavigationPolygon" id=8]
vertices = PoolVector2Array( 0, 0, 80, 0, 80, 80, 0, 80 )
polygons = [ PoolIntArray( 0, 1, 2, 3 ) ]
[sub_resource type="NavigationPolygon" id=9]
vertices = PoolVector2Array( 0, 0, 80, 0, 80, 80, 0, 80 )
polygons = [ PoolIntArray( 0, 1, 2, 3 ) ]
[sub_resource type="NavigationPolygon" id=10]
vertices = PoolVector2Array( 0, 0, 80, 0, 80, 80, 0, 80 )
polygons = [ PoolIntArray( 0, 1, 2, 3 ) ]
[sub_resource type="NavigationPolygon" id=11]
vertices = PoolVector2Array( 0, 0, 80, 0, 80, 80, 0, 80 )
polygons = [ PoolIntArray( 0, 1, 2, 3 ) ]
[sub_resource type="NavigationPolygon" id=12]
vertices = PoolVector2Array( 0, 0, 80, 0, 80, 80, 0, 80 )
polygons = [ PoolIntArray( 0, 1, 2, 3 ) ]
[sub_resource type="NavigationPolygon" id=13]
vertices = PoolVector2Array( 0, 0, 80, 0, 80, 80, 0, 80 )
polygons = [ PoolIntArray( 0, 1, 2, 3 ) ]
[sub_resource type="NavigationPolygon" id=14]
vertices = PoolVector2Array( 0, 0, 80, 0, 80, 80, 0, 80 )
polygons = [ PoolIntArray( 0, 1, 2, 3 ) ]
[sub_resource type="NavigationPolygon" id=15]
vertices = PoolVector2Array( 0, 0, 80, 0, 80, 80, 0, 80 )
polygons = [ PoolIntArray( 0, 1, 2, 3 ) ]
[sub_resource type="NavigationPolygon" id=16]
vertices = PoolVector2Array( 80, 80, 0, 80, 0, 0, 80, 0 )
polygons = [ PoolIntArray( 0, 1, 2, 3 ) ]
[sub_resource type="NavigationPolygon" id=17]
vertices = PoolVector2Array( 0, 0, 80, 0, 80, 80, 0, 80 )
polygons = [ PoolIntArray( 0, 1, 2, 3 ) ]
[sub_resource type="NavigationPolygon" id=18]
vertices = PoolVector2Array( 0, 0, 80, 0, 80, 80, 0, 80 )
polygons = [ PoolIntArray( 0, 1, 2, 3 ) ]
[sub_resource type="NavigationPolygon" id=19]
vertices = PoolVector2Array( 0, 0, 80, 0, 80, 80, 0, 80 )
polygons = [ PoolIntArray( 0, 1, 2, 3 ) ]
[sub_resource type="NavigationPolygon" id=20]
vertices = PoolVector2Array( 0, 0, 80, 0, 80, 80, 0, 80 )
polygons = [ PoolIntArray( 0, 1, 2, 3 ) ]
[sub_resource type="NavigationPolygon" id=21]
vertices = PoolVector2Array( 0, 0, 80, 0, 80, 80, 0, 80 )
polygons = [ PoolIntArray( 0, 1, 2, 3 ) ]
[sub_resource type="NavigationPolygon" id=22]
vertices = PoolVector2Array( 0, 0, 80, 0, 80, 80, 0, 80 )
polygons = [ PoolIntArray( 0, 1, 2, 3 ) ]
[sub_resource type="TileSet" id=1]
0/name = "Grasslands.png 0"
0/texture = ExtResource( 5 )
0/tex_offset = Vector2( 0, 0 )
0/modulate = Color( 1, 1, 1, 1 )
0/region = Rect2( 0, 0, 80, 80 )
0/tile_mode = 0
0/occluder_offset = Vector2( 0, 0 )
0/navigation_offset = Vector2( 0, 0 )
0/navigation = SubResource( 2 )
0/shape_offset = Vector2( 0, 0 )
0/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
0/shape_one_way = false
0/shape_one_way_margin = 0.0
0/shapes = [ ]
0/z_index = 0
1/name = "Grasslands.png 1"
1/texture = ExtResource( 5 )
1/tex_offset = Vector2( 0, 0 )
1/modulate = Color( 1, 1, 1, 1 )
1/region = Rect2( 80, 0, 80, 80 )
1/tile_mode = 0
1/occluder_offset = Vector2( 0, 0 )
1/navigation_offset = Vector2( 0, 0 )
1/shape_offset = Vector2( 0, 0 )
1/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
1/shape = SubResource( 3 )
1/shape_one_way = false
1/shape_one_way_margin = 1.0
1/shapes = [ {
"autotile_coord": Vector2( 0, 0 ),
"one_way": false,
"one_way_margin": 1.0,
"shape": SubResource( 3 ),
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
} ]
1/z_index = 0
2/name = "Grasslands.png 2"
2/texture = ExtResource( 5 )
2/tex_offset = Vector2( 0, 0 )
2/modulate = Color( 1, 1, 1, 1 )
2/region = Rect2( 160, 0, 80, 80 )
2/tile_mode = 0
2/occluder_offset = Vector2( 0, 0 )
2/navigation_offset = Vector2( 0, 0 )
2/shape_offset = Vector2( 0, 0 )
2/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
2/shape = SubResource( 4 )
2/shape_one_way = false
2/shape_one_way_margin = 1.0
2/shapes = [ {
"autotile_coord": Vector2( 0, 0 ),
"one_way": false,
"one_way_margin": 1.0,
"shape": SubResource( 4 ),
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
} ]
2/z_index = 0
3/name = "Grasslands.png 3"
3/texture = ExtResource( 5 )
3/tex_offset = Vector2( 0, 0 )
3/modulate = Color( 1, 1, 1, 1 )
3/region = Rect2( 240, 0, 80, 80 )
3/tile_mode = 0
3/occluder_offset = Vector2( 0, 0 )
3/navigation_offset = Vector2( 0, 0 )
3/shape_offset = Vector2( 0, 0 )
3/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
3/shape = SubResource( 5 )
3/shape_one_way = false
3/shape_one_way_margin = 1.0
3/shapes = [ {
"autotile_coord": Vector2( 0, 0 ),
"one_way": false,
"one_way_margin": 1.0,
"shape": SubResource( 5 ),
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
} ]
3/z_index = 0
4/name = "Grasslands.png 4"
4/texture = ExtResource( 5 )
4/tex_offset = Vector2( 0, 0 )
4/modulate = Color( 1, 1, 1, 1 )
4/region = Rect2( 320, 0, 80, 80 )
4/tile_mode = 0
4/occluder_offset = Vector2( 0, 0 )
4/navigation_offset = Vector2( 0, 0 )
4/shape_offset = Vector2( 0, 0 )
4/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
4/shape = SubResource( 6 )
4/shape_one_way = false
4/shape_one_way_margin = 1.0
4/shapes = [ {
"autotile_coord": Vector2( 0, 0 ),
"one_way": false,
"one_way_margin": 1.0,
"shape": SubResource( 6 ),
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
} ]
4/z_index = 0
5/name = "Grasslands.png 5"
5/texture = ExtResource( 5 )
5/tex_offset = Vector2( 0, 0 )
5/modulate = Color( 1, 1, 1, 1 )
5/region = Rect2( 0, 80, 560, 240 )
5/tile_mode = 1
5/autotile/bitmask_mode = 0
5/autotile/bitmask_flags = [ ]
5/autotile/icon_coordinate = Vector2( 0, 0 )
5/autotile/tile_size = Vector2( 80, 80 )
5/autotile/spacing = 0
5/autotile/occluder_map = [ ]
5/autotile/navpoly_map = [ Vector2( 0, 1 ), SubResource( 7 ), Vector2( 0, 2 ), SubResource( 8 ), Vector2( 1, 1 ), SubResource( 9 ), Vector2( 1, 2 ), SubResource( 10 ), Vector2( 2, 1 ), SubResource( 11 ), Vector2( 2, 2 ), SubResource( 12 ), Vector2( 3, 0 ), SubResource( 13 ), Vector2( 3, 1 ), SubResource( 14 ), Vector2( 3, 2 ), SubResource( 15 ), Vector2( 4, 0 ), SubResource( 16 ), Vector2( 4, 1 ), SubResource( 17 ), Vector2( 4, 2 ), SubResource( 18 ), Vector2( 5, 0 ), SubResource( 19 ), Vector2( 5, 1 ), SubResource( 20 ), Vector2( 5, 2 ), SubResource( 21 ), Vector2( 6, 0 ), SubResource( 22 ) ]
5/autotile/priority_map = [ ]
5/autotile/z_index_map = [ ]
5/occluder_offset = Vector2( 0, 0 )
5/navigation_offset = Vector2( 0, 0 )
5/shape_offset = Vector2( 0, 0 )
5/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
5/shape_one_way = false
5/shape_one_way_margin = 0.0
5/shapes = [ ]
5/z_index = 0
[node name="Node2D" type="Node"]
script = ExtResource( 3 )
[node name="Navigation2D" type="Navigation2D" parent="."]
[node name="TileMap" type="TileMap" parent="Navigation2D"]
tile_set = SubResource( 1 )
cell_size = Vector2( 80, 80 )
format = 1
tile_data = PoolIntArray( 65534, 0, 0, 65535, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 3, 1, 0, 4, 0, 0, 5, 0, 0, 6, 0, 0, 7, 3, 0, 8, 0, 0, 9, 0, 0, 10, 0, 0, 11, 0, 0, 12, 0, 0, 13, 0, 0, 131069, 0, 0, 131070, 0, 0, 131071, 0, 0, 65536, 0, 0, 65537, 0, 0, 65538, 0, 0, 65539, 1, 0, 65540, 0, 0, 65541, 2, 0, 65542, 0, 0, 65543, 3, 0, 65544, 0, 0, 65545, 0, 0, 65546, 0, 0, 65547, 0, 0, 65548, 0, 0, 65549, 0, 0, 65550, 0, 0, 65551, 0, 0, 65552, 0, 0, 65553, 0, 0, 196604, 0, 0, 196605, 0, 0, 196606, 0, 0, 196607, 0, 0, 131072, 0, 0, 131073, 0, 0, 131074, 0, 0, 131075, 1, 0, 131076, 0, 0, 131077, 2, 0, 131078, 0, 0, 131079, 3, 0, 131080, 0, 0, 131081, 4, 0, 131082, 4, 0, 131083, 4, 0, 131084, 0, 0, 131085, 0, 0, 131086, 0, 0, 131087, 0, 0, 131088, 0, 0, 262140, 0, 0, 262142, 0, 0, 262143, 0, 0, 196608, 0, 0, 196609, 0, 0, 196610, 0, 0, 196611, 1, 0, 196612, 0, 0, 196613, 2, 0, 196614, 0, 0, 196615, 3, 0, 196616, 0, 0, 196617, 4, 0, 196618, 0, 0, 196619, 0, 0, 196620, 0, 0, 327676, 0, 0, 327677, 0, 0, 327678, 0, 0, 327679, 0, 0, 262144, 0, 0, 262145, 0, 0, 262146, 0, 0, 262147, 1, 0, 262148, 0, 0, 262149, 2, 0, 262150, 0, 0, 262151, 3, 0, 262152, 0, 0, 262153, 4, 0, 262154, 0, 0, 262155, 0, 0, 262156, 0, 0, 393210, 0, 0, 393211, 0, 0, 393212, 0, 0, 393213, 0, 0, 393214, 0, 0, 393215, 0, 0, 327680, 0, 0, 327681, 0, 0, 327682, 0, 0, 327683, 0, 0, 327684, 0, 0, 327685, 2, 0, 327686, 0, 0, 327687, 0, 0, 327688, 0, 0, 327689, 4, 0, 327690, 4, 0, 327691, 0, 0, 327692, 0, 0, 393216, 0, 0, 393217, 0, 0, 393218, 0, 0, 393219, 0, 0, 393220, 0, 0, 393221, 2, 0, 393222, 0, 0, 393223, 0, 0, 393224, 0, 0, 393225, 0, 0, 393226, 4, 0, 393227, 0, 0 )
[node name="Player" type="Sprite" parent="."]
position = Vector2( 150.021, 142.539 )
scale = Vector2( 0.211144, 0.211144 )
texture = ExtResource( 1 )
script = ExtResource( 4 )
[node name="Shadow" type="Sprite" parent="Player"]
position = Vector2( -12.9122, 228.23 )
scale = Vector2( 2.38618, 2.38618 )
texture = ExtResource( 2 )
[node name="Line2D" type="Line2D" parent="."]

View File

@ -1,6 +0,0 @@
[gd_scene load_steps=2 format=2]
[ext_resource path="res://script/demo09_canvas/canvas.gd" type="Script" id=1]
[node name="Node2D" type="Node2D"]
script = ExtResource( 1 )

View File

@ -1,145 +0,0 @@
[gd_scene load_steps=16 format=2]
[ext_resource path="res://scene/demo10_animation/image/run-6.png" type="Texture" id=1]
[ext_resource path="res://scene/demo10_animation/image/run-5.png" type="Texture" id=2]
[ext_resource path="res://scene/demo10_animation/image/run-7.png" type="Texture" id=3]
[ext_resource path="res://icon.png" type="Texture" id=4]
[ext_resource path="res://scene/demo10_animation/image/run-8.png" type="Texture" id=5]
[ext_resource path="res://scene/demo10_animation/image/player.png" type="Texture" id=6]
[ext_resource path="res://scene/demo10_animation/image/run-4.png" type="Texture" id=7]
[ext_resource path="res://scene/demo10_animation/image/run-3.png" type="Texture" id=8]
[ext_resource path="res://scene/demo10_animation/image/run-1.png" type="Texture" id=9]
[ext_resource path="res://scene/demo10_animation/image/run-2.png" type="Texture" id=10]
[ext_resource path="res://script/demo10_animation/timer_animation.gd" type="Script" id=11]
[ext_resource path="res://script/demo10_animation/tween_animation.gd" type="Script" id=12]
[sub_resource type="Animation" id=1]
resource_name = "my_animation_1"
length = 2.0
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath("icon:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 2 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 0,
"values": [ Vector2( 319.48, 335.423 ), Vector2( 966.209, 326.747 ) ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("icon:rotation_degrees")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0, 2 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 0,
"values": [ 0.0, 0.0 ]
}
tracks/2/type = "value"
tracks/2/path = NodePath("icon:scale")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"times": PoolRealArray( 0, 2 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 0,
"values": [ Vector2( 1, 1 ), Vector2( 1, 1 ) ]
}
[sub_resource type="Animation" id=2]
resource_name = "animation_2"
length = 0.6
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath("player:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5 ),
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1 ),
"update": 1,
"values": [ 0, 1, 2, 3, 4, 5 ]
}
[sub_resource type="SpriteFrames" id=3]
animations = [ {
"frames": [ ExtResource( 9 ), ExtResource( 10 ), ExtResource( 8 ), ExtResource( 7 ), ExtResource( 2 ), ExtResource( 1 ), ExtResource( 3 ), ExtResource( 5 ) ],
"loop": true,
"name": "default",
"speed": 7.0
} ]
[node name="Node2D" type="Node2D"]
[node name="Animation_1" type="Node2D" parent="."]
[node name="Sprite" type="Sprite" parent="Animation_1"]
position = Vector2( 317.024, 70.0791 )
scale = Vector2( 1.70913, 1.70913 )
texture = ExtResource( 6 )
hframes = 60
script = ExtResource( 11 )
[node name="Timer" type="Timer" parent="Animation_1/Sprite"]
wait_time = 0.1
autostart = true
[node name="Animation_2" type="Node2D" parent="."]
[node name="Sprite" type="Sprite" parent="Animation_2"]
position = Vector2( 307.681, 157.511 )
texture = ExtResource( 4 )
script = ExtResource( 12 )
[node name="Tween" type="Tween" parent="Animation_2/Sprite"]
repeat = true
playback/repeat = true
[node name="TargetPosition" type="Sprite" parent="."]
position = Vector2( 928.381, 170.859 )
texture = ExtResource( 4 )
[node name="Animation_3" type="Node2D" parent="."]
[node name="icon" type="Sprite" parent="Animation_3"]
position = Vector2( 966.209, 326.747 )
texture = ExtResource( 4 )
[node name="AnimationPlayer" type="AnimationPlayer" parent="Animation_3"]
autoplay = "my_animation_1"
anims/my_animation_1 = SubResource( 1 )
[node name="Animation_4" type="Node2D" parent="."]
[node name="player" type="Sprite" parent="Animation_4"]
position = Vector2( 319.802, 425.747 )
scale = Vector2( 1.86179, 1.57452 )
texture = ExtResource( 6 )
hframes = 60
[node name="AnimationPlayer" type="AnimationPlayer" parent="Animation_4"]
autoplay = "animation_2"
anims/animation_2 = SubResource( 2 )
[node name="Animation_5" type="Node2D" parent="."]
position = Vector2( 308.251, 522.067 )
__meta__ = {
"_edit_group_": true
}
[node name="AnimatedSprite" type="AnimatedSprite" parent="Animation_5"]
frames = SubResource( 3 )
frame = 7
playing = true
[connection signal="timeout" from="Animation_1/Sprite/Timer" to="Animation_1/Sprite" method="_on_Timer_timeout"]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

View File

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/player.png-e28fee2dde34564549f6b47bedcbb62e.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://scene/demo10_animation/image/player.png"
dest_files=[ "res://.import/player.png-e28fee2dde34564549f6b47bedcbb62e.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 893 B

View File

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/run-1.png-3280c05cb0e4f0094bf9a065f1c420ed.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://scene/demo10_animation/image/run-1.png"
dest_files=[ "res://.import/run-1.png-3280c05cb0e4f0094bf9a065f1c420ed.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 885 B

View File

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/run-2.png-c6dd0e2a0fd44ecce64d51822fe106eb.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://scene/demo10_animation/image/run-2.png"
dest_files=[ "res://.import/run-2.png-c6dd0e2a0fd44ecce64d51822fe106eb.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 800 B

View File

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/run-3.png-a7f3ee534265c5117fb56b89486b5e55.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://scene/demo10_animation/image/run-3.png"
dest_files=[ "res://.import/run-3.png-a7f3ee534265c5117fb56b89486b5e55.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 749 B

View File

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/run-4.png-5f322ba121a10ba33f069dd9c25a1035.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://scene/demo10_animation/image/run-4.png"
dest_files=[ "res://.import/run-4.png-5f322ba121a10ba33f069dd9c25a1035.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 895 B

View File

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/run-5.png-6dc8b7d6582a966a0b43c5375057d646.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://scene/demo10_animation/image/run-5.png"
dest_files=[ "res://.import/run-5.png-6dc8b7d6582a966a0b43c5375057d646.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 879 B

View File

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/run-6.png-af2f504c10c840072a12547b0a3c767b.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://scene/demo10_animation/image/run-6.png"
dest_files=[ "res://.import/run-6.png-af2f504c10c840072a12547b0a3c767b.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 835 B

View File

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/run-7.png-778e3a530cfcb29ce7258e12c61126fb.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://scene/demo10_animation/image/run-7.png"
dest_files=[ "res://.import/run-7.png-778e3a530cfcb29ce7258e12c61126fb.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 760 B

View File

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/run-8.png-3d745ba5b7d037dda1ae54f02d2b148c.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://scene/demo10_animation/image/run-8.png"
dest_files=[ "res://.import/run-8.png-3d745ba5b7d037dda1ae54f02d2b148c.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/white_square.png-1bf12a3951ac2e8d713316b3f8f54ac1.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://scene/demo11_particle_light/image/white_square.png"
dest_files=[ "res://.import/white_square.png-1bf12a3951ac2e8d713316b3f8f54ac1.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

View File

@ -1,28 +0,0 @@
[gd_scene load_steps=2 format=2]
[ext_resource path="res://scene/demo11_particle_light/image/white_square.png" type="Texture" id=1]
[node name="Node2D" type="Node2D"]
[node name="SpriteWhite1" type="Sprite" parent="."]
modulate = Color( 0.180392, 0.501961, 0.388235, 1 )
position = Vector2( 158.801, 162.168 )
scale = Vector2( 0.33008, 0.33008 )
texture = ExtResource( 1 )
[node name="SpriteWhite2" type="Sprite" parent="."]
modulate = Color( 0.568627, 0.239216, 0.239216, 1 )
position = Vector2( 388.318, 165.736 )
scale = Vector2( 0.33008, 0.33008 )
texture = ExtResource( 1 )
[node name="SpriteWhite3" type="Sprite" parent="."]
modulate = Color( 0.109804, 0.0784314, 0.482353, 1 )
position = Vector2( 671.349, 157.411 )
scale = Vector2( 0.33008, 0.33008 )
texture = ExtResource( 1 )
[node name="Light2D" type="Light2D" parent="."]
position = Vector2( 497.817, 209.206 )
scale = Vector2( 3.52112, 0.96036 )
texture = ExtResource( 1 )

View File

@ -1,16 +0,0 @@
[gd_scene load_steps=4 format=2]
[ext_resource path="res://scene/demo11_particle_light/normal_map/azagaya_n.png" type="Texture" id=1]
[ext_resource path="res://scene/demo11_particle_light/normal_map/azagaya.png" type="Texture" id=2]
[ext_resource path="res://scene/demo11_particle_light/normal_map/LightSprite.png" type="Texture" id=3]
[node name="Node2D" type="Node2D"]
[node name="azagaya" type="Sprite" parent="."]
position = Vector2( 270, 199.431 )
texture = ExtResource( 2 )
normal_map = ExtResource( 1 )
[node name="Light2D" type="Light2D" parent="."]
position = Vector2( 306.368, 226.998 )
texture = ExtResource( 3 )

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

View File

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/LightSprite.png-c40d01886f4a6ec8b4377142d643177e.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://scene/demo11_particle_light/normal_map/LightSprite.png"
dest_files=[ "res://.import/LightSprite.png-c40d01886f4a6ec8b4377142d643177e.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

View File

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/azagaya.png-ad429dd9403620b051e8578587d08aea.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://scene/demo11_particle_light/normal_map/azagaya.png"
dest_files=[ "res://.import/azagaya.png-ad429dd9403620b051e8578587d08aea.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

View File

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/azagaya_n.png-5b93a8bb5a6286587518a775b01152a3.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://scene/demo11_particle_light/normal_map/azagaya_n.png"
dest_files=[ "res://.import/azagaya_n.png-5b93a8bb5a6286587518a775b01152a3.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

View File

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/simplebrick.png-5e16cb9c113a4ed9a022f89e50a799bc.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://scene/demo11_particle_light/normal_map/simplebrick.png"
dest_files=[ "res://.import/simplebrick.png-5e16cb9c113a4ed9a022f89e50a799bc.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

View File

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/simplebrick_n.png-b5f5247c3aa4e49d79ccb3dd8d40a42e.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://scene/demo11_particle_light/normal_map/simplebrick_n.png"
dest_files=[ "res://.import/simplebrick_n.png-b5f5247c3aa4e49d79ccb3dd8d40a42e.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

View File

@ -1,40 +0,0 @@
[gd_scene load_steps=4 format=2]
[ext_resource path="res://scene/demo11_particle_light/image/white_square.png" type="Texture" id=1]
[ext_resource path="res://icon.png" type="Texture" id=2]
[sub_resource type="OccluderPolygon2D" id=1]
polygon = PoolVector2Array( -149.743, -150.861, -148.283, 150.259, 150.348, 150.259, 150.348, -151.244 )
[node name="Node2D" type="Node2D"]
[node name="Background" type="Sprite" parent="."]
modulate = Color( 0.427451, 0.392157, 0.392157, 1 )
light_mask = 3
position = Vector2( 514.927, 190.273 )
scale = Vector2( 3, 100 )
texture = ExtResource( 1 )
[node name="Shadow" type="Sprite" parent="."]
modulate = Color( 0.490196, 0.0509804, 0.541176, 1 )
position = Vector2( 478.061, 140.326 )
scale = Vector2( 0.31026, 0.31026 )
texture = ExtResource( 1 )
[node name="LightOccluder2D" type="LightOccluder2D" parent="Shadow"]
light_mask = 2
occluder = SubResource( 1 )
light_mask = 2
[node name="Light" type="Sprite" parent="."]
position = Vector2( 462.666, 380.919 )
texture = ExtResource( 2 )
__meta__ = {
"_edit_group_": true
}
[node name="Light2D" type="Light2D" parent="Light"]
scale = Vector2( 10, 10 )
texture = ExtResource( 1 )
shadow_enabled = true
shadow_item_cull_mask = 2

View File

@ -1,37 +0,0 @@
[gd_scene load_steps=7 format=2]
[ext_resource path="res://scene/demo11_particle_light/image/white_square.png" type="Texture" id=1]
[sub_resource type="Gradient" id=1]
colors = PoolColorArray( 0.29541, 0.150013, 0.150013, 1, 0.682129, 0.167868, 0.167868, 1 )
[sub_resource type="GradientTexture" id=2]
gradient = SubResource( 1 )
[sub_resource type="Curve" id=3]
_data = [ Vector2( 0.0592105, 0.263636 ), 0.0, 0.0, 0, 0, Vector2( 0.532895, 0.745454 ), 0.0, 0.0, 0, 0, Vector2( 0.967105, 0.327273 ), 0.0, 0.0, 0, 0 ]
[sub_resource type="CurveTexture" id=4]
curve = SubResource( 3 )
[sub_resource type="ParticlesMaterial" id=5]
flag_disable_z = true
direction = Vector3( 0, -1, 0 )
spread = 10.0
gravity = Vector3( 0, 0, 0 )
initial_velocity = 441.86
angular_velocity = 200.93
orbit_velocity = 0.0
orbit_velocity_random = 0.0
scale = 0.2
scale_random = 0.36
scale_curve = SubResource( 4 )
color_ramp = SubResource( 2 )
[node name="Node2D" type="Node2D"]
[node name="Particles2D" type="Particles2D" parent="."]
position = Vector2( 433.903, 489.402 )
amount = 20
process_material = SubResource( 5 )
texture = ExtResource( 1 )

Binary file not shown.

View File

@ -1,42 +0,0 @@
[gd_scene load_steps=2 format=2]
[ext_resource path="res://icon.png" type="Texture" id=1]
[node name="Node2D" type="Node2D"]
[node name="icon" type="Sprite" parent="."]
position = Vector2( 102.421, 70.9156 )
texture = ExtResource( 1 )
[node name="ButtonParent" type="Button" parent="."]
margin_left = 323.666
margin_top = 121.838
margin_right = 376.666
margin_bottom = 141.838
text = "Parent"
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Button" type="Button" parent="ButtonParent"]
margin_right = 44.0
margin_bottom = 20.0
text = "Child"
[node name="Control" type="Control" parent="."]
margin_left = 55.1478
margin_top = 233.954
margin_right = 216.148
margin_bottom = 344.954
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Label" type="Label" parent="Control"]
margin_right = 105.0
margin_bottom = 14.0
rect_pivot_offset = Vector2( 75.7402, 10.9574 )
text = "aaaaaaaaaaaaaav"
__meta__ = {
"_edit_use_anchors_": false
}

View File

@ -1,60 +0,0 @@
[gd_scene load_steps=4 format=2]
[ext_resource path="res://scene/demo12_gui/Source_Han_Sans.ttf" type="DynamicFontData" id=1]
[sub_resource type="DynamicFont" id=1]
font_data = ExtResource( 1 )
[sub_resource type="DynamicFont" id=2]
font_data = ExtResource( 1 )
[node name="Node2D" type="Node2D"]
[node name="Label" type="Label" parent="."]
margin_left = 25.2518
margin_top = 20.3757
margin_right = 91.2518
margin_bottom = 44.3757
rect_pivot_offset = Vector2( 37.8167, 12 )
custom_fonts/font = SubResource( 1 )
text = "label1你好"
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Label2" type="Label" parent="."]
margin_left = 25.6472
margin_top = 62.6466
margin_right = 143.647
margin_bottom = 86.6466
custom_fonts/font = SubResource( 2 )
text = "有字体的lable"
__meta__ = {
"_edit_use_anchors_": false
}
[node name="AcceptDialog" type="AcceptDialog" parent="."]
margin_left = 17.2379
margin_top = 152.189
margin_right = 136.238
margin_bottom = 232.189
dialog_text = "Are you OK?"
[node name="Button" type="Button" parent="."]
margin_left = 41.0
margin_top = 293.0
margin_right = 105.0
margin_bottom = 313.0
text = "cancel"
__meta__ = {
"_edit_use_anchors_": false
}
[node name="ColorRect" type="ColorRect" parent="."]
margin_left = 515.958
margin_top = 14.3027
margin_right = 697.958
margin_bottom = 123.303
__meta__ = {
"_edit_use_anchors_": false
}

View File

@ -1,39 +0,0 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://icon.png" type="Texture" id=1]
[ext_resource path="res://script/demo13_camera/switch_camera.gd" type="Script" id=2]
[node name="Node2D" type="Node2D"]
script = ExtResource( 2 )
[node name="icon" type="Sprite" parent="."]
modulate = Color( 0.964706, 0.0313726, 0.0313726, 1 )
position = Vector2( -512, 300 )
texture = ExtResource( 1 )
[node name="icon2" type="Sprite" parent="."]
modulate = Color( 0.882353, 0.796078, 0.0901961, 1 )
position = Vector2( 512, 300 )
texture = ExtResource( 1 )
[node name="icon3" type="Sprite" parent="."]
modulate = Color( 0.0588235, 0.152941, 0.584314, 1 )
position = Vector2( -512, 900 )
texture = ExtResource( 1 )
[node name="icon4" type="Sprite" parent="."]
modulate = Color( 0.0705882, 0.92549, 0.666667, 1 )
position = Vector2( 512, 900 )
texture = ExtResource( 1 )
[node name="Camera2D1" type="Camera2D" parent="."]
position = Vector2( -512, 300 )
[node name="Camera2D2" type="Camera2D" parent="."]
position = Vector2( 512, 300 )
[node name="Camera2D3" type="Camera2D" parent="."]
position = Vector2( -512, 900 )
[node name="Camera2D4" type="Camera2D" parent="."]
position = Vector2( 512, 900 )

View File

@ -1,25 +0,0 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://script/demo13_camera/player.gd" type="Script" id=1]
[ext_resource path="res://icon.png" type="Texture" id=2]
[node name="Node2D2" type="Node2D"]
position = Vector2( -82.76, 10.6787 )
[node name="icon" type="Sprite" parent="."]
modulate = Color( 0.141176, 0.878431, 0.117647, 1 )
position = Vector2( -227.193, 239.648 )
texture = ExtResource( 2 )
[node name="icon2" type="Sprite" parent="."]
modulate = Color( 0.054902, 0.533333, 0.815686, 1 )
position = Vector2( 665.147, 246.323 )
texture = ExtResource( 2 )
[node name="player" type="Sprite" parent="."]
position = Vector2( 77.117, 245.968 )
texture = ExtResource( 2 )
script = ExtResource( 1 )
[node name="Camera2D" type="Camera2D" parent="player"]
current = true

View File

@ -1,38 +0,0 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://icon.png" type="Texture" id=1]
[ext_resource path="res://script/demo13_camera/player.gd" type="Script" id=2]
[node name="Node2D" type="Node2D"]
[node name="icon" type="Sprite" parent="."]
position = Vector2( 73.0152, 64.7613 )
texture = ExtResource( 1 )
[node name="Control" type="Control" parent="."]
margin_left = 1.0
margin_right = 1024.0
margin_bottom = 601.0
__meta__ = {
"_edit_use_anchors_": false
}
[node name="ViewportContainer" type="ViewportContainer" parent="Control"]
modulate = Color( 0.0352941, 0.894118, 0.65098, 1 )
margin_left = 770.879
margin_top = 437.506
margin_right = 1020.88
margin_bottom = 587.506
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Viewport" type="Viewport" parent="Control/ViewportContainer"]
size = Vector2( 250, 150 )
handle_input_locally = false
render_target_update_mode = 3
[node name="Sprite" type="Sprite" parent="Control/ViewportContainer/Viewport"]
position = Vector2( 100, 100 )
texture = ExtResource( 1 )
script = ExtResource( 2 )

View File

@ -1,15 +0,0 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://scene/demo13_camera/2.move_camera.tscn" type="PackedScene" id=1]
[ext_resource path="res://scene/demo13_camera/mini_viewport.tscn" type="PackedScene" id=2]
[node name="Node2D" type="Node2D"]
[node name="Node2D" parent="." instance=ExtResource( 1 )]
[node name="CanvasLayer" type="CanvasLayer" parent="."]
[node name="Control" parent="CanvasLayer" instance=ExtResource( 2 )]
modulate = Color( 0.894118, 0.792157, 0.792157, 1 )
margin_right = 0.0
margin_bottom = 0.0

View File

@ -1,30 +0,0 @@
[gd_scene load_steps=2 format=2]
[ext_resource path="res://scene/demo13_camera/2.move_camera.tscn" type="PackedScene" id=1]
[node name="Control" type="Control"]
anchor_right = 1.0
anchor_bottom = 1.0
margin_right = -1024.0
margin_bottom = -600.0
__meta__ = {
"_edit_use_anchors_": false
}
[node name="ViewportContainer" type="ViewportContainer" parent="."]
margin_left = 773.127
margin_top = 444.248
margin_right = 1023.13
margin_bottom = 594.248
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Viewport" type="Viewport" parent="ViewportContainer"]
size = Vector2( 250, 150 )
handle_input_locally = false
render_target_update_mode = 3
[node name="Camera2D" type="Camera2D" parent="ViewportContainer/Viewport"]
[node name="Node2D" parent="ViewportContainer/Viewport" instance=ExtResource( 1 )]

View File

@ -1,6 +0,0 @@
[gd_scene load_steps=2 format=2]
[ext_resource path="res://script/demo14_file/file.gd" type="Script" id=1]
[node name="Node2D" type="Node2D"]
script = ExtResource( 1 )

View File

@ -1,15 +0,0 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
path="res://.import/Follow Me - Andrew Langdon.mp3-208cd3bb30a229567f90fba5350fdc21.mp3str"
[deps]
source_file="res://scene/demo15_audio/audio/Follow Me - Andrew Langdon.mp3"
dest_files=[ "res://.import/Follow Me - Andrew Langdon.mp3-208cd3bb30a229567f90fba5350fdc21.mp3str" ]
[params]
loop=true
loop_offset=0

View File

@ -1,9 +0,0 @@
[gd_scene load_steps=2 format=2]
[ext_resource path="res://scene/demo15_audio/audio/Follow Me - Andrew Langdon.mp3" type="AudioStream" id=1]
[node name="Node2D" type="Node2D"]
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
stream = ExtResource( 1 )
autoplay = true

View File

@ -1,35 +0,0 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://scene/demo15_audio/audio/Follow Me - Andrew Langdon.mp3" type="AudioStream" id=1]
[sub_resource type="Animation" id=1]
resource_name = "music"
length = 10.0
loop = true
tracks/0/type = "audio"
tracks/0/path = NodePath("AudioStreamPlayer")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"clips": [ {
"end_offset": 0.0,
"start_offset": 12.0,
"stream": ExtResource( 1 )
}, {
"end_offset": 0.0,
"start_offset": 0.0,
"stream": null
} ],
"times": PoolRealArray( 0, 10.1 )
}
[node name="Node2D" type="Node2D"]
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
stream = ExtResource( 1 )
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
autoplay = "music"
anims/music = SubResource( 1 )

View File

@ -1,12 +0,0 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://script/demo16_http/http_request.gd" type="Script" id=1]
[ext_resource path="res://script/demo16_http/http_utils.gd" type="Script" id=2]
[node name="Node2D" type="Node2D"]
[node name="HTTPRequest" type="HTTPRequest" parent="."]
script = ExtResource( 1 )
[node name="HttpUtils" type="Node2D" parent="."]
script = ExtResource( 2 )

View File

@ -1,6 +0,0 @@
[gd_scene load_steps=2 format=2]
[ext_resource path="res://script/demo_test/demoTest.gd" type="Script" id=1]
[node name="Node2D" type="Node2D"]
script = ExtResource( 1 )

View File

@ -1,11 +0,0 @@
extends Node2D
# Declare member variables here. Examples:
# var a = 2
# var b = "text"
# Called when the node enters the scene tree for the first time.
func _ready():
print("Hello World")

View File

@ -1,4 +0,0 @@
extends Reference
# 表示B对象
var b

View File

@ -1,4 +0,0 @@
extends Reference
# 表示A对象
var a

View File

@ -1,4 +0,0 @@
extends Node2D
func _to_string():
print("This is C Node2!")

View File

@ -1,5 +0,0 @@
# 如果没有继承任何类则默认继承Reference
extends Reference
func _to_string():
print("This is C Reference!")

View File

@ -1,177 +0,0 @@
extends Node2D
const StringUtils = preload("res://zfoo/util/StringUtils.gd")
# (optional) class definition with a custom icon
class_name MyClass, "res://icon.png"
# Member variables
# gds有5种基础类型BooleanInteger(Java long)Float(Java double)StringNull
# &&=and ||=or !=not
var a = (true or false) && true
var b = 9223372036854775807
var c = 1.5
var s = "Hello"
var arr = [1, 2, 3]
var dict = {
2: 3,
"key": "字符串作为key",
arr: "数组作为key"
}
var typed_var: int
var typed_var_float: float
var typed_var_bool: bool
var inferred_type: String = "String"
# Constants
const ANSWER = 42
const THE_NAME = "Charly"
# Enums
enum {LEFT, RRIGHT, FRONT, BACK}
# 等价于
# const LEFT = 0
# const RIGHT = 1
# const FRONT = 2
# const BACK = 3
enum FOOD {GOOD, NORMAL, BAD = -1}
# Built-in vector types
var v2 = Vector2(1, 2)
var v3 = Vector3(1, 2, 3)
func _init():
pass
static func getAnswer():
return ANSWER
func typeInfo():
var template = "[Variant:{}] [type:{}] [value:{}]"
print(StringUtils.format(template, [TYPE_BOOL, typeof(a), a]))
print(StringUtils.format(template, [TYPE_INT, typeof(b), b]))
print(StringUtils.format(template, [TYPE_INT, typeof(c), c]))
print(StringUtils.format(template, [TYPE_STRING, typeof(s), s]))
# print(StringUtils.format(template, [TYPE_ARRAY, typeof(arr), arr]))
print(StringUtils.format(template, [TYPE_DICTIONARY, typeof(dict), dict]))
print(StringUtils.format(template, [TYPE_DICTIONARY, typeof(FOOD), FOOD]))
print(StringUtils.format(template, [TYPE_DICTIONARY, typeof(FOOD.GOOD), FOOD.GOOD]))
# 在java中类似于this
print(self is Node)
print(a is Dog) # 类似于instanceof
func if_function(param1, param2):
if param1 < param2:
print(param1)
elif param2 > 5:
print(param2)
else:
print("Fail!")
func switch_function():
var local_var = 5
match local_var:
1:
print("match1")
2:
print("match2")
5:
print("match5")
# continue
6:
print("match6")
_:
print("match_")
func loop_function():
for i in range(20):
print(i)
var param = 10
while param != 0:
param -= 1
return param
# Function
func arrayIterator():
# range等价于for(int i = 0; i < 20; i++)
print("数组遍历方法1")
for i in range(3):
print(i)
print("数组遍历方法2")
for ele in arr:
print(ele)
print("数组遍历方法3")
for index in range(arr.size()):
print(arr[index])
func dictionaryIterator():
print("字典遍历方法1")
for key in dict:
print("key:" + key as String)
print("value:" + dict[key] as String)
print("字典遍历方法2")
for key in dict.keys():
print("key:" + key as String)
print("value:" + dict[key] as String)
print("字典遍历方法3")
for value in dict.values():
print("value:" + value as String)
func innerClassTest():
var dog = Dog.new(1)
dog.move()
dog.info()
dog.height = 2
dog.info()
# Inner class默认继承Object
class Animal:
extends Object # 如果不指定继承的类默认基础Object
const STATIC_FIELD = "静态变量"
# 属性
var height: int
func _init():
print("Animal 构造方法")
func move():
print("animal移动")
static func staticFuction():
pass
class Dog:
extends Animal
# Constructor
func _init(height):
self.height = height
print("Dog 构造方法")
# Functions override functions with the same name on the base/parent class.
func move():
print("dog用4个脚跑")
# If you still want to call them, use '.' (like 'super' in other languages).
.move()
func info(parm = 100):
print("height" + height as String)

View File

@ -1,59 +0,0 @@
extends Node2D
# 导出一个数字
export var a = 1
# 导出一个节点路径
export var b:NodePath
# 导出一个节点路径,不同的写法
export(NodePath) var c
# 导出一个文件路径
export(String, FILE) var e
# 导出一个文件路径以txt结尾
export(String, FILE, "*.txt") var d
# 导出一个资源文件路径
export(Resource) var f
# 导出一个颜色
export(Color, RGB) var g
func _init():
print("init")
# Called when the node enters the scene tree for the first time.
func _ready():
print("ready")
print("new一个对象--------------------------------")
var myClass = MyClass.new()
print(myClass.to_string())
print("数据类型信息--------------------------------")
myClass.typeInfo()
print("基础语法if else--------------------------------")
myClass.if_function(1, 2)
print("基础语法switch--------------------------------")
myClass.switch_function()
print("基础语法while for--------------------------------")
myClass.loop_function()
print("数组遍历--------------------------------")
myClass.arrayIterator()
print("字典遍历--------------------------------")
myClass.dictionaryIterator()
print("访问静态变量--------------------------------")
var answer = MyClass.ANSWER
print("访问const变量类似于static变量" + answer as String)
print("调用静态方法--------------------------------")
print("调用静态方法:" + MyClass.getAnswer() as String)
print("内部类测试--------------------------------")
myClass.innerClassTest()

View File

@ -1,46 +0,0 @@
extends Node2D
const CNode = preload("res://script/demo02_base/CNode.gd")
const CReference = preload("res://script/demo02_base/CReference.gd")
# monitor初探
func _ready():
#nodeTest()
#nodeFreeTest()
#nodeQueueFreeTest()
#referenceTest()
#referenceFreeTest()
referencUnreferenceTest()
pass
func nodeTest():
for i in range(10000):
var instance = CNode.new()
func nodeFreeTest():
for i in range(10000):
var instance = CNode.new()
instance.free()
# queue_free效率更高
func nodeQueueFreeTest():
for i in range(10000):
var instance = CNode.new()
instance.queue_free()
func referenceTest():
for i in range(10000):
var instance = CReference.new()
func referenceFreeTest():
for i in range(10000):
var instance = CReference.new()
instance.free()
func referencUnreferenceTest():
for i in range(10000):
var instance = CReference.new()
instance.unreference()

View File

@ -1,38 +0,0 @@
extends Node2D
const A = preload("res://script/demo02_base/A.gd")
const B = preload("res://script/demo02_base/B.gd")
func _ready():
#referenceTest()
#referenceCycleTest()
referenceUnreference1Test()
#referenceUnreference2Test()
pass
func referenceTest():
var a = A.new()
var b = B.new()
func referenceCycleTest():
var a = A.new()
var b = B.new()
a.b = b
b.a = a
func referenceUnreference1Test():
var a = A.new()
var b = B.new()
a.b = b
b.a = a
a.unreference()
func referenceUnreference2Test():
var a = A.new()
var b = B.new()
a.b = b
b.a = a
a.unreference()
b.unreference()

View File

@ -1,28 +0,0 @@
extends Node2D
func _ready():
# new一个Sprite节点
var sprite = Sprite.new()
# 设置图片
var icon = preload("res://icon.png")
sprite.set_texture(icon)
# 修改名称
sprite.name = "mynode"
# 修改坐标居中
sprite.position.x = 200
sprite.position.y = 200
# 添加到当前的场景中
add_child(sprite)
pass
func _process(delta):
var sprite = $mynode
sprite.rotate(0.1)
pass

Some files were not shown because too many files have changed in this diff Show More