প্রসেসিংয়ে গল্ফ করার টিপস


13

প্রসেসিংয়ে গল্ফ করার জন্য কারও কাছে কোনও টিপস রয়েছে ? এটি জাভাটির একটি গ্রাফিকাল এক্সটেনশন এবং গল্ফ কিছুটা কঠিন difficult


দুর্দান্ত প্রশ্ন। আমি বিশ্বাস করি টিপসটি সম্প্রদায় উইকিতে থাকা উচিত। আমি স্থানান্তরিত করার জন্য এটি পতাকাঙ্কিত।
লেভেল রিভার সেন্ট

4
Downvote ??? কেন?
টারডিস

ডাউনভোট সম্পর্কে চিন্তা করবেন না ... যাইহোক, এটি সম্প্রদায় উইকি হিসাবে চিহ্নিত হওয়ার পরে আপনি এই পোস্টটি থেকে পেয়েছেন এমন সমস্ত প্রতিনিধিত্ব হারাবেন ...
ব্যবহারকারী 12205

3
@ স্পেস: কোনও পোস্টে সিডাব্লু চিহ্নিত হওয়ার আগে প্রাপ্ত খ্যাতিটি
প্রোগ্রামফক্স

উত্তর:


7
  • যদি কোনও অ্যানিমেশনের প্রয়োজন না হয় তবে আপনি এড়িয়ে void draw()সমস্ত কিছু everything োকাতে পারেন void setup()
  • ক্যানভাসের আকারটি শুরু করা কখনও কখনও প্রয়োজন হয় না - এটি (100, 100)ডিফল্টরূপে শুরু করা হবে ।
  • আপনার যদি আপনার কোড heightএবং ব্যবহারের প্রয়োজন হয় তবে widthপরিবর্তে তাদের সংখ্যাসূচক মানগুলি ব্যবহার করা কম। উদাহরণস্বরূপ, আকারের একটি ক্যানভাস সঙ্গে (100, 100)ব্যবহার 99প্রতিস্থাপন heightএবং widthআপনি 7 বাইট সংরক্ষণ করতে পারবেন।

3

আপনি যদি কেবল সেটআপ পদ্ধতিতে কোড চালনা করেন তবে আপনার পদ্ধতির রূপরেখা লেখার দরকার নেই। উদাহরণস্বরূপ আপনি লিখতে পারেন:

rect(10,10,90,90);

পরিবর্তে

void setup {
    rect(10,10,90,90);
}

এবং যতক্ষণ আপনি অন্য কোনও পদ্ধতি ব্যবহার করবেন না ততক্ষণ চলার আগে সেটআপ পদ্ধতিতে সবকিছু রেখে দেওয়া হবে


এটি কিছুটা বগি হতে পারে। আমি খেয়াল করেছি যে আপনি যদি স্ট্যাটিক মোডে একটি ফাংশন নির্ধারণ করার চেষ্টা করুন, প্রসেসিং একটু বিভ্রান্ত পেতে পারেন: puu.sh/tpzP8.png
Quat

@ কোয়াট যতক্ষণ আপনি অন্য কোনও পদ্ধতি সংজ্ঞায়িত না করেন তবে সবকিছু সেটআপ পদ্ধতিতে রেখে দেওয়া হবে। আপনার যদি পদ্ধতিগুলি সংজ্ঞায়িত করতে হয় তবে আপনাকে অবশ্যই সেটআপ পদ্ধতির নাম উল্লেখ করতে হবে।
HEGX64

2

রঙ (R, G, B)স্বরলিপি

হেক্সাডেসিমাল রঙ

প্রক্রিয়াকরণ রঙ বিন্যাসে খুব নমনীয়।

fill(255,255,0); //16 bytes

হেক্সাডেসিমাল স্বরলিপি হিসাবে ব্যবহার করে লেখা যেতে পারে

