python - Kivy: creating a pan screen effect? -
i experienced python programmer problem kivy's documentation not go on place kivy beginners, doesn't have simple, complete, working code examples explains apis.
i used own wits , discovered how create sprite, center graphics/texture origin/axis, animate sprite, move around , create background.
for next practice session, wanted make screen pan/scroll, why staying centered focus on sprite.
again, there isn't working code in kivy's scrollview doc.
can provide me simplest form of working code achieves i'm looking for?
again, keep simple because i'm trying see how functions/methods used in code.
--------update--------------
whoot!!!! did it...and no scrollbars! there's 1 more issue work out , choppy screen movement. i'm not fearing because believe it's related choppy movement of sprite.
my theory is, when changed movement on clock interval control combined smooth animation movement...that choppiness go away. if theory correct, post code. otherwise, don't think interested in broken code, lol.
i'll tomorrow; tired right because i've been @ kivy day , girl has 1 tough "beaver." ps...i see kivy 1.9.1 have scoll_to(widget) call.
---------update 4:00 am----------
i saw quick fix before bed , choppy movement gone. whoot!!!! kicking kivy's butt! um...er...don't hurt me kivy... lol.
right i'm trying learn how code basic logic needed game design, kivy style.
so can create game world, set background, create actor, move actor keyboard (so far), animate actor , pan view perfectly.
tomorrow (technically,today) post code answer question....hopefully remember.
there list of examples kivy here. can check scrollview example:
import kivy kivy.require('1.0.8') kivy.app import app kivy.uix.button import button kivy.uix.scrollview import scrollview kivy.uix.gridlayout import gridlayout class scrollviewapp(app): def build(self): # create default grid layout custom width/height layout = gridlayout(cols=1, padding=10, spacing=10, size_hint=(none, none), width=500) # when add children grid layout, size doesn't change @ # all. need ensure height minimum required # contain childs. (otherwise, we'll child outside bounding # box of childs) layout.bind(minimum_height=layout.setter('height')) # add button grid in range(30): btn = button(text=str(i), size=(480, 40), size_hint=(none, none)) layout.add_widget(btn) # create scroll view, size < size of grid root = scrollview(size_hint=(none, none), size=(500, 320), pos_hint={'center_x': .5, 'center_y': .5}, do_scroll_x=false) root.add_widget(layout) return root if __name__ == '__main__': scrollviewapp().run()
Comments
Post a Comment