Skip to content

Instantly share code, notes, and snippets.

View me2beats's full-sized avatar

Albert me2beats

  • Russia, Yekaterinburg
View GitHub Profile
@me2beats
me2beats / main.gd
Last active April 21, 2022 15:16
godot get custom classes
func get_custom_classes():
#gets list of "custom" classes (defined using class_name keyword)
var find_this = "_global_script_classes="
var custom_classes_lines = PoolStringArray()
var f = File.new()
f.open("res://project.godot", File.READ)
var add_lines = false
@me2beats
me2beats / get_next_node.gd
Last active March 11, 2021 08:22
godot get_next_node
func get_next_node(node):
var children = node.get_children()
if children:
return children[0]
else:
return _get_next_node_inner(node)
func _get_next_node_inner(node):
var node_idx = node.get_index()
var parent = node.get_parent()
@me2beats
me2beats / main.py
Created December 18, 2019 18:08
my cycle function
def cycle(*args, **kw):
d = my_getattr(cycle, 'dict', {})
key = my_get(d, args, 0)
try:
res = args[key]
except IndexError:
@me2beats
me2beats / main.py
Created December 10, 2019 10:21
Stencil example
from kivy.app import App
from kivy.lang import Builder
KV = """
FloatLayout
canvas.before:
Color:
@me2beats
me2beats / main.py
Created December 10, 2019 09:02
Kivy stencil example
from kivy.app import App
from kivy.lang import Builder
KV = """
Widget
canvas.before:
StencilPush
Color
rgba: 0.3, 0.2, 0.4, 1
Rectangle
@me2beats
me2beats / main.py
Created December 9, 2019 17:35
Kivy Scissor example
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.widget import Widget
KV = """
AnchorLayout
MyWidget
size_hint: 0.5,0.5
@me2beats
me2beats / main.py
Created December 9, 2019 08:26
Ellipse example (angle_start, angle_end)
from kivy.app import App
from kivy.lang import Builder
KV = """
FloatLayout
MyEllipse
id:ell
BoxLayout
@me2beats
me2beats / main.py
Last active December 8, 2019 16:39
Rounded triangle (one rounded corner)
from kivy.app import App
from kivy.lang import Builder
KV = """
Widget
size_hint: None, None
size: 200,200
radius: [0,0,0,30]
@me2beats
me2beats / main.py
Created December 4, 2019 13:39
simple pulse animation
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.widget import Widget
from kivy.animation import Animation as A
KV = """
AnchorLayout
MyWidget
size_hint: None, None
@me2beats
me2beats / main.py
Created November 22, 2019 12:16
system prototype
class NonCallable:
#TODO: now this is a behavior, not metaclass,
# so msg has to refer to NonCallable
def __call__(self, *args, **kwargs):
is_root = len(self.__mro__) ==2
cls_name = self.__name__
type_name = type(self).__name__