Created by
Hernan Zhou
last modified
2016-08-19
<snippet>
<content> <![CDATA[
Clickable({
pointerDown: function (data) {},
pointerUp: function (data) {},
pointerMove: function (data) {},
// when clicking on the object
onClick: function (data) {},
onClickUp: function (data) {},
onClickMiss: function (data) {},
onHold: function (data) {},
onHoldLeave: function (data) {},
onHoldEnter: function (data) {},
onHoldEnd: function (data) {},
// desktop only
onHoverLeave: function (data) {},
onHoverEnter: function (data) {}
})
]]> </content>
<tabTrigger> Clickable</tabTrigger>
<description> Bento Clickable component</description>
</snippet>
<snippet>
<content> <![CDATA[
ClickButton({
z: ${ 1 : 0 },
name: '${ 2 }',
sfx: '${ 3 }',
imageName: '${ 4 }',
frameCountX: ${ 5 : 1 },
frameCountY: ${ 6 : 3 },
position: new Vector2(${ 7 : 0 }, ${ 8 : 0 }),
float: ${ 9 : false },
updateWhenPaused: ${ 10 : 0 },
onClick: function () {
${ 11 }
}
});
]]> </content>
<tabTrigger> ClickButton</tabTrigger>
<description> Bento ClickButton</description>
</snippet>
<snippet>
<content> <![CDATA[
/**
* ${ 1 : Component description }
*/
bento.define('${ 2 }', [
'bento',
'bento/math/vector2',
'bento/math/rectangle',
'bento/entity',
'bento/eventsystem',
'bento/utils',
'bento/tween'
], function (
Bento,
Vector2,
Rectangle,
Entity,
EventSystem,
Utils,
Tween
) {
'use strict';
/**
* Describe your settings object parameters
* @param {Object} settings
*/
return function (settings) {
var viewport = Bento.getViewport();
var entity;
var component = {
name: '${ 3 }',
start: function (data) {},
destroy: function (data) {},
update: function (data) {},
draw: function (data) {},
attached: function (data) {
entity = data.entity;
}
};
return component;
};
});
]]> </content>
<tabTrigger> bento</tabTrigger>
<description> Bento Component Module</description>
</snippet>
<snippet>
<!-- A standard bento define snippet with sprite and entity to fill in -->
<content> <![CDATA[
/**
* ${ 1 : Module description }
*/
bento.define('${ 2 }', [
'bento',
'bento/math/vector2',
'bento/math/rectangle',
'bento/components/sprite',
'bento/components/clickable',
'bento/entity',
'bento/eventsystem',
'bento/gui/clickbutton',
'bento/gui/counter',
'bento/gui/text',
'bento/utils',
'bento/tween'
], function (
Bento,
Vector2,
Rectangle,
Sprite,
Clickable,
Entity,
EventSystem,
ClickButton,
Counter,
Text,
Utils,
Tween
) {
'use strict';
return function (settings) {
/*settings = {
// describe your settings object parameters
position: Vector2 // positions the entity
}*/
var viewport = Bento.getViewport();
var sprite = new Sprite({
imageName: '${ 3 }',
frameCountX: 1,
frameCountY: 1,
animations: {
default: {
speed: 0,
frames: [0]
}
}
});
var behavior = {
name: '${ 4 : behaviorComponent }',
start: function (data) {},
destroy: function (data) {},
update: function (data) {},
draw: function (data) {}
};
var entity = new Entity({
z: 0,
name: '${ 5 }',
family: [''],
position: settings.position || new Vector2(0, 0),
originRelative: new Vector2(0, 0),
updateWhenPaused: 0,
components: [
sprite,
behavior
]
});
return entity;
};
});
]]> </content>
<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
<tabTrigger> bento</tabTrigger>
<description> Bento Entity Definition</description>
</snippet>
<snippet>
<!-- A standard bento screen define snippet -->
<content> <![CDATA[
/**
* ${ 1 : Screen description }
*/
bento.define('${ 2 }', [
'bento',
'bento/math/vector2',
'bento/math/rectangle',
'bento/components/sprite',
'bento/components/clickable',
'bento/entity',
'bento/eventsystem',
'bento/gui/clickbutton',
'bento/gui/counter',
'bento/gui/text',
'bento/utils',
'bento/screen',
'bento/tween'
], function (
Bento,
Vector2,
Rectangle,
Sprite,
Clickable,
Entity,
EventSystem,
ClickButton,
Counter,
Text,
Utils,
Screen,
Tween
) {
'use strict';
var onShow = function (data) {
${ 3 : /* Screen starts here */ }
};
return new Screen({
onShow: onShow
});
});
]]> </content>
<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
<tabTrigger> bento</tabTrigger>
<description> Bento Screen Definition</description>
<!-- <scope> source.python</scope> -->
</snippet>
<snippet>
<content> <![CDATA[
Utils.forEach(${ 1 : array }, function (${ 2 : item }, i, l, breakLoop) {
${ 3 : // code here }
});
]]> </content>
<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
<tabTrigger> forEach</tabTrigger>
<!-- Optional: Set a scope to limit where the snippet will trigger -->
<!-- <scope> source.python</scope> -->
</snippet>
<snippet>
<content> <![CDATA[
Sprite({
imageName: '${ 1 }',
frameCountX: ${ 2 : 1 },
frameCountY: ${ 3 : 1 },
animations: {
default: {
speed: 0,
frames: [0]
}
}
});
]]> </content>
<tabTrigger> Sprite</tabTrigger>
<description> Bento Sprite component</description>
</snippet>
<snippet>
<content> <![CDATA[
Text({
z: ${ 1 : 0 },
position: new Vector2(${ 2 : 0 }, ${ 3 : 0 }),
text: '${ 4 }',
font: '${ 5 : font }',
fontSize: ${ 6 : 16 },
fontColor: '${ 7 : #ffffff }',
align: '${ 8 : left }',
textBaseline: '${ 9 : bottom }',
ySpacing: ${ 10 : 0 },
lineWidth: ${ 11 : 0 },
strokeStyle: '${ 12 : #000000 }',
innerStroke: ${ 13 : false },
pixelStroke: ${ 14 : false } // workaround for Cocoon bug
});
]]> </content>
<tabTrigger> Text</tabTrigger>
<description> Bento Text</description>
</snippet>
<snippet>
<content> <![CDATA[
Tween({
from: ${ 1 : 0 },
to: ${ 2 : 1 },
'in': ${ 3 : 60 },
ease: ${ 4 : Tween . LINEAR },
onUpdate: function (v, t) {
${ 5 }
},
onComplete: function () {
${ 6 }
}
});
]]> </content>
<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
<tabTrigger> Tween</tabTrigger>
</snippet>
< snippet >
< content ><! [ CDATA [
/**
* [what it does]
* @function
* @instance
* @name [function name]
*/
]] ></ content >
<!-- Optional : Set a tabTrigger to define how to trigger the snippet -->
< tabTrigger > description - function </ tabTrigger >
</ snippet >