From 731074c693ab670d8648fe33de2801cdf81f5ac1 Mon Sep 17 00:00:00 2001 From: paweljarosz Date: Wed, 8 Oct 2025 16:52:05 +0200 Subject: [PATCH 1/4] Added example for factory with script properties. --- factory/spawn_properties/all.texture_profiles | 18 +++ .../assets/SourceSansPro-Semibold.ttf | Bin 0 -> 149636 bytes .../spawn_properties/assets/images/bullet.png | Bin 0 -> 19569 bytes .../spawn_properties/assets/images/flame.png | Bin 0 -> 699 bytes .../assets/images/lighting_blue.png | Bin 0 -> 1465 bytes .../assets/images/playerShip1_red.png | Bin 0 -> 2710 bytes factory/spawn_properties/assets/sprites.atlas | 10 ++ factory/spawn_properties/assets/text48.font | 5 + factory/spawn_properties/example.md | 37 +++++ factory/spawn_properties/example/bullet.go | 19 +++ .../spawn_properties/example/bullet.script | 18 +++ factory/spawn_properties/example/player.go | 54 +++++++ .../spawn_properties/example/player.script | 48 ++++++ .../example/spawn_properties.collection | 149 ++++++++++++++++++ factory/spawn_properties/game.project | 65 ++++++++ 15 files changed, 423 insertions(+) create mode 100644 factory/spawn_properties/all.texture_profiles create mode 100755 factory/spawn_properties/assets/SourceSansPro-Semibold.ttf create mode 100644 factory/spawn_properties/assets/images/bullet.png create mode 100755 factory/spawn_properties/assets/images/flame.png create mode 100755 factory/spawn_properties/assets/images/lighting_blue.png create mode 100755 factory/spawn_properties/assets/images/playerShip1_red.png create mode 100644 factory/spawn_properties/assets/sprites.atlas create mode 100644 factory/spawn_properties/assets/text48.font create mode 100644 factory/spawn_properties/example.md create mode 100644 factory/spawn_properties/example/bullet.go create mode 100644 factory/spawn_properties/example/bullet.script create mode 100644 factory/spawn_properties/example/player.go create mode 100644 factory/spawn_properties/example/player.script create mode 100644 factory/spawn_properties/example/spawn_properties.collection create mode 100644 factory/spawn_properties/game.project diff --git a/factory/spawn_properties/all.texture_profiles b/factory/spawn_properties/all.texture_profiles new file mode 100644 index 00000000..5b0d7762 --- /dev/null +++ b/factory/spawn_properties/all.texture_profiles @@ -0,0 +1,18 @@ +path_settings { + path: "**" + profile: "Default" +} +profiles { + name: "Default" + platforms { + os: OS_ID_GENERIC + formats { + format: TEXTURE_FORMAT_RGBA + compression_level: BEST + compression_type: COMPRESSION_TYPE_DEFAULT + } + mipmaps: false + max_texture_size: 0 + premultiply_alpha: true + } +} diff --git a/factory/spawn_properties/assets/SourceSansPro-Semibold.ttf b/factory/spawn_properties/assets/SourceSansPro-Semibold.ttf new file mode 100755 index 0000000000000000000000000000000000000000..5020594826b603961399cec009188a8d11a437d5 GIT binary patch literal 149636 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

