I would like to play a sound when I click on an image. But when I quickly click on it again, it doesn't play it again because the other is not finished. How can I adjust this?
My code:
var click;
click = new Audio("sound/ping.mp3")
click.volume = .75;
circle.on("click", handleMouseEventClick);
function handleMouseEventClick(evt){
click.play();
punten += 1;
score.text = "Score: " + punten;
stage.removeChild(this);
stage.update();
}
Thanks!
Try this:
function handleMouseEventClick(evt){
if(!click.paused){
click.pause();
click.currentTime = 0;
click.play();
}
else click.play();
}
Related
case 'Dodge': //hahahahahahahaha beat that demo
new FlxTimer().start(0.1, function(tmr:FlxTimer)
{
var warning = new FlxText(0, 0, 0, 'Press Space Bar Now!', 32);
warning.cameras = [camOther];
warning.setFormat(Paths.font("vcr.ttf"), 24, FlxColor.WHITE, CENTER, FlxTextBorderStyle.OUTLINE, FlxColor.BLACK);
warning.screenCenter(X);
warning.size = 50;
warning.screenCenter(Y);
warning.updateHitbox();
add(warning);
});
new FlxTimer().start(0.6, function(tmr:FlxTimer)
{
if (FlxG.keys.justPressed.SPACE)
{
health = 1;
boyfriend.playAnim('dodge', true); //woosh
FlxG.sound.play(Paths.sound('dodge')); //stab
remove(warning);
warning.destroy();
}
else {
health -= 2;
vocals.volume = 0;
doDeathCheck(true); //dead noises
};
});
so it does it but it wont detect space bar being hit
i need it so it will detect the space bar being hit
i am not sure what i did wrong or what i did but it just goes to game over
I would Use lua ( not using source ) Since there is no offical event sorry im a Psych engine nerd- I made 2 engines so i would say make a lua event with it
var itemshop_idx = {
idle:1,
out:2,
in:3
};
spine_itemShop.state.onComplete = function (trackIndex) {
switch(trackIndex){
case itemshop_idx.in://in
spinePlay_1(spine_itemShop, "popup_item_shop_idle", itemshop_idx.idle, true);
break;
case itemshop_idx.out://out
group_itemShop.visible = false;
break;
}
};
spine_itemShop.setAnimationByName(itemshop_idx.in, "popup_item_shop_in", false);
this code show me "popup_item_shop_in" animation just once.
when I play
spine_itemShop.setAnimationByName(itemshop_idx.in, "popup_item_shop_in", false);
again, I don't show "popup_item_shop_in" animation.
Just be showed "popup_item_shop_idle" animation directly.
what a problem?
I have searched solution about this problem use a lot of keyword like
spine/phaser/animation/pixi.js/orange group/github/time/replay/reset/init/etc...
But I can't find solution.
Hi all I have a function that generates bullets every time the player touches the screen.
Is there a way that I can limit the amount of bullets generated? Basically if I press the screen very quickly lots of bullets get generated but I would like to limit it to at least i per second instead of 2 or 3 per second.
Below you can find my firing function and my bullet creation function:
createBullets: function(){
//Bullets
this.bullets = this.add.group();
this.bullets.enableBody = true;
this.bullets.physicsBodyType = Phaser.Physics.P2JS;
this.bullets.createMultiple(500, 'bullet', 0, false);
this.bullets.setAll('anchor.x', 0.5);
this.bullets.setAll('anchor.y', 0.5);
this.bullets.setAll('outOfBoundsKill', true);
this.bullets.setAll('checkWorldBounds', true);
},
fireBullet: function(){
this.bullet = this.bullets.getFirstExists(false);
if (this.bullet) {
this.bullet.reset(this.tanque.x, this.tanque.y - 20);
this.bullet.body.velocity.y = -500;
}
},
and my update function:
if(this.input.activePointer.isDown){
if (!this.mouseTouchDown) {
this.touchDown();
}
}else {
if (this.mouseTouchDown) {
this.touchUp();
}
}
Any help I would really appreciate.
One option is to store two values:
nextShotTime: next time a shot can be fired
shotDelay: delay between shots (can be set like Phaser.Timer.SECOND * 2)
I don't see where you're calling fireBullet() in your example code above, but either before you make the call, or within the function, you could then check to see if the nextShotTime is in the past. If it is, fire another bullet and then update the nextShotTime with the current time plus the shotDelay.
For example:
if (this.nextShotTime < this.time.now) {
this.nextShotTime = this.time.now + this.shotDelay;
// add your code that will fire a bullet.
}
I have had similar problems in games before. The solution I used is the same as the one posted above. I found it in this
Phaser tutorial.
The fire function used in the tutorial is:
fire: function() {
if (this.nextShotAt > this.time.now) {
return;
}
this.nextShotAt = this.time.now + this.shotDelay;
You can modify it to suit your purposes.
This is part of a fire function I used in a game I made:
fire: function() {
//Make sure the player can't shoot when dead and that they are able to shoot another bullet
if(!this.player.alive || this.time.now < this.nextFireTime) {
return;
}
this.nextFireTime = this.time.now + this.fireRate;
var bullet;
//If weaponlvl = 0, shoot a normal bullet
if(this.weaponlvl === 0) {
if(this.bullet1.countDead() === 0) {
return;
}
//Properties for the basic weapon
this.fireRate = 500;
bullet = this.bullet1.getFirstExists(false);
bullet.reset(this.player.x, this.player.y-22);
bullet.body.velocity.y = -300;
}
Hope this helps you in some way.
I'm using pagedown on my website right now, and it's awesome so far, the only detail is
it's not a programming-oriented website, so I'd like to remove the 'code' button.
Is there a way I can do it? I tried using CSS to hide the buttons but the html has inline styles "left: xxx" which I can't change using CSS.
Thanks in advance!
If you open up Markdown.Editor.js, and scroll to approximately line 1360 (it varies depending upon which version you're using), you'll see an area with:
group1 = makeGroup(1);
buttons.bold = makeButton("wmd-bold-button", "Bold - Ctrl+B", "icon-bold", bindCommand("doBold"), group1);
buttons.italic = makeButton("wmd-italic-button", "Italic - Ctrl+I", "icon-italic", bindCommand("doItalic"), group1);
group2 = makeGroup(2);
buttons.link = makeButton("wmd-link-button", "Link - Ctrl+L", "icon-link", bindCommand(function (chunk, postProcessing) {
return this.doLinkOrImage(chunk, postProcessing, false);
}), group2);
buttons.quote = makeButton("wmd-quote-button", "Blockquote - Ctrl+Q", "icon-blockquote", bindCommand("doBlockquote"), group2);
buttons.code = makeButton("wmd-code-button", "Code Sample - Ctrl+K", "icon-code", bindCommand("doCode"), group2);
buttons.image = makeButton("wmd-image-button", "Image - Ctrl+G", "icon-picture", bindCommand(function (chunk, postProcessing) {
return this.doLinkOrImage(chunk, postProcessing, true);
}), group2);
So on and so forth. Simply quote out the buttons you don't want.
Alternatively, you can simply leave out the entire wmd-buttons div and only use the editor and preview components.
Search for doClick(buttons.code)in the code and comment it out
If you look at the makeButton function:
var makeButton = function (id, title, XShift, textOp) {
var button = document.createElement("li");
button.className = "wmd-button";
button.style.left = xPosition + "px";
xPosition += 25;
var buttonImage = document.createElement("span");
button.id = id + postfix;
button.appendChild(buttonImage);
button.title = title;
button.XShift = XShift;
if (textOp)
button.textOp = textOp;
setupButton(button, true); // <--- LOOK HERE
buttonRow.appendChild(button);
return button;
};
The true that is being passed in the call of the setupButton function is the isEnabled flag. What I did was just created another makeButton function and put it right under the first one. The only thing that I changed was that isEnabled flag to false. Then I changed to button.code = makeButton(...) to button.code = makeButton2(...).
buttons.code = makeButton2("wmd-code-button", getString("code"), "-80px", bindCommand("doCode"));
After the search box is selected, it should expand in all directions to take up the remaining top row of the page in mobile device.I want to use HTML5,CSS3 and simple Javascript(no libraries).
How to implement it?
I got the way.Used javascript to move the search box up.
I passed the textbox as obj in the function below..It works!!!
function findPos(obj) {
var curtop = 0;
if (obj.offsetParent) {
do {
curtop += obj.offsetTop;
} while (obj = obj.offsetParent);
curtop=curtop-5;
return [curtop];
}
}