Tips for implementing mousePressed in ProcessingJS

I've been attempting to access the mousePressed property within a ProcessingJS snippet, but it keeps returning as undefined.

Here's my current approach:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<script src="http://cloud.github.com/downloads/processing-js/processing-js/processing-1.4.1.min.js"></script>
<script>
$(document).ready(function() {  
    $('body').append($('<canvas id="preview"><p>Your browser does not support the canvas tag.</p></canvas>'));
    function onPJS(p) {
        p.setup = function(){
            console.log(p.mousePressed);//returns undefined
            try{
                console.log(p.mousePressed());
            }catch(e){
                console.log(e.name,e.message);//displays TypeError Property 'mousePressed' of object [object Object] is not a function
            }
        }
    }
    new Processing(document.getElementById("preview"), onPJS);  
});
</script>

Can anyone provide insight into what mistake I might be making or what I'm missing?

Answer №1

I provided a response to this issue in your previous question. Here is the information again:

According to GoToLoop on GitHub, the problem with the function mousepressed is due to the need to prevent naming conflicts in JavaScript. In JS, the boolean mousepressed is actually named __mousePressed. It is recommended to write your code using Java syntax and then have it automatically converted to JS to avoid encountering these types of issues.

Answer №2

If you're trying to access internal variables within a sketch, remember that only functions can be accessed. You'll need to create a specific function to retrieve the desired information.

boolean getMousePressValue() { return mousePressed; }

However, consider this alternative approach: instead of trying to access sketch-internal variables, you can simply add event listeners for click, mousedown, and mouseup directly to the canvas using pure JavaScript. This way, you can obtain the same information without needing to delve into the sketch itself:

pjsCanvas.addEventListener("mousedown",function(){...},false);
pjsCanvas.addEventListener("mouseup",function(){...},false);

By following these steps, you eliminate the need to reach into the sketch for this particular piece of information.

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Retrieving every single .json file present in a specific folder

I'm working on developing an Android app that utilizes JSON data. Is there a method to establish a directory structure similar to this: http://......./jsons/*.json Or is there another way to append additional data into a JSON file (such as a.json) a ...

When I submit a form with an empty date input field, the Datepicker is sending a 0000-00-00 date

[I am experiencing an issue with my date input field. When I submit without entering any value, the date on the view page shows as 0000-00-00 instead of being empty or blank.] <div class="col-sm-3 col-sm-offset-1"> <div class="input-group"& ...

$.ajax and $.getJSON are proving to be ineffective in retrieving responses from a 3rd party server when dealing with json and jsonp formats

I am currently working on retrieving a JSON response from an API provided by the website. I have experimented with different methods and received mixed results. My goal is to successfully retrieve and parse the JSON data to extract the specific information ...

AngularJS - Filter for selecting multiple options

Currently, I am utilizing $filter to perform filtering on my array. var filteredData = params.filter() ? $filter('filter')($scope.myNgTable.data, params.filter()): $scope.myNgTable.data; I have implemented a multiple select filter for f ...

Is there a way to transfer a JSON map object from Flask and then utilize it as a JavaScript object?

python server code from flask import Flask, render_template, request import os import sys import json data_raw = [('0', '1', '0', '0'), ('0', '0', '1', '0'), ('1', ...

The return false statement is failing to execute properly within this particular JavaScript function

I'm encountering an issue with my onclick function: $("#mymodal").on("click",".close",function() { checkpincode(); checkzipcode(); }); Even though the fn checkpincode returns false, the execution still proceeds and my checkzipcode function i ...

Data not being saved when using the Post method in a Web API

I built a straightforward Web API application that allows users to GET or POST data. The data consists of a simple array of Strings like ["foo", "bar"]. However, when I try to send data using the POST method to the Web API and then make another call to ret ...

Unlock the secrets of creating a pop-up with qtip

I am working on qtip code that generates a popup when a specific link is clicked. I'm wondering if there's a way to use jQuery to determine if the link with the id "test2" has been clicked or not. Thank you, James <ul> <li><a id= ...

Tips for altering the appearance of the material-ui slider thumb design when it is in a disabled state

Through the use of withStyles, I have successfully customized the style of the Slider: const CustomSlider = withStyles(theme => ({ disabled: { color: theme.palette.primary.main }, thumb: { height: 24, width: 24, }, }))(Slider); How ...

How can I access a nested FormArray in Angular?

I have a situation where I am trying to access the second FormArray inside another FormArray. Here is an excerpt from my component: registrationForm = new FormGroup({ registrations: new FormArray([this.patchRegistrationValues()]) }); patchRegistrati ...

Capturing a part of the screen using JavaScript for screen recording

I'm exploring the possibility of implementing a JavaScript screen recorder that captures a video feed rather than the entire screen. I'm wondering if it's achievable using getDisplayMedia or if there's a specific library for this purpos ...

show information on a separate screen following the selection of a choice

After selecting an option, how can I make #formid appear where the form is filled in with the stock selected in the option section? <div class="form-group"> <label for="exampleFormControlSelect1">Item Name</label> <select clas ...

Creating a versatile function to verify the presence of empty values

Looking to validate fields for emptiness in a router, with potential use in other routers as well. How can I create a single function to handle this task? To see how it operates: , Desiring something similar to: , ...

Is there a way to dynamically insert objects into an array from an ajax json request, in order to iterate through them later on?

I have a current code where I am trying to utilize data to create a new information window from the Google Maps API dynamically. Currently, I am pushing objects of different data types into an array, but I believe that might be the only issue here. How c ...

One Versatile Ajax Function for Accessing Various PHP Pages

On my index.html, there are buttons displayed below: <button value="about_us.php" onClick="fNt(value)">About Us</button> <button value="faq.php" onClick="fNt(value)">FAQ</button> <button value="contact_us.php" onClick="fNt(val ...

Insufficient Resources Error (net::ERR_INSUFFICIENT_RESOURCES) encountered while executing jQuery script with multiple ajax requests for 2 minutes

Upon initially loading the code below, everything seems to be functioning smoothly with the dayofweek and hourofday functions. However, shortly thereafter, the browser (Chrome) freezes up and displays the error message: net::ERR_INSUFFICIENT_RESOURCES. Thi ...

Formatting issue with chords and lyrics

I am in the process of creating a website that features chords and lyrics. However, I want to ensure that the chords cannot be copied due to some formatting issues. The main objective is for users to be able to copy the chord and lyrics together and paste ...

Updating state within a loop of properties in a React ComponentDidUpdate function

I have been working on a project where I needed to update the state after the componentDidMount lifecycle method. The props that I am expecting in the child component are only available at mount, so I can only update the state after that point. The only so ...

Insert new data while appending to the existing array

After implementing the Schema below: var TestSchema = db.Schema({ name: { type: String, required: true, unique: true } data: [] }, { strict: false }); var Test = db.model('Test', TestSchema); I have set strict: false. My goal is to per ...

Array elements for Firebase authentication rules

Currently, my app utilizes Firebase in conjunction with react native. Users are able to share content with different permissions - read, copy, or modify, and can do so with specific users or all users. Due to the fact that Firebase lacks an OR function for ...