;uKu%NE38 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 Cmj74) literal 0 HcmV?d00001 diff --git a/factory/spawn_properties/assets/images/bullet.png b/factory/spawn_properties/assets/images/bullet.png new file mode 100644 index 0000000000000000000000000000000000000000..bbe9f2d9e0dcd1e04b352a1d6f89880327ad78ae GIT binary patch literal 19569 zcmb@u1#lxxx29=oGcz+|o0*xJnVFff&CJZq%-Ck8w%ulCX0}(~fA8Gc*}1cOXJZth zP^hF-m9nx29F<`1yT%+`;|4wK0{|V-G0_3FSQ&PeeHwQP}RVG+(pS+WM(gwG6LqYkR4F z-e%Qeg{>#U%z3%-r+xc3t z(fMBW&5%+1&07PKC>W>FWn>4lU-qoWDuV<4#T_%`?oS#RwiNUg|-?APX)#*--)Rb5t zM`pOawn_LO8me7hobWfRP`vYhV9@Ko-u_6g4fw$>XY@^wYv8@}a)u!kt~?Ee(4JZ< zw!qXhJ~e*%cpK?kQmxz6IeRG{H$jF8-FSP?5FQsdn2_Z9!q~^(ADhz!6&i$!hMrI9 z{f@w4OI}8o5&rxc=3(fo?9O3hHi`YCg? zTFz6}c(1k>1t$mT7|F8n7>}aZ)ELZunPrSa5&hnZr&UZ%yEK%!1%nkcj(g9+!{d4W zQ}oik#n(2CbJ&lLC8=cv%~uy!v+ic_6Vt-NqS!{C)6)~ak!fMxs)YsDqPXGIAkWrv z!JN^*I|+`#U&y#VjlzOCy~l~uQw(E9fcA%ZwxH5JxD*2T{1NR@V#(szn4ADcIHC7) zMzov+c^x6Xs%)vpm&(*TUr8b8RMG5lqUkWDYz$bE*-!Jt+&enec7$t+s0j1ax!3t9 z8~ZmVt!`QB@g{OZs_&3HIc`s8az<)y6zMt9pLQT+v(9rJzBDm4jvxOwo=I^^?>|BpM zP%UAzOd~sUnN+y5YMIP5=}T*bJGTmqWW12tuH*))bC14KZn0#_>La<#_1?tB0rWLp z^y&oYKfqSpUHZPs&y^tg)n)gU+L-#tqp=9uaVIKPdGGHEInx&ncs?ID`!;s(PV>%- znRuwEW=)?lX(ka$khl8AV>5*pT9H0sSk4$g^={MLDi<`owXH^lMG!g!VzJ&b<6HQ$s8S(faL!*cOHmj{L}qL%Wz>!W;NrkkpMJd@PzSz0^3^u z%+Ju!a<9-p^ifMvDm8$8hEs!THe8^B%dyc)P85c!44QTBrTz1d0TUKvI}hkqo))ga z(&;=xvl~$eq_OauGnwYMx@Atd?cXkXn31*)Q zFjnf-Y7#w&v3s>O%3_53m8rKS46rS%WQ1BT*C-eHwceBJXuLLNOj}J#Y^xd%A44xm z8pslxn@=O?WU_Nc_JXU95~C@T>pUtfH=mjLaRIX)as6u3#fCQX&gbjX zbpeqZE{ap%1`sruIGiwryMLFx#~4 zE@npV=dW^)cR-}vp02&~oa%k*I#9RYdBj*=Ag)Rm3jbMVa(wjsu4c}tEvH5&9uXd% zU)+u;I*(`?Rb1Jbs@wI94Ey9JW%7+GOghg-@)c{w)gw*|WhEmbmIc+!x{vSEBtB;p z89OKgQB!l(JFE0Z%pj^E->r3S_tZ8FnoAm0%pXT?yC6+W{OSk4nb`Wa$Ju7*RqOj| zo>4!tE&1G55e7o@48bsR^mR#~!!&H|IykiYPy_xi}V~!0; z2;z5)*aLD2KxsI3A9y(k0a_%2Wg`lO*OLMR#sV=d+zDyYY?*tG8lSuRMLas7g-|vn zQ}F++Kd5X#=}EZLHs+1z&g3Gl8({!KVc<8@PBb`)c}`dMYt$?W8J%!2TxR zVQO^lI5^9an4KcxqdL4v8A?)Gh=`5Y|3Fh`bX=I;WGCuCqSmMJ!{;nK~* zGsg)oBx9q=YDeObWF(txI6rD9!ybCrrZ>*AzOzO8XiUG?N>gU2489l&pENv1 zShoNgfXp0b%|JK6u}2S|Uu5xGQ=QFKUsX?VHhLTD9d{}ByZu=@!sx07!TI~JDDG1y z2P*0|M4d3?1f31|d6(NBzqh=y&;s%W)Pv{hYF*dfEsMRnq^RaG-PRJ>X)Hf+0W??= z9?nf1TqSiL^Q|$a(YU!lQhS7#pFi$Eun(E*ZYDR-d5PLeT&v&m!Ub+vpjPk3lt0#f z!#nnIF7BPNJjcd&-x1%t>jG2$PkiqM{S^-bmCqLnG~@4(;cvR&c>&6YL!7l-JZ;Z6 zd;h)F(XXjB)+&VU>-*R6pILF6xr2c{mC2y1%$(+{o>L6rygUkT$wsBeqpsU(;p15o z?JA)86zmiUnF~xH0b9F-4Xx1&!Yjs65{7%fVcI=bg+|C+YN)UiBRPD>Rg{F#@62N; zc#U>^)r`!X<<`)@TE;gwKfq?X4LC9AX^9k9RI{cTGbA-rYparJ%o@q%NcdZ;oOEUQ zoM$@XVUCWFjAzY_`%lLb0@GU}t(xe2!uxMHFdGiF`@2cM-l-XWE}`u}OiiZIHB1bZxwbvx2UY+ZsJIsQ`y`j* zeB!P|k*z*e4z&gHvBP z(q%|xr{2+XeHFSU#Bf-8*8)XC$kDJHkY338E&4+8=vub;<-livzUy+Fa;eX6$m}Y>G?Q zjTC?6w`qiV-vW_cefH%Jb{oJaR|wpl`9#N;y4|m>yBACE$ODk4yK!nM?Dy+BJ_)>U zfxf{N3LQ*Fiz<9V-U&7%VSb$qs~c4Lh3N+Nj#6e|yck*2eQBb7^ikv$URdi&>Osz@ zDf8_-U9SFGKPBa)OL9yqGiDO~Sy>*EmgkAvv=q61N=(9y5zx5FO}W_)1_cN2IezeHV5%~uEEQZy!8QQ~61LXw%R!}NjHyji`<3%tTb0-> zXS{iNX`{8`eXnA~MahP>ng$_YIgq3zHO9YU0O4d|p?<|~Z{LX^pM+#u&e)VJe|T4- zz;5yw_axV=yb_v^!IcPaAFtxiHO*z)HSfEl#S}RIm3S;`XHXsM6_88qe#$e(&E@un z;98RZ;c1I2SYau1n*qQ5ho${2O}RB5Mt^6!f{?J~DdUI)k(&zJ@)>(Y zq63Q2SoR$-2INacl;fOZSI2Afr3Z;uROYJIE911};_y#v@~g;m@dpy(6*|(&kStK}OvzHq zY@u@pL&jCQgL&T%AgY^bsj9-j-F9f32a3hZu3>vff0m~|&h5SDsi=wE&yjY)rKV_S zI9bjGrFFVvGFknP1~97N^)I;(p7+!SlKZly#aSC?v4$3rfSO57$#<)?h6k>$P8*#i zx!dEE7%Y&T#~@X243!}j!d*>_%Do~w5yQ+|m+Vyo$$`Z~r4GeoTv&~Z%SppZH)jLM zd(Xj=T4F5r-mko8{cyM2uVDhnPs1BxzrFUi9*f!d-q+(^2F#CdbFMdr+k&_E2adpu zxXvpcAABkSiX65j2mxWKx?z7zq2lF5;M+JPc4I^3OzL?-8%ih~Wj~o8+V2!!#9sFc$TC%XTy4w0^e~hT1GkF0h1RG%vIYlybAZGFOHx?w)!wV!x!>Oc2 z)|tiY8S4@#9t-OqW&Q2`K(=cngp)B{CX|)+u$gSwd6)c*@+sJ8dJMU;D1o2hqZlGd zKhv(alV?NuH>daWh8gV*(ewB2!5K$a8EFC-gMS^%4=SmOUGAc=JSn0B&FwpoDl2QP zu@)^HC3;(EDqQy`?2Ya#0{t4>n{00^&Q{<0i@*gDJA^$k0rL6qS@p@$>*(%pS{>)U z0at;Np=<;}7TUlp6}|$-@iN@!>1iDQCz?{IhR#K#G-35~3DnqxRIGEfs`-HEf zG<9JC(5=No@wwF{6}>5Sy$^tXJxu1K-=EcBT)A7v8PnoQi zfRRva9(;NJ8jEoUQbqlW-OBAR_&h6;MoU(Njc6vvFRD=tRy4$tf7zP;@f!LX`-R?Ia)+8eHO^yQv|$;_iPHaet*P)^^8aHODoYO_EQ&VmPl1Pjb!~ zk*~IhhCqT!x!L*k5fIavO;S1Ya%ii-UfR;76Hirl-0U}pO^E#|5SziBNg zTrI1@noEs4U`xy>J9Ifzt$UR5SGd*#3_h*aFgyNVDVdDw6YR1KRzGp$aFNv|qA?~t&OQuq(6SzBZh9hN^WyYE`YUX*`P8PmH0{Xy*uJd5FJJzP z8V_C^8sh1a1o0$)w_H%kk#)(@_}{oS9C1d2Ut0mS9~4@7*1Q z;|UY^#iHi?5twKQ3Rw-N$!5x_G?a= zT|B+)(hEZp4gG{#4~UA1B4Q@7ZJ+!HKFa{|H)3L$Xa+24IXCi%2&h5bSU_%Qh?ok@ z?s_LObp*+R4Ob?c6*6GJ(eZ;a0af1(f<0F|09^nlaJZVkgB9?j{vGu&?djUmm~j#0@7SGYkcTAy!$@64A?Koe*orB$=pvLSLHX{YtCUJRK6NG2Qi0RVG?p?ghaAhy0uBwOL_)2^E)>DQ#$mFP;{*m&eb{ z0P91e$_i0C*78=ro`9Z#5V&ktfvWIy>F;*5Q9~BicYJ!)W-tYw&|S~NTNJ83@qS=t zX{p5GE*mUyEnnf!o=nYpJ}iyJkX6QgiXQR}zLO5{)4oty#tv## zKVrm$U0hIWYHY)<)m2l1A+jQ3Vg##}j9Sv)ZN*WNB(0jk^%v#Xx_bhH86`L4C^3un z8L0xuQ-4EsfK9kN8vs=tJiiWDkP89dC^eKNo_rYDkrPH!pHm&zH;bVtp(G#9NIDYADv zyeRrEoa%Tig0PfQPTAsk>~DMD3a_|tzU2!J>%RR+X~JmO3q?NT`=+S#dqTb@*Be=| z-xd;&LMR#@jm7vHdE?3$gd!S>DExH!am@;< zsG#QAzk$S!PX3`nx%KL?`7&Au(pm&St>F{v(rGj>muM|F?!~O{34T5&LsrkzlN-i( z61yj(=$zfVO7eg|5^xH-qh^0i(U)mux@q z#ahqvO{uK^+)Y+k))Au51S#iFvAD?$T0T>O8x z4)*`AdiI~S+HA<(ap9B~!vh@85EL2nzp8Vm>C7Bat4>U3fY?bSN0~7Ih`f-}$p1;; zmF)jN^^wce`G7B-6l$zySrT4FekBn|tr_-{ouRxeL;=yJ<9BnZ1Z*Ju2CzUx@ykLM zXU)AQ{^zq?(4a;dAdsV&TbMgU#x(Ci{SAI(VPn}{C}naScIR|AqMeApYUk&|mF^qW z6n(4BvZ630_=s}nTjj4Vpb0_T8^T`0!VNepv)vYJy?_EbU)}PfTZy3&+I%5eegG+4 zn{*(PGf*+XTjygKEy0d(MNP;-4Sep`drD>7Q3WQ8OrB?SxjH9wyU<9K$x*T26mfko z;7m)v9M!<3LicIWUR7L{0aCEZ;3!-xcOl=k-V!#^Lc+R566utt1mJk%b3RldFk$Mm zf=swulNc((@rx3_QSu4x4_)_l7|JR6ffHMU@77CPhYE35b-*ba`w2U`gQ}qVuXs(% zam|D-FF9Pfvin==YIXZ4@z;;PGV>UYx^F+WzXVz1xxTsR)6K+zSt`mJ98N{EeFtC#g6UY}z^cHNb;vETBsX2N zXR8_KEr5oV`h(7EO}#=R;)$X()%AvlJbn!OaZRe_N>(n%A+slFGCR-beGCAYDx-if zf3UKPhBD09QUD`)Si>SpxzF|M6$Iz{R#__3%3WLW%2E{8-Q}u9ZhD@2gGW$8mf1e)mmF`cu zlVkCu*HYCzyqo$)5kuzUSw3Z$s`QS=)t`5S3s@fLX0Y-mj@DH6bi6h0=OO<5;KRH# z1RU(`Bdl+K0R^=;?yp-xkgMPeuUDehEBnhW*YM>^CN34AAIetPin3kh4sHye9nVUu z_1T5Zl;z+m{CxJ$2}~`)pb*(Iu~DN3vJ}gh0|$pIKam6?NU86D*x*<|3R0mf*T5UI zF$J9}@q#_s%=P(_YD)_n*u+qL?BNLFGzVU{$4jjywfJ5=m?3x?MF1j*WJ!_({J8X} z$lTLden&%|6caN4>_MOYlM39$3ljXJhetnn+=OuF4iOd%vh`|baD~l*5(moD5zjhJ z910l{+;aUDy^7t{jUY)`(N_)46Z)^1QW>PNdfVudza$w%FP!sh+=ie(~iQL{fo<=;%$9%xh`re zLsV3>;nLi)Fn{#>`2NXpq7T7eU;xwb>QF|G0nM8_VuoSl$nw%^@^bhXE<`ac%|6IsdKq#Le<4_Vtwtn$u1}={T5PUQ;Zyr&mhoR77N65YH3G3`xaV*!LaaLMtR z>FZ~K#9>Bx(Cx@yTt1J!N%LaD70PL|tkHP(6tVnF((8 zetVy24cfvMFK$g*W|Obm_FohcL9qokm!{bol(l3O9W{DjT|7#x3xOdTl3*(|a|o;8 z%dYX2jZ^u^sd;cyiOtV?B7YWe3+QW#IP%Lya%x-fQBfA;sfqCbuZIB45`)$z;5zny z+_0Zg7Ee={F@6EW^7@$0zowGjQY2UOe^oyUCH{|vf#Q@A6)WXJ&;0|CG-^B9`4THMBp~$3@0UiGTsMGvsdvl2d%MRjXO#7oT z=zzgwgry8K9z_trP$p!vg(|f`0^U7b&`a4+l+Hwtcc1T$CA{?qd0~3A&7Vlb19Qz? zgbaH0!kNQ(ykkn=hplWjL(tFaAi%AXRTSCrMcYeD$-LIUPjadvaf~A47bm-K*sGgq zJIv{?+{DT2og+~y3y6mghWA1Oz;v?VgH8pyeiN=6yMM=RXQmkGrtrS9z8B60=cEs6 z!hh}FeS4k9WDS%zAKC~{^pyqc*uN@4lN-RRA#W^CdP0(G(FEmlr1W+2-7LV#NP6g%RJ~BUp?|$hiGuf3V=D`P);H+!_!%)=bQ_ zM-uLmrhsWTTbef+6}Dpy55Azb_@2- zIQ!ylR=c|H35nf|jcg6CyR8HX4HQe+JW1o752q4DgQ@hVyBSeLr&(+7J9*yn3lLlc zS(60c4HO)fd1L;Z$n+Zf%Pjt{c^GtN-tpTClcogR9A$MAngud9CYd2_q^aXJafhIDFpmG2;O;Ss2VfT`FG<$aM6f2#?Io)fVbxH>3VojA} zL79m+$=A9K87TR$=Eq6GwzFzOMtnv3`L_c>nhBK)CoN3(OJ~+%ZKwQvipYeHH_u77~v;^Ky85?h-+jsX}SG!qdC5b;z zrLKCey+$m6H! z9_afp`1g1tML-+m{6^#NjkIj7^`%rSb9{_rFy3QK1@d0!w~(Yxm$J)7*Y-jh9_Ac+ ze&Meia6G*B*ufz?;l*Bw`5qpx*+k$!07-N^!+pIlKR>Wg zA|2M1%m?=gD>rW_OGl^oaWfLB00qQ2lw2Bxw0>o58x_nRiT*gNp|(h5EX%EETq|u zfeRyEf|^Uaz6(u1pKC5Imtn9x&w%+Z^}9=d6_n^L`H3iVCO$<&ZQfs0H;~ zk?X#iwYuJ??*n(Ij=O@Iei>J3{06Vc6f!J~T9iXe!ifwxpnH zjR!3pGh@~fK7^SH5AO9Y{?&KK4j&8gITep~3mCKbmHODePGFnp@!5W(u8=MQ4fp_Z z`h=HAQrL@~`|o%DR(@v;c2>TDM+VoP+d_?TZ67L(JjU2!NZ#89vnLIN9!Tn$QqXoF zA-ZN4Fbi9o3oUfFmWAC#VJCgzDb$oQ(`QrNUtmi|X z<*Oq-$!*nybiy#}vF6QhTl~$BO*wH0d0x>S?q8ASQS41`CH^-LSzYsJheHt~r2j_8;FXzHjO_p0${D?YpRn)M5At ztv+DIS}sfI$@3VYpi5k-In_T>^=H>ceBJ%>;?9*`NA?jCet|sPmGXvnRwp2NXyxd4 z^!2?pA3UB&Gq@yZknl9SR^|s)Qd)qwjBP!C4QySfZt2e6FQVDU^PYp$_M8IaPqn99 zFTX3okrVe`IpD1_5Q)_v=X&>!UM44-n9XF5zdfFxo}6HoR=%dPe!R0FJ6onLbVsY!6>Zt*y>!e^!>1w~vOF zPC+MCYWo=Dnuj2vP^~h5M&K)AYP#guT8NmCE-WWBl;(d; z&dnK1a^D}$yDr#hdh<;ZdhO*fz~pwN(f^yKS3H(Eysb7N*5H{t`OM_Im8mq(5k(zU z_3of(7EU{ZB!k?PoGe$qqw8^wm)e!#E0zCfV>)M+M^?B7$2vMonxQu(@w|69dDDNt zb2_K_(lb7e;2mmP_XP@}T5oWvZF3f7F%yd8S!wBjyO$q&SmLVW`Tn4Vixx_erT0nt zO7|L=MMV{t@G+Z)8^g6}56%wC zmd7!d-|eJ1mE}eL*PyG7wX=)8ilnJ9wRBzjtp2r!xxl->kvYxzcT)t7{R>Ro?E1Ls zwns>Zx=#{~HkZfiy)0_>qiydk3S5jVH58Sg-s@vnNag0nbD83X?`Tu^+ycllAr3)j zjQ0wxNxPG#<9Cuy(YsZj*YfQf!`05~L@zqmFHC&3suat`(nh~euQRLjUNLDgC9yPx z!q9R~g;fxi$P}qAQ|gN%$}jRc99b zBbG;NV-$Z5C{UA<81ar|I(t;sAlxm=Z5zP#)Wr14mn1(l^aJB-i%9yG*zi;{oX zl~q@u*ti=4$+2}e(N1lOi$(WpD+&(B0vALKpFJfHD%Z@~HGI~G0(synxT_ZcK-JY?^2=bEHO z>;$bx*ke8Gc8 z@2cp^ZC>H(tc#DVcDpytKN9zM1uVda{#HVCg}q9I5Z;@@xra2_YGeS`tWG~aX}`aQ-0p`1HI zE4N3wZTr?Zz|QLmDBf>>IC6q4n1BxMW~g5{P7IBhIM$H|b4&7qzVN)M)l|D+C% z#BgR2PNb*S5lVht0NVV&@RQFJ;tt3yf%XEZ1hPbbjDl|t8fgfkk-|kuqnq*vUH-r4C8IWC1d=|@K7>d@+1Q~RJ2u5=^2FR? zYC?m7hRe1*Uro&M;V44c&~i?9l$a=YRD8DdC@@KL6$MFM@Abt&j4|WVYV~)GWYO|G z5Bn@!3*-z2PNBW;tqD^VFzM-B@o5_}N6jTVUXN(m>~wG>`LfuP8xdF<`!JgA9z;ot z2jUI@Zm}*2%kjhci>bE#2=~rNR^*7maKwW1?7qcPS>q#Vozvchr8VeqT90l+Q0prxoP=D(lUJgp%4|gwSn9l3UI+FRwfYnDij65AEM0dsuq1KaeZIHUtZhR zxEEg^1>m|Ay()k;6Gjx*nAvrSYvkNTk;?PHkyI%M9)ptWzJHafNlQfwfY$yrX>iR? z9=Ub_G1%hqAu}~H0wHD1Qt zKX~{UL=bCnzHXulg%5CfGIO*9##C)l+!vm=)Aym}?G-i@;b|6sWCqb2rEQEVuV6Qj zip;;PF?6{1Km^Edd4ySCcZQiuXP%UQ$3L#GIRYW(SMC8-9P12V&2EpMO+dpJ=T0A* z^UThw_YB#8rw?xSd4!hXSUGANJM?|R*!lTT(4Bt`meSboFvw3CAD_G5HXT!kH605< z&NGm4v-fRBH>A^1xW#EPD>9P%&`q}oQ?#BsAX_%U?FE%VkF=B8T!CZj^7eTZw2&p4 z-7BbX2Gxy{n;|n7-Ks1tpsUoAnjs%n6t>p9i_Wh~$i)Q*tNv+$=-r?tj(rf}rBi)$ z89S#4!88Lf2w%PV_XCJ*%=m#H0H^4O`x(Q|0fpFqag~Z6vL9GfYz*ENGJql{lL4~} zJwEop127FJ$^SRj$QI=k5?!+y)C~fZ=aApH&UHZSz>+2p0rBYj?Y+02_MfuAe}T9! zjKOdW2k}xQSpdL@lNGbrdPE!kXq!N^BI$^BXCJ>2DHmhvzNHu>QRw;{csBCr3FrNI zlwxfAtkkk43|0MegS9Q2a$3%0`bk1s4@pwQP&61V^oh};L=#m2xc7hxxoL)CY=^JB z*1Lt7%+ydJ&>9D{JdS+pp+=3x&vaOexH?ck$RZ786J?n{ajf|D(AQX;dlCCT^kf|qOm7I{?eJYcY&f0yL zZN=gxgN|diBtM2JC{qkx_dWI~Lbn_OD~1tEypHeqGQ6yDX+o-nu)Qp{HeQcl(^?iK zL+Jfr0qulbZv{*i)cyy|CKPgyX<=NZ9`>0a1yKlS5Z^&7v5eMuz%#AELyB6h2loOC zR@MeSsf;r`YQ|vVfhtZM;ca7!5R1t6uLz56Hvit|@ z4yd(ghv6~}$ppB!%3?B7FT49jr$RKxReai0YG>)FuO?zX%$1o14eHKaQV&cKH5+iQ zZ!csb$oohWO5v_=EPa8Jx&Hi6#==k?!C1E%pQvy0-zR^9khcI(z`b@j$Nq|PYD!+d z1)BWw5S5nm?GTF^>LOvhHL2f6S$&Z7t@(Ly}yqj*QQ3-^8wYWngY1?c$BnJ5usxElP`<92E&+} z9XC8^4#)043Wz`-@Dw&12KM-5|jtUUX#bkp76fd ziclWH23%i!0OG5FwPx&Kg>rb9Q!JY;SO_d2t#a$)^jF?f_}YFbzc9#T8^|Nm%JROW zf?;#EHyD2-1}#~&&5gg(pkCuA2&GvgE)*EfnFYMy+&PIw>`>{CWTSwrv%}T1;qHLX9)o`sjiXHtV?}=_v#cSrSIY2LMG}mP< z$+IK&8evJLb(_bUGlo{Vxy{^c_BgMwpfuRPGLK(v&TBb08P|kl{7Amo`0(3~q&1t2 z_zU+o#zEXdzqY0W7I%A8hFKWS_-q7wm`u__V_CHh~#rosuqIyL}N8kZO7}9YfF#xCF?QO3Rpr-;8 z$fN*a^#65VIKfVM#qK$8e&InHf*$ zF1-j~WY$AXUJqC@9o4(&(J*{nXZ;Ba?aCx7ZBpj(haZlhZpo`Po33T+?5rlTyTGEw zv>$EphO6SM81S~hk)<`ppf%{;oW6QiyOoS-TPbCA6s6VpiQnaoa9#5jf;~Hanuti; zy?S{oqE&OTt}o}~gIhs04pd$_QM>64gqgz*9U~UJa%}wF>(tG+o&Q`E6A{zb)JK8& zP`1S*VN5VtY=gkfPg4RAf96$R$gtUNEm(V(hC}*nZSfZ)yu!{HFy#N_|54Ny__^Nd z-2Y?wL8y>R%5fwuJ`Fjr%7~ep8h)AwNSH^{7+QkKyJEW`;tt*a8C1*&*VwUG<7Uau zR9ure@Jbw2nRwM$%y^|uVHX z9NNd-rJKw3kJoqIw4aZ|`nQr39Xec=>G073i#SBtR0r6MBD(?)1qeUos3e8UvhiIRAvT@g=B7H zw6nV2Y#~$xrfh{w_rZF$F7huB%2W_^9e27#W|R{U)atS!4V zT(qO}G+vy?SN+GYAVY|_^NGM`biKtS0Ng2Le^(4OmCG7@azZIIPI{HPk%Fj)TMHJ;rHu!tCBGM_tDdNhuH+!ABHUo z%eVi;zOz2cL{k>DgwQ9_fsm|AMBihu~hYI&MkT(|_JAR!?lNJp3s zxpUssW1Bx|=sRl&>EQDtM&BgQ?0wem6vgcQNABzGpFs%4sTG6BPRG}`*{H{zJMw!U zUD$V4@e1w?^oGpBcHOVK+25xR3E7zw4P^k&%j=q&uCQ7vp0?Ju zy~IqGH*Zs22XuhJPYKmWHy|hHrVMRAIw1Tw_k$lgF59C%Y_3>syc~h0Ia#lJO?WO3 z&p$~9^xjIHReUbRZ}hX^F~=vy1@cs8=xAy|1sF9YPn(U#rUz3k4k}Bw4aK&BX-nY= zk-XioW8ZwmkJsswJc)lW?|z)GzG^0yi$$5``{xFzEk3I& z(qfAiE#bmZ*PzSNND028A#LSC=-uj_N5s2_ot4e60$IBD!5xe1>~CCN)YQw;7b zh+DTf_;!*zDdP6xzV_U@2~roQ*cP#Zg*lAq5bmY}d23ye>TBaKZwhMU=%aF4antlm zqTcH1Qr_U$nGppPG>bvT<~YcXLg7(V*ilAIB?^AN`t~&y6%izOIXav@urXqTf4g;v z6CigTUTDd3Y$T3%SSt3%8mu5)FH6oosXLV~KgCgzYfdpy1&oa+Qj#KYw;;eQ|89r3 z)Pp(Kp~Ou_P#}_`Mk7{!M=t-NLe&8Aeb@C9Dj-BGY^ezT^ZV3<94HdlTMoRlpt~N4 z_~bDuofqHxdq~5`i3zGe4|1vAv@NG23R+Txs0fhdrBb)zDnc#U6fE<_iT;YnFIHAm z6p>y+UsI*?Jal(jpJG83y7;RU<-5fWAgGCo1Km_~HtP$H9WJrIa?PKffPi2c|G6&! zqHuXbL&TeK81P>$)fj%n{O0ELg$1L=#>Su6F)}o{LY9_{W=#=~I9n9RoZtL)DNso; zvoAR**~vbF7(mcRd&3(_oKP{NF;=Yw%e~{)1o-6NPkBy*>Ga)^_%Q=QiB*x0*6a>{ z%YsJ4cG<6tw$QkEc!`jcgfBerMO&LIG$JwX<6xpB95^9y5}|xwx$OPcglHXkn$ot1 zr&RcJ3&ilprOftBOysiC`nmAx zU3#GNH-ugvLEN6ma;$u2i~FkwKPT$+0J1Zjs%f`1h+KHXeqY(B0V@*5gZ{%f5U7Lg zuevEWp4qCbk7CRq51xV~FL3N4G;5|8uWYb5IJ+7o=SryV&35lN?tpnKVSa_#6E`{F z75OZt&}+J-cL_9|n?H5@ z&)piB1`!<;wb<)Q9v9SU0eLMGa+*BKKPIq$-JxOV-)`RE_-_tfolby2wL)zGq_LY| zfVM59J7VRFbUFZMo1>jc_&;n-=ihv7Y5!U4#4bv4%A{4E4OxKZQ#8aRNF$;D)4_)T zSnElzZmz{ZEBuc+VDH}+akl>(NTdH3V+;Q`Ct9egT58S@b`^LVYZh#~oXmnP@h@ zWV$t$^@dUAr;jp@pY18crTn%;k%VGvbQj0FqRbD#jwz@NFe2(AM4J_)Xia2lblJq+ zXvm@`%L-ZmnJNH(^7BNLM->pX&yw*I#5aoxTVBJ)&PHN6YB-P|Bb-OguP2S{vc&km z`ndCWCKx!5<2m=Ju*bSwIifjIx-d_X`@WBd2#vxLmX1paIG!q*>v9^K;yug^6 zh7c(kO#yFQl9w|qPu%Lr%CXaFQp#CoWCWw~QHfBt8GN_q39yQAuKHR-@&#S|8wB^* zQH@e}9!5Y#XuIRL?DFm=@#yCIa`OZTVJW~N#`9;_c`t6)=8=-P3u_UF6&8^_KHYw6 z?;rHtzEV@Kri&FrdYL6@@qK^3j*OHJSmy9kY6Xw6;}JB6x1f*}4`e`|wgSl0-j|qJT3q4SKN725lCItQmSRlXiQS*R zw=x$d4FjDmc#h01_U?&rTFXQ^X1cf#+P6$C3&dMm=d$wS&P1I4ax zwDZ}rbdX3f#49zh@GO#(nb~yj16_U#CpQEWg9->=aBWrT@a5~Mpp8celFO>g8B_BQ zjuaLbn}^6F@L^jkv-sXAAvfsV-X>x6&WW%#W0e9(4+Ztv9zRBV!M)bE>kMTOID+IV@1VSD69uk$24Fs@6R(W+`{pC1-+ zyZbBQeybBfXqQRgwP8eU&uyjf5~$HkGE!^nFDtvJ^=ehM20S1#17A(U;dm)pXe?JN z&B*6Z3uwfY644S=;dG4pdJi_&ylPT#5=tGsmAyY2=KQr!GxAe=bGU@6<>mDi+?yTu zw&q`-Ur$^I3=u}h9KG3)Qnt+tpV>&go0HncFEtqI81?5pdUVq*S?Rq4>6wj}_SDWY zmu>X{8Yl4PC~0JYn?H|RchU1;iCfclm2h5i#@;c+o`Li6oP#)fs9NrgC!1H}UA>al z$3{7JIs?-Qd*WJg5-RCkcqbuFI|tBAmT7BI;%J=kf(Un6!lv$Dt~+RU*{9RvNpQt) z@B7`IS!YMbvlGuZ0{zB^h6%ot>(ftXI;I5qvEfnTTugLY^dm=ukjfF4)}etm2D!xg z&zYkFX4EP`2v5iD6CGSub;bZ zTM;*w$g^ikp?!#Y{+v5Cd5v)CYyrRq8{o?9Ne|WoMn~-A|Bmj zH1rnKXs^y691J~lF5q%Cq8O0SE|vK1U91*-|8o*UngZjWCSIf52h_blYcKr5++@{hh9mW4Ur@OvY$%Yde~fjd@kRgN~fl)Au51EA$Ed zl$sPC5w#Th?so`HB_q{d#W)Hh@I3;ebIjD?@q;@>V_8sOj;J){^eq-iY{%u?LN@2f z#>ZF)W%;abO7L5$sI|pulX)1dE6puLUCb_}i{Z>4;Z1Ri2MxIvQPB4_Ryp8rl&fl< zGjoeZoWplxHh$(exNbq#)r*0G#EzSe<-ak93dlk*Eq>g}X!uOpy-o&r|J!mf!njlB zHbXJIq7rR-XKC#!&UX=%vpFr7Ly|IAxVoX2!`o$lk^PAEQ0Uv(;0QDx;4s2yCXV?_ zcx1%(#0>M0X5h{_HTA*059-Yzu{3~Z zqN1JD@DQCA1;bP)SXE%sob zyDRx?+HNR)9qHOn5_iZr66*VdBfrN$#(=e~A0ey%Sm(mjL~j0Qr&t_mlwqmjL{i0Q{B!?uY>UmH_{#0ROxI|I7gY$N>Mi z0RN%@|H1(Or2zk&0R5E!|DOQ=zX1QT0ROB2|Fr=B#Q^`W0RET&{g(h7xqMgv001F$ zQchC=KQ;?|1-aR!s zjvbS;vnjqwf?D3$e#<%?m50KU|+h&1I5ByZL z@0&4y#(rHl17zngg1G28I}*tKB&#^NoMaX!TVrzhCFg4ttmNE`l9@GOeX2tV1gS_# z406DwZS+b4#&z;1aLv5YpN2rWkqsT`KXZUvPG<002ovPDHLkV1ir7T5ExVIiL%GW-#c0NNk*1QS5J3OPj&S|{RnR2ym{62URBTZ*jS)Xx7)qCx3_ow;Nalq z;o;#e1b!Zi`O|8(E*~8oO&lK|-&O^{MhOb+P@qNw-;Dy)%F4<`uweo!4cr9rz_5mF zK#d00q*!3RUhi5SfcDt^%l;eIWvy1bAQIg0;wluV-oeS8_1)yb%67lI zx;q%G?Vhfwz9+JJ;*L|m*1O4c3TiaI^^z&o_pxS0fon7xmsA%DhO(g20AMg0MR6IX zW%V4m;rgP$A-?V=Gf_yx{{H@r>_yi9^zZAyA)3AZq^h`xPfes<9=O$=)8#0N3z3@h zc>uw%g1xG!;-YdUsEP*cHC4q$l<(|xI#--ha~RM;@x{e8H4$(yiuA0APE8282{_yY z(Y_NGqVkj`;1GoGtcviRloivtm27cQ{XTS51bagZHSU_4y5a&YjXpI+`%Wq~k#eR0 z;Y(G219Bs>zk^XW1*a)4;hS1jXAYBW15T{(gfA?bnxdOpAE~J+F5^-5cu_R9)c8R) zQ*rd26QNUc!gl-+O>yy+n!2Vom^5Hr_)1NYO>L1LPrUDR9zPJ$peimw)*jY_s;J-s z=YI|cF7cs#UK)a!YHB;{^L8@xs6H6D#M`a&g@wJ}Qw@yLYPs~=4cL?K>P-~ZZs9B) ztEy=j)(z6j7i;Wtpz6j)tK_Rqf2^?<6KW%JRJ@-xBV-M&h$k+GR1Hqy1juYSffm_Zo>7k69H?KDaMpo*N-j!63&{=6z2_HO)6zj z*78iTE?)c)%$kWQ)VX*p83@7}-HT&ojWop;J(`USu(75y#lF&Uv{JIMR)#4i zpBvd>X3e)L&NIwxtWl=ewMWZ~cP&QNTsAI>#QPRwg)C}{F`h%JnZ{x}nPz)NS@j>y z){{BcN0kib{(KLCQdRP0Gnp<6;KCNu%SXB+23~I_Q)PgATvxw*RLVo3y0`IB*&crH zcYOoIjbmARI!}pMYWF971H|9k>@mK4q&wOJ0Fh2U0Y2YgelJxA5O*5x!Y6xQI?V5- zs@``i3m{~N{k>EjK;K%3lxKf+3|+ZuNaPzJtFYSu^dLJ`7VR^uy1*eQUNRG5mr7-26< z3&jY#2H=D%KuXxfoC8)=3su4{>I6j>fDm*_^F*FKtJA_%>=Bd{h&n;a79h&MO2EY) zEa);L)d3TG*0U=>ND9_j6u?ZiFg;KrDo`dfQmjpJ2Ufd&V2Tk%0R06CiCRm%NuNdl z001p?MObuGZ)S9NVRB^vVtFoNY;SL5WO*)Qa(QrcZ!T$VVP|D7P)Z)9b1 Ts0M%T00000NkvXXu0mjf(Uhml literal 0 HcmV?d00001 diff --git a/factory/spawn_properties/assets/images/playerShip1_red.png b/factory/spawn_properties/assets/images/playerShip1_red.png new file mode 100755 index 0000000000000000000000000000000000000000..3695e09e21c6f37cf43dc8dd745b6f8134dc83f4 GIT binary patch literal 2710 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 Q?f?J)07*qoM6N<$f+-O%kpKVy literal 0 HcmV?d00001 diff --git a/factory/spawn_properties/assets/sprites.atlas b/factory/spawn_properties/assets/sprites.atlas new file mode 100644 index 00000000..86100e06 --- /dev/null +++ b/factory/spawn_properties/assets/sprites.atlas @@ -0,0 +1,10 @@ +images { + image: "/assets/images/flame.png" +} +images { + image: "/assets/images/playerShip1_red.png" +} +images { + image: "/assets/images/lighting_blue.png" +} +extrude_borders: 2 diff --git a/factory/spawn_properties/assets/text48.font b/factory/spawn_properties/assets/text48.font new file mode 100644 index 00000000..2622c04d --- /dev/null +++ b/factory/spawn_properties/assets/text48.font @@ -0,0 +1,5 @@ +font: "/assets/SourceSansPro-Semibold.ttf" +material: "/builtins/fonts/font.material" +size: 48 +outline_alpha: 0.0 +outline_width: 0.0 diff --git a/factory/spawn_properties/example.md b/factory/spawn_properties/example.md new file mode 100644 index 00000000..bc1820f1 --- /dev/null +++ b/factory/spawn_properties/example.md @@ -0,0 +1,37 @@ +--- +tags: factory +title: Shoot bullets +brief: This example shows how to spawn bullet game objects using a factory component with different properties. +author: Defold Foundation +scripts: player.script, bullet.script +--- + +This example shows how to dynamically spawn bullet game objects using a factory component with different properties. The setup consists of two game objects; one for the player and one for the bullet that is spawned using a factory component wit properties definition: + +``` +local properties = { + speed = self.bullets_speed, + animation = self.bullets_type +} + +factory.create("#bulletfactory", pos, nil, properties) +``` + +player +: The red ship at the bottom. Contains: + - A *Sprite* component with the spaceship image. + - A *Factory* component to spawn bullet game objects + - A script to handle spawning of bullets. + - An additional *sprite* to indicate what type of bullets is selected now. + +bullet +: The bullet fired by the player. Contains: + - A *Sprite* component with a bullet image. + - A script to handle bullet animation and movement. + +Properties added to `bullet.script` define what it looks like and how fast it goes. When bullet have `go.property` defined in its script - the properties will be also visible in the *Properties* pane: + +![bullet script with properties]() + + +Combine this example with some of the examples from the movement and physics categories to create a shoot 'em up game! \ No newline at end of file diff --git a/factory/spawn_properties/example/bullet.go b/factory/spawn_properties/example/bullet.go new file mode 100644 index 00000000..bb69eb40 --- /dev/null +++ b/factory/spawn_properties/example/bullet.go @@ -0,0 +1,19 @@ +components { + id: "bullet" + component: "/example/bullet.script" +} +embedded_components { + id: "sprite" + type: "sprite" + data: "default_animation: \"flame\"\n" + "material: \"/builtins/materials/sprite.material\"\n" + "textures {\n" + " sampler: \"texture_sampler\"\n" + " texture: \"/assets/sprites.atlas\"\n" + "}\n" + "" + scale { + x: 0.5 + y: 0.5 + } +} diff --git a/factory/spawn_properties/example/bullet.script b/factory/spawn_properties/example/bullet.script new file mode 100644 index 00000000..b28e5d74 --- /dev/null +++ b/factory/spawn_properties/example/bullet.script @@ -0,0 +1,18 @@ +-- define properties of a bullet: +go.property("speed", 800) -- pixels per second +go.property("animation", hash("flame")) + +function init(self) + -- play the animation based on self property + sprite.play_flipbook("#sprite", self.animation) + + -- animate the bullet position + local pos = go.get_position() + local distance = 1000 -- distance in pixels + local duration = distance / self.speed -- time in second to travel the full distance + local to = pos.y + distance + -- start animation and delete bullet when it has reached its destination + go.animate(".", "position.y", go.PLAYBACK_ONCE_FORWARD, to, go.EASING_LINEAR, duration, 0, function() + go.delete(".") + end) +end \ No newline at end of file diff --git a/factory/spawn_properties/example/player.go b/factory/spawn_properties/example/player.go new file mode 100644 index 00000000..c5c1c5d5 --- /dev/null +++ b/factory/spawn_properties/example/player.go @@ -0,0 +1,54 @@ +components { + id: "player" + component: "/example/player.script" + position { + x: 0.0 + y: 0.0 + z: 0.0 + } + rotation { + x: 0.0 + y: 0.0 + z: 0.0 + w: 1.0 + } +} +embedded_components { + id: "sprite" + type: "sprite" + data: "tile_set: \"/assets/sprites.atlas\"\n" + "default_animation: \"playerShip1_red\"\n" + "material: \"/builtins/materials/sprite.material\"\n" + "blend_mode: BLEND_MODE_ALPHA\n" + "" + position { + x: 0.0 + y: 0.0 + z: 0.0 + } + rotation { + x: 0.0 + y: 0.0 + z: 0.0 + w: 1.0 + } +} +embedded_components { + id: "bulletfactory" + type: "factory" + data: "prototype: \"/example/bullet.go\"\n" + "load_dynamically: false\n" + "dynamic_prototype: false\n" + "" + position { + x: 0.0 + y: 0.0 + z: 0.0 + } + rotation { + x: 0.0 + y: 0.0 + z: 0.0 + w: 1.0 + } +} diff --git a/factory/spawn_properties/example/player.script b/factory/spawn_properties/example/player.script new file mode 100644 index 00000000..3f123d45 --- /dev/null +++ b/factory/spawn_properties/example/player.script @@ -0,0 +1,48 @@ +function init(self) + -- make sure the script will receive user input + msg.post(".", "acquire_input_focus") + + self.bullets_speed = 500 + self.bullets_type = hash("flame") +end + +function on_input(self, action_id, action) + -- mouse or spacebar for shooting: + if (action_id == hash("touch") or action_id == hash("mouse_button_left")) and action.pressed then + -- position bullet somewhat offset from the player position + local pos = go.get_position() + pos.y = pos.y + 60 + + -- create a table with properties of the new bullet to spawn + -- keys must be the same as defined in go.property in script in the spawned object: + local properties = { + speed = self.bullets_speed, + animation = self.bullets_type + } + + -- spawn a bullet with new properties + factory.create("#bulletfactory", pos, nil, properties) + + -- key 1 for changing speed: + elseif (action_id == hash("key_1")) and action.pressed then + -- increase the speed, if larger than max limit, get back to minimum + self.bullets_speed = self.bullets_speed + 100 + if self.bullets_speed >= 1000 then + self.bullets_speed = 500 + end + + -- we also indicate the current speed of spawning bullets: + label.set_text("#label", "Speed: " .. self.bullets_speed) + + -- key 2 for changing type: + elseif (action_id == hash("key_2")) and action.pressed then + -- change type of the bullet (its animation) + if self.bullets_type == hash("flame") then + self.bullets_type = hash("lighting_blue") + else + self.bullets_type = hash("flame") + end + -- we also indicate what type is selected by changing helper sprite animation: + sprite.play_flipbook("#current_bullet_type", self.bullets_type) + end +end diff --git a/factory/spawn_properties/example/spawn_properties.collection b/factory/spawn_properties/example/spawn_properties.collection new file mode 100644 index 00000000..e7cc3d71 --- /dev/null +++ b/factory/spawn_properties/example/spawn_properties.collection @@ -0,0 +1,149 @@ +name: "default" +scale_along_z: 0 +embedded_instances { + id: "go" + data: "embedded_components {\n" + " id: \"label1\"\n" + " type: \"label\"\n" + " data: \"size {\\n" + " x: 128.0\\n" + " y: 32.0\\n" + "}\\n" + "color {\\n" + " x: 0.0\\n" + " y: 0.5647059\\n" + " z: 0.99215686\\n" + "}\\n" + "outline {\\n" + " x: 1.0\\n" + " y: 1.0\\n" + " z: 1.0\\n" + "}\\n" + "text: \\\"Click/spacebar to pew pew!\\\"\\n" + "font: \\\"/assets/text48.font\\\"\\n" + "material: \\\"/builtins/fonts/label.material\\\"\\n" + "\"\n" + " position {\n" + " x: 360.0\n" + " y: 40.0\n" + " }\n" + " scale {\n" + " x: 0.5\n" + " y: 0.5\n" + " }\n" + "}\n" + "embedded_components {\n" + " id: \"label\"\n" + " type: \"label\"\n" + " data: \"size {\\n" + " x: 128.0\\n" + " y: 32.0\\n" + "}\\n" + "color {\\n" + " x: 0.0\\n" + " y: 0.5647059\\n" + " z: 0.99215686\\n" + "}\\n" + "outline {\\n" + " x: 1.0\\n" + " y: 1.0\\n" + " z: 1.0\\n" + "}\\n" + "text: \\\"Key [1] to change speed\\\\n" + "\\\"\\n" + " \\\"Key [2] to change type\\\"\\n" + "font: \\\"/assets/text48.font\\\"\\n" + "material: \\\"/builtins/fonts/label.material\\\"\\n" + "\"\n" + " position {\n" + " x: 360.0\n" + " y: 120.0\n" + " }\n" + " scale {\n" + " x: 0.5\n" + " y: 0.5\n" + " }\n" + "}\n" + "" +} +embedded_instances { + id: "player" + data: "components {\n" + " id: \"player\"\n" + " component: \"/example/player.script\"\n" + "}\n" + "embedded_components {\n" + " id: \"bulletfactory\"\n" + " type: \"factory\"\n" + " data: \"prototype: \\\"/example/bullet.go\\\"\\n" + "\"\n" + "}\n" + "embedded_components {\n" + " id: \"sprite\"\n" + " type: \"sprite\"\n" + " data: \"default_animation: \\\"playerShip1_red\\\"\\n" + "material: \\\"/builtins/materials/sprite.material\\\"\\n" + "textures {\\n" + " sampler: \\\"texture_sampler\\\"\\n" + " texture: \\\"/assets/sprites.atlas\\\"\\n" + "}\\n" + "\"\n" + "}\n" + "embedded_components {\n" + " id: \"current_bullet_type\"\n" + " type: \"sprite\"\n" + " data: \"default_animation: \\\"flame\\\"\\n" + "material: \\\"/builtins/materials/sprite.material\\\"\\n" + "size {\\n" + " x: 99.0\\n" + " y: 75.0\\n" + "}\\n" + "textures {\\n" + " sampler: \\\"texture_sampler\\\"\\n" + " texture: \\\"/assets/sprites.atlas\\\"\\n" + "}\\n" + "\"\n" + " position {\n" + " x: 75.0\n" + " }\n" + " scale {\n" + " x: 0.5\n" + " y: 0.5\n" + " }\n" + "}\n" + "embedded_components {\n" + " id: \"label\"\n" + " type: \"label\"\n" + " data: \"size {\\n" + " x: 128.0\\n" + " y: 32.0\\n" + "}\\n" + "color {\\n" + " x: 0.0\\n" + " y: 0.5647059\\n" + " z: 0.99215686\\n" + "}\\n" + "outline {\\n" + " x: 1.0\\n" + " y: 1.0\\n" + " z: 1.0\\n" + "}\\n" + "pivot: PIVOT_W\\n" + "text: \\\"Speed: 500\\\"\\n" + "font: \\\"/assets/text48.font\\\"\\n" + "material: \\\"/builtins/fonts/label.material\\\"\\n" + "\"\n" + " position {\n" + " x: 100.0\n" + " }\n" + " scale {\n" + " x: 0.5\n" + " y: 0.5\n" + " }\n" + "}\n" + "" + position { + x: 360.0 + y: 250.0 + } +} diff --git a/factory/spawn_properties/game.project b/factory/spawn_properties/game.project new file mode 100644 index 00000000..500ede71 --- /dev/null +++ b/factory/spawn_properties/game.project @@ -0,0 +1,65 @@ +[project] +title = Defold-examples +version = 0.1 + +[bootstrap] +main_collection = /example/spawn_properties.collectionc + +[input] +game_binding = /builtins/input/all.input_bindingc +repeat_interval = 0.05 + +[display] +width = 720 +height = 720 +high_dpi = 1 + +[physics] +scale = 0.02 +gravity_y = -500.0 + +[script] +shared_state = 1 + +[collection_proxy] +max_count = 256 + +[label] +subpixels = 1 + +[sprite] +subpixels = 1 +max_count = 32765 + +[windows] +iap_provider = + +[android] +package = com.defold.examples + +[ios] +bundle_identifier = com.defold.examples + +[osx] +bundle_identifier = com.defold.examples + +[html5] +show_fullscreen_button = 0 +show_made_with_defold = 0 +scale_mode = no_scale +heap_size = 64 + +[graphics] +texture_profiles = /all.texture_profiles + +[collection] +max_instances = 32765 + +[particle_fx] +max_emitter_count = 1024 + +[render] +clear_color_blue = 1.0 +clear_color_green = 1.0 +clear_color_red = 1.0 + From 68696167595e85d0724e71f844585275961bc590 Mon Sep 17 00:00:00 2001 From: paweljarosz Date: Wed, 8 Oct 2025 16:58:51 +0200 Subject: [PATCH 2/4] Added thumbnail. --- factory/spawn_properties/example.md | 3 ++- factory/spawn_properties/thumbnail.png | Bin 0 -> 27457 bytes 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 factory/spawn_properties/thumbnail.png diff --git a/factory/spawn_properties/example.md b/factory/spawn_properties/example.md index bc1820f1..2d53591a 100644 --- a/factory/spawn_properties/example.md +++ b/factory/spawn_properties/example.md @@ -1,9 +1,10 @@ --- tags: factory -title: Shoot bullets +title: Shoot bullets with script properties brief: This example shows how to spawn bullet game objects using a factory component with different properties. author: Defold Foundation scripts: player.script, bullet.script +thumbnail: thumbnail.png --- This example shows how to dynamically spawn bullet game objects using a factory component with different properties. The setup consists of two game objects; one for the player and one for the bullet that is spawned using a factory component wit properties definition: diff --git a/factory/spawn_properties/thumbnail.png b/factory/spawn_properties/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..aaa762bae570407b9e8ee84da5652f3851445fe1 GIT binary patch literal 27457 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