fill(#ffff00);   //14 bytes (2 bytes saved)

গ্রেস্কেল

রঙগুলির জন্য এখানে বিশেষ ব্যবহার রয়েছে যদি সমস্ত লাল, সবুজ এবং নীল মান একই হয় (সাদা):

fill(255,255,255); //18 bytes
fill(#ffffff);     //14 bytes
fill(255);         //10 bytes

সমস্ত তিনটি প্যারামিটার গ্রেস্কেল মান সমেত একটি প্যারামিটারে সংক্ষিপ্ত করা যেতে পারে: 0কালো থেকে 255সাদা।

এটি আলফার জন্যও বাড়ানো যেতে পারে:

fill(175,175,175,50); //translucent gray
fill(175,50);         //8 bytes shorter

উভয়টির অর্থ একই রঙ, তবে পরবর্তী উপায়টি 8 বাইট দ্বারা সংক্ষিপ্ত।

আরম্ভ

যদিও সুস্পষ্ট, এটি উল্লেখ করা উচিত যে বর্ণ বর্ণগুলিতে আলফা প্যারামিটারটি alচ্ছিক কারণ রঙগুলি 255(100% অস্বচ্ছ) এর একটি আলফা মানকে ডিফল্ট করা হয় ।

সংক্ষিপ্তসার: রঙ ফর্ম্যাট

আপনার রঙটি প্রকাশ করার জন্য সংক্ষিপ্ততম রঙিন বিন্যাসটি ব্যবহার করুন (প্রোগ্রামের প্রসঙ্গে নির্ভর করে - অপ্রয়োজনীয় বিটগুলি রেখে যেতে ভুলবেন না - উদাহরণস্বরূপ: আলফা বা গ্রেস্কেল)

R: লাল G: সবুজ B: নীল A: আলফা g: গ্রেস্কেল

RRR,GGG,BBB
#RRGGBB
ggg
RRR,GGG,BBB,AAA
ggg,AAA

2

ধ্রুবক সংক্ষিপ্তসার

আপনি যদি কখনও প্রসেসিংয়ের (যেমন DIFFERENCEবা TRIANGLE_FAN) সমস্ত ক্যাপ কীওয়ার্ড ব্যবহার করে থাকেন তবে দেখুন যে তারা সংখ্যার সাথে সংযুক্ত সংখ্যাটি সংক্ষিপ্ত।

উদাহরণস্বরূপ, DIFFERENCEএটি int32 এর সমান একটি। DIFFERENCE এখানে ব্যবহার না করে আমি 328 টি অক্ষর সংরক্ষণ করে লিখতে পারি ।


2

সংক্ষিপ্ত বিকল্প void keyPressed(){}

void draw(){}void keyPressed(){foo;} //36 bytes
void draw(){if(key>0)foo;}           //26 bytes

void draw(){}জন্য অর্ডার ডিফল্টরূপে প্রয়োজন হয় keyআপডেট করা হবে। প্রোগ্রামটি শুরু হওয়ার পরে যদি ব্যবহারকারী কোনও কী টিপেন না, keyএকটি মান দেওয়া হয় 0। এটির চেয়ে বেশি কিনা তা পরীক্ষা করে 0(যেমন ব্যবহারকারী কোনও কী চাপেছে), আমাদের গল্ফিয়ার কোড রয়েছে এবং 10 বাইট সংরক্ষণ করুন।


2

সাদা #FFFFFF

সম্পর্কিত: রঙ স্বরলিপি

এটি সাদা রঙের জন্য ব্যবহার করার পরিবর্তে:

color(255)     //10 bytes

তুমি এটি করতে পারো:

color(-1)      //9 bytes

এবং 1 বাইট সংরক্ষণ করুন।


1

সেট () ব্যবহার করে পিক্সেল সেট করা এবং প্রতিশ্রুতিবদ্ধ

এটি পিক্সেলের মাধ্যমে পিক্সেল সেট করা আরও দক্ষ [] :

pixels[0] = color(255)
updatePixels();

যাইহোক, এটি প্রয়োজন updatePixels()এবং এছাড়াও একটি সূচক ব্যবহার করে যা দৃশ্যের উপর নির্ভর করে একটি এক্স, ওয়াই অবস্থানকে পিক্সেল সূচীতে রূপান্তর করতে হবে। জিনিসগুলি সংক্ষিপ্ত রাখার জন্য, যদিও এটি কম সিপিইউ দক্ষ (যেমন প্রতিটি কল পুরো বাফার আপডেট করে), সেট () একটি পিক্সেল সেট করতে দেয় এবং সরাসরি একটি কলে সরাসরি বাফার প্রতিশ্রুতিবদ্ধ।

set(0,0,color(255));
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.