YZ*I=7hJA6{uMVUCzK2mi=7|5vdmHi+- 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 literal 0 HcmV?d00001 From 671a89a21a197536eff709f6b727eb470c04c84b Mon Sep 17 00:00:00 2001 From: paweljarosz Date: Thu, 16 Oct 2025 16:25:10 +0200 Subject: [PATCH 3/4] Changed example to emphasize power of properties more. --- .../spawn_properties/assets/images/bullet.png | Bin 19569 -> 0 bytes .../assets/images/enemyBlue4.png | Bin 0 -> 1895 bytes .../assets/images/enemyRed2.png | Bin 0 -> 2568 bytes .../assets/images/laserRed04.png | Bin 0 -> 281 bytes .../assets/images/lighting_blue.png | Bin 1465 -> 0 bytes .../assets/images/meteorGrey_tiny1.png | Bin 0 -> 372 bytes .../assets/images/playerShip1_red.png | Bin 2710 -> 2416 bytes .../spawn_properties/assets/images/star2.png | Bin 0 -> 297 bytes .../assets/images/ufoGreen.png | Bin 0 -> 2358 bytes factory/spawn_properties/assets/sprites.atlas | 17 +- factory/spawn_properties/collection.png | Bin 0 -> 19429 bytes factory/spawn_properties/example.md | 78 ++++-- .../spawn_properties/example/boom.particlefx | 265 ++++++++++++++++++ factory/spawn_properties/example/bullet.go | 33 ++- .../spawn_properties/example/bullet.script | 18 -- factory/spawn_properties/example/enemy.go | 49 ++++ factory/spawn_properties/example/enemy.script | 60 ++++ factory/spawn_properties/example/player.go | 54 ---- .../spawn_properties/example/player.script | 48 ---- factory/spawn_properties/example/ship.script | 18 ++ .../example/spawn_properties.collection | 133 +++------ .../spawn_properties/example/spawner.script | 54 ++++ factory/spawn_properties/game.project | 6 +- factory/spawn_properties/thumbnail.png | Bin 27457 -> 41972 bytes 24 files changed, 580 insertions(+), 253 deletions(-) delete mode 100644 factory/spawn_properties/assets/images/bullet.png create mode 100644 factory/spawn_properties/assets/images/enemyBlue4.png create mode 100644 factory/spawn_properties/assets/images/enemyRed2.png create mode 100644 factory/spawn_properties/assets/images/laserRed04.png delete mode 100755 factory/spawn_properties/assets/images/lighting_blue.png create mode 100644 factory/spawn_properties/assets/images/meteorGrey_tiny1.png mode change 100755 => 100644 factory/spawn_properties/assets/images/playerShip1_red.png create mode 100644 factory/spawn_properties/assets/images/star2.png create mode 100644 factory/spawn_properties/assets/images/ufoGreen.png create mode 100644 factory/spawn_properties/collection.png create mode 100644 factory/spawn_properties/example/boom.particlefx delete mode 100644 factory/spawn_properties/example/bullet.script create mode 100644 factory/spawn_properties/example/enemy.go create mode 100644 factory/spawn_properties/example/enemy.script delete mode 100644 factory/spawn_properties/example/player.go delete mode 100644 factory/spawn_properties/example/player.script create mode 100644 factory/spawn_properties/example/ship.script create mode 100644 factory/spawn_properties/example/spawner.script diff --git a/factory/spawn_properties/assets/images/bullet.png b/factory/spawn_properties/assets/images/bullet.png deleted file mode 100644 index bbe9f2d9e0dcd1e04b352a1d6f89880327ad78ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19569 zcmb@u1#lxxx29=oGcz+|o0*xJnVFff&CJZq%-Ck8w%ulCX0}(~fA8Gc*}1cOXJZth zP^hF-m9nx29F<`1yT%+`;|4wK0{|V-G0_3FSQ&PeeHwQP}RVG+(pS+WM(gwG6LqYkR4F z-e%Qeg{>#U%z3%-r+xc3t z(fMBW&5%+1&07PKC>W>FWn>4lU-qoWDuV<4#T_%`?oS#RwiNUg|-?APX)#*--)Rb5t zM`pOawn_LO8me7hobWfRP`vYhV9@Ko-u_6g4fw$>XY@^wYv8@}a)u!kt~?Ee(4JZ< zw!qXhJ~e*%cpK?kQmxz6IeRG{H$jF8-FSP?5FQsdn2_Z9!q~^(ADhz!6&i$!hMrI9 z{f@w4OI}8o5&rxc=3(fo?9O3hHi`YCg? zTFz6}c(1k>1t$mT7|F8n7>}aZ)ELZunPrSa5&hnZr&UZ%yEK%!1%nkcj(g9+!{d4W zQ}oik#n(2CbJ&lLC8=cv%~uy!v+ic_6Vt-NqS!{C)6)~ak!fMxs)YsDqPXGIAkWrv z!JN^*I|+`#U&y#VjlzOCy~l~uQw(E9fcA%ZwxH5JxD*2T{1NR@V#(szn4ADcIHC7) zMzov+c^x6Xs%)vpm&(*TUr8b8RMG5lqUkWDYz$bE*-!Jt+&enec7$t+s0j1ax!3t9 z8~ZmVt!`QB@g{OZs_&3HIc`s8az<)y6zMt9pLQT+v(9rJzBDm4jvxOwo=I^^?>|BpM zP%UAzOd~sUnN+y5YMIP5=}T*bJGTmqWW12tuH*))bC14KZn0#_>La<#_1?tB0rWLp z^y&oYKfqSpUHZPs&y^tg)n)gU+L-#tqp=9uaVIKPdGGHEInx&ncs?ID`!;s(PV>%- znRuwEW=)?lX(ka$khl8AV>5*pT9H0sSk4$g^={MLDi<`owXH^lMG!g!VzJ&b<6HQ$s8S(faL!*cOHmj{L}qL%Wz>!W;NrkkpMJd@PzSz0^3^u z%+Ju!a<9-p^ifMvDm8$8hEs!THe8^B%dyc)P85c!44QTBrTz1d0TUKvI}hkqo))ga z(&;=xvl~$eq_OauGnwYMx@Atd?cXkXn31*)Q zFjnf-Y7#w&v3s>O%3_53m8rKS46rS%WQ1BT*C-eHwceBJXuLLNOj}J#Y^xd%A44xm z8pslxn@=O?WU_Nc_JXU95~C@T>pUtfH=mjLaRIX)as6u3#fCQX&gbjX zbpeqZE{ap%1`sruIGiwryMLFx#~4 zE@npV=dW^)cR-}vp02&~oa%k*I#9RYdBj*=Ag)Rm3jbMVa(wjsu4c}tEvH5&9uXd% zU)+u;I*(`?Rb1Jbs@wI94Ey9JW%7+GOghg-@)c{w)gw*|WhEmbmIc+!x{vSEBtB;p z89OKgQB!l(JFE0Z%pj^E->r3S_tZ8FnoAm0%pXT?yC6+W{OSk4nb`Wa$Ju7*RqOj| zo>4!tE&1G55e7o@48bsR^mR#~!!&H|IykiYPy_xi}V~!0; z2;z5)*aLD2KxsI3A9y(k0a_%2Wg`lO*OLMR#sV=d+zDyYY?*tG8lSuRMLas7g-|vn zQ}F++Kd5X#=}EZLHs+1z&g3Gl8({!KVc<8@PBb`)c}`dMYt$?W8J%!2TxR zVQO^lI5^9an4KcxqdL4v8A?)Gh=`5Y|3Fh`bX=I;WGCuCqSmMJ!{;nK~* zGsg)oBx9q=YDeObWF(txI6rD9!ybCrrZ>*AzOzO8XiUG?N>gU2489l&pENv1 zShoNgfXp0b%|JK6u}2S|Uu5xGQ=QFKUsX?VHhLTD9d{}ByZu=@!sx07!TI~JDDG1y z2P*0|M4d3?1f31|d6(NBzqh=y&;s%W)Pv{hYF*dfEsMRnq^RaG-PRJ>X)Hf+0W??= z9?nf1TqSiL^Q|$a(YU!lQhS7#pFi$Eun(E*ZYDR-d5PLeT&v&m!Ub+vpjPk3lt0#f z!#nnIF7BPNJjcd&-x1%t>jG2$PkiqM{S^-bmCqLnG~@4(;cvR&c>&6YL!7l-JZ;Z6 zd;h)F(XXjB)+&VU>-*R6pILF6xr2c{mC2y1%$(+{o>L6rygUkT$wsBeqpsU(;p15o z?JA)86zmiUnF~xH0b9F-4Xx1&!Yjs65{7%fVcI=bg+|C+YN)UiBRPD>Rg{F#@62N; zc#U>^)r`!X<<`)@TE;gwKfq?X4LC9AX^9k9RI{cTGbA-rYparJ%o@q%NcdZ;oOEUQ zoM$@XVUCWFjAzY_`%lLb0@GU}t(xe2!uxMHFdGiF`@2cM-l-XWE}`u}OiiZIHB1bZxwbvx2UY+ZsJIsQ`y`j* zeB!P|k*z*e4z&gHvBP z(q%|xr{2+XeHFSU#Bf-8*8)XC$kDJHkY338E&4+8=vub;<-livzUy+Fa;eX6$m}Y>G?Q zjTC?6w`qiV-vW_cefH%Jb{oJaR|wpl`9#N;y4|m>yBACE$ODk4yK!nM?Dy+BJ_)>U zfxf{N3LQ*Fiz<9V-U&7%VSb$qs~c4Lh3N+Nj#6e|yck*2eQBb7^ikv$URdi&>Osz@ zDf8_-U9SFGKPBa)OL9yqGiDO~Sy>*EmgkAvv=q61N=(9y5zx5FO}W_)1_cN2IezeHV5%~uEEQZy!8QQ~61LXw%R!}NjHyji`<3%tTb0-> zXS{iNX`{8`eXnA~MahP>ng$_YIgq3zHO9YU0O4d|p?<|~Z{LX^pM+#u&e)VJe|T4- zz;5yw_axV=yb_v^!IcPaAFtxiHO*z)HSfEl#S}RIm3S;`XHXsM6_88qe#$e(&E@un z;98RZ;c1I2SYau1n*qQ5ho${2O}RB5Mt^6!f{?J~DdUI)k(&zJ@)>(Y zq63Q2SoR$-2INacl;fOZSI2Afr3Z;uROYJIE911};_y#v@~g;m@dpy(6*|(&kStK}OvzHq zY@u@pL&jCQgL&T%AgY^bsj9-j-F9f32a3hZu3>vff0m~|&h5SDsi=wE&yjY)rKV_S zI9bjGrFFVvGFknP1~97N^)I;(p7+!SlKZly#aSC?v4$3rfSO57$#<)?h6k>$P8*#i zx!dEE7%Y&T#~@X243!}j!d*>_%Do~w5yQ+|m+Vyo$$`Z~r4GeoTv&~Z%SppZH)jLM zd(Xj=T4F5r-mko8{cyM2uVDhnPs1BxzrFUi9*f!d-q+(^2F#CdbFMdr+k&_E2adpu zxXvpcAABkSiX65j2mxWKx?z7zq2lF5;M+JPc4I^3OzL?-8%ih~Wj~o8+V2!!#9sFc$TC%XTy4w0^e~hT1GkF0h1RG%vIYlybAZGFOHx?w)!wV!x!>Oc2 z)|tiY8S4@#9t-OqW&Q2`K(=cngp)B{CX|)+u$gSwd6)c*@+sJ8dJMU;D1o2hqZlGd zKhv(alV?NuH>daWh8gV*(ewB2!5K$a8EFC-gMS^%4=SmOUGAc=JSn0B&FwpoDl2QP zu@)^HC3;(EDqQy`?2Ya#0{t4>n{00^&Q{<0i@*gDJA^$k0rL6qS@p@$>*(%pS{>)U z0at;Np=<;}7TUlp6}|$-@iN@!>1iDQCz?{IhR#K#G-35~3DnqxRIGEfs`-HEf zG<9JC(5=No@wwF{6}>5Sy$^tXJxu1K-=EcBT)A7v8PnoQi zfRRva9(;NJ8jEoUQbqlW-OBAR_&h6;MoU(Njc6vvFRD=tRy4$tf7zP;@f!LX`-R?Ia)+8eHO^yQv|$;_iPHaet*P)^^8aHODoYO_EQ&VmPl1Pjb!~ zk*~IhhCqT!x!L*k5fIavO;S1Ya%ii-UfR;76Hirl-0U}pO^E#|5SziBNg zTrI1@noEs4U`xy>J9Ifzt$UR5SGd*#3_h*aFgyNVDVdDw6YR1KRzGp$aFNv|qA?~t&OQuq(6SzBZh9hN^WyYE`YUX*`P8PmH0{Xy*uJd5FJJzP z8V_C^8sh1a1o0$)w_H%kk#)(@_}{oS9C1d2Ut0mS9~4@7*1Q z;|UY^#iHi?5twKQ3Rw-N$!5x_G?a= zT|B+)(hEZp4gG{#4~UA1B4Q@7ZJ+!HKFa{|H)3L$Xa+24IXCi%2&h5bSU_%Qh?ok@ z?s_LObp*+R4Ob?c6*6GJ(eZ;a0af1(f<0F|09^nlaJZVkgB9?j{vGu&?djUmm~j#0@7SGYkcTAy!$@64A?Koe*orB$=pvLSLHX{YtCUJRK6NG2Qi0RVG?p?ghaAhy0uBwOL_)2^E)>DQ#$mFP;{*m&eb{ z0P91e$_i0C*78=ro`9Z#5V&ktfvWIy>F;*5Q9~BicYJ!)W-tYw&|S~NTNJ83@qS=t zX{p5GE*mUyEnnf!o=nYpJ}iyJkX6QgiXQR}zLO5{)4oty#tv## zKVrm$U0hIWYHY)<)m2l1A+jQ3Vg##}j9Sv)ZN*WNB(0jk^%v#Xx_bhH86`L4C^3un z8L0xuQ-4EsfK9kN8vs=tJiiWDkP89dC^eKNo_rYDkrPH!pHm&zH;bVtp(G#9NIDYADv zyeRrEoa%Tig0PfQPTAsk>~DMD3a_|tzU2!J>%RR+X~JmO3q?NT`=+S#dqTb@*Be=| z-xd;&LMR#@jm7vHdE?3$gd!S>DExH!am@;< zsG#QAzk$S!PX3`nx%KL?`7&Au(pm&St>F{v(rGj>muM|F?!~O{34T5&LsrkzlN-i( z61yj(=$zfVO7eg|5^xH-qh^0i(U)mux@q z#ahqvO{uK^+)Y+k))Au51S#iFvAD?$T0T>O8x z4)*`AdiI~S+HA<(ap9B~!vh@85EL2nzp8Vm>C7Bat4>U3fY?bSN0~7Ih`f-}$p1;; zmF)jN^^wce`G7B-6l$zySrT4FekBn|tr_-{ouRxeL;=yJ<9BnZ1Z*Ju2CzUx@ykLM zXU)AQ{^zq?(4a;dAdsV&TbMgU#x(Ci{SAI(VPn}{C}naScIR|AqMeApYUk&|mF^qW z6n(4BvZ630_=s}nTjj4Vpb0_T8^T`0!VNepv)vYJy?_EbU)}PfTZy3&+I%5eegG+4 zn{*(PGf*+XTjygKEy0d(MNP;-4Sep`drD>7Q3WQ8OrB?SxjH9wyU<9K$x*T26mfko z;7m)v9M!<3LicIWUR7L{0aCEZ;3!-xcOl=k-V!#^Lc+R566utt1mJk%b3RldFk$Mm zf=swulNc((@rx3_QSu4x4_)_l7|JR6ffHMU@77CPhYE35b-*ba`w2U`gQ}qVuXs(% zam|D-FF9Pfvin==YIXZ4@z;;PGV>UYx^F+WzXVz1xxTsR)6K+zSt`mJ98N{EeFtC#g6UY}z^cHNb;vETBsX2N zXR8_KEr5oV`h(7EO}#=R;)$X()%AvlJbn!OaZRe_N>(n%A+slFGCR-beGCAYDx-if zf3UKPhBD09QUD`)Si>SpxzF|M6$Iz{R#__3%3WLW%2E{8-Q}u9ZhD@2gGW$8mf1e)mmF`cu zlVkCu*HYCzyqo$)5kuzUSw3Z$s`QS=)t`5S3s@fLX0Y-mj@DH6bi6h0=OO<5;KRH# z1RU(`Bdl+K0R^=;?yp-xkgMPeuUDehEBnhW*YM>^CN34AAIetPin3kh4sHye9nVUu z_1T5Zl;z+m{CxJ$2}~`)pb*(Iu~DN3vJ}gh0|$pIKam6?NU86D*x*<|3R0mf*T5UI zF$J9}@q#_s%=P(_YD)_n*u+qL?BNLFGzVU{$4jjywfJ5=m?3x?MF1j*WJ!_({J8X} z$lTLden&%|6caN4>_MOYlM39$3ljXJhetnn+=OuF4iOd%vh`|baD~l*5(moD5zjhJ z910l{+;aUDy^7t{jUY)`(N_)46Z)^1QW>PNdfVudza$w%FP!sh+=ie(~iQL{fo<=;%$9%xh`re zLsV3>;nLi)Fn{#>`2NXpq7T7eU;xwb>QF|G0nM8_VuoSl$nw%^@^bhXE<`ac%|6IsdKq#Le<4_Vtwtn$u1}={T5PUQ;Zyr&mhoR77N65YH3G3`xaV*!LaaLMtR z>FZ~K#9>Bx(Cx@yTt1J!N%LaD70PL|tkHP(6tVnF((8 zetVy24cfvMFK$g*W|Obm_FohcL9qokm!{bol(l3O9W{DjT|7#x3xOdTl3*(|a|o;8 z%dYX2jZ^u^sd;cyiOtV?B7YWe3+QW#IP%Lya%x-fQBfA;sfqCbuZIB45`)$z;5zny z+_0Zg7Ee={F@6EW^7@$0zowGjQY2UOe^oyUCH{|vf#Q@A6)WXJ&;0|CG-^B9`4THMBp~$3@0UiGTsMGvsdvl2d%MRjXO#7oT z=zzgwgry8K9z_trP$p!vg(|f`0^U7b&`a4+l+Hwtcc1T$CA{?qd0~3A&7Vlb19Qz? zgbaH0!kNQ(ykkn=hplWjL(tFaAi%AXRTSCrMcYeD$-LIUPjadvaf~A47bm-K*sGgq zJIv{?+{DT2og+~y3y6mghWA1Oz;v?VgH8pyeiN=6yMM=RXQmkGrtrS9z8B60=cEs6 z!hh}FeS4k9WDS%zAKC~{^pyqc*uN@4lN-RRA#W^CdP0(G(FEmlr1W+2-7LV#NP6g%RJ~BUp?|$hiGuf3V=D`P);H+!_!%)=bQ_ zM-uLmrhsWTTbef+6}Dpy55Azb_@2- zIQ!ylR=c|H35nf|jcg6CyR8HX4HQe+JW1o752q4DgQ@hVyBSeLr&(+7J9*yn3lLlc zS(60c4HO)fd1L;Z$n+Zf%Pjt{c^GtN-tpTClcogR9A$MAngud9CYd2_q^aXJafhIDFpmG2;O;Ss2VfT`FG<$aM6f2#?Io)fVbxH>3VojA} zL79m+$=A9K87TR$=Eq6GwzFzOMtnv3`L_c>nhBK)CoN3(OJ~+%ZKwQvipYeHH_u77~v;^Ky85?h-+jsX}SG!qdC5b;z zrLKCey+$m6H! z9_afp`1g1tML-+m{6^#NjkIj7^`%rSb9{_rFy3QK1@d0!w~(Yxm$J)7*Y-jh9_Ac+ ze&Meia6G*B*ufz?;l*Bw`5qpx*+k$!07-N^!+pIlKR>Wg zA|2M1%m?=gD>rW_OGl^oaWfLB00qQ2lw2Bxw0>o58x_nRiT*gNp|(h5EX%EETq|u zfeRyEf|^Uaz6(u1pKC5Imtn9x&w%+Z^}9=d6_n^L`H3iVCO$<&ZQfs0H;~ zk?X#iwYuJ??*n(Ij=O@Iei>J3{06Vc6f!J~T9iXe!ifwxpnH zjR!3pGh@~fK7^SH5AO9Y{?&KK4j&8gITep~3mCKbmHODePGFnp@!5W(u8=MQ4fp_Z z`h=HAQrL@~`|o%DR(@v;c2>TDM+VoP+d_?TZ67L(JjU2!NZ#89vnLIN9!Tn$QqXoF zA-ZN4Fbi9o3oUfFmWAC#VJCgzDb$oQ(`QrNUtmi|X z<*Oq-$!*nybiy#}vF6QhTl~$BO*wH0d0x>S?q8ASQS41`CH^-LSzYsJheHt~r2j_8;FXzHjO_p0${D?YpRn)M5At ztv+DIS}sfI$@3VYpi5k-In_T>^=H>ceBJ%>;?9*`NA?jCet|sPmGXvnRwp2NXyxd4 z^!2?pA3UB&Gq@yZknl9SR^|s)Qd)qwjBP!C4QySfZt2e6FQVDU^PYp$_M8IaPqn99 zFTX3okrVe`IpD1_5Q)_v=X&>!UM44-n9XF5zdfFxo}6HoR=%dPe!R0FJ6onLbVsY!6>Zt*y>!e^!>1w~vOF zPC+MCYWo=Dnuj2vP^~h5M&K)AYP#guT8NmCE-WWBl;(d; z&dnK1a^D}$yDr#hdh<;ZdhO*fz~pwN(f^yKS3H(Eysb7N*5H{t`OM_Im8mq(5k(zU z_3of(7EU{ZB!k?PoGe$qqw8^wm)e!#E0zCfV>)M+M^?B7$2vMonxQu(@w|69dDDNt zb2_K_(lb7e;2mmP_XP@}T5oWvZF3f7F%yd8S!wBjyO$q&SmLVW`Tn4Vixx_erT0nt zO7|L=MMV{t@G+Z)8^g6}56%wC zmd7!d-|eJ1mE}eL*PyG7wX=)8ilnJ9wRBzjtp2r!xxl->kvYxzcT)t7{R>Ro?E1Ls zwns>Zx=#{~HkZfiy)0_>qiydk3S5jVH58Sg-s@vnNag0nbD83X?`Tu^+ycllAr3)j zjQ0wxNxPG#<9Cuy(YsZj*YfQf!`05~L@zqmFHC&3suat`(nh~euQRLjUNLDgC9yPx z!q9R~g;fxi$P}qAQ|gN%$}jRc99b zBbG;NV-$Z5C{UA<81ar|I(t;sAlxm=Z5zP#)Wr14mn1(l^aJB-i%9yG*zi;{oX zl~q@u*ti=4$+2}e(N1lOi$(WpD+&(B0vALKpFJfHD%Z@~HGI~G0(synxT_ZcK-JY?^2=bEHO z>;$bx*ke8Gc8 z@2cp^ZC>H(tc#DVcDpytKN9zM1uVda{#HVCg}q9I5Z;@@xra2_YGeS`tWG~aX}`aQ-0p`1HI zE4N3wZTr?Zz|QLmDBf>>IC6q4n1BxMW~g5{P7IBhIM$H|b4&7qzVN)M)l|D+C% z#BgR2PNb*S5lVht0NVV&@RQFJ;tt3yf%XEZ1hPbbjDl|t8fgfkk-|kuqnq*vUH-r4C8IWC1d=|@K7>d@+1Q~RJ2u5=^2FR? zYC?m7hRe1*Uro&M;V44c&~i?9l$a=YRD8DdC@@KL6$MFM@Abt&j4|WVYV~)GWYO|G z5Bn@!3*-z2PNBW;tqD^VFzM-B@o5_}N6jTVUXN(m>~wG>`LfuP8xdF<`!JgA9z;ot z2jUI@Zm}*2%kjhci>bE#2=~rNR^*7maKwW1?7qcPS>q#Vozvchr8VeqT90l+Q0prxoP=D(lUJgp%4|gwSn9l3UI+FRwfYnDij65AEM0dsuq1KaeZIHUtZhR zxEEg^1>m|Ay()k;6Gjx*nAvrSYvkNTk;?PHkyI%M9)ptWzJHafNlQfwfY$yrX>iR? z9=Ub_G1%hqAu}~H0wHD1Qt zKX~{UL=bCnzHXulg%5CfGIO*9##C)l+!vm=)Aym}?G-i@;b|6sWCqb2rEQEVuV6Qj zip;;PF?6{1Km^Edd4ySCcZQiuXP%UQ$3L#GIRYW(SMC8-9P12V&2EpMO+dpJ=T0A* z^UThw_YB#8rw?xSd4!hXSUGANJM?|R*!lTT(4Bt`meSboFvw3CAD_G5HXT!kH605< z&NGm4v-fRBH>A^1xW#EPD>9P%&`q}oQ?#BsAX_%U?FE%VkF=B8T!CZj^7eTZw2&p4 z-7BbX2Gxy{n;|n7-Ks1tpsUoAnjs%n6t>p9i_Wh~$i)Q*tNv+$=-r?tj(rf}rBi)$ z89S#4!88Lf2w%PV_XCJ*%=m#H0H^4O`x(Q|0fpFqag~Z6vL9GfYz*ENGJql{lL4~} zJwEop127FJ$^SRj$QI=k5?!+y)C~fZ=aApH&UHZSz>+2p0rBYj?Y+02_MfuAe}T9! zjKOdW2k}xQSpdL@lNGbrdPE!kXq!N^BI$^BXCJ>2DHmhvzNHu>QRw;{csBCr3FrNI zlwxfAtkkk43|0MegS9Q2a$3%0`bk1s4@pwQP&61V^oh};L=#m2xc7hxxoL)CY=^JB z*1Lt7%+ydJ&>9D{JdS+pp+=3x&vaOexH?ck$RZ786J?n{ajf|D(AQX;dlCCT^kf|qOm7I{?eJYcY&f0yL zZN=gxgN|diBtM2JC{qkx_dWI~Lbn_OD~1tEypHeqGQ6yDX+o-nu)Qp{HeQcl(^?iK zL+Jfr0qulbZv{*i)cyy|CKPgyX<=NZ9`>0a1yKlS5Z^&7v5eMuz%#AELyB6h2loOC zR@MeSsf;r`YQ|vVfhtZM;ca7!5R1t6uLz56Hvit|@ z4yd(ghv6~}$ppB!%3?B7FT49jr$RKxReai0YG>)FuO?zX%$1o14eHKaQV&cKH5+iQ zZ!csb$oohWO5v_=EPa8Jx&Hi6#==k?!C1E%pQvy0-zR^9khcI(z`b@j$Nq|PYD!+d z1)BWw5S5nm?GTF^>LOvhHL2f6S$&Z7t@(Ly}yqj*QQ3-^8wYWngY1?c$BnJ5usxElP`<92E&+} z9XC8^4#)043Wz`-@Dw&12KM-5|jtUUX#bkp76fd ziclWH23%i!0OG5FwPx&Kg>rb9Q!JY;SO_d2t#a$)^jF?f_}YFbzc9#T8^|Nm%JROW zf?;#EHyD2-1}#~&&5gg(pkCuA2&GvgE)*EfnFYMy+&PIw>`>{CWTSwrv%}T1;qHLX9)o`sjiXHtV?}=_v#cSrSIY2LMG}mP< z$+IK&8evJLb(_bUGlo{Vxy{^c_BgMwpfuRPGLK(v&TBb08P|kl{7Amo`0(3~q&1t2 z_zU+o#zEXdzqY0W7I%A8hFKWS_-q7wm`u__V_CHh~#rosuqIyL}N8kZO7}9YfF#xCF?QO3Rpr-;8 z$fN*a^#65VIKfVM#qK$8e&InHf*$ zF1-j~WY$AXUJqC@9o4(&(J*{nXZ;Ba?aCx7ZBpj(haZlhZpo`Po33T+?5rlTyTGEw zv>$EphO6SM81S~hk)<`ppf%{;oW6QiyOoS-TPbCA6s6VpiQnaoa9#5jf;~Hanuti; zy?S{oqE&OTt}o}~gIhs04pd$_QM>64gqgz*9U~UJa%}wF>(tG+o&Q`E6A{zb)JK8& zP`1S*VN5VtY=gkfPg4RAf96$R$gtUNEm(V(hC}*nZSfZ)yu!{HFy#N_|54Ny__^Nd z-2Y?wL8y>R%5fwuJ`Fjr%7~ep8h)AwNSH^{7+QkKyJEW`;tt*a8C1*&*VwUG<7Uau zR9ure@Jbw2nRwM$%y^|uVHX z9NNd-rJKw3kJoqIw4aZ|`nQr39Xec=>G073i#SBtR0r6MBD(?)1qeUos3e8UvhiIRAvT@g=B7H zw6nV2Y#~$xrfh{w_rZF$F7huB%2W_^9e27#W|R{U)atS!4V zT(qO}G+vy?SN+GYAVY|_^NGM`biKtS0Ng2Le^(4OmCG7@azZIIPI{HPk%Fj)TMHJ;rHu!tCBGM_tDdNhuH+!ABHUo z%eVi;zOz2cL{k>DgwQ9_fsm|AMBihu~hYI&MkT(|_JAR!?lNJp3s zxpUssW1Bx|=sRl&>EQDtM&BgQ?0wem6vgcQNABzGpFs%4sTG6BPRG}`*{H{zJMw!U zUD$V4@e1w?^oGpBcHOVK+25xR3E7zw4P^k&%j=q&uCQ7vp0?Ju zy~IqGH*Zs22XuhJPYKmWHy|hHrVMRAIw1Tw_k$lgF59C%Y_3>syc~h0Ia#lJO?WO3 z&p$~9^xjIHReUbRZ}hX^F~=vy1@cs8=xAy|1sF9YPn(U#rUz3k4k}Bw4aK&BX-nY= zk-XioW8ZwmkJsswJc)lW?|z)GzG^0yi$$5``{xFzEk3I& z(qfAiE#bmZ*PzSNND028A#LSC=-uj_N5s2_ot4e60$IBD!5xe1>~CCN)YQw;7b zh+DTf_;!*zDdP6xzV_U@2~roQ*cP#Zg*lAq5bmY}d23ye>TBaKZwhMU=%aF4antlm zqTcH1Qr_U$nGppPG>bvT<~YcXLg7(V*ilAIB?^AN`t~&y6%izOIXav@urXqTf4g;v z6CigTUTDd3Y$T3%SSt3%8mu5)FH6oosXLV~KgCgzYfdpy1&oa+Qj#KYw;;eQ|89r3 z)Pp(Kp~Ou_P#}_`Mk7{!M=t-NLe&8Aeb@C9Dj-BGY^ezT^ZV3<94HdlTMoRlpt~N4 z_~bDuofqHxdq~5`i3zGe4|1vAv@NG23R+Txs0fhdrBb)zDnc#U6fE<_iT;YnFIHAm z6p>y+UsI*?Jal(jpJG83y7;RU<-5fWAgGCo1Km_~HtP$H9WJrIa?PKffPi2c|G6&! zqHuXbL&TeK81P>$)fj%n{O0ELg$1L=#>Su6F)}o{LY9_{W=#=~I9n9RoZtL)DNso; zvoAR**~vbF7(mcRd&3(_oKP{NF;=Yw%e~{)1o-6NPkBy*>Ga)^_%Q=QiB*x0*6a>{ z%YsJ4cG<6tw$QkEc!`jcgfBerMO&LIG$JwX<6xpB95^9y5}|xwx$OPcglHXkn$ot1 zr&RcJ3&ilprOftBOysiC`nmAx zU3#GNH-ugvLEN6ma;$u2i~FkwKPT$+0J1Zjs%f`1h+KHXeqY(B0V@*5gZ{%f5U7Lg zuevEWp4qCbk7CRq51xV~FL3N4G;5|8uWYb5IJ+7o=SryV&35lN?tpnKVSa_#6E`{F z75OZt&}+J-cL_9|n?H5@ z&)piB1`!<;wb<)Q9v9SU0eLMGa+*BKKPIq$-JxOV-)`RE_-_tfolby2wL)zGq_LY| zfVM59J7VRFbUFZMo1>jc_&;n-=ihv7Y5!U4#4bv4%A{4E4OxKZQ#8aRNF$;D)4_)T zSnElzZmz{ZEBuc+VDH}+akl>(NTdH3V+;Q`Ct9egT58S@b`^LVYZh#~oXmnP@h@ zWV$t$^@dUAr;jp@pY18crTn%;k%VGvbQj0FqRbD#jwz@NFe2(AM4J_)Xia2lblJq+ zXvm@`%L-ZmnJNH(^7BNLM->pX&yw*I#5aoxTVBJ)&PHN6YB-P|Bb-OguP2S{vc&km z`ndCWCKx!5<2m=Ju*bSwIifjIx-d_X`@WBd2#vxLmX1paIG!q*>v9^K;yug^6 zh7c(kO#yFQl9w|qPu%Lr%CXaFQp#CoWCWw~QHfBt8GN_q39yQAuKHR-@&#S|8wB^* zQH@e}9!5Y#XuIRL?DFm=@#yCIa`OZTVJW~N#`9;_c`t6)=8=-P3u_UF6&8^_KHYw6 z?;rHtzEV@Kri&FrdYL6@@qK^3j*OHJSmy9kY6Xw6;}JB6x1f*}4`e`|wgSl0-j|qJT3q4SKN725lCItQmSRlXiQS*R zw=x$d4FjDmc#h01_U?&rTFXQ^X1cf#+P6$C3&dMm=d$wS&P1I4ax zwDZ}rbdX3f#49zh@GO#(nb~yj16_U#CpQEWg9->=aBWrT@a5~Mpp8celFO>g8B_BQ zjuaLbn}^6F@L^jkv-sXAAvfsV-X>x6&WW%#W0e9(4+Ztv9zRBV!M)bE>kMTOID+IV@1VSD69uk$24Fs@6R(W+`{pC1-+ zyZbBQeybBfXqQRgwP8eU&uyjf5~$HkGE!^nFDtvJ^=ehM20S1#17A(U;dm)pXe?JN z&B*6Z3uwfY644S=;dG4pdJi_&ylPT#5=tGsmAyY2=KQr!GxAe=bGU@6<>mDi+?yTu zw&q`-Ur$^I3=u}h9KG3)Qnt+tpV>&go0HncFEtqI81?5pdUVq*S?Rq4>6wj}_SDWY zmu>X{8Yl4PC~0JYn?H|RchU1;iCfclm2h5i#@;c+o`Li6oP#)fs9NrgC!1H}UA>al z$3{7JIs?-Qd*WJg5-RCkcqbuFI|tBAmT7BI;%J=kf(Un6!lv$Dt~+RU*{9RvNpQt) z@B7`IS!YMbvlGuZ0{zB^h6%ot>(ftXI;I5qvEfnTTugLY^dm=ukjfF4)}etm2D!xg z&zYkFX4EP`2v5iD6CGSub;bZ zTM;*w$g^ikp?!#Y{+v5Cd5v)CYyrRq8{o?9Ne|WoMn~-A|Bmj zH1rnKXs^y691J~lF5q%Cq8O0SE|vK1U91*-|8o*UngZjWCSIf52h_blYcKr5++@{hh9mW4Ur@OvY$%Yde~fjd@kRgN~fl)Au51EA$Ed zl$sPC5w#Th?so`HB_q{d#W)Hh@I3;ebIjD?@q;@>V_8sOj;J){^eq-iY{%u?LN@2f z#>ZF)W%;abO7L5$sI|pulX)1dE6puLUCb_}i{Z>4;Z1Ri2MxIvQPB4_Ryp8rl&fl< zGjoeZoWplxHh$(exNbq#)r*0G#EzSe<-ak93dlk*Eq>g}X!uOpy-o&r|J!mf!njlB zHbXJIq7rR-XKC#!&UX=%vpFr7Ly|IAxVoX2!`o$lk^PAEQ0Uv(;0QDx;4s2yCXV?_ zcx1%(#0>M0X5h{_HTA*059-Yzu{3~Z zqN1JD@DQCA1;bP)SXE%sob zyDRx?+HNR)9qHOn5_iZr66*VdBfrN$#(=e~A0ey%Sm!NI{RS7gG%!o$PE0001#qNb;> zvYn}{u(r5$mZ4&hpMsg8JA<4#f0yOuh zG+t}S$jCWFMb_g`GWypX}`H-{0Td+}t;M zkT!Ua>gwu_oS|Hgp*41kI)RwM!NJ1R+Nh|gx6akNy1F-elGx$op~1|6uDw%6Vu+fd z=H}+m(9nyt!c>&1W09ejyT?$Bp-PLP%gf8Nv$L$n(O;Xd=;-Ll$;qp$tIW*I&D!5Y ziJ_XGq2uG@-rnAnouRh2wtJVMIee0&q@>r^*T%-i#l^+r=jqea(@Bn{R7YcPl%dYf z&g<*zzP`RYf|@H>W;J(>IDM2>j-juwuSz^sYN52*+1bRz#G#>~GjfOS?(RN_q1)Tr zBYQRo0000TbW%=JpRaFU&(Ck)@87>KpU+=UKd;}9A7AeezrR0!0O_IxYybcSAxT6* zR9M69m}OTZNfd@z8D)SVAxx6pS()8&cXxNg2M-bm!D288F=TM+PBnjbtE;OU9||!Zel!@kwlPEW(woYS%hj` zJfxE(F};BCs3eIYC217ng)~X2(-P^fAW7`Q823x!NU5I$^pTWSxO0$o)g*~gGOtUc z2vSZc#!-^e>N*3`<&l#}{xhB$kfhM6PREb!aX8$n9F9H5j_YSbk~BaPiWlURdR!XP zNeU-DMrQCRS(skP5mJ>q(@Pd8M;#-m)r$XcDz*oPne$G6^$U zh0>HFLLb{V#rB|X;IxNBeFB7E44wG z7DGcTkfG}NNU}hIMMX&~WKx|Bu*Kmcn?Ej7bzBa!N?x-< zuCdwh1W2{6p2s@Ep|)4>_aE53jI@Wn1KSIdPDzbas)uNE7n=imJDw$TuwF zsNIH?M3Isty2ne0?0BUlrm0yJ`A?G)@oI&GY$|wpItpI#OFZPIVvA@F!1}xd__H|V z48$j`PxZ;TdiWNG4E+spAMc{@#i2J;C^GZ~CVc$6$2S3ALWLpygqX;8oh2q9=C?}iDGl<&I}Q2nLrIYTVx9U* zfsA5i|9QhKP^m2#DbxReFj6qrqna+2(4e6)mv@^Zu`7<-`+4COlT%Xg& z4HE>VXfhWwS4|)_GWq8fZ1Or8w2E@6NW5^{01kWqWR4S9sTN z_hfI~d79HYQ{N=D-RWxmczZ^B1h(mx^}*e2_R)>?^&5|}*}D&P6K&d~Fw?H<$Mvqk zRZjbS|K`0c(Y>4ZIj!?mgKJ>$HbyhN_W8-<$4_{zv*MTNybWe!Q3s}TgSF4;EgPj- z>%7s)9GH5i&L^s6J`wK9C=0Y`hg?(^C)0(QPgLtNx>>R%c!jzqL8XrDkV*vwsZVl6 zZxCvpTUCwfxzW1s&9!07&w^gHx~b<@Q)TH4dQ@jncF6|Wo0_LJvN(!2mNuEK2LDp_ z@@BV`x{rY`AJIoDh*tO3tj@u+a#>}^aa=B_){{APWU8Q(@&=S$)(W?c7reKgdcpVv zK!Q(90Gz1N+0dMihO0ZPr h4v-|97Wy@R%zvL$uE%g`aM}O>002ovPDHLkV1gAE#gG61 literal 0 HcmV?d00001 diff --git a/factory/spawn_properties/assets/images/enemyRed2.png b/factory/spawn_properties/assets/images/enemyRed2.png new file mode 100644 index 0000000000000000000000000000000000000000..984e992dc3752884983d36e3df7663bec34ba52b GIT binary patch literal 2568 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 Ts0M%T00000NkvXXu0mjf(Uhml diff --git a/factory/spawn_properties/assets/images/meteorGrey_tiny1.png b/factory/spawn_properties/assets/images/meteorGrey_tiny1.png new file mode 100644 index 0000000000000000000000000000000000000000..2f6589da84e4dc896334bc264a41ac6f36bcd9d6 GIT binary patch literal 372 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+3?vf;>QaFeOS+@4BLl<6e(pbstU!KpfKP~P zL3INV;_RKEHk{0yg$$z!W-s{=KAjs#9&tyEpmZ6x8`$@neMK|Z86`+Qon&)eG} z_ddJM7N7J(WoyIpt(IH19{aJ^@c!{c51vOmr$2HkDc$!_-ho@@ovCbz3ec?#p00i_ I>zopr06A%yMgRZ+ literal 0 HcmV?d00001 diff --git a/factory/spawn_properties/assets/images/playerShip1_red.png b/factory/spawn_properties/assets/images/playerShip1_red.png old mode 100755 new mode 100644 index 3695e09e21c6f37cf43dc8dd745b6f8134dc83f4..e32ea3800892a7d85aaf69b97139bd09831bb1c9 GIT binary patch literal 2416 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 Q?f?J)07*qoM6N<$f+-O%kpKVy diff --git a/factory/spawn_properties/assets/images/star2.png b/factory/spawn_properties/assets/images/star2.png new file mode 100644 index 0000000000000000000000000000000000000000..b2927fb883bdb71e7ab61f1cb27018c316dcf2ce GIT binary patch literal 297 zcmeAS@N?(olHy`uVBq!ia0vp^l0YoM!3-oVvX^}UQY`6?zK#qG8~eHcB(ehe#sNMd zu7Cdg`TO_pzkmOLBoMrN_YOz`1tH-3_wPS{{)EW>{{0)M>Hq)#(|1HA(tqBlw&Ang&kx+w%Py%`99a?QBUS6Gxq5&6xy$$d eDJEWg!g=Ysl0(idQ(2&c7(8A5T-G@yGywn@u85fc literal 0 HcmV?d00001 diff --git a/factory/spawn_properties/assets/images/ufoGreen.png b/factory/spawn_properties/assets/images/ufoGreen.png new file mode 100644 index 0000000000000000000000000000000000000000..4a26785e58e3ec32121942f656088a225611a0e8 GIT binary patch literal 2358 zcmV-63CZ?}P)+eR+$5#a_DGyS>-Lk;HxJ@bc8+=UY%`w$!-c>h7S+l(gBf*yQQC z!pl-dUW&nSWwk3ZipUmtJJf1eM(?*I&lRlEQI2V+S@K~!kot(xgW+DH_@ zque3Ty{~qA-_>eut+rmZw$>XIPeer!&;-OG@c-|dBr}E2w*hAJX`_UU$F9Mun zYfrP+GNmJ8FC+WxZiPJkz6Y!xBt3E3uKhHc?x zHYVcA;N>qI6yoe*rZ;@MLjrC7F#3{fKs zBKNRfuaDPiwTeg=;b-I^D$YiVetG{J$6Xj*qF*h~jd1+GCp>N|t5J5^*~m*>cRcsL zX}a)(ZSl2>`#TiZgCY-NijtH-O#6+exF7;KfxX!*3}HB=s&4rEmHb>k zwb8#0Ve@2<;VkdOGfI{Zl*A}E{8R#)X~Cbqus*y3`;l(uF3Kvx5gc*YBk=dRk3kMS zzJLGmkZYVIX4i#7NZ9XZUR#%HjN$y~1`BqGb(T#)F8lK*C)>U)n}S^S7f5#7_|o`= zEqAZMCeMtsAVwzzCrPg}`x2H--nGVp81|Q$CvW~2HUVL_aK0B9-JOSEmjqMh&WXT2 zVVuL;5NtT#Mb;@Zwv!Us+l+H~6^x!@-Ne3Vmjiqxo@SlHR3Q5U8(%;2N&bMx4-)od z-&jdxp7F}2#}CGxq>2dfn1_D;n-%Q8b0&LCs2C`Y5q~~2S)1hY@0i7g;<8L^ z$#wuF^IdmxS)j9-@`n;BoBw^rx+$Hu;kHQK04K$+E-y(fh25d7w|%_h%U+w6_Q<_`wmVQ~N}Jn7mVUvKtMdL}MAp}Y!HB%CIk&nau-6tw zrFZ6i`kJ`a%Qj8ld@sznRpauUJ35ePSlgR}z61j^_3>mNVdWxmG9G9nVPj$A{AY^~^k!ihbY!#z10w;Gl@QhN z%0A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 D>z+iP literal 0 HcmV?d00001 diff --git a/factory/spawn_properties/example.md b/factory/spawn_properties/example.md index 2d53591a..9c674bce 100644 --- a/factory/spawn_properties/example.md +++ b/factory/spawn_properties/example.md @@ -1,38 +1,70 @@ --- tags: factory -title: Shoot bullets with script properties -brief: This example shows how to spawn bullet game objects using a factory component with different properties. +title: Spawn enemies with script properties +brief: This example shows how to spawn enemy game objects using a factory component with different properties. author: Defold Foundation -scripts: player.script, bullet.script +scripts: ship.script, enemy.script, spawner.script thumbnail: thumbnail.png --- -This example shows how to dynamically spawn bullet game objects using a factory component with different properties. The setup consists of two game objects; one for the player and one for the bullet that is spawned using a factory component wit properties definition: +This example shows how to dynamically spawn enemy game objects using a factory component with different properties. The setup consists of three main components: a player ship, enemy spawner, and different enemy types with customizable properties. -``` -local properties = { - speed = self.bullets_speed, - animation = self.bullets_type -} +Press keys `1`, `2`, or `3` to spawn different enemy types. + +Example collection consists of 2 game objects: + +![Screenshot showing enemy types and spawner in action](collection.png) + +### Ship +The red ship at the bottom that automatically moves and shoots. Consists of: +- A *Factory* component `bulletfactory` to spawn bullet game objects +- A *Script* `ship` that handles automatic movement (ping-pong animation) and bullet spawning every 0.25 seconds +- A *Sprite* component with the spaceship image + +Bullets are simply animated upward and automatically deleted when they reach the top. -factory.create("#bulletfactory", pos, nil, properties) +### Spawner +Controls enemy spawning with keyboard input. Consists of: +- A *Factory* `enemyfactory` to spawn enemies with different properties +- A *Label* `example_description` with instructions text displayed on top +- A *Script* `spawner` that spawns enemies. + + +The spawner script defines three different enemy types: `random`, `diagonal`, and `straight`. +Uses factory to create enemies with specific properties: + +```lua +local properties = ENEMY_TYPES[enemy_type] +factory.create("#enemyfactory", position, nil, properties) ``` -player -: The red ship at the bottom. Contains: - - A *Sprite* component with the spaceship image. - - A *Factory* component to spawn bullet game objects - - A script to handle spawning of bullets. - - An additional *sprite* to indicate what type of bullets is selected now. +### Enemy Types + +**Random Enemy** (Key 1): +- Green UFO sprite +- 1 health point +- Random horizontal movement that changes every second +- Speed: 40 horizontal, -100 vertical -bullet -: The bullet fired by the player. Contains: - - A *Sprite* component with a bullet image. - - A script to handle bullet animation and movement. +**Diagonal Enemy** (Key 2): +- Red enemy sprite +- 2 health points +- Fixed diagonal movement +- Speed: 120 horizontal, -80 vertical -Properties added to `bullet.script` define what it looks like and how fast it goes. When bullet have `go.property` defined in its script - the properties will be also visible in the *Properties* pane: +**Straight Enemy** (Key 3): +- Blue enemy sprite +- 3 health points +- Straight downward movement +- Speed: 0 horizontal, -40 vertical -![bullet script with properties]() +### Enemy Script Properties +Properties defined in `enemy.script` control enemy behavior: +- `sprite` - Which sprite to display +- `health_points` - How many hits before destruction +- `speed` - Movement velocity vector +- `is_random` - Whether to use random movement changes +When enemies have `go.property` defined in their script, these properties are visible in the *Properties* pane and can be customized per enemy type. -Combine this example with some of the examples from the movement and physics categories to create a shoot 'em up game! \ No newline at end of file +Combine this example with other movement and physics examples to create a complete shoot'em up game! diff --git a/factory/spawn_properties/example/boom.particlefx b/factory/spawn_properties/example/boom.particlefx new file mode 100644 index 00000000..95569711 --- /dev/null +++ b/factory/spawn_properties/example/boom.particlefx @@ -0,0 +1,265 @@ +emitters { + id: "light" + mode: PLAY_MODE_ONCE + duration: 1.0 + space: EMISSION_SPACE_WORLD + tile_source: "/assets/sprites.atlas" + animation: "star2" + material: "/builtins/materials/particlefx.material" + blend_mode: BLEND_MODE_ADD + max_particle_count: 1 + type: EMITTER_TYPE_CIRCLE + properties { + key: EMITTER_KEY_SPAWN_RATE + points { + y: 10.0 + } + } + properties { + key: EMITTER_KEY_SIZE_X + points { + y: 8.0 + } + } + properties { + key: EMITTER_KEY_SIZE_Y + points { + y: 12.0 + } + } + properties { + key: EMITTER_KEY_PARTICLE_LIFE_TIME + points { + y: 1.0 + } + } + properties { + key: EMITTER_KEY_PARTICLE_SIZE + points { + y: 20.0 + } + } + properties { + key: EMITTER_KEY_PARTICLE_RED + points { + y: 1.0 + } + } + properties { + key: EMITTER_KEY_PARTICLE_GREEN + points { + y: 1.0 + } + } + properties { + key: EMITTER_KEY_PARTICLE_BLUE + points { + y: 1.0 + } + } + properties { + key: EMITTER_KEY_PARTICLE_ALPHA + points { + y: 1.0 + } + } + particle_properties { + key: PARTICLE_KEY_SCALE + points { + y: 1.0 + t_x: 0.25919977 + t_y: 0.9658237 + } + points { + x: 1.0 + y: 0.023632 + t_x: 0.9998886 + t_y: 0.014926955 + } + } + particle_properties { + key: PARTICLE_KEY_RED + points { + y: 1.0 + } + } + particle_properties { + key: PARTICLE_KEY_GREEN + points { + y: 1.0 + } + } + particle_properties { + key: PARTICLE_KEY_BLUE + points { + y: 1.0 + } + } + particle_properties { + key: PARTICLE_KEY_ALPHA + points { + y: 0.0 + t_x: 0.07194582 + t_y: 0.99740857 + } + points { + x: 0.11320755 + y: 0.99277455 + t_x: 0.99418455 + t_y: 0.10768964 + } + points { + x: 0.7112546 + y: 0.555656 + t_x: 0.5694311 + t_y: -0.82203907 + } + points { + x: 1.0 + y: 0.0072254334 + t_x: 0.4737472 + t_y: -0.8806609 + } + } + particle_properties { + key: PARTICLE_KEY_ANGULAR_VELOCITY + points { + y: 1.0 + } + } +} +emitters { + id: "debris" + mode: PLAY_MODE_ONCE + duration: 1.0 + space: EMISSION_SPACE_WORLD + tile_source: "/assets/sprites.atlas" + animation: "meteorGrey_tiny1" + material: "/builtins/materials/particlefx.material" + max_particle_count: 4 + type: EMITTER_TYPE_CIRCLE + properties { + key: EMITTER_KEY_SPAWN_RATE + points { + y: 10.0 + } + } + properties { + key: EMITTER_KEY_SIZE_X + points { + y: 8.0 + } + } + properties { + key: EMITTER_KEY_SIZE_Y + points { + y: 12.0 + } + } + properties { + key: EMITTER_KEY_PARTICLE_LIFE_TIME + points { + y: 1.0 + } + } + properties { + key: EMITTER_KEY_PARTICLE_SPEED + points { + y: 50.0 + } + spread: 20.0 + } + properties { + key: EMITTER_KEY_PARTICLE_SIZE + points { + y: 10.0 + } + spread: 5.0 + } + properties { + key: EMITTER_KEY_PARTICLE_RED + points { + y: 1.0 + } + } + properties { + key: EMITTER_KEY_PARTICLE_GREEN + points { + y: 1.0 + } + } + properties { + key: EMITTER_KEY_PARTICLE_BLUE + points { + y: 1.0 + } + } + properties { + key: EMITTER_KEY_PARTICLE_ALPHA + points { + y: 1.0 + } + } + particle_properties { + key: PARTICLE_KEY_SCALE + points { + y: 1.0 + t_x: 0.25919977 + t_y: 0.9658237 + } + points { + x: 1.0 + y: 0.00553 + } + } + particle_properties { + key: PARTICLE_KEY_RED + points { + y: 1.0 + } + } + particle_properties { + key: PARTICLE_KEY_GREEN + points { + y: 1.0 + } + } + particle_properties { + key: PARTICLE_KEY_BLUE + points { + y: 1.0 + } + } + particle_properties { + key: PARTICLE_KEY_ALPHA + points { + y: 0.0 + t_x: 0.07194582 + t_y: 0.99740857 + } + points { + x: 0.11320755 + y: 0.99277455 + t_x: 0.99418455 + t_y: 0.10768964 + } + points { + x: 0.7112546 + y: 0.555656 + t_x: 0.5694311 + t_y: -0.82203907 + } + points { + x: 1.0 + y: 0.0072254334 + t_x: 0.4737472 + t_y: -0.8806609 + } + } + particle_properties { + key: PARTICLE_KEY_ANGULAR_VELOCITY + points { + y: 1.0 + } + } +} diff --git a/factory/spawn_properties/example/bullet.go b/factory/spawn_properties/example/bullet.go index bb69eb40..a7b6e672 100644 --- a/factory/spawn_properties/example/bullet.go +++ b/factory/spawn_properties/example/bullet.go @@ -1,11 +1,7 @@ -components { - id: "bullet" - component: "/example/bullet.script" -} embedded_components { id: "sprite" type: "sprite" - data: "default_animation: \"flame\"\n" + data: "default_animation: \"laserRed04\"\n" "material: \"/builtins/materials/sprite.material\"\n" "textures {\n" " sampler: \"texture_sampler\"\n" @@ -17,3 +13,30 @@ embedded_components { y: 0.5 } } +embedded_components { + id: "collisionobject" + type: "collisionobject" + data: "type: COLLISION_OBJECT_TYPE_TRIGGER\n" + "mass: 0.0\n" + "friction: 0.1\n" + "restitution: 0.5\n" + "group: \"bullet\"\n" + "mask: \"enemy\"\n" + "embedded_collision_shape {\n" + " shapes {\n" + " shape_type: TYPE_BOX\n" + " position {\n" + " }\n" + " rotation {\n" + " }\n" + " index: 0\n" + " count: 3\n" + " }\n" + " data: 3.5\n" + " data: 9.0\n" + " data: 10.0\n" + "}\n" + "event_collision: false\n" + "event_contact: false\n" + "" +} diff --git a/factory/spawn_properties/example/bullet.script b/factory/spawn_properties/example/bullet.script deleted file mode 100644 index b28e5d74..00000000 --- a/factory/spawn_properties/example/bullet.script +++ /dev/null @@ -1,18 +0,0 @@ --- define properties of a bullet: -go.property("speed", 800) -- pixels per second -go.property("animation", hash("flame")) - -function init(self) - -- play the animation based on self property - sprite.play_flipbook("#sprite", self.animation) - - -- animate the bullet position - local pos = go.get_position() - local distance = 1000 -- distance in pixels - local duration = distance / self.speed -- time in second to travel the full distance - local to = pos.y + distance - -- start animation and delete bullet when it has reached its destination - go.animate(".", "position.y", go.PLAYBACK_ONCE_FORWARD, to, go.EASING_LINEAR, duration, 0, function() - go.delete(".") - end) -end \ No newline at end of file diff --git a/factory/spawn_properties/example/enemy.go b/factory/spawn_properties/example/enemy.go new file mode 100644 index 00000000..1b9d8fb2 --- /dev/null +++ b/factory/spawn_properties/example/enemy.go @@ -0,0 +1,49 @@ +components { + id: "enemy" + component: "/example/enemy.script" +} +components { + id: "boom" + component: "/example/boom.particlefx" +} +embedded_components { + id: "sprite" + type: "sprite" + data: "default_animation: \"ufoGreen\"\n" + "material: \"/builtins/materials/sprite.material\"\n" + "textures {\n" + " sampler: \"texture_sampler\"\n" + " texture: \"/assets/sprites.atlas\"\n" + "}\n" + "" + scale { + x: 0.5 + y: 0.5 + } +} +embedded_components { + id: "collisionobject" + type: "collisionobject" + data: "type: COLLISION_OBJECT_TYPE_TRIGGER\n" + "mass: 0.0\n" + "friction: 0.1\n" + "restitution: 0.5\n" + "group: \"enemy\"\n" + "mask: \"bullet\"\n" + "embedded_collision_shape {\n" + " shapes {\n" + " shape_type: TYPE_SPHERE\n" + " position {\n" + " }\n" + " rotation {\n" + " }\n" + " index: 0\n" + " count: 1\n" + " id: \"ship\"\n" + " }\n" + " data: 22.5\n" + "}\n" + "event_collision: false\n" + "event_contact: false\n" + "" +} diff --git a/factory/spawn_properties/example/enemy.script b/factory/spawn_properties/example/enemy.script new file mode 100644 index 00000000..ac7c8a4b --- /dev/null +++ b/factory/spawn_properties/example/enemy.script @@ -0,0 +1,60 @@ +-- Define different properties of the script: +go.property("sprite", hash("ufoGreen")) +go.property("health_points", 1) +go.property("speed", vmath.vector3(100, 100, 0)) +go.property("is_random", true) + +function init(self) + + -- Set animation of the sprite to the one defined by its property self.sprite: + sprite.play_flipbook("#sprite", self.sprite) + + -- Add randomness to horizontal direction - this way enemy horizontal speed may be inverted or cleared: + -- -1 * self.speed.x - inverted direction + -- 0 * self.speed.x - cleared direction + -- 1 * self.speed.x - regular direction + self.speed.x = math.random(-1, 1) * self.speed.x + + -- If self.is_random boolean property is true: + if self.is_random then + -- add a timer to randomly switch horizontal speed every second: + timer.delay(1, true, function() + self.speed.x = math.random(-1, 1) * self.speed.x + end) + end +end + +function update(self, dt) + -- Update enemy position based on its current speed: + local pos = go.get_position() + pos = pos + self.speed * dt + go.set_position(pos) + + -- Bounce enemy off "walls": + if pos.x > 600 or pos.x < 50 then + self.speed.x = -self.speed.x + end + + -- Remove enemy if it goes out of screen: + if pos.y < -50 then + go.delete() + end +end + +function on_message(self, message_id, message, sender) + + -- React to collission with bullet: + if message_id == hash("trigger_response") and message.enter then + + -- Remove one health point + self.health_points = self.health_points - 1 + + -- Play particlefx for damage taken: + particlefx.play("#boom") + + -- When no health points left - remove this ship + if self.health_points <= 0 then + go.delete() + end + end +end diff --git a/factory/spawn_properties/example/player.go b/factory/spawn_properties/example/player.go deleted file mode 100644 index c5c1c5d5..00000000 --- a/factory/spawn_properties/example/player.go +++ /dev/null @@ -1,54 +0,0 @@ -components { - id: "player" - component: "/example/player.script" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } -} -embedded_components { - id: "sprite" - type: "sprite" - data: "tile_set: \"/assets/sprites.atlas\"\n" - "default_animation: \"playerShip1_red\"\n" - "material: \"/builtins/materials/sprite.material\"\n" - "blend_mode: BLEND_MODE_ALPHA\n" - "" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } -} -embedded_components { - id: "bulletfactory" - type: "factory" - data: "prototype: \"/example/bullet.go\"\n" - "load_dynamically: false\n" - "dynamic_prototype: false\n" - "" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } -} diff --git a/factory/spawn_properties/example/player.script b/factory/spawn_properties/example/player.script deleted file mode 100644 index 3f123d45..00000000 --- a/factory/spawn_properties/example/player.script +++ /dev/null @@ -1,48 +0,0 @@ -function init(self) - -- make sure the script will receive user input - msg.post(".", "acquire_input_focus") - - self.bullets_speed = 500 - self.bullets_type = hash("flame") -end - -function on_input(self, action_id, action) - -- mouse or spacebar for shooting: - if (action_id == hash("touch") or action_id == hash("mouse_button_left")) and action.pressed then - -- position bullet somewhat offset from the player position - local pos = go.get_position() - pos.y = pos.y + 60 - - -- create a table with properties of the new bullet to spawn - -- keys must be the same as defined in go.property in script in the spawned object: - local properties = { - speed = self.bullets_speed, - animation = self.bullets_type - } - - -- spawn a bullet with new properties - factory.create("#bulletfactory", pos, nil, properties) - - -- key 1 for changing speed: - elseif (action_id == hash("key_1")) and action.pressed then - -- increase the speed, if larger than max limit, get back to minimum - self.bullets_speed = self.bullets_speed + 100 - if self.bullets_speed >= 1000 then - self.bullets_speed = 500 - end - - -- we also indicate the current speed of spawning bullets: - label.set_text("#label", "Speed: " .. self.bullets_speed) - - -- key 2 for changing type: - elseif (action_id == hash("key_2")) and action.pressed then - -- change type of the bullet (its animation) - if self.bullets_type == hash("flame") then - self.bullets_type = hash("lighting_blue") - else - self.bullets_type = hash("flame") - end - -- we also indicate what type is selected by changing helper sprite animation: - sprite.play_flipbook("#current_bullet_type", self.bullets_type) - end -end diff --git a/factory/spawn_properties/example/ship.script b/factory/spawn_properties/example/ship.script new file mode 100644 index 00000000..b4da8d62 --- /dev/null +++ b/factory/spawn_properties/example/ship.script @@ -0,0 +1,18 @@ +function init(self) + -- Animate automatic player po + go.animate(".", "position.x", go.PLAYBACK_LOOP_PINGPONG, 620, go.EASING_LINEAR, 6.0) + + -- Create a timer to tick every 0.5 second: + timer.delay(0.25, true, function() + + -- Create a simple bullet bullet using the factory + local bullet_id = factory.create("#bulletfactory", go.get_position()) + + -- Animate the created bullet towards top of screen, where it is deleted + if bullet_id then + go.animate(bullet_id, "position.y", go.PLAYBACK_ONCE_FORWARD, 600, go.EASING_LINEAR, 1, 0, function() + go.delete(bullet_id) + end) + end + end) +end \ No newline at end of file diff --git a/factory/spawn_properties/example/spawn_properties.collection b/factory/spawn_properties/example/spawn_properties.collection index e7cc3d71..a32cffd1 100644 --- a/factory/spawn_properties/example/spawn_properties.collection +++ b/factory/spawn_properties/example/spawn_properties.collection @@ -1,82 +1,10 @@ name: "default" scale_along_z: 0 embedded_instances { - id: "go" - data: "embedded_components {\n" - " id: \"label1\"\n" - " type: \"label\"\n" - " data: \"size {\\n" - " x: 128.0\\n" - " y: 32.0\\n" - "}\\n" - "color {\\n" - " x: 0.0\\n" - " y: 0.5647059\\n" - " z: 0.99215686\\n" - "}\\n" - "outline {\\n" - " x: 1.0\\n" - " y: 1.0\\n" - " z: 1.0\\n" - "}\\n" - "text: \\\"Click/spacebar to pew pew!\\\"\\n" - "font: \\\"/assets/text48.font\\\"\\n" - "material: \\\"/builtins/fonts/label.material\\\"\\n" - "\"\n" - " position {\n" - " x: 360.0\n" - " y: 40.0\n" - " }\n" - " scale {\n" - " x: 0.5\n" - " y: 0.5\n" - " }\n" - "}\n" - "embedded_components {\n" - " id: \"label\"\n" - " type: \"label\"\n" - " data: \"size {\\n" - " x: 128.0\\n" - " y: 32.0\\n" - "}\\n" - "color {\\n" - " x: 0.0\\n" - " y: 0.5647059\\n" - " z: 0.99215686\\n" - "}\\n" - "outline {\\n" - " x: 1.0\\n" - " y: 1.0\\n" - " z: 1.0\\n" - "}\\n" - "text: \\\"Key [1] to change speed\\\\n" - "\\\"\\n" - " \\\"Key [2] to change type\\\"\\n" - "font: \\\"/assets/text48.font\\\"\\n" - "material: \\\"/builtins/fonts/label.material\\\"\\n" - "\"\n" - " position {\n" - " x: 360.0\n" - " y: 120.0\n" - " }\n" - " scale {\n" - " x: 0.5\n" - " y: 0.5\n" - " }\n" - "}\n" - "" -} -embedded_instances { - id: "player" + id: "ship" data: "components {\n" - " id: \"player\"\n" - " component: \"/example/player.script\"\n" - "}\n" - "embedded_components {\n" - " id: \"bulletfactory\"\n" - " type: \"factory\"\n" - " data: \"prototype: \\\"/example/bullet.go\\\"\\n" - "\"\n" + " id: \"ship\"\n" + " component: \"/example/ship.script\"\n" "}\n" "embedded_components {\n" " id: \"sprite\"\n" @@ -90,33 +18,35 @@ embedded_instances { "\"\n" "}\n" "embedded_components {\n" - " id: \"current_bullet_type\"\n" - " type: \"sprite\"\n" - " data: \"default_animation: \\\"flame\\\"\\n" - "material: \\\"/builtins/materials/sprite.material\\\"\\n" - "size {\\n" - " x: 99.0\\n" - " y: 75.0\\n" - "}\\n" - "textures {\\n" - " sampler: \\\"texture_sampler\\\"\\n" - " texture: \\\"/assets/sprites.atlas\\\"\\n" - "}\\n" + " id: \"bulletfactory\"\n" + " type: \"factory\"\n" + " data: \"prototype: \\\"/example/bullet.go\\\"\\n" "\"\n" - " position {\n" - " x: 75.0\n" - " }\n" - " scale {\n" - " x: 0.5\n" - " y: 0.5\n" - " }\n" + "}\n" + "" + position { + x: 100.0 + y: 50.0 + } +} +embedded_instances { + id: "spawner" + data: "components {\n" + " id: \"spawner\"\n" + " component: \"/example/spawner.script\"\n" "}\n" "embedded_components {\n" - " id: \"label\"\n" + " id: \"enemyfactory\"\n" + " type: \"factory\"\n" + " data: \"prototype: \\\"/example/enemy.go\\\"\\n" + "\"\n" + "}\n" + "embedded_components {\n" + " id: \"example_description\"\n" " type: \"label\"\n" " data: \"size {\\n" - " x: 128.0\\n" - " y: 32.0\\n" + " x: 1024.0\\n" + " y: 256.0\\n" "}\\n" "color {\\n" " x: 0.0\\n" @@ -128,13 +58,14 @@ embedded_instances { " y: 1.0\\n" " z: 1.0\\n" "}\\n" - "pivot: PIVOT_W\\n" - "text: \\\"Speed: 500\\\"\\n" + "text: \\\"Spawn enemies with numeric keys:\\\\n" + "\\\"\\n" + " \\\"[1] Random [2] Diagonal [3] Straight\\\"\\n" "font: \\\"/assets/text48.font\\\"\\n" "material: \\\"/builtins/fonts/label.material\\\"\\n" "\"\n" " position {\n" - " x: 100.0\n" + " y: 50.0\n" " }\n" " scale {\n" " x: 0.5\n" @@ -144,6 +75,6 @@ embedded_instances { "" position { x: 360.0 - y: 250.0 + y: 600.0 } } diff --git a/factory/spawn_properties/example/spawner.script b/factory/spawn_properties/example/spawner.script new file mode 100644 index 00000000..93a9b03a --- /dev/null +++ b/factory/spawn_properties/example/spawner.script @@ -0,0 +1,54 @@ +-- Define different properties for different enemies: +local ENEMY_TYPES = { + random = { + sprite = hash("ufoGreen"), + health_points = 1, + speed = vmath.vector3(40, -100, 0), + is_random = true + }, + diagonal = { + sprite = hash("enemyRed2"), + health_points = 2, + speed = vmath.vector3(120, -80, 0), + is_random = false + }, + straight = { + sprite = hash("enemyBlue4"), + health_points = 3, + speed = vmath.vector3(0, -40, 0), + is_random = false + } +} + +function init(self) + -- Acquire input focus here, so we can handle inputs: + msg.post(".", "acquire_input_focus") +end + +-- Helper function to spawn given enemy by its type: +local function spawn_enemy(enemy_type) + + -- Select properties of the enemy by type: + local properties = ENEMY_TYPES[enemy_type] + + -- Set initial position of the spawned ship. + local position = go.get_position() + + -- This will make the position one out of (-180, -90, 0, 90, 180): + position.x = position.x + math.random(-2,2) * 90 + + -- Create enemy with passed properties + factory.create("#enemyfactory", position, nil, properties) +end + +function on_input(self, action_id, action) + + -- React to different key presses with spawning different enemies: + if action_id == hash("key_1") and action.released then + spawn_enemy("random") + elseif action_id == hash("key_2") and action.released then + spawn_enemy("diagonal") + elseif action_id == hash("key_3") and action.released then + spawn_enemy("straight") + end +end diff --git a/factory/spawn_properties/game.project b/factory/spawn_properties/game.project index 500ede71..d9833468 100644 --- a/factory/spawn_properties/game.project +++ b/factory/spawn_properties/game.project @@ -59,7 +59,7 @@ max_instances = 32765 max_emitter_count = 1024 [render] -clear_color_blue = 1.0 -clear_color_green = 1.0 -clear_color_red = 1.0 +clear_color_blue = 0.2 +clear_color_green = 0.1 +clear_color_red = 0.0 diff --git a/factory/spawn_properties/thumbnail.png b/factory/spawn_properties/thumbnail.png index aaa762bae570407b9e8ee84da5652f3851445fe1..c51d1d1a9cad720a6b71383c167008f409a5ccb9 100644 GIT binary patch literal 41972 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
YZ*I=7hJA6{uMVUCzK2mi=7|5vdmHi+- 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 From 8346d15c1d67ec2a94cd115b43ec2721734670d0 Mon Sep 17 00:00:00 2001 From: paweljarosz Date: Fri, 17 Oct 2025 12:01:21 +0200 Subject: [PATCH 4/4] Fixed typos --- factory/spawn_properties/example/enemy.script | 2 +- factory/spawn_properties/example/ship.script | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/factory/spawn_properties/example/enemy.script b/factory/spawn_properties/example/enemy.script index ac7c8a4b..55295a85 100644 --- a/factory/spawn_properties/example/enemy.script +++ b/factory/spawn_properties/example/enemy.script @@ -43,7 +43,7 @@ end function on_message(self, message_id, message, sender) - -- React to collission with bullet: + -- React to collision with bullet: if message_id == hash("trigger_response") and message.enter then -- Remove one health point diff --git a/factory/spawn_properties/example/ship.script b/factory/spawn_properties/example/ship.script index b4da8d62..c3c33758 100644 --- a/factory/spawn_properties/example/ship.script +++ b/factory/spawn_properties/example/ship.script @@ -1,8 +1,8 @@ function init(self) - -- Animate automatic player po + -- Animate automatic player position go.animate(".", "position.x", go.PLAYBACK_LOOP_PINGPONG, 620, go.EASING_LINEAR, 6.0) - -- Create a timer to tick every 0.5 second: + -- Create a timer to tick every 0.25 second: timer.delay(0.25, true, function() -- Create a simple bullet bullet using the